6,159 research outputs found
A System F accounting for scalars
The Algebraic lambda-calculus and the Linear-Algebraic lambda-calculus extend
the lambda-calculus with the possibility of making arbitrary linear
combinations of terms. In this paper we provide a fine-grained, System F-like
type system for the linear-algebraic lambda-calculus. We show that this
"scalar" type system enjoys both the subject-reduction property and the
strong-normalisation property, our main technical results. The latter yields a
significant simplification of the linear-algebraic lambda-calculus itself, by
removing the need for some restrictions in its reduction rules. But the more
important, original feature of this scalar type system is that it keeps track
of 'the amount of a type' that is present in each term. As an example of its
use, we shown that it can serve as a guarantee that the normal form of a term
is barycentric, i.e that its scalars are summing to one
Strong normalisation in the π-calculus
We introduce a typed π-calculus where strong normalisation is ensured by typability. Strong normalisation is a useful property in many computational contexts, including distributed systems. In spite of its simplicity, our type discipline captures a wide class of converging name-passing interactive behaviour. The proof of strong normalisability combines methods from typed λ-calculi and linear logic with process-theoretic reasoning. It is adaptable to systems involving state, polymorphism and other extensions. Strong normalisation is shown to have significant consequences, including finite axiomatisation of weak bisimilarity, a fully abstract embedding of the simply-typed λ-calculus with products and sums and basic liveness in interaction. Strong normalisability has been extensively studied as a fundamental property in functional calculi, term rewriting and logical systems. This work is one of the first steps to extend theories and proof methods for strong normalisability to the context of name-passing processes
Confluence via strong normalisation in an algebraic \lambda-calculus with rewriting
The linear-algebraic lambda-calculus and the algebraic lambda-calculus are
untyped lambda-calculi extended with arbitrary linear combinations of terms.
The former presents the axioms of linear algebra in the form of a rewrite
system, while the latter uses equalities. When given by rewrites, algebraic
lambda-calculi are not confluent unless further restrictions are added. We
provide a type system for the linear-algebraic lambda-calculus enforcing strong
normalisation, which gives back confluence. The type system allows an abstract
interpretation in System F.Comment: In Proceedings LSFA 2011, arXiv:1203.542
On Isomorphism of "Functional" Intersection and Union Types
Type isomorphism is useful for retrieving library components, since a
function in a library can have a type different from, but isomorphic to, the
one expected by the user. Moreover type isomorphism gives for free the coercion
required to include the function in the user program with the right type. The
present paper faces the problem of type isomorphism in a system with
intersection and union types. In the presence of intersection and union,
isomorphism is not a congruence and cannot be characterised in an equational
way. A characterisation can still be given, quite complicated by the
interference between functional and non functional types. This drawback is
faced in the paper by interpreting each atomic type as the set of functions
mapping any argument into the interpretation of the type itself. This choice
has been suggested by the initial projection of Scott's inverse limit
lambda-model. The main result of this paper is a condition assuring type
isomorphism, based on an isomorphism preserving reduction.Comment: In Proceedings ITRS 2014, arXiv:1503.0437
A Theory of Explicit Substitutions with Safe and Full Composition
Many different systems with explicit substitutions have been proposed to
implement a large class of higher-order languages. Motivations and challenges
that guided the development of such calculi in functional frameworks are
surveyed in the first part of this paper. Then, very simple technology in named
variable-style notation is used to establish a theory of explicit substitutions
for the lambda-calculus which enjoys a whole set of useful properties such as
full composition, simulation of one-step beta-reduction, preservation of
beta-strong normalisation, strong normalisation of typed terms and confluence
on metaterms. Normalisation of related calculi is also discussed.Comment: 29 pages Special Issue: Selected Papers of the Conference
"International Colloquium on Automata, Languages and Programming 2008" edited
by Giuseppe Castagna and Igor Walukiewic
The dagger lambda calculus
We present a novel lambda calculus that casts the categorical approach to the
study of quantum protocols into the rich and well established tradition of type
theory. Our construction extends the linear typed lambda calculus with a linear
negation of "trivialised" De Morgan duality. Reduction is realised through
explicit substitution, based on a symmetric notion of binding of global scope,
with rules acting on the entire typing judgement instead of on a specific
subterm. Proofs of subject reduction, confluence, strong normalisation and
consistency are provided, and the language is shown to be an internal language
for dagger compact categories.Comment: In Proceedings QPL 2014, arXiv:1412.810
Linearity in the non-deterministic call-by-value setting
We consider the non-deterministic extension of the call-by-value lambda
calculus, which corresponds to the additive fragment of the linear-algebraic
lambda-calculus. We define a fine-grained type system, capturing the right
linearity present in such formalisms. After proving the subject reduction and
the strong normalisation properties, we propose a translation of this calculus
into the System F with pairs, which corresponds to a non linear fragment of
linear logic. The translation provides a deeper understanding of the linearity
in our setting.Comment: 15 pages. To appear in WoLLIC 201
On the enumeration of closures and environments with an application to random generation
Environments and closures are two of the main ingredients of evaluation in
lambda-calculus. A closure is a pair consisting of a lambda-term and an
environment, whereas an environment is a list of lambda-terms assigned to free
variables. In this paper we investigate some dynamic aspects of evaluation in
lambda-calculus considering the quantitative, combinatorial properties of
environments and closures. Focusing on two classes of environments and
closures, namely the so-called plain and closed ones, we consider the problem
of their asymptotic counting and effective random generation. We provide an
asymptotic approximation of the number of both plain environments and closures
of size . Using the associated generating functions, we construct effective
samplers for both classes of combinatorial structures. Finally, we discuss the
related problem of asymptotic counting and random generation of closed
environemnts and closures
- …