2,505 research outputs found
On Nominal Syntax and Permutation Fixed Points
We propose a new axiomatisation of the alpha-equivalence relation for nominal
terms, based on a primitive notion of fixed-point constraint. We show that the
standard freshness relation between atoms and terms can be derived from the
more primitive notion of permutation fixed-point, and use this result to prove
the correctness of the new -equivalence axiomatisation. This gives rise
to a new notion of nominal unification, where solutions for unification
problems are pairs of a fixed-point context and a substitution. Although it may
seem less natural than the standard notion of nominal unifier based on
freshness constraints, the notion of unifier based on fixed-point constraints
behaves better when equational theories are considered: for example, nominal
unification remains finitary in the presence of commutativity, whereas it
becomes infinitary when unifiers are expressed using freshness contexts. We
provide a definition of -equivalence modulo equational theories that
take into account A, C and AC theories. Based on this notion of equivalence, we
show that C-unification is finitary and we provide a sound and complete
C-unification algorithm, as a first step towards the development of nominal
unification modulo AC and other equational theories with permutative
properties
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
Nominal Abstraction
Recursive relational specifications are commonly used to describe the
computational structure of formal systems. Recent research in proof theory has
identified two features that facilitate direct, logic-based reasoning about
such descriptions: the interpretation of atomic judgments through recursive
definitions and an encoding of binding constructs via generic judgments.
However, logics encompassing these two features do not currently allow for the
definition of relations that embody dynamic aspects related to binding, a
capability needed in many reasoning tasks. We propose a new relation between
terms called nominal abstraction as a means for overcoming this deficiency. We
incorporate nominal abstraction into a rich logic also including definitions,
generic quantification, induction, and co-induction that we then prove to be
consistent. We present examples to show that this logic can provide elegant
treatments of binding contexts that appear in many proofs, such as those
establishing properties of typing calculi and of arbitrarily cascading
substitutions that play a role in reducibility arguments.Comment: To appear in the Journal of Information and Computatio
Consistency of Quine's New Foundations using nominal techniques
We build a model in nominal sets for TST+; typed set theory with typical
ambiguity. It is known that this is equivalent to the consistency of Quine's
New Foundations.
Nominal techniques are used to constrain the size of powersets and thus model
typical ambiguity
Representation and duality of the untyped lambda-calculus in nominal lattice and topological semantics, with a proof of topological completeness
We give a semantics for the lambda-calculus based on a topological duality
theorem in nominal sets. A novel interpretation of lambda is given in terms of
adjoints, and lambda-terms are interpreted absolutely as sets (no valuation is
necessary)
High-level signatures and initial semantics
We present a device for specifying and reasoning about syntax for datatypes,
programming languages, and logic calculi. More precisely, we study a notion of
signature for specifying syntactic constructions.
In the spirit of Initial Semantics, we define the syntax generated by a
signature to be the initial object---if it exists---in a suitable category of
models. In our framework, the existence of an associated syntax to a signature
is not automatically guaranteed. We identify, via the notion of presentation of
a signature, a large class of signatures that do generate a syntax.
Our (presentable) signatures subsume classical algebraic signatures (i.e.,
signatures for languages with variable binding, such as the pure lambda
calculus) and extend them to include several other significant examples of
syntactic constructions.
One key feature of our notions of signature, syntax, and presentation is that
they are highly compositional, in the sense that complex examples can be
obtained by assembling simpler ones. Moreover, through the Initial Semantics
approach, our framework provides, beyond the desired algebra of terms, a
well-behaved substitution and the induction and recursion principles associated
to the syntax.
This paper builds upon ideas from a previous attempt by Hirschowitz-Maggesi,
which, in turn, was directly inspired by some earlier work of
Ghani-Uustalu-Hamana and Matthes-Uustalu.
The main results presented in the paper are computer-checked within the
UniMath system.Comment: v2: extended version of the article as published in CSL 2018
(http://dx.doi.org/10.4230/LIPIcs.CSL.2018.4); list of changes given in
Section 1.5 of the paper; v3: small corrections throughout the paper, no
major change
Nominal Logic Programming
Nominal logic is an extension of first-order logic which provides a simple
foundation for formalizing and reasoning about abstract syntax modulo
consistent renaming of bound names (that is, alpha-equivalence). This article
investigates logic programming based on nominal logic. We describe some typical
nominal logic programs, and develop the model-theoretic, proof-theoretic, and
operational semantics of such programs. Besides being of interest for ensuring
the correct behavior of implementations, these results provide a rigorous
foundation for techniques for analysis and reasoning about nominal logic
programs, as we illustrate via examples.Comment: 46 pages; 19 page appendix; 13 figures. Revised journal submission as
of July 23, 200
- …