Results 1 - 10
of
63
Nominal techniques in Isabelle/HOL
- Proceedings of the 20th International Conference on Automated Deduction (CADE-20
, 2005
"... Abstract. In this paper we define an inductive set that is bijective with the ff-equated lambda-terms. Unlike de-Bruijn indices, however, our inductive definition includes names and reasoning about this definition is very similar to informal reasoning on paper. For this we provide a structural induc ..."
Abstract
-
Cited by 71 (13 self)
- Add to MetaCart
Abstract. In this paper we define an inductive set that is bijective with the ff-equated lambda-terms. Unlike de-Bruijn indices, however, our inductive definition includes names and reasoning about this definition is very similar to informal reasoning on paper. For this we provide a structural induction principle that requires to prove the lambda-case for fresh binders only. The main technical novelty of this work is that it is compatible with the axiom-of-choice (unlike earlier nominal logic work by Pitts et al); thus we were able to implement all results in Isabelle/HOL and use them to formalise the standard proofs for Church-Rosser and strongnormalisation. Keywords. Lambda-calculus, nominal logic, structural induction, theoremassistants.
Theorem Proving Modulo
- Journal of Automated Reasoning
"... Abstract. Deduction modulo is a way to remove computational arguments from proofs by reasoning modulo a congruence on propositions. Such a technique, issued from automated theorem proving, is of much wider interest because it permits to separate computations and deductions in a clean way. The first ..."
Abstract
-
Cited by 53 (10 self)
- Add to MetaCart
Abstract. Deduction modulo is a way to remove computational arguments from proofs by reasoning modulo a congruence on propositions. Such a technique, issued from automated theorem proving, is of much wider interest because it permits to separate computations and deductions in a clean way. The first contribution of this paper is to define a sequent calculus modulo that gives a proof theoretic account of the combination of computations and deductions. The congruence on propositions is handled via rewrite rules and equational axioms. Rewrite rules apply to terms and also directly to atomic propositions. The second contribution is to give a complete proof search method, called Extended Narrowing and Resolution (ENAR), for theorem proving modulo such congruences. The completeness of this method is proved with respect to provability in sequent calculus modulo. An important application is that higher-order logic can be presented as a theory modulo. Applying the Extended Narrowing and Resolution method to this presentation of higher-order logic subsumes full higher-order resolution.
Unification via Explicit Substitutions: The Case of Higher-Order Patterns
- PROCEEDINGS OF JICSLP'96
, 1998
"... In [6] we have proposed a general higher-order unification method using a theory of explicit substitutions and we have proved its completeness. In this paper, we investigate the case of higher-order patterns as introduced by Miller. We show that our general algorithm specializes in a very convenient ..."
Abstract
-
Cited by 51 (13 self)
- Add to MetaCart
In [6] we have proposed a general higher-order unification method using a theory of explicit substitutions and we have proved its completeness. In this paper, we investigate the case of higher-order patterns as introduced by Miller. We show that our general algorithm specializes in a very convenient way to patterns. We also sketch an efficient implementation of the abstract algorithm and its generalization to constraint simplification, which has yielded good experimental results at the core of a higher-order constraint logic programming language.
Nominal Unification
- Theoretical Computer Science
, 2003
"... We present a generalisation of first-order unification to the practically important case of equations between terms involving binding operations. A substitution of terms for variables solves such an equation if it makes the equated terms #-equivalent, i.e. equal up to renaming bound names. For the a ..."
Abstract
-
Cited by 46 (18 self)
- Add to MetaCart
We present a generalisation of first-order unification to the practically important case of equations between terms involving binding operations. A substitution of terms for variables solves such an equation if it makes the equated terms #-equivalent, i.e. equal up to renaming bound names. For the applications we have in mind, we must consider the simple, textual form of substitution in which names occurring in terms may be captured within the scope of binders upon substitution. We are able to take a `nominal' approach to binding in which bound entities are explicitly named (rather than using nameless, de Bruijn-style representations) and yet get a version of this form of substitution that respects #-equivalence and possesses good algorithmic properties. We achieve this by adapting an existing idea and introducing a key new idea. The existing idea is terms involving explicit substitutions of names for names, except that here we only use explicit permutations (bijective substitutions). The key new idea is that the unification algorithm should solve not only equational problems, but also problems about the freshness of names for terms. There is a simple generalisation of the classical first-order unification algorithm to this setting which retains the latter's pleasant properties: unification problems involving #-equivalence and freshness are decidable; and solvable problems possess most general solutions.
lambda-calculi with explicit substitutions and composition which preserve beta -strong normalization (Extended Abstract)
, 1996
"... ) Maria C. F. Ferreira 1 and Delia Kesner 2 and Laurence Puel 2 1 Dep. de Inform'atica, Fac. de Ciencias e Tecnologia, Univ. Nova de Lisboa, Quinta da Torre, 2825 Monte de Caparica, Portugal, cf@fct.unl.pt. 2 CNRS & Lab. de Rech. en Informatique, Bat 490, Univ. de Paris-Sud, 91405 Orsay Cede ..."
Abstract
-
Cited by 26 (3 self)
- Add to MetaCart
) Maria C. F. Ferreira 1 and Delia Kesner 2 and Laurence Puel 2 1 Dep. de Inform'atica, Fac. de Ciencias e Tecnologia, Univ. Nova de Lisboa, Quinta da Torre, 2825 Monte de Caparica, Portugal, cf@fct.unl.pt. 2 CNRS & Lab. de Rech. en Informatique, Bat 490, Univ. de Paris-Sud, 91405 Orsay Cedex, France, fkesner,puelg@lri.fr. Abstract. We study preservation of fi-strong normalization by d and dn , two confluent -calculi with explicit substitutions defined in [10]; the particularity of these calculi is that both have a composition operator for substitutions. We develop an abstract simulation technique allowing to reduce preservation of fi-strong normalization of one calculus to that of another one, and apply said technique to reduce preservation of fi-strong normalization of d and dn to that of f , another calculus having no composition operator. Then, preservation of fi-strong normalization of f is shown using the same technique as in [2]. As a consequence, d and dn become the fir...
A Fine-Grained Notation for Lambda Terms and Its Use in Intensional Operations
- Journal of Functional and Logic Programming
, 1996
"... We discuss issues relevant to the practical use of a previously proposed notation for lambda terms in contexts where the intensions of such terms have to be manipulated. This notation uses the `nameless' scheme of de Bruijn, includes expressions for encoding terms together with substitutions to be p ..."
Abstract
-
Cited by 22 (8 self)
- Add to MetaCart
We discuss issues relevant to the practical use of a previously proposed notation for lambda terms in contexts where the intensions of such terms have to be manipulated. This notation uses the `nameless' scheme of de Bruijn, includes expressions for encoding terms together with substitutions to be performed on them and contains a mechanism for combining such substitutions so that they can be effected in a common structure traversal. The combination mechanism is a general one and consequently difficult to implement. We propose a simplification to it that retains its functionality in situations that occur commonly in fi-reduction. We then describe a system for annotating terms to determine if they can be affected by substitutions generated by external fi-contractions. These annotations can lead to a conservation of space and time in implementations of reduction by permitting substitutions to be performed trivially in certain situations. The use of the resulting notation in the reduction...
Confluence and Preservation of Strong Normalisation in an Explicit Substitutions Calculus
, 1996
"... Explicit substitutions calculi are formal systems that implement fi-reduction by means of an internal substitution operator. In that calculi it is possible to delay the application of a substitution to a term or to consider terms with partially applied substitutions. The oe -calculus of explicit s ..."
Abstract
-
Cited by 20 (4 self)
- Add to MetaCart
Explicit substitutions calculi are formal systems that implement fi-reduction by means of an internal substitution operator. In that calculi it is possible to delay the application of a substitution to a term or to consider terms with partially applied substitutions. The oe -calculus of explicit substitutions, proposed by Abadi, Cardelli, Curien andL evy, is a first-order rewriting system that implements substitution and renaming mechanism of -calculus. However, oe does not preserve strong normalisation of -calculus and it is not a confluent system. Typed variants of oe without composition are strongly normalising but not confluent, while variants with composition are confluent but do not preserve strong normalisation. Neither of them enjoys both properties. In this paper we propose the i -calculus. This is, as far as we know, the first confluent calculus of explicit substitutions that preserves strong normalisation. 1. Explicit substitutions The -calculus is a higher-order theor...
Semi-Explicit First-Class Polymorphism for ML
- Information and Computation
, 1999
"... We propose a modest conservative extension to ML that allows semi-explicit first-class polymorphism while preserving the essential properties of type inference. In our proposal, the introduction of polymorphic types is fully explicit, that is, both introduction points and exact polymorphic types ..."
Abstract
-
Cited by 18 (0 self)
- Add to MetaCart
We propose a modest conservative extension to ML that allows semi-explicit first-class polymorphism while preserving the essential properties of type inference. In our proposal, the introduction of polymorphic types is fully explicit, that is, both introduction points and exact polymorphic types are to be specified. However, the elimination of polymorphic types is semi-implicit: only elimination points are to be specified as polymorphic types themselves are inferred. This extension is particularly useful in Objective ML where polymorphism replaces subtyping. Introduction The success of the ML language is due to its combination of several attractive features. Undoubtedly, the polymorphism of ML [Damas and Milner, 1982] ---or polymorphism `a la ML--- with the type inference it allows, is a major advantage. The ML type system stays in close correspondence with the rules of logic, following the Curry-Howard isomorphism between types and formulas, which provides a simple intuition, ...
Implementation of Higher-Order Unification Based on Calculus of Explicit Substitution
, 1995
"... . In this paper, we present several improvements of an algorithm for a higher-order unification based on the calculus of explicit substitutions. The main difference between our algorithm and the already known version is, that we try to postpone normalisation of oe-terms as long as possible, i.e. unt ..."
Abstract
-
Cited by 17 (1 self)
- Add to MetaCart
. In this paper, we present several improvements of an algorithm for a higher-order unification based on the calculus of explicit substitutions. The main difference between our algorithm and the already known version is, that we try to postpone normalisation of oe-terms as long as possible, i.e. until some information of these oe-terms is necessary for the next step of the unification algorithm. 1 Introduction In this paper, we describe an improved version of a higher-order unification algorithm, which was presented in [DHK95]. The main idea of this algorithm is based on a calculus of explicit substitutions in a simply typed -theory (for definitions and details, see [ACCL90]), which integrates substitutions in the framework of the first-order formalism. In this calculus, substitutions are treated as the firstorder objects, i.e. all basic operations over substitutions, like an application, a composition and a concatenation are defined in the first-order theory (their semantic is descri...

