101 research outputs found

    Polymorphic Abstract Syntax via Grothendieck Construction

    Full text link
    Abstract. Abstract syntax with variable binding is known to be characterised as an initial algebra in a presheaf category. This paper extends it to the case of poly-morphic typed abstract syntax with binding. We consider two variations, second-order and higher-order polymorphic syntax. The central idea is to apply Fiore’s initial algebra characterisation of typed abstract syntax with binding repeatedly, i.e. first to the type structure and secondly to the term structure of polymorphic system. In this process, we use the Grothendieck construction to combine differ-ently staged categories of polymorphic contexts.

    Paranatural Category Theory

    Full text link
    We establish and advocate for a novel branch of category theory, centered around strong dinatural transformations (herein known as "paranatural transformations"). Paranatural transformations generalize natural transformations to mixed-variant difunctors, but, unlike other such generalizations, are composable and exceptionally well-behaved. We define the category of difunctors and paranatural transformations, prove a novel "diYoneda Lemma" for this category, and explore some of the category-theoretic implications. We also develop three compelling uses for paranatural category theory: parametric polymorphism, impredicative encodings of (co)inductive types, and difunctor models of type theory. Paranatural transformations capture the essence of parametricity, with their "paranaturality condition" coinciding exactly with the "free theorem" of the corresponding polymorphic type; the paranatural analogue of the (co)end calculus provides an elegant and general framework for reasoning about initial algebras, terminal coalgebras, bisimulations, and representation independence; and "diYoneda reasoning" facilitates the lifting of Grothendieck universes into difunctor models of type theory. We develop these topics and propose further avenues of research

    Functorial Data Migration

    Get PDF
    In this paper we present a simple database definition language: that of categories and functors. A database schema is a small category and an instance is a set-valued functor on it. We show that morphisms of schemas induce three "data migration functors", which translate instances from one schema to the other in canonical ways. These functors parameterize projections, unions, and joins over all tables simultaneously and can be used in place of conjunctive and disjunctive queries. We also show how to connect a database and a functional programming language by introducing a functorial connection between the schema and the category of types for that language. We begin the paper with a multitude of examples to motivate the definitions, and near the end we provide a dictionary whereby one can translate database concepts into category-theoretic concepts and vice-versa.Comment: 30 page

    The exp-log normal form of types

    Get PDF
    Lambda calculi with algebraic data types lie at the core of functional programming languages and proof assistants, but conceal at least two fundamental theoretical problems already in the presence of the simplest non-trivial data type, the sum type. First, we do not know of an explicit and implemented algorithm for deciding the beta-eta-equality of terms---and this in spite of the first decidability results proven two decades ago. Second, it is not clear how to decide when two types are essentially the same, i.e. isomorphic, in spite of the meta-theoretic results on decidability of the isomorphism. In this paper, we present the exp-log normal form of types---derived from the representation of exponential polynomials via the unary exponential and logarithmic functions---that any type built from arrows, products, and sums, can be isomorphically mapped to. The type normal form can be used as a simple heuristic for deciding type isomorphism, thanks to the fact that it is a systematic application of the high-school identities. We then show that the type normal form allows to reduce the standard beta-eta equational theory of the lambda calculus to a specialized version of itself, while preserving the completeness of equality on terms. We end by describing an alternative representation of normal terms of the lambda calculus with sums, together with a Coq-implemented converter into/from our new term calculus. The difference with the only other previously implemented heuristic for deciding interesting instances of eta-equality by Balat, Di Cosmo, and Fiore, is that we exploit the type information of terms substantially and this often allows us to obtain a canonical representation of terms without performing sophisticated term analyses

    Gluing for Type Theory

    Get PDF

    Heterogeneous Theories and the Heterogeneous Tool Set

    Get PDF
    Heterogeneous multi-logic theories arise in different contexts: they are needed for the specification of large software systems, as well as for mediating between different ontologies. This is because large theories typically involve different aspects that are best specified in different logics (like equational logics, description logics, first-order logics, higher-order logics, modal logics), but also because different formalisms are in practical use (like RDF, OWL, EML). Using heterogeneous theories, different formalims being developed at different sites can be related, i.e. there is a formal interoperability among languages and tools. In many cases, specialized languages and tools have their strengths in particular aspects. Using heterogeneous theories, these strengths can be combined with comparably small effort. By contrast, a true combination of all the involved logics into a single logic would be too complex (or even inconsistent) in many cases. We propose to use emph{institutions} as a formalization of the notion of logical system. Institutions can be related by so-called institution morphsims and comorphisms. Any graph of institutions and (co)morphisms can be flattened to a so-called emph{Grothendieck institution}, which is kind of disjoint union of all the logics, enriched with connections via the (co)morphisms. This semantic basis for heterogeneous theories is complemented by the heterogeneous tool set, which provides tool support. Based on an object-oriented interface for institutions (using type classes in Haskell), it implements the Grothendieck institution and provides a heterogeneous parser, static analysis and proof support for heterogeneous theories. This is based on parsers, static analysers and proof support for the individual institutions, and on a heterogeneous proof calculus for theories in the Grothendieck institution. See also the Hets web page: http://www.tzi.de/cofi/het

    On Constructive Axiomatic Method

    Get PDF
    In this last version of the paper one may find a critical overview of some recent philosophical literature on Axiomatic Method and Genetic Method.Comment: 25 pages, no figure

    Fibrations, logical predicates and indeterminates

    Get PDF
    Within the framework of categorical logic/type theory, we provide a category-theoretic account of some logical concepts, i.e. first-order logical predicates for simply typed lambda-calculus, structural induction for inductive data types, and indeterminates for polymorphic calculi. The main concept which underlies the issues above is that of fibration, which gives an abstract presentation of the indexing present in all cases: predicates indexed by types/contexts in first-order logic and types indexed by kinds in polymorphic calculi.The characterisation of the logical concepts in terms of fibrations relies on a fundamental property of adjunctions between fibrations, which in particular relates some structure in the total category of a fibration with that of the fibres. Suitable instances of this property reflect the above-mentioned logical concepts in an abstract way, independently of their syntactic presentation, thereby illuminating their main features
    corecore