132 research outputs found
Comparing Calculi of Explicit Substitutions with Eta-reduction1 1Partially supported by the Brazilian CNPq research council grant number 47488101-6.
AbstractThe past decade has seen an explosion of work on calculi of explicit substitutions. Numerous work has illustrated the usefulness of these calculi for practical notions like the implementation of typed functional programming languages and higher order proof assistants. Three styles of explicit substitutions are treated in this paper: the λσ and the λse which have proved useful for solving practical problems like higher order unification, and the suspension calculus related to the implementation of the language λ-Prolog. We enlarge the suspension calculus with an adequate eta-reduction which we show to preserve termination and confluence of the associated substitution calculus and to correspond to the eta-reductions of the other two calculi. Additionally, we prove that λσ and λse as well as λσ and the suspension calculus are non comparable while λse is more adequate than the suspension calculus
Explicit Substitutions for Contextual Type Theory
In this paper, we present an explicit substitution calculus which
distinguishes between ordinary bound variables and meta-variables. Its typing
discipline is derived from contextual modal type theory. We first present a
dependently typed lambda calculus with explicit substitutions for ordinary
variables and explicit meta-substitutions for meta-variables. We then present a
weak head normalization procedure which performs both substitutions lazily and
in a single pass thereby combining substitution walks for the two different
classes of variables. Finally, we describe a bidirectional type checking
algorithm which uses weak head normalization and prove soundness.Comment: In Proceedings LFMTP 2010, arXiv:1009.218
A Formalized Extension of the Substitution Lemma in Coq
The substitution lemma is a renowned theorem within the realm of
lambda-calculus theory and concerns the interactional behaviour of the
metasubstitution operation. In this work, we augment the lambda-calculus's
grammar with an uninterpreted explicit substitution operator, which allows the
use of our framework for different calculi with explicit substitutions. Our
primary contribution lies in verifying that, despite these modifications, the
substitution lemma continues to remain valid. This confirmation was achieved
using the Coq proof assistant. Our formalization methodology employs a nominal
approach, which provides a direct implementation of the alpha-equivalence
concept. The strategy involved in variable renaming within the proofs presents
a challenge, specially on ensuring an exploration of the implications of our
extension to the grammar of the lambda-calculus.Comment: In Proceedings FROM 2023, arXiv:2309.1295
On Equivalence and Canonical Forms in the LF Type Theory
Decidability of definitional equality and conversion of terms into canonical
form play a central role in the meta-theory of a type-theoretic logical
framework. Most studies of definitional equality are based on a confluent,
strongly-normalizing notion of reduction. Coquand has considered a different
approach, directly proving the correctness of a practical equivalance algorithm
based on the shape of terms. Neither approach appears to scale well to richer
languages with unit types or subtyping, and neither directly addresses the
problem of conversion to canonical.
In this paper we present a new, type-directed equivalence algorithm for the
LF type theory that overcomes the weaknesses of previous approaches. The
algorithm is practical, scales to richer languages, and yields a new notion of
canonical form sufficient for adequate encodings of logical systems. The
algorithm is proved complete by a Kripke-style logical relations argument
similar to that suggested by Coquand. Crucially, both the algorithm itself and
the logical relations rely only on the shapes of types, ignoring dependencies
on terms.Comment: 41 page
Conservative extensions of the λ-calculus for the computational interpretation of sequent calculus
This thesis offers a study of the Curry-Howard correspondence for a certain fragment (the canonical fragment) of sequent calculus based on an investigation of the relationship between cut elimination in that fragment and normalisation. The output of this study may be summarised in a new assignment θ, to proofs in the canonical fragment, of terms from certain conservative extensions of the λ-calculus. This assignment, in a sense, is an optimal improvement over the traditional assignment φ, in that it is an isomorphism both in the sense of sound bijection of proofs and isomorphism of normalisation procedures.First, a systematic definition of calculi of cut-elimination for the canonical fragment is carried out. We study various right protocols, i.e. cut-elimination procedures which give priority to right permutation. We pay particular attention to the issue of what parts of the procedure are to be implicit, that is, performed by meta-operators in the style of natural deduction. Next, a comprehensive study of the relationship between normalisation and these calculi of cut-elimination is done, producing several new insight of independent interest, particularly concerning a generalisation of Prawitz’s mapping of normal natural deduction proofs into sequent calculus.This study suggests the definition of conservative extensions of natural deduction (and λ-calculus) based on the idea of a built-in distinction between applicative term and application, and also between head and tail application. These extensions offer perfect counterparts to the calculi in the canonical fragment, as established by the mentioned mapping θ . Conceptual rearrangements in proof- theory deriving from these extensions of natural deduction are discussed.Finally, we argue that, computationally, both the canonical fragment and natural deduction (in the extended sense introduced here) correspond to extensions of the λ-calculus with applicative terms; and that what distinguishes them is the way applicative terms are structured. In the canonical fragment, the head application of an applicative term is “focused” . This, in turn, explains the following observation: some reduction rules of calculi in the canonical fragment may be interpreted as transition rules for abstract call-by-name machines
Lazy Evaluation and Delimited Control
The call-by-need lambda calculus provides an equational framework for
reasoning syntactically about lazy evaluation. This paper examines its
operational characteristics. By a series of reasoning steps, we systematically
unpack the standard-order reduction relation of the calculus and discover a
novel abstract machine definition which, like the calculus, goes "under
lambdas." We prove that machine evaluation is equivalent to standard-order
evaluation. Unlike traditional abstract machines, delimited control plays a
significant role in the machine's behavior. In particular, the machine replaces
the manipulation of a heap using store-based effects with disciplined
management of the evaluation stack using control-based effects. In short, state
is replaced with control. To further articulate this observation, we present a
simulation of call-by-need in a call-by-value language using delimited control
operations
The computability path ordering: the end of a quest
In this paper, we first briefly survey automated termination proof methods
for higher-order calculi. We then concentrate on the higher-order recursive
path ordering, for which we provide an improved definition, the Computability
Path Ordering. This new definition appears indeed to capture the essence of
computability arguments \`a la Tait and Girard, therefore explaining the name
of the improved ordering.Comment: Dans CSL'08 (2008
Termination of rewrite relations on -terms based on Girard's notion of reducibility
In this paper, we show how to extend the notion of reducibility introduced by
Girard for proving the termination of -reduction in the polymorphic
-calculus, to prove the termination of various kinds of rewrite
relations on -terms, including rewriting modulo some equational theory
and rewriting with matching modulo , by using the notion of
computability closure. This provides a powerful termination criterion for
various higher-order rewriting frameworks, including Klop's Combinatory
Reductions Systems with simple types and Nipkow's Higher-order Rewrite Systems
Termination of Dependently Typed Rewrite Rules
Our interest is in automated termination proofs of higher-order rewrite rules in presence of dependent types modulo a theory T on base types. We first describe an original transformation to a type discipline without type dependencies which preserves non-termination. Since the user must reason on expressions of the transformed language, we then introduce an extension of the computability path ordering CPO for comparing dependently typed expressions named DCPO. Using the previous result, we show that DCPO is a well-founded order, behaving well in practice
- …