15 research outputs found
Inference Systems with Corules for Fair Subtyping and Liveness Properties of Binary Session Types
Many properties of communication protocols stem from the combination of safety and liveness properties. Characterizing such combined properties by means of a single inference system is difficult because of the fundamentally different techniques (coinduction and induction, respectively) usually involved in defining and proving them. In this paper we show that Generalized Inference Systems allow for simple and insightful characterizations of (at least some of) these combined inductive/coinductive properties for dependent session types. In particular, we illustrate the role of corules in characterizing weak termination (the property of protocols that can always eventually terminate), fair compliance (the property of interactions that can always be extended to reach client satisfaction) and also fair subtyping, a liveness-preserving refinement relation for session types
Useful Open Call-By-Need
This paper studies useful sharing, which is a sophisticated optimization for ?-calculi, in the context of call-by-need evaluation in presence of open terms. Useful sharing turns out to be harder in call-by-need than in call-by-name or call-by-value, because call-by-need evaluates inside environments, making it harder to specify when a substitution step is useful. We isolate the key involved concepts and prove the correctness and the completeness of useful sharing in this setting
Syntactically and semantically regular languages of lambda-terms coincide through logical relations
A fundamental theme in automata theory is regular languages of words and
trees, and their many equivalent definitions. Salvati has proposed a
generalization to regular languages of simply typed -terms, defined
using denotational semantics in finite sets.
We provide here some evidence for its robustness. First, we give an
equivalent syntactic characterization that naturally extends the seminal work
of Hillebrand and Kanellakis connecting regular languages of words and
syntactic -definability. Second, we show that any finitary extensional
model of the simply typed -calculus, when used in Salvati's
definition, recognizes exactly the same class of languages of -terms
as the category of finite sets does.
The proofs of these two results rely on logical relations and can be seen as
instances of a more general construction of a categorical nature, inspired by
previous categorical accounts of logical relations using the gluing
construction.Comment: The proofs on "finitely pointable" CCCs in versions 1 and 2 were
wrong; we now make slightly weaker claims on well-pointed locally finite
CCCs. New in this version: added reference [3] and official DOI (proceedings
of CSL 2024
Defunctionalization with Dependent Types
The defunctionalization translation that eliminates higher-order functions
from programs forms a key part of many compilers. However, defunctionalization
for dependently-typed languages has not been formally studied. We present the
first formally-specified defunctionalization translation for a
dependently-typed language and establish key metatheoretical properties such as
soundness and type preservation. The translation is suitable for incorporation
into type-preserving compilers for dependently-typed language
A Dependently-Typed Linear π -Calculus in Agda
Session types have consolidated as a formalism for the specification and static enforcement of communication protocols. Many different theories of dependent session types have been proposed, some enabling refined specifications on the content of messages, others allowing the structure of the protocols to depend on data exchanged in the protocol itself. In this work we continue a line of research studying the foundations of binary session types. In particular, we propose a variant of the linear π-calculus whose type structure encompasses virtually all dependent session types using just two type constructors: linear channel types and linear dependent pairs. We use Agda not only to formalize the metatheory of the calculus and obtain machine-checked proofs of type soundness, but also as host language in which we implement data-dependent protocols
Beta-Conversion, Efficiently
Type-checking in dependent type theories relies on conversion, i.e. testing given lambda-terms for equality up to beta-evaluation and alpha-renaming.
Computer tools based on the lambda-calculus currently implement conversion by means of algorithms whose complexity has not been identified, and in some cases even subject to an exponential time overhead with respect to the natural cost models (number of evaluation steps and size of input lambda-terms).
This dissertation shows that in the pure lambda-calculus it is possible to obtain conversion algorithms with bilinear time complexity when evaluation is carried following evaluation strategies that generalize Call-by-Value to the stronger case required by conversion
Adding Negation to Lambda Mu
We present , an extension of Parigot's -calculus by
adding negation as a type constructor, together with syntactic constructs that
represent negation introduction and elimination. We will define a notion of
reduction that extends 's reduction system with two new reduction
rules, and show that the system satisfies subject reduction. Using Aczel's
generalisation of Tait and Martin-L\"of's notion of parallel reduction, we show
that this extended reduction is confluent. Although the notion of type
assignment has its limitations with respect to representation of proofs in
natural deduction with implication and negation, we will show that all
propositions that can be shown in there have a witness in . Using
Girard's approach of reducibility candidates, we show that all typeable terms
are strongly normalisable, and conclude the paper by showing that type
assignment for enjoys the principal typing property.Comment: 37 page
The (In)Efficiency of interaction
Evaluating higher-order functional programs through abstract machines inspired by the geometry of the interaction is known to induce space efficiencies, the price being time performances often poorer than those obtainable with traditional, environment-based, abstract machines. Although families of lambda-terms for which the former is exponentially less efficient than the latter do exist, it is currently unknown how general this phenomenon is, and how far the inefficiencies can go, in the worst case. We answer these questions formulating four different well-known abstract machines inside a common definitional framework, this way being able to give sharp results about the relative time efficiencies. We also prove that non-idempotent intersection type theories are able to precisely reflect the time performances of the interactive abstract machine, this way showing that its time-inefficiency ultimately descends from the presence of higher-order types
Choreographies and Cost Semantics for Reliable Communicating Systems
Communicating systems have become ubiquitous in today\u27s society.Unfortunately, the complexity of their interactions makes themparticularly prone to failures such as deadlocked states causedby misbehaving components, or memory exhaustion due to a surge inmessage traffic (malicious or not). These vulnerabilitiesconstitute a real risk to users, with consequences ranging fromminor inconveniences to the possibility of loss of life andcapital. This thesis presents two results that aim to increasethe reliability of communicating systems. First, we implement achoreography language which by construction can only describesystems that are deadlock-free. Second, we develop a costsemantics to prove programs free of out-of-memory errors. Both ofthese results are formalized in the HOL4 theorem prover andintegrated with the CakeML verified stack
Inference Systems with Corules for Combined Safety and Liveness Properties of Binary Session Types
Many properties of communication protocols combine safety and liveness
aspects. Characterizing such combined properties by means of a single inference
system is difficult because of the fundamentally different techniques
(coinduction and induction, respectively) usually involved in defining and
proving them. In this paper we show that Generalized Inference Systems allow us
to obtain sound and complete characterizations of (at least some of) these
combined inductive/coinductive properties of binary session types. In
particular, we illustrate the role of corules in characterizing fair
termination (the property of protocols that can always eventually terminate),
fair compliance (the property of interactions that can always be extended to
reach client satisfaction) and fair subtyping, a liveness-preserving refinement
relation for session types. The characterizations we obtain are simpler
compared to the previously available ones and corules provide insight on the
liveness properties being ensured or preserved. Moreover, we can conveniently
appeal to the bounded coinduction principle to prove the completeness of the
provided characterizations