549 research outputs found
Initial Semantics for Reduction Rules
We give an algebraic characterization of the syntax and operational semantics
of a class of simply-typed languages, such as the language PCF: we characterize
simply-typed syntax with variable binding and equipped with reduction rules via
a universal property, namely as the initial object of some category of models.
For this purpose, we employ techniques developed in two previous works: in the
first work we model syntactic translations between languages over different
sets of types as initial morphisms in a category of models. In the second work
we characterize untyped syntax with reduction rules as initial object in a
category of models. In the present work, we combine the techniques used earlier
in order to characterize simply-typed syntax with reduction rules as initial
object in a category. The universal property yields an operator which allows to
specify translations---that are semantically faithful by construction---between
languages over possibly different sets of types.
As an example, we upgrade a translation from PCF to the untyped lambda
calculus, given in previous work, to account for reduction in the source and
target. Specifically, we specify a reduction semantics in the source and target
language through suitable rules. By equipping the untyped lambda calculus with
the structure of a model of PCF, initiality yields a translation from PCF to
the lambda calculus, that is faithful with respect to the reduction semantics
specified by the rules.
This paper is an extended version of an article published in the proceedings
of WoLLIC 2012.Comment: Extended version of arXiv:1206.4547, proves a variant of a result of
PhD thesis arXiv:1206.455
Initial Semantics for Strengthened Signatures
We give a new general definition of arity, yielding the companion notions of
signature and associated syntax. This setting is modular in the sense requested
by Ghani and Uustalu: merging two extensions of syntax corresponds to building
an amalgamated sum. These signatures are too general in the sense that we are
not able to prove the existence of an associated syntax in this general
context. So we have to select arities and signatures for which there exists the
desired initial monad. For this, we follow a track opened by Matthes and
Uustalu: we introduce a notion of strengthened arity and prove that the
corresponding signatures have initial semantics (i.e. associated syntax). Our
strengthened arities admit colimits, which allows the treatment of the
\lambda-calculus with explicit substitution.Comment: In Proceedings FICS 2012, arXiv:1202.317
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
Extended Initiality for Typed Abstract Syntax
Initial Semantics aims at interpreting the syntax associated to a signature
as the initial object of some category of 'models', yielding induction and
recursion principles for abstract syntax. Zsid\'o proves an initiality result
for simply-typed syntax: given a signature S, the abstract syntax associated to
S constitutes the initial object in a category of models of S in monads.
However, the iteration principle her theorem provides only accounts for
translations between two languages over a fixed set of object types. We
generalize Zsid\'o's notion of model such that object types may vary, yielding
a larger category, while preserving initiality of the syntax therein. Thus we
obtain an extended initiality theorem for typed abstract syntax, in which
translations between terms over different types can be specified via the
associated category-theoretic iteration operator as an initial morphism. Our
definitions ensure that translations specified via initiality are type-safe,
i.e. compatible with the typing in the source and target language in the
obvious sense. Our main example is given via the propositions-as-types
paradigm: we specify propositions and inference rules of classical and
intuitionistic propositional logics through their respective typed signatures.
Afterwards we use the category--theoretic iteration operator to specify a
double negation translation from the former to the latter. A second example is
given by the signature of PCF. For this particular case, we formalize the
theorem in the proof assistant Coq. Afterwards we specify, via the
category-theoretic iteration operator, translations from PCF to the untyped
lambda calculus
Modules over monads and operational semantics
This paper is a contribution to the search for efficient and high-level
mathematical tools to specify and reason about (abstract) programming languages
or calculi. Generalising the reduction monads of Ahrens et al., we introduce
transition monads, thus covering new applications such as
lambda-bar-mu-calculus, pi-calculus, Positive GSOS specifications, differential
lambda-calculus, and the big-step, simply-typed, call-by-value lambda-calculus.
Moreover, we design a suitable notion of signature for transition monads
An Introduction to Different Approaches to Initial Semantics
Characterizing programming languages with variable binding as initial
objects, was first achieved by Fiore, Plotkin, and Turi in their seminal paper
published at LICS'99. To do so, in particular to prove initiality theorems,
they developed a framework based on monoidal categories, functors with
strengths, and -monoids. An alternative approach using modules over
monads was later introduced by Hirschowitz and Maggesi, for endofunctor
categories, that is, for particular monoidal categories. This approach has the
advantage of providing a more general and abstract definition of signatures and
models; however, no general initiality result is known for this notion of
signature. Furthermore, Matthes and Uustalu provided a categorical formalism
for constructing (initial) monads via Mendler-style recursion, that can also be
used for initial semantics. The different approaches have been developed
further in several articles. However, in practice, the literature is difficult
to access, and links between the different strands of work remain
underexplored.
In the present work, we give an introduction to initial semantics that
encompasses the three different strands. We develop a suitable "pushout" of
Hirschowitz and Maggesi's framework with Fiore's, and rely on Matthes and
Uustalu's formalism to provide modular proofs. For this purpose, we generalize
both Hirschowitz and Maggesi's framework, and Matthes and Uustalu's formalism
to the general setting of monoidal categories studied by Fiore and
collaborators. Moreover, we provide fully worked out presentation of some basic
instances of the literature, and an extensive discussion of related work
explaining the links between the different approaches
Initiality for Typed Syntax and Semantics
We give an algebraic characterization of the syntax and semantics of a class
of simply-typed languages, such as the language PCF: we characterize
simply-typed binding syntax equipped with reduction rules via a universal
property, namely as the initial object of some category. For this purpose, we
employ techniques developed in two previous works: in [2], we model syntactic
translations between languages over different sets of types as initial
morphisms in a category of models. In [1], we characterize untyped syntax with
reduction rules as initial object in a category of models. In the present work,
we show that those techniques are modular enough to be combined: we thus
characterize simply-typed syntax with reduction rules as initial object in a
category. The universal property yields an operator which allows to specify
translations - that are semantically faithful by construction - between
languages over possibly different sets of types.
We specify a language by a 2-signature, that is, a signature on two levels:
the syntactic level specifies the types and terms of the language, and
associates a type to each term. The semantic level specifies, through
inequations, reduction rules on the terms of the language. To any given
2-signature we associate a category of models. We prove that this category has
an initial object, which integrates the types and terms freely generated by the
2-signature, and the reduction relation on those terms generated by the given
inequations. We call this object the (programming) language generated by the
2-signature.
[1] Ahrens, B.: Modules over relative monads for syntax and semantics (2011),
arXiv:1107.5252, to be published in Math. Struct. in Comp. Science
[2] Ahrens, B.: Extended Initiality for Typed Abstract Syntax. Logical
Methods in Computer Science 8(2), 1-35 (2012)Comment: presented at WoLLIC 2012, 15 page
Modules over Monads and Operational Semantics
This paper is a contribution to the search for efficient and high-level mathematical tools to specify and reason about (abstract) programming languages or calculi. Generalising the reduction monads of Ahrens et al., we introduce transition monads, thus covering new applications such as ???-calculus, ?-calculus, Positive GSOS specifications, differential ?-calculus, and the big-step, simply-typed, call-by-value ?-calculus. Finally, we design a suitable notion of signature for transition monads
- …