Results 1  10
of
13
Explicit Substitutions with de Bruijn’s Levels
 in Rewriting Techniques and Applications, 6th International Conference, Lecture Notes in Computer Science 914
, 1995
"... In the introduction of [7], Curry writes that substitution is the main issue in logic and that λcalculus does not properly answer the problem because substitutions are outside the calculus. He pleads in favor of combinatory logic which offers a full treatment to substitutions through its use of a f ..."
Abstract

Cited by 33 (3 self)
 Add to MetaCart
(Show Context)
In the introduction of [7], Curry writes that substitution is the main issue in logic and that λcalculus does not properly answer the problem because substitutions are outside the calculus. He pleads in favor of combinatory logic which offers a full treatment to substitutions through its use of a first order rewrite system in
Combining HigherOrder and FirstOrder Computation Using ρcalculus: Towards a Semantics of ELAN
 In Frontiers of Combining Systems 2
, 1999
"... The ρcalculus permits to express in a uniform and simple way firstorder rewriting, λcalculus and nondeterministic computations as well as their combination. In this paper, we present the main components of the ρcalculus and we give a full firstorder presentation of this rewriting calculus using ..."
Abstract

Cited by 23 (10 self)
 Add to MetaCart
The ρcalculus permits to express in a uniform and simple way firstorder rewriting, λcalculus and nondeterministic computations as well as their combination. In this paper, we present the main components of the ρcalculus and we give a full firstorder presentation of this rewriting calculus using an explicit substitution setting, called ρσ, that generalizes the λσcalculus. The basic properties of the nonexplicit and explicit substitution versions are presented. We then detail how to use the ρcalculus to give an operational semantics to the rewrite rules of the ELAN language. 1
Reflecting proofs in firstorder logic with equality
 In Proceedings of EUROSPEECH’97
