Results 1  10
of
45
Intersection types for explicit substitutions
, 2003
"... We present a new system of intersection types for a compositionfree calculus of explicit substitutions with a rule for garbage collection, and show that it characterizes those terms which are strongly normalizing. This system extends previous work on the natural generalization of the classical inte ..."
Abstract

Cited by 22 (8 self)
 Add to MetaCart
(Show Context)
We present a new system of intersection types for a compositionfree calculus of explicit substitutions with a rule for garbage collection, and show that it characterizes those terms which are strongly normalizing. This system extends previous work on the natural generalization of the classical intersection types system, which characterized head normalization and weak normalization, but was not complete for strong normalization. An important role is played by the notion of available variable in a term, which is a generalization of the classical notion of free variable.
Cut Rules and Explicit Substitutions
, 2000
"... this paper deals exclusively with intuitionistic logic (in fact, only the implicative fragment), we require succedents to be a single consequent formula. Natural deduction systems, which we choose to call Nsystems, are symbolic logics generally given via introduction and elimination rules for the l ..."
Abstract

Cited by 16 (0 self)
 Add to MetaCart
this paper deals exclusively with intuitionistic logic (in fact, only the implicative fragment), we require succedents to be a single consequent formula. Natural deduction systems, which we choose to call Nsystems, are symbolic logics generally given via introduction and elimination rules for the logical connectives which operate on the right, i.e., they manipulate the succedent formula. Examples are Gentzen's NJ and NK (Gentzen 1935). Logical deduction systems are given via leftintroduction and rightintroduction rules for the logical connectives. Although others have called these systems "sequent calculi", we call them Lsystems to avoid confusion with other systems given in sequent style. Examples are Gentzen's LK and LJ (Gentzen 1935). In this paper we are primarily interested in Lsystems. The advantage of Nsystems is that they seem closer to actual reasoning, while Lsystems on the other hand seem to have an easier proof theory. Lsystems are often extended with a "cut" rule as part of showing that for a given Lsystem and Nsystem, the derivations of each system can be encoded in the other. For example, NK proves the same as LK + cut (Gentzen 1935). Proof Normalization. A system is consistent when it is impossible to prove false, i.e., derive absurdity from zero assumptions. A system is analytic (has the analycity property) when there is an e#ective method to decompose any conclusion sequent into simpler premise sequents from which the conclusion can be obtained by some rule in the system such that the conclusion is derivable i# the premises are derivable (Maenpaa 1993). To achieve the goals of consistency and analycity, it has been customary to consider
Captureavoiding Substitution as a Nominal Algebra
 Formal Aspects of Computing
, 2008
"... Abstract. Substitution is fundamental to computer science, underlying for example quantifiers in predicate logic and betareduction in the lambdacalculus. So is substitution something we define on syntax on a casebycase basis, or can we turn the idea of ‘substitution ’ into a mathematical objec ..."
Abstract

Cited by 14 (5 self)
 Add to MetaCart
(Show Context)
Abstract. Substitution is fundamental to computer science, underlying for example quantifiers in predicate logic and betareduction in the lambdacalculus. So is substitution something we define on syntax on a casebycase basis, or can we turn the idea of ‘substitution ’ into a mathematical object? We exploit the new framework of Nominal Algebra to axiomatise substitution. We prove our axioms sound and complete with respect to a canonical model; this turns out to be quite hard, involving subtle use of results of rewriting and algebra. 1
Pattern Matching as Cut Elimination
 In Logic in Computer Science
, 1999
"... We present typed pattern calculus with explicit pattern matching and explicit substitutions, where both the typing rules and the reduction rules are modeled on the same logical proof system, namely Gentzen sequent calculus for minimal logic. Our calculus is inspired by the CurryHoward Isomorphism, ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
We present typed pattern calculus with explicit pattern matching and explicit substitutions, where both the typing rules and the reduction rules are modeled on the same logical proof system, namely Gentzen sequent calculus for minimal logic. Our calculus is inspired by the CurryHoward Isomorphism, in the sense that types, both for patterns and terms, correspond to propositions, terms correspond to proofs, and term reduction corresponds to sequent proof normalization performed by cut elimination. The calculus enjoys subject reduction, confluence, preservation of strong normalization w.r.t a system with metalevel substitutions, and strong normalization for welltyped terms, and, as a consequence, can be seen as an implementation calculus for functional formalisms using metalevel operations for pattern matching and substitutions.
Proof Nets and Explicit Substitutions
 Mathematical Structures in Computer Science
