1,232 research outputs found
Reconciling positional and nominal binding
We define an extension of the simply-typed lambda calculus where two
different binding mechanisms, by position and by name, nicely coexist. In the
former, as in standard lambda calculus, the matching between parameter and
argument is done on a positional basis, hence alpha-equivalence holds, whereas
in the latter it is done on a nominal basis. The two mechanisms also
respectively correspond to static binding, where the existence and type
compatibility of the argument are checked at compile-time, and dynamic binding,
where they are checked at run-time.Comment: In Proceedings ITRS 2012, arXiv:1307.784
ASMs and Operational Algorithmic Completeness of Lambda Calculus
We show that lambda calculus is a computation model which can step by step
simulate any sequential deterministic algorithm for any computable function
over integers or words or any datatype. More formally, given an algorithm above
a family of computable functions (taken as primitive tools, i.e., kind of
oracle functions for the algorithm), for every constant K big enough, each
computation step of the algorithm can be simulated by exactly K successive
reductions in a natural extension of lambda calculus with constants for
functions in the above considered family. The proof is based on a fixed point
technique in lambda calculus and on Gurevich sequential Thesis which allows to
identify sequential deterministic algorithms with Abstract State Machines. This
extends to algorithms for partial computable functions in such a way that
finite computations ending with exceptions are associated to finite reductions
leading to terms with a particular very simple feature.Comment: 37 page
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
- …