1,294 research outputs found
Efficient Data Structures for Automated Theorem Proving in Expressive Higher-Order Logics
Church's Simple Theory of Types (STT), also referred to as classical higher-order logik, is an elegant and expressive formal system built on top of the simply typed λ-calculus. Its mechanisms of explicit binding and quantification over arbitrary sets and functions allow the representation of complex mathematical concepts and formulae in a concise and unambiguous manner. Higher-order automated theorem proving (ATP) has recently made major progress and several sophisticated ATP systems for higher-order logic have been developed, including Satallax, Osabelle/HOL and LEO-II. Still, higher-order theorem proving is not as mature as its first-order counterpart, and robust implementation techniques for efficient data structures are scarce.
In this thesis, a higher-order term representation based upon the polymorphically typed λ-calculus is presented. This term representation employs spine notation, explicit substitutions and perfect term sharing for efficient term traversal, fast β-normalization and reuse of already constructed terms, respectively. An evaluation of the term representation is performed on the basis of a heterogeneous benchmark set. It shows that while the presented term data structure performs quite well in general, the normalization results indicate that a context dependent choice of reduction strategies is beneficial.
A term indexing data structure for fast term retrieval based on various low-level criteria is presented and discussed. It supports symbol-based term retrieval, indexing of terms via structural properties, and subterm indexing
A new computational approach to topology optimization in solid mechanics problems
Tesi en modalitat compendi de publicacionsThis doctoral thesis addresses topology optimization problems at a single scale. Based on this purpose, a new topology optimization approach is developed in order to improve existing and widespread techniques in the research community on the topic. The proposed technique presents several characteristics that overcome some of the well-known difficulties in topological optimization while maintaining a considerable degree of simplicity.
In the first place, the formulation of the topological optimization technique is presented, as well as its algorithm. The method is based on 4 fundamental features: (1) the use of a 1-0 characteristic function, as well as the precise identification of the material boundaries from a discrimination function (0-level-set function), (2) the definition of a topological derivative consistent with the ersatz method (used in the state problem), as an approximation to the exact topological derivative, (3) the inclusion of a Laplacian regularization with minimum size control of the different components, and (4) the formulation of an analytical optimality condition aiming at the optimal topology solution.
The approach is applied to different topology optimization problems, well-reported in the literature and used as numerical benchmarks (in structural and thermal problems), to examine their performance. In these fields, stiffness and conductivity maximization problems are considered for validation, respectively. In addition, different topological optimization problems of major engineering interest are tackled, including the design of compliant mechanisms within the structural field and thermal cloaking devices within the thermal field.
Finally, a comparison of the formulation with other existing topology optimization techniques is performed, including (1) SIMP, (2) ESO/BESO, and (3) Level-set with Hamilton-Jacobi as the updating equation. The analysis of the results provides a comparison in terms of the quality of the topology of each method, the computational cost of the optimal solutions, as well as the simplicity of implementation. The resulting study reveals the potential of the developed methodology in these specific comparison terms.
In an attempt to bring the method closer to other researchers and to promote its use, an educational version of the method (written in MATLAB) has been published in an online repository, together with documentation, facilitating its dissemination
and subsequent use in other applications of interest.El objetivo de esta tesis doctoral es abordar el problema de optimización topológica a una única escala. En base a este propósito, se desarrolla una nueva técnica de optimización capaz de competir con técnicas ya existentes y extendidas entre la comunidad investigadora sobre el tema. Esta técnica presenta características que superan algunas de las dificultades bien conocidas en optimización topológica manteniendo un buen grado de simplicidad. En primer lugar, se presenta la formulación de la técnica de optimización topológica, así como su algoritmia. El método se fundamenta en 4 aspectos básicos: (1) la utilización de una función característica 1-0, así como la definición precisa de las fronteras materiales a partir de una función de discriminación (isonivel 0 de la función level-set), (2) la definición de una derivada topológica coherente con el método ersatz (utilizado en la ecuación de estado), como aproximación a la derivada topológica exacta, (3) la inclusión de una regularización Laplaciana con control de tamaño mínimo de los diferentes componentes, y (4) la definición de una condición de optimalidad analítica para la determinación de la solución óptima de la topología. La metodología se aplica a diferentes problemas de optimización topológica bien detallados en la literatura y utilizados como ensayos numéricos para examinar su respuesta frente a problemas estructurales y térmicos. En estos campos, se incluyen problemas de maximización de la rigidez y de la conductividad, respectivamente. Además, se resuelven diferentes problemas de optimización topológica con gran interés ingenieril en los campos estructurales con el diseño de mecanismos y térmicos con el diseño de dispositivos de camuflaje térmicos. Finalmente, se realiza una comparación de la formulación con otras técnicas ya existentes, por ejemplo: (1) SIMP, (2) ESO/BESO, y (3) Level-set con Hamilton-Jacobi como ecuación de evolución. El análisis de los resultados permite comparar la calidad de la topología de cada método, el coste computacional de las soluciones óptimas, así como la simplicidad de implementación, demostrando el potencial de la metodología desarrollada principalmente en estos términos de comparación. Con la finalidad de acercar el método a otros investigadores y de promover su utilización, se ha publicado una versión educativa del mismo (en MATLAB) en un repositorio online, junto a documentación, permitiendo así la divulgación del mismo y la posible utilización en otras aplicaciones de interés.Postprint (published version
3-Dimensional Model and Simulations of Sperm Movement
In this project we are building a mathematical model to track the movement of spermatozoa during the process of chemotaxis. Our model is built on an off-lattice spherical biased random walk in 3-dimensional space, an extension of previous conventional deterministic 2-dimensional models. The sperm\u27s type of movement is decided based on a comparison of the current and previous chemoattractant concentration which can be used to see whether it is approaching the egg. From the statistical analysis of the simulation results, we find that chemotaxis is an effective mechanism to increase the number of sperm reaching the egg
A Compiler for the dependently typed language Beluga
Les structures avec des lieurs sont très communes en informatique. Les langages de programmation et les systèmes logiques sont des exemples de structures avec des lieurs. La manipulation de lieurs est délicate, de sorte que l’écriture de programmes qui ma- nipulent ces structures tirerait profit d’un soutien spécifique pour les lieurs. L’environ- nement de programmation Beluga est un exemple d’un tel système. Nous développons et présentons ici un compilateur pour ce système. Parmi les programmes pour lesquels Beluga est spécialement bien adapté, plusieurs peuvent bénéficier d’un compilateur. Par exemple, les programmes pour valider les types (les "type-checkers"), les compilateurs et les interpréteurs tirent profit du soutien spécifique des lieurs et des types dépendants présents dans le langage. Ils nécessitent tous également une exécution efficace, que l’on propose d’obtenir par le biais d’un compilateur. Le but de ce travail est de présenter un nouveau compilateur pour Beluga, qui emploie une représentation interne polyvalente et permet de partager du code entre plusieurs back-ends. Une contribution notable est la compilation du filtrage de Beluga, qui est particulièrement puissante dans ce langage.In computer science, structures with variable binders are very common. Program- ming languages and logical frameworks are examples of structures with binders. Thus writing programs that deal with these kinds of data benefits with explicit support for data binding. The Beluga programming environment is an example of such a system.
In this work we develop and present a compiler for the system. Many of the programs that Beluga is specially well suited for writing can benefit from a compiler. For example, some of the kinds programs that would benefit more are type-checkers, compilers and interpreters that take advantage of the binder support and dependent types present in the language, and also require a reasonably fast run-time.
Our goal in this work, is to present a compiler for the Beluga system, that uses a very versatile internal representation that helps with the development of the system, and allows a sharing of code between several back-ends. Furthermore, we present a way of compiling the uniquely powerful pattern language supported by Beluga
Combining Proofs and Programs in a Dependently Typed Language
Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq, Agda, and Epigram), or allow infinite loops but are inconsistent when viewed as logics (e.g. Haskell, ATS, mega). Here, we combine these two approaches into a single dependently-typed core language. The language is composed of two fragments that share a common syntax and overlapping semantics: a logic that guarantees total correctness, and a call-by-value programming language that guarantees type safety but not termination. The two fragments may interact: logical expressions may be used as programs; the logic may soundly reason about potentially nonterminating programs; programs can require logical proofs as arguments; and “mobile” program values, including proofs computed at runtime, may be used as evidence by the logic. This language allows programmers to work with total and partial functions uniformly, providing a smooth path from functional programming to dependently-typed programming. Categories and Subject Descriptors D.3.1 [Programming Languages]: Formal Definitions and Theory Keywords Dependent types; Termination; General recursio
Executable Refinement Types
This dissertation introduces executable refinement types, which refine
structural types by semi-decidable predicates, and establishes their metatheory
and accompanying implementation techniques. These results are useful for
undecidable type systems in general.
Particular contributions include: (1) Type soundness and a logical relation
for extensional equivalence for executable refinement types (though type
checking is undecidable); (2) hybrid type checking for executable refinement
types, which blends static and dynamic checks in a novel way, in some sense
performing better statically than any decidable approximation; (3) a type
reconstruction algorithm - reconstruction is decidable even though type
checking is not, when suitably redefined to apply to undecidable type systems;
(4) a novel use of existential types with dependent types to ensure that the
language of logical formulae is closed under type checking (5) a prototype
implementation, Sage, of executable refinement types such that all dynamic
errors are communicated back to the compiler and are thenceforth static errors.Comment: Ph.D. dissertation. Accepted by the University of California, Santa
Cruz, in March 2014. 278 pages (295 including frontmatter
- …