, 2000
"... We refine the simulation technique introduced in [10] to show strong normalization of calculi with explicit substitutions via termination of cut elimination in proof nets [12]. We first propose a notion of equivalence relation for proof nets that extends the one in [9], and we show that cut elimina ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
(Show Context)
We refine the simulation technique introduced in [10] to show strong normalization of calculi with explicit substitutions via termination of cut elimination in proof nets [12]. We first propose a notion of equivalence relation for proof nets that extends the one in [9], and we show that cut elimination modulo this equivalence relation is terminating. We then show strong normalization of the typed version of the l  calculus with de Bruijn indices (a calculus with full composition defined in [8]) using a translation from typed l to proof nets. Finally, we propose a version of typed l with named variables which helps to better understand the complex mechanism of the explicit weakening notation introduced in the l calculus with de Bruijn indices [8]. 1
The theory of calculi with explicit substitutions revisited
 CSL 2007
, 2007
"... Calculi with explicit substitutions (ES) are widely used in different areas of computer science. Complex systems with ES were developed these last 15 years to capture the good computational behaviour of the original systems (with metalevel substitutions) they were implementing. In this paper we fi ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
(Show Context)
Calculi with explicit substitutions (ES) are widely used in different areas of computer science. Complex systems with ES were developed these last 15 years to capture the good computational behaviour of the original systems (with metalevel substitutions) they were implementing. In this paper we first survey previous work in the domain by pointing out the motivations and challenges that guided the development of such calculi. Then we use very simple technology to establish a general theory of explicit substitutions for the lambdacalculus which enjoys fundamental properties such as simulation of onestep betareduction, confluence on metaterms, preservation of betastrong normalisation, strong normalisation of typed terms and full composition. The calculus also admits a natural translation into Linear Logic’s proofnets.
Comparing and Implementing Calculi of Explicit Substitutions with Eta Reduction
 Annals of Pure and Applied Logic
, 2005
"... The 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. It has also been shown that e ..."
Abstract

Cited by 10 (8 self)
 Add to MetaCart
The 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. It has also been shown that eta reduction is useful for adapting substitution calculi for practical problems like higher order uni cation. This paper concentrates on rewrite rules for eta reduction in three dierent styles of explicit substitution calculi: , se and the suspension calculus. Both and se when extended with eta reduction, have proved useful for solving higher order uni cation. We enlarge the suspension calculus with an adequate etareduction which we show to preserve termination and conuence of the associated substitution calculus and to correspond to the etareductions of the other two calculi. We prove that and se as well as and the suspension calculus are non comparable while se is more adequate than the suspension calculus in simulating one step of betacontraction.
Revised today
, 1998
"... We show the soundness of a calculus B where de Bruijn indices are used, substitution is explicit, and reduction is stepwise. This is done by interpreting B in the classical calculus where the explicit substitution becomes implicit and de Bruijn indices become named variables. This is the rst
at ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
(Show Context)
We show the soundness of a calculus B where de Bruijn indices are used, substitution is explicit, and reduction is stepwise. This is done by interpreting B in the classical calculus where the explicit substitution becomes implicit and de Bruijn indices become named variables. This is the rst
at semantics of explicit substitution and stepwise reduction and the rst clear account of exactly when reduction is needed.
ProofTerm Synthesis on Dependenttype Systems via Explicit Substitutions
, 1999
"... Typed #terms are used as a compact and linear representation of proofs in intuitionistic logic. This is possible since the CurryHoward isomorphism relates proof trees with typed #terms. The proofsasterms principle can be used to check a proof by type checking the #term extracted from the compl ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
Typed #terms are used as a compact and linear representation of proofs in intuitionistic logic. This is possible since the CurryHoward isomorphism relates proof trees with typed #terms. The proofsasterms principle can be used to check a proof by type checking the #term extracted from the complete proof tree. However, proof trees and typed #terms are built differently. Usually, an auxiliary representation of unfinished proofs is needed, where type checking is possible only on complete proofs. In this paper we present a proof synthesis method for dependenttype systems where typed open terms are built incrementally at the same time as proofs are done. This way, every construction step, not just the last one, may be type checked. The method is based on a suitable calculus where substitutions as well as metavariables are firstclass objects.
Revisiting the Notion of Function
"... Functions play a central role in type theory, logic and computation. We describe how the notions of functionalisation (the way in which functions can be constructed) and instantiation (the process of applying a function to an argument) have been developed in the last century. We explain how both pro ..."
Abstract

Cited by 7 (6 self)
 Add to MetaCart
Functions play a central role in type theory, logic and computation. We describe how the notions of functionalisation (the way in which functions can be constructed) and instantiation (the process of applying a function to an argument) have been developed in the last century. We explain how both processes were implemented in Frege's Begriffschrift [17], Russell's Ramified Type Theory [42] and the lambdacalculus (originally introduced by Church [12, 13]) showing that the lambdacalculus misses a crucial aspect of functionalisation. We then pay attention to some special forms of function abstraction that do not exist in the lambdacalculus and we show that various logical constructs (e.g., let expressions and definitions and the use of parameters in mathematics), can be seen as forms of the missing part of functionalisation. Our study of the function concept leads...