101 research outputs found
Polymorphic Abstract Syntax via Grothendieck Construction
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
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
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
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
Heterogeneous Theories and the Heterogeneous Tool Set
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
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
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
- …