33,042 research outputs found
Variable binding, symmetric monoidal closed theories, and bigraphs
This paper investigates the use of symmetric monoidal closed (SMC) structure
for representing syntax with variable binding, in particular for languages with
linear aspects. In our setting, one first specifies an SMC theory T, which may
express binding operations, in a way reminiscent from higher-order abstract
syntax. This theory generates an SMC category S(T) whose morphisms are, in a
sense, terms in the desired syntax. We apply our approach to Jensen and
Milner's (abstract binding) bigraphs, which are linear w.r.t. processes. This
leads to an alternative category of bigraphs, which we compare to the original.Comment: An introduction to two more technical previous preprints. Accepted at
Concur '0
Relating Nominal and Higher-order Abstract Syntax Specifications
Nominal abstract syntax and higher-order abstract syntax provide a means for
describing binding structure which is higher-level than traditional techniques.
These approaches have spawned two different communities which have developed
along similar lines but with subtle differences that make them difficult to
relate. The nominal abstract syntax community has devices like names,
freshness, name-abstractions with variable capture, and the new-quantifier,
whereas the higher-order abstract syntax community has devices like
lambda-binders, lambda-conversion, raising, and the nabla-quantifier. This
paper aims to unify these communities and provide a concrete correspondence
between their different devices. In particular, we develop a
semantics-preserving translation from alpha-Prolog, a nominal abstract syntax
based logic programming language, to G-, a higher-order abstract syntax based
logic programming language. We also discuss higher-order judgments, a common
and powerful tool for specifications with higher-order abstract syntax, and we
show how these can be incorporated into G-. This establishes G- as a language
with the power of higher-order abstract syntax, the fine-grained variable
control of nominal specifications, and the desirable properties of higher-order
judgments.Comment: To appear in PPDP 201
Abstract Syntax and Variable Binding (Extended Abstract)
We develop a theory of abstract syntax with variable
binding. To every binding signature we associate a category
of models consisting of variable sets endowed with
compatible algebra and substitution structures. The syntax
generated by the signature is the initial model. This gives a
notion of initial algebra semantics encompassing the traditional
one; besides compositionality, it automatically veri-
fies the semantic substitution lemma
E-Unification for Second-Order Abstract Syntax
Higher-order unification (HOU) concerns unification of (extensions of) ?-calculus and can be seen as an instance of equational unification (E-unification) modulo ??-equivalence of ?-terms. We study equational unification of terms in languages with arbitrary variable binding constructions modulo arbitrary second-order equational theories. Abstract syntax with general variable binding and parametrised metavariables allows us to work with arbitrary binders without committing to ?-calculus or use inconvenient and error-prone term encodings, leading to a more flexible framework. In this paper, we introduce E-unification for second-order abstract syntax and describe a unification procedure for such problems, merging ideas from both full HOU and general E-unification. We prove that the procedure is sound and complete
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.
Initial Algebra Semantics for Cyclic Sharing Tree Structures
Terms are a concise representation of tree structures. Since they can be
naturally defined by an inductive type, they offer data structures in
functional programming and mechanised reasoning with useful principles such as
structural induction and structural recursion. However, for graphs or
"tree-like" structures - trees involving cycles and sharing - it remains
unclear what kind of inductive structures exists and how we can faithfully
assign a term representation of them. In this paper we propose a simple term
syntax for cyclic sharing structures that admits structural induction and
recursion principles. We show that the obtained syntax is directly usable in
the functional language Haskell and the proof assistant Agda, as well as
ordinary data structures such as lists and trees. To achieve this goal, we use
a categorical approach to initial algebra semantics in a presheaf category.
That approach follows the line of Fiore, Plotkin and Turi's models of abstract
syntax with variable binding
Abstract Clones for Abstract Syntax
We give a formal treatment of simple type theories, such as the simply-typed ?-calculus, using the framework of abstract clones. Abstract clones traditionally describe first-order structures, but by equipping them with additional algebraic structure, one can further axiomatize second-order, variable-binding operators. This provides a syntax-independent representation of simple type theories. We describe multisorted second-order presentations, such as the presentation of the simply-typed ?-calculus, and their clone-theoretic algebras; free algebras on clones abstractly describe the syntax of simple type theories quotiented by equations such as ?- and ?-equality. We give a construction of free algebras and derive a corresponding induction principle, which facilitates syntax-independent proofs of properties such as adequacy and normalization for simple type theories. Working only with clones avoids some of the complexities inherent in presheaf-based frameworks for abstract syntax
Extensions of nominal terms
This thesis studies two major extensions of nominal terms. In particular, we
study an extension with -abstraction over nominal unknowns and atoms, and an
extension with an arguably better theory of freshness and -equivalence.
Nominal terms possess two levels of variable: atoms a represent variable symbols,
and unknowns X are `real' variables. As a syntax, they are designed to facilitate
metaprogramming; unknowns are used to program on syntax with variable symbols.
Originally, the role of nominal terms was interpreted narrowly. That is, they
were seen solely as a syntax for representing partially-speci ed abstract syntax with
binding.
The main motivation of this thesis is to extend nominal terms so that they can
be used for metaprogramming on proofs, programs, etc. and not just for metaprogramming
on abstract syntax with binding. We therefore extend nominal terms
in two signi cant ways: adding -abstraction over nominal unknowns and atoms|
facilitating functional programing|and improving the theory of -equivalence that
nominal terms possesses.
Neither of the two extensions considered are trivial. The capturing substitution
action of nominal unknowns implies that our notions of scope, intuited from working
with syntax possessing a non-capturing substitution, such as the -calculus, is no
longer applicable. As a result, notions of -abstraction and -equivalence must be
carefully reconsidered.
In particular, the rst research contribution of this thesis is the two-level -
calculus, intuitively an intertwined pair of -calculi. As the name suggests, the
two-level -calculus has two level of variable, modelled by nominal atoms and unknowns,
respectively. Both levels of variable can be -abstracted, and requisite
notions of -reduction are provided. The result is an expressive context-calculus.
The traditional problems of handling -equivalence and the failure of commutation
between instantiation and -reduction in context-calculi are handled through the
use of two distinct levels of variable, swappings, and freshness side-conditions on
unknowns, i.e. `nominal technology'.
The second research contribution of this thesis is permissive nominal terms,
an alternative form of nominal term. They retain the `nominal' rst-order
avour
of nominal terms (in fact, their grammars are almost identical) but forego the use
of explicit freshness contexts. Instead, permissive nominal terms label unknowns
with a permission sort, where permission sorts are in nite and coin nite sets of
atoms. This in nite-coin nite nature means that permissive nominal terms recover
two properties|we call them the `always-fresh' and `always-rename' properties
that nominal terms lack. We argue that these two properties bring the theory of
-equivalence on permissive nominal terms closer to `informal practice'.
The reader may consider -abstraction and -equivalence so familiar as to be
`solved problems'. The work embodied in this thesis stands testament to the fact
that this isn't the case. Considering -abstraction and -equivalence in the context
of two levels of variable poses some new and interesting problems and throws light
on some deep questions related to scope and binding
- …