Results 1  10
of
10
Nominal rewriting
 Information and Computation
"... Nominal rewriting is based on the observation that if we add support for alphaequivalence to firstorder syntax using the nominalset approach, then systems with binding, including higherorder reduction schemes such as lambdacalculus betareduction, can be smoothly represented. Nominal rewriting ma ..."
Abstract

Cited by 19 (7 self)
 Add to MetaCart
Nominal rewriting is based on the observation that if we add support for alphaequivalence to firstorder syntax using the nominalset approach, then systems with binding, including higherorder reduction schemes such as lambdacalculus betareduction, can be smoothly represented. Nominal rewriting maintains a strict distinction between variables of the objectlanguage (atoms) and of the metalanguage (variables or unknowns). Atoms may be bound by a special abstraction operation, but variables cannot be bound, giving the framework a pronounced firstorder character, since substitution of terms for variables is not captureavoiding. We show how good properties of firstorder rewriting survive the extension, by giving an efficient rewriting algorithm, a critical pair lemma, and a confluence theorem
Computation with classical sequents
 MATHEMATICAL STRUCTURES OF COMPUTER SCIENCE
, 2008
"... X is an untyped continuationstyle formal language with a typed subset which provides a CurryHoward isomorphism for a sequent calculus for implicative classical logic. X can also be viewed as a language for describing nets by composition of basic components connected by wires. These features make X ..."
Abstract

Cited by 16 (16 self)
 Add to MetaCart
