904 research outputs found
Closed nominal rewriting and efficiently computable nominal algebra equality
We analyse the relationship between nominal algebra and nominal rewriting,
giving a new and concise presentation of equational deduction in nominal
theories. With some new results, we characterise a subclass of equational
theories for which nominal rewriting provides a complete procedure to check
nominal algebra equality. This subclass includes specifications of the
lambda-calculus and first-order logic.Comment: In Proceedings LFMTP 2010, arXiv:1009.218
From nominal sets binding to functions and lambda-abstraction: connecting the logic of permutation models with the logic of functions
Permissive-Nominal Logic (PNL) extends first-order predicate logic with
term-formers that can bind names in their arguments. It takes a semantics in
(permissive-)nominal sets. In PNL, the forall-quantifier or lambda-binder are
just term-formers satisfying axioms, and their denotation is functions on
nominal atoms-abstraction.
Then we have higher-order logic (HOL) and its models in ordinary (i.e.
Zermelo-Fraenkel) sets; the denotation of forall or lambda is functions on full
or partial function spaces.
This raises the following question: how are these two models of binding
connected? What translation is possible between PNL and HOL, and between
nominal sets and functions?
We exhibit a translation of PNL into HOL, and from models of PNL to certain
models of HOL. It is natural, but also partial: we translate a restricted
subsystem of full PNL to HOL. The extra part which does not translate is the
symmetry properties of nominal sets with respect to permutations. To use a
little nominal jargon: we can translate names and binding, but not their
nominal equivariance properties. This seems reasonable since HOL---and ordinary
sets---are not equivariant.
Thus viewed through this translation, PNL and HOL and their models do
different things, but they enjoy non-trivial and rich subsystems which are
isomorphic
Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic Theories
Cyclic data structures, such as cyclic lists, in functional programming are
tricky to handle because of their cyclicity. This paper presents an
investigation of categorical, algebraic, and computational foundations of
cyclic datatypes. Our framework of cyclic datatypes is based on second-order
algebraic theories of Fiore et al., which give a uniform setting for syntax,
types, and computation rules for describing and reasoning about cyclic
datatypes. We extract the "fold" computation rules from the categorical
semantics based on iteration categories of Bloom and Esik. Thereby, the rules
are correct by construction. We prove strong normalisation using the General
Schema criterion for second-order computation rules. Rather than the fixed
point law, we particularly choose Bekic law for computation, which is a key to
obtaining strong normalisation. We also prove the property of "Church-Rosser
modulo bisimulation" for the computation rules. Combining these results, we
have a remarkable decidability result of the equational theory of cyclic data
and fold.Comment: 38 page
Semantics out of context: nominal absolute denotations for first-order logic and computation
Call a semantics for a language with variables absolute when variables map to
fixed entities in the denotation. That is, a semantics is absolute when the
denotation of a variable a is a copy of itself in the denotation. We give a
trio of lattice-based, sets-based, and algebraic absolute semantics to
first-order logic. Possibly open predicates are directly interpreted as lattice
elements / sets / algebra elements, subject to suitable interpretations of the
connectives and quantifiers. In particular, universal quantification "forall
a.phi" is interpreted using a new notion of "fresh-finite" limit and using a
novel dual to substitution.
The interest of this semantics is partly in the non-trivial and beautiful
technical details, which also offer certain advantages over existing
semantics---but also the fact that such semantics exist at all suggests a new
way of looking at variables and the foundations of logic and computation, which
may be well-suited to the demands of modern computer science
Bisimilarity of Open Terms
The standard way of lifting a binary relation, R, from closed terms of an algebra to open terms is to define its closed-instance extension, R_{ci}, which holds for a given pair of open terms if and only if R holds for all their closed instantiations. In this paper, we study alternatives for the case of (strong) bisimulation: we define semantic models for open terms, so-called conditional transition systems, and define bisimulation directly on those models. It turns out that this can be done in at least two different ways, giving rise to formal hypothesis bisimulation \sim_{fh} (due to De Simone) and hypothesis-preserving bisimilarity \sim_{hp}. For open terms, we have (strict) inclusions \sim_{fh} \subset \sim_{hp} \subset \sim_{ci}; for closed terms, the three relations coincide. We show that each of these relations is a congruence in the usual sense, and we give an alternative characterisation of \sim_{hp} in terms of non-conditional transitions. Finally, we study the issue of recursive congruence: we give general theorems for the congruence of each of the above variants with respect to the recursion combinator, where, however, the results we achieve for \sim_{fh} and \sim_{hp} hold in a more general setting than the one for \sim_{ci}.\u
Mechanising syntax with binders in Coq
Mechanising binders in general-purpose proof assistants such as Coq is cumbersome and difficult. Yet binders, substitutions, and instantiation of terms with substitutions are a critical ingredient of many programming languages. Any practicable mechanisation of the meta-theory of the latter hence requires a lean formalisation of the former. We investigate the topic from three angles: First, we realise formal systems with binders based on both pure and scoped de Bruijn algebras together with basic syntactic rewriting lemmas and automation. We automate this process in a compiler called Autosubst; our final tool supports many-sorted, variadic, and modular syntax. Second, we justify our choice of realisation and mechanise a proof of convergence of the sigma calculus, a calculus of explicit substitutions that is complete for equality of the de Bruijn algebra corresponding to the lambda calculus. Third, to demonstrate the practical usefulness of our approach, we provide concise, transparent, and accessible mechanised proofs for a variety of case studies refined to de Bruijn substitutions.Die Mechanisierung von Bindern in universellen Beweisassistenten wie Coq ist arbeitsaufwändig und schwierig. Binder, Substitutionen und die Instantiierung von Substitutionen sind jedoch kritischer Bestandteil
vieler Programmiersprachen. Deshalb setzt eine praktikable Mechanisierung der Metatheorie von Programmiersprachen eine elegante Formalisierung von Bindern voraus. Wir nähern uns dem Thema aus drei Richtungen an:
Zuerst realisieren wir formale Systeme mit Bindern mit Hilfe von reinen und indizierten de Bruijn Algebren, zusammen mit grundlegenden syntaktischen Gleichungen und Automatisierung. Wir automatisieren diesen Prozess in
einem Kompilierer namens Autosubst. Unser finaler Kompilierer unterstützt Sortenlogik, variadische Syntax und modulare Syntax. Zweitens rechtfertigen wir unsere Repräsentation und mechanisieren einen Beweis der Konvergenz
des SP-Kalküls, einem Kalkül expliziter Substitutionen der bezüglich der Gleichheit der puren de Bruijn Algebra des -Kalküls vollständig ist. Drittens entwickeln wir kurze, transparente und leicht zugängliche mechanisierte
Beweise für diverse Fallstudien, die wir an de Bruijn Substitutionen angepasst haben. Wir weisen so die praktische Anwendbarkeit unseres Ansatzes nach
On the mathematical synthesis of equational logics
We provide a mathematical theory and methodology for synthesising equational
logics from algebraic metatheories. We illustrate our methodology by means of
two applications: a rational reconstruction of Birkhoff's Equational Logic and
a new equational logic for reasoning about algebraic structure with
name-binding operators.Comment: Final version for publication in Logical Methods in Computer Scienc
- …