76,652 research outputs found
A Typed Lambda Calculus with Intersection Types
AbstractIntersection types are well known to type theorists mainly for two reasons. Firstly, they type all and only the strongly normalizable lambda terms. Secondly, the intersection type operator is a meta-level operator, that is, there is no direct logical counterpart in the Curry–Howard isomorphism sense. In particular, its meta-level nature implies that it does not correspond to the intuitionistic conjunction.The intersection type system is naturally a type inference system (system à la Curry), but the meta-level nature of the intersection operator does not allow to easily design an equivalent typed system (system à la Church). There are many proposals in the literature to design such systems, but none of them gives an entirely satisfactory answer to the problem. In this paper, we will review the main results in the literature both on the logical interpretation of intersection types and on proposed typed lambda calculi.The core of this paper is a new proposal for a true intersection typed lambda calculus, without any meta-level notion. Namely, any typable term (in the intersection type inference) has a corresponding typed term (which is the same as the untyped term by erasing the type decorations and the typed term constructors) with the same type, and vice versa.The main idea is to introduce a relevant parallel term constructor which corresponds to the intersection type constructor, in such a way that terms in parallel share the same resources, that is, the same context of free typed variables. Three rules allow us to generate all typed terms. The first two rules, Application and Lambda-abstraction, are performed on all the components of a parallel term in a synchronized way. Finally, via the third rule of Local Renaming, once a free typed variable is bounded by lambda-abstraction, each of the terms in parallel can do its local renaming, with type refinement, of that particular resource
Oval Domes: History, Geometry and Mechanics
An oval dome may be defined as a dome whose plan or profile (or both) has an oval form. The word Aoval@ comes from the latin Aovum@, egg. Then, an oval dome has an egg-shaped geometry. The first buildings with oval plans were built without a predetermined form, just trying to close an space in the most economical form. Eventually, the geometry was defined by using arcs of circle with common tangents in the points of change of curvature. Later the oval acquired a more regular form with two axis of symmetry. Therefore, an “oval” may be defined as an egg-shaped form, doubly symmetric, constructed with arcs of circle; an oval needs a minimum of four centres, but it is possible also to build polycentric ovals.
The above definition corresponds with the origin and the use of oval forms in building and may be applied without problem until, say, the XVIIIth century. Since then, the teaching of conics in the elementary courses of geometry made the cultivated people to define the oval as an approximation to the ellipse, an “imperfect ellipse”: an oval was, then, a curve formed with arcs of circles which tries to approximate to the ellipse of the same axes. As we shall see, the ellipse has very rarely been used in building.
Finally, in modern geometrical textbooks an oval is defined as a smooth closed convex curve, a more general definition which embraces the two previous, but which is of no particular use in the study of the employment of oval forms in building.
The present paper contains the following parts: 1) an outline the origin and application of the oval in historical architecture; 2) a discussion of the spatial geometry of oval domes, i. e., the different methods employed to trace them; 3) a brief exposition of the mechanics of oval arches and domes; and 4) a final discussion of the role of Geometry in oval arch and dome design
Relating Church-Style and Curry-Style Subtyping
Type theories with higher-order subtyping or singleton types are examples of
systems where computation rules for variables are affected by type information
in the context. A complication for these systems is that bounds declared in the
context do not interact well with the logical relation proof of completeness or
termination. This paper proposes a natural modification to the type syntax for
F-Omega-Sub, adding variable's bound to the variable type constructor, thereby
separating the computational behavior of the variable from the context. The
algorithm for subtyping in F-Omega-Sub can then be given on types without
context or kind information. As a consequence, the metatheory follows the
general approach for type systems without computational information in the
context, including a simple logical relation definition without Kripke-style
indexing by context. This new presentation of the system is shown to be
equivalent to the traditional presentation without bounds on the variable type
constructor.Comment: In Proceedings ITRS 2010, arXiv:1101.410
Rampant Arch and Its Optimum Geometrical Generation
Gothic art was developed in western Europe from the second half of the 12th century to the end of the 15th century. The most characteristic Gothic building is the cathedral. Gothic architecture uses well-carved stone ashlars, and its essential elements include the arch. The thrust is transferred by means of external arches (flying buttresses) to external buttresses that end in pinnacles, which accentuates the verticality. The evolution of the flying buttresses should not only be considered as an aesthetic consideration, but also from a constructive point of view as an element of transmission of forces or loads. Thus, one evolves from a beam-type buttress to a simple arch, and finally to a rampant arch. In this work, we study the geometry of the rampant arch to determine which is the optimum from the constructive point of view. The optimum rampant arch obtained is the one with the common tangent to the two arches parallel to the slope line. A computer program was created to determine this optimal rampant arch by means of a numerical or graphical input. It was applied to several well-known and representative cases of Gothic art in France (church of Saint Urbain de Troyes) and Spain (Cathedral of Palma de Mallorca), establishing if they were designs of optimal rampant arches or not
Program representation size in an intermediate language with intersection and union types
The CIL compiler for core Standard ML compiles whole programs using a novel typed intermediate language (TIL) with intersection and union types and flow labels on both terms and types. The CIL term representation duplicates portions of the program where intersection types are introduced and union types are eliminated. This duplication makes it easier to represent type information and to introduce customized data representations. However, duplication incurs compile-time space costs that are potentially much greater than are incurred in TILs employing type-level abstraction or quantification. In this paper, we present empirical data on the compile-time space costs of using CIL as an intermediate language. The data shows that these costs can be made tractable by using sufficiently fine-grained flow analyses together with standard hash-consing techniques. The data also suggests that non-duplicating formulations of intersection (and union) types would not achieve significantly better space complexity.National Science Foundation (CCR-9417382, CISE/CCR ESS 9806747); Sun grant (EDUD-7826-990410-US); Faculty Fellowship of the Carroll School of Management, Boston College; U.K. Engineering and Physical Sciences Research Council (GR/L 36963, GR/L 15685
Mixin Composition Synthesis based on Intersection Types
We present a method for synthesizing compositions of mixins using type
inhabitation in intersection types. First, recursively defined classes and
mixins, which are functions over classes, are expressed as terms in a lambda
calculus with records. Intersection types with records and record-merge are
used to assign meaningful types to these terms without resorting to recursive
types. Second, typed terms are translated to a repository of typed combinators.
We show a relation between record types with record-merge and intersection
types with constructors. This relation is used to prove soundness and partial
completeness of the translation with respect to mixin composition synthesis.
Furthermore, we demonstrate how a translated repository and goal type can be
used as input to an existing framework for composition synthesis in bounded
combinatory logic via type inhabitation. The computed result is a class typed
by the goal type and generated by a mixin composition applied to an existing
class
- …