X is an untyped continuationstyle formal language with a typed subset which provides a CurryHoward isomorphism for a sequent calculus for implicative classical logic. X can also be viewed as a language for describing nets by composition of basic components connected by wires. These features make X an expressive platform on which algebraic objects and many different (applicative) programming paradigms can be mapped. In this paper we will present the syntax and reduction rules for X and in order to demonstrate the expressive power of X, we will show how elaborate calculi can be embedded, like the λcalculus, Bloo and Rose’s calculus of explicit substitutions λx, Parigot’s λµ and Curien and Herbelin’s λµ ˜µ.
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 6 (1 self)
 Add to MetaCart
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.
A weak calculus with explicit operators for pattern matching and substitution
 In Tison [Tis02
, 2002
"... Abstract. In this paper we propose a Weak Lambda Calculus called λPw having explicit operators for Pattern Matching and Substitution. This formalism is able to specify functions defined by cases via pattern matching constructors as done by most modern functional programming languages such as OCAML. ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Abstract. In this paper we propose a Weak Lambda Calculus called λPw having explicit operators for Pattern Matching and Substitution. This formalism is able to specify functions defined by cases via pattern matching constructors as done by most modern functional programming languages such as OCAML. We show the main property enjoyed by λPw, namely subject reduction, confluence and strong normalization. 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
"... ..."
Machines, Interprètes
, 2002
"... Aucune machine réelle n’exécute directement la relation de βréduction du λcalcul, ou même d’un langage fonctionnel plus pratique comme Caml ou Haskell. Il est donc nécessaire de passer par un interprète ou un compilateur. Il existe de nombreuses techniques pour réaliser un interprète du λcalcul, ..."
Abstract
 Add to MetaCart
Aucune machine réelle n’exécute directement la relation de βréduction du λcalcul, ou même d’un langage fonctionnel plus pratique comme Caml ou Haskell. Il est donc nécessaire de passer par un interprète ou un compilateur. Il existe de nombreuses techniques pour réaliser un interprète du λcalcul, ou en général d’un langage fonctionnel. Nous commencerons par présenter les machines à réduction par nom, et en particulier la version due à JeanLouis Krivine et les machines à réduction de graphes, fondées sur la logique combinatoire, en section 1. Nous verrons que la logique combinatoire a quelques défauts théoriques, que nous tenterons de réparer à l’aide des calculs à substitutions explicites, en section 2. Ces techniques ont l’avantage d’avoir une belle théorie, et de permettre la réalisation correcte de machines à réduction pour le λcalcul complet. Ceci est notamment utile dans la réalisation d’environnements logiques d’ordre supérieur, comme Coq, où une composante de calcul est présente dans les formules ellesmêmes (cf. partie 2, arithmétique de Peano, logique et arithmétique d’ordres supérieurs). En revanche, ces calculs ont jusqu’ici été d’une utilité moindre dans la réalisation d’interprètes et de compilateurs pour des langages fonctionnels réalistes, où seule une stratégie incomplète — réduction faible par valeur en Caml par exemple — est souhaitée. On présentera des interprètes et des compilateurs pour un petit langage fonctionnel audessus du λcalcul en section 3. Les problèmes particuliers posés par la gestion
SUBSTITUTIONS
"... Abstract. 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 ..."
Abstract
 Add to MetaCart
Abstract. 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.
Operated by Universities Space Research Association
"... CÉSAR MUÑOZ∗ Abstract. We present a dependenttype system for a λcalculus with explicit substitutions. In this system, metavariables, as well as substitutions, are firstclass objects. We show that the system enjoys properties like type uniqueness, subject reduction, soundness, confluence and weak ..."
Abstract
 Add to MetaCart
CÉSAR MUÑOZ∗ Abstract. We present a dependenttype system for a λcalculus with explicit substitutions. In this system, metavariables, as well as substitutions, are firstclass objects. We show that the system enjoys properties like type uniqueness, subject reduction, soundness, confluence and weak normalization.
circuits, computations and Classical Logic
, 2005
"... X is an untyped language for describing circuits by composition of basic components. This language is well suited to describe structures which we call “circuits ” and which are made of parts that are connected by wires. Moreover X gives an expressive platform on which algebraic objects and many diff ..."
Abstract
 Add to MetaCart
X is an untyped language for describing circuits by composition of basic components. This language is well suited to describe structures which we call “circuits ” and which are made of parts that are connected by wires. Moreover X gives an expressive platform on which algebraic objects and many different (applicative) programming paradigms can be mapped. In this paper we will present the syntax and reduction rules for X and some its potential uses. To demonstrate the expressive power of X, we will show how, even in an untyped setting, elaborate calculi can be embedded, like the naturals, the λcalculus, Bloe and Rose’s calculus of explicit substitutions λx, Parigot’s λµ and Curien and Herbelin’s λµ˜µ. Keywords: Language design, mobility, circuits, classical logic, CurryHoward correspondance Résumé X est un langage non typ é conçu pour d écrire les circuits par composition de «briques » de base. Ce langage s’adapte parfaitement à la description des structures que nous appelons «circuits » et qui sont faites de composants connect és par des fils. De plus, X fournit une plateforme expressive sur laquelle des objets alg ébriques et de nombreux paradigmes de programmation (applicative) de toutes sortes peuvent être appliqu és. Dans ce rapport, nous pr ésenterons la syntaxe de X, ses règles de r éduction et certaines de ses utilisations potentielles. Pour mettre en lumière le pouvoir expressif de X, nous montrerons comment, même dans un cadre non typ é, on peut y plonger des calculs relativement sophistiqu és, comme les entiers naturels, le λcalcul, le calcul de substitutions explicites λx de Bloe et Rose, le calcul λµ de Parigot et le calcul λµ˜µ de Curien et Herbelin. Motsclés: Conception de langage, mobilit é, circuits, logique classique,
unknown title
, 2013
"... Lambda calculus is the basis of functional programming and higher order proof assistants. However, little is known about combinatorial properties of lambda terms, in particular, about their asymptotic distribution and random generation. This paper tries to answer questions like: How many terms of a ..."
Abstract
 Add to MetaCart
Lambda calculus is the basis of functional programming and higher order proof assistants. However, little is known about combinatorial properties of lambda terms, in particular, about their asymptotic distribution and random generation. This paper tries to answer questions like: How many terms of a given size are there? What is a “typical ” structure of a simply typable term? Despite their ostensible simplicity, these questions still remain unanswered, whereas solutions to such problems are essential for testing compilers and optimizing programs whose expected efficiency depends on the size of terms. Our approach toward the aforementioned problems may be later extended to any language with bound variables, i.e., with scopes and declarations. This paper presents two complementary approaches: one, theoretical, uses complex analysis and generating functions, the other, experimental, is based on a generator of lambda terms. Thanks to de Bruijn indices, we provide three families of formulas for the number of closed lambda terms of a given size and we give four relations between these numbers which have interesting combinatorial interpretations. As a byproduct of the counting formulas, we design an algorithm for generating λterms. Performed tests provide us with experimental data, like the average depth