76,652 research outputs found

    A Typed Lambda Calculus with Intersection Types

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    Get PDF
    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

    Full text link
    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

    Full text link
    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
    • …
    corecore