, 2005
"... Abstract. Our general goal is to provide better automation in interactive proof assistants such as Coq. We present an interpreter of proof traces in firstorder multisorted logic with equality. Thanks to the reflection ability of Coq, this interpreter is both implemented and formally proved sound — ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
(Show Context)
Abstract. Our general goal is to provide better automation in interactive proof assistants such as Coq. We present an interpreter of proof traces in firstorder multisorted logic with equality. Thanks to the reflection ability of Coq, this interpreter is both implemented and formally proved sound — with respect to a reflective interpretation of formulae as Coq properties — inside Coq’s type theory. Our generic framework allows to interpret proofs traces computed by any automated theorem prover, as long as they are precise enough: we illustrate that on traces produced by the CiME tool when solving unifiability problems by ordered completion. We discuss some benchmark results obtained on the TPTP library. The aim of this paper is twofold: first we want to validate a reflective approach for proofs in interactive proof assistants, and second show how to provide a better automation for such assistants. Both aspects can be achieved by using external provers designed to automatically solve some problems of interest: these provers can “feed ” the assistant with large proofs, and help to compare the direct and the reflective approaches, and they can also release the user from (parts of) the proof.
Typed mobile ambients in Maude
 Proceedings of the 6th International Workshop on RuleBased Programming (RULE 2005), Electronic Notes in Theoretical Computer Science 147 (2006
, 2006
"... Abstract. Maude has revealed as a powerful tool for implementing different kinds of semantics so that quick prototypes are available for trying examples and proving properties. In this paper we show how to define in Maude two semantics for Cardelli’s Ambient Calculus. The first one is the operationa ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
(Show Context)
Abstract. Maude has revealed as a powerful tool for implementing different kinds of semantics so that quick prototypes are available for trying examples and proving properties. In this paper we show how to define in Maude two semantics for Cardelli’s Ambient Calculus. The first one is the operational (reduction) semantics which requires the definition of Maude strategies in order to avoid infinite loops. The second one is a type system defined by Cardelli to avoid communication errors. The correctness of that system was not formally proved. We enrich the operational semantics with error rules and prove that welltyped processes do not produce such errors. The type system is highly nondeterministic. We provide two different (equivalent) ways of implementing such nondeterminism in the rules. Keywords: Ambient calculus, operational semantics, type systems, Maude. 1
Pure type systems in rewriting logic: Specifying typed higherorder languages in a firstorder logical framework
 In Essays in Memory of OleJohan Dahl, volume 2635 of LNCS
, 2004
"... ..."
(Show Context)
Explaining the lazy Krivine machine using explicit substitution and addresses
 HIGHER ORDER AND SYMBOLIC COMPUTATION
, 2007
"... Abstract. In a previous paper, Benaissa, Lescanne, and Rose, have extended the weak lambdacalculus of explicit substitution λσw with addresses, so that it gives an account of the sharing implemented by lazy functional language interpreters. We show in this paper that their calculus, called λσ a w, ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Abstract. In a previous paper, Benaissa, Lescanne, and Rose, have extended the weak lambdacalculus of explicit substitution λσw with addresses, so that it gives an account of the sharing implemented by lazy functional language interpreters. We show in this paper that their calculus, called λσ a w, fits well to the lazy Krivine machine, which describes the core of a lazy (callbyneed) functional programming language implementation. The lazy Krivine machine implements term evaluation sharing, that is essential for efficiency of such languages. The originality of our proof is that it gives a very detailed account of the implemented strategy.
Specifying an active network programming language
 Electronic Notes in theoretical Computer Science 71
, 2002
"... ..."
(Show Context)
λν, a Calculus of Explicit Substitutions which Preserves Strong Normalisation
, 1995
"... Explicit substitutions were proposed by Abadi, Cardelli, Curien, Hardin and Lévy to internalise substitutions into λcalculus and to propose a mechanism for computing on substitutions. λν is another view of the same concept which aims to explain the process of substituti ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Explicit substitutions were proposed by Abadi, Cardelli, Curien, Hardin and Lévy to internalise substitutions into &lambda;calculus and to propose a mechanism for computing on substitutions. &lambda;&nu; is another view of the same concept which aims to explain the process of substitution and to decompose it in small steps. &lambda;&nu; is simple and preserves strong normalisation. Apparently that important property cannot stay with another important one, namely confluence on open terms. The spirit of &lambda;&nu; is closely related to another calculus of explicit substitutions proposed by de Bruijn and called C&lambda;&xi;&phi;. In this paper, we introduce &lambda;&nu;, we present C&lambda;&xi;&phi; in the same framework as &lambda;&nu; and we compare both calculi. Moreover, we prove properties of &lambda;&nu;; namely &lambda;&nu; correctly implements &beta; reduction, &lambda;&nu; is confluent on closed terms, i.e., on terms of classical &lambda;calculus and on all terms that are derived from those terms, and finally &lambda;&nu; preserves strong normalization of &beta;reduction.
Techniques for Executing and Reasoning about Specification Diagrams
, 2004
"... Specification Diagrams (SD) [19] are a graphical notation for specifying the message passing behavior of open distributed object systems. SDs facilitate ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Specification Diagrams (SD) [19] are a graphical notation for specifying the message passing behavior of open distributed object systems. SDs facilitate
tion]: Logics and Meanings of Programs—Specifying and Verify
"... Programs that treat datatypes with binders, such as theorem provers or higherorder compilers, are regularly used for missioncritical purposes, and must be both reliable and performant. Formally proving such programs using as much automation as possible is highly desirable. In this paper, we propo ..."
Abstract
 Add to MetaCart
Programs that treat datatypes with binders, such as theorem provers or higherorder compilers, are regularly used for missioncritical purposes, and must be both reliable and performant. Formally proving such programs using as much automation as possible is highly desirable. In this paper, we propose a generic approach to handle datatypes with binders both in the program and its specification in a way that facilitates automated reasoning about such datatypes and also leads to a reasonably efficient code. Our method is implemented in the Why3 environment for program verification. We validate it on the examples of a lambdainterpreter with several reduction strategies and a simple tableauxbased theorem prover.