282 research outputs found
Call-by-Value and Call-by-Name Dual Calculi with Inductive and Coinductive Types
This paper extends the dual calculus with inductive types and coinductive
types. The paper first introduces a non-deterministic dual calculus with
inductive and coinductive types. Besides the same duality of the original dual
calculus, it has the duality of inductive and coinductive types, that is, the
duality of terms and coterms for inductive and coinductive types, and the
duality of their reduction rules. Its strong normalization is also proved,
which is shown by translating it into a second-order dual calculus. The strong
normalization of the second-order dual calculus is proved by translating it
into the second-order symmetric lambda calculus. This paper then introduces a
call-by-value system and a call-by-name system of the dual calculus with
inductive and coinductive types, and shows the duality of call-by-value and
call-by-name, their Church-Rosser properties, and their strong normalization.
Their strong normalization is proved by translating them into the
non-deterministic dual calculus with inductive and coinductive types.Comment: The conference version of this paper has appeared in RTA 200
General Recursion via Coinductive Types
A fertile field of research in theoretical computer science investigates the
representation of general recursive functions in intensional type theories.
Among the most successful approaches are: the use of wellfounded relations,
implementation of operational semantics, formalization of domain theory, and
inductive definition of domain predicates. Here, a different solution is
proposed: exploiting coinductive types to model infinite computations. To every
type A we associate a type of partial elements Partial(A), coinductively
generated by two constructors: the first, return(a) just returns an element
a:A; the second, step(x), adds a computation step to a recursive element
x:Partial(A). We show how this simple device is sufficient to formalize all
recursive functions between two given types. It allows the definition of fixed
points of finitary, that is, continuous, operators. We will compare this
approach to different ones from the literature. Finally, we mention that the
formalization, with appropriate structural maps, defines a strong monad.Comment: 28 page
Relational Graph Models at Work
We study the relational graph models that constitute a natural subclass of
relational models of lambda-calculus. We prove that among the lambda-theories
induced by such models there exists a minimal one, and that the corresponding
relational graph model is very natural and easy to construct. We then study
relational graph models that are fully abstract, in the sense that they capture
some observational equivalence between lambda-terms. We focus on the two main
observational equivalences in the lambda-calculus, the theory H+ generated by
taking as observables the beta-normal forms, and H* generated by considering as
observables the head normal forms. On the one hand we introduce a notion of
lambda-K\"onig model and prove that a relational graph model is fully abstract
for H+ if and only if it is extensional and lambda-K\"onig. On the other hand
we show that the dual notion of hyperimmune model, together with
extensionality, captures the full abstraction for H*
Probabilistic Operational Semantics for the Lambda Calculus
Probabilistic operational semantics for a nondeterministic extension of pure
lambda calculus is studied. In this semantics, a term evaluates to a (finite or
infinite) distribution of values. Small-step and big-step semantics are both
inductively and coinductively defined. Moreover, small-step and big-step
semantics are shown to produce identical outcomes, both in call-by- value and
in call-by-name. Plotkin's CPS translation is extended to accommodate the
choice operator and shown correct with respect to the operational semantics.
Finally, the expressive power of the obtained system is studied: the calculus
is shown to be sound and complete with respect to computable probability
distributions.Comment: 35 page
Inductive and Coinductive Components of Corecursive Functions in Coq
In Constructive Type Theory, recursive and corecursive definitions are
subject to syntactic restrictions which guarantee termination for recursive
functions and productivity for corecursive functions. However, many terminating
and productive functions do not pass the syntactic tests. Bove proposed in her
thesis an elegant reformulation of the method of accessibility predicates that
widens the range of terminative recursive functions formalisable in
Constructive Type Theory. In this paper, we pursue the same goal for productive
corecursive functions. Notably, our method of formalisation of coinductive
definitions of productive functions in Coq requires not only the use of ad-hoc
predicates, but also a systematic algorithm that separates the inductive and
coinductive parts of functions.Comment: Dans Coalgebraic Methods in Computer Science (2008
On polymorphic sessions and functions: a tale of two (fully abstract) encodings
This work exploits the logical foundation of session types to determine what kind of type discipline for the Λ-calculus can exactly capture, and is captured by, Λ-calculus behaviours. Leveraging the proof theoretic content of the soundness and completeness of sequent calculus and natural deduction presentations of linear logic, we develop the first mutually inverse and fully abstract processes-as-functions and functions-as-processes encodings between a polymorphic session π-calculus and a linear formulation of System F. We are then able to derive results of the session calculus from the theory of the Λ-calculus: (1) we obtain a characterisation of inductive and coinductive session types via their algebraic representations in System F; and (2) we extend our results to account for value and process passing, entailing strong normalisation
On polymorphic sessions and functions: A tale of two (fully abstract) encodings
This work exploits the logical foundation of session types to determine what kind of type discipline for the -calculus can exactly capture, and is captured by, -calculus behaviours. Leveraging the proof theoretic content of the soundness and completeness of sequent calculus and natural deduction presentations of linear logic, we develop the first mutually inverse and fully abstract processes-as-functions and functions-as-processes encodings between a polymorphic session -calculus and a linear formulation of System F. We are then able to derive results of the session calculus from the theory of the -calculus: (1) we obtain a characterisation of inductive and coinductive session types via their algebraic representations in System F; and (2) we extend our results to account for value and process passing, entailing strong normalisation
- …