| G. Huet. Residual theory in -calculus: A formal development. J. Functional Programming, 4:371--394, 1994. |
....stay as close as possible to the proofs given in [San95b] that are described in Section 3. 2. 2 The de Bruijn Notation for Names Processes For the task of our Coq implementation, we represent the basic notion of calculus syntax, that is names, with a de Bruijn notation (following the ideas of [Hue93]) In the de Bruijn representation (which is defined in [dB72] a description of a de Bruijn notation for monadic calculus can be found in [Amb91] a name is defined by a natural number indicating its binding depth inside the term where it occurs, i.e. the number of binding operators that have ....
....of the proof in a way that would be more tractable for the task of mechanisation. We present below the main issues that arise as we try to implement the proof, stressing the notions that turned out to be awkward to handle in our Coq implementation. To represent terms, we start from Huet s work [Hue93], that also provides a de Bruijn notation for variables; the definition of the encoding supposes that the set of calculus variables is a subset of calculus names. As we do not have a notion of subtyping in Coq, this cannot be directly formalised in our setting. Instead, the correspondence ....
G. Huet. Residual theory in -calculus: A formal development. Technical Report 2009, INRIA, Rocquencourt - France, Aout 1993.
....and suggesting how to fix them. Also, a formal development is easy to come back to a year later, as all the details you would not otherwise have written down are explicit, and don t have to be rediscovered. 1. 2 Related Work There are many formalizations of the Church Rosser theorem [Sha85, Hue94, Nip96, Pfe92] the only formalization of a standardization theorem we know of is [Coq96a] for lazy combinator expressions. Formalizations of type theory include [DB93, Bar96] both of these address limited aspects of very special type theories (essentially the Calculus of Constructions) ....
....For example, both authors have checked parts of type theory papers we were asked to referee. A novelty in our presentation is the use of named variables. Most of the formalizations of type theory or lambda calculus that we know of use de Bruijn indices ( nameless variables ) Sha85, Alt93, Hue94, Nip96, Bar96] or higher order abstract syntax [Pfe92] to avoid formalizing the renaming of variables to prevent unintended capture during substitution. While de Bruijn notation is concrete and suitable for formalization, there are reasons to formalize the theory with named variables. For one ....
[Article contains additional citation context not shown here]
G'erard Huet. Residual theory in -calculus: A formal development. Journal of Functional Programming, 4(3):371--394, July
....glitches and suggesting how to fix them. Also, a formal development is easy to come back to a year later, as all the details you would not otherwise have written down are explicit, and don t have to be rediscovered. 1.2. Related work There are many formalizations of the Church Rosser theorem [44, 20, 32, 33]; the only formalization of a standardization theorem we know of is for lazy combinator expressions [8] Formalizations of type theory include [11, 4] both of these address limited aspects of very special type theories (essentially the Calculus of Constructions) although [4] is very interesting ....
....feel needs checking. For example, both authors have checked parts of type theory papers we were asked to referee. A novelty in our presentation is the use of named variables. Most of the formalizations of type theory or lambda calculus that we know of use de Bruijn indices ( nameless variables ) [44, 1, 20, 32, 4] or higher order abstract syntax [33] to avoid formalizing the renaming of variables to prevent unintended capture during substitution. While de Bruijn notation is concrete and suitable for formalization, there are reasons to formalize the theory with named variables. For one thing, ....
[Article contains additional citation context not shown here]
Huet, G.: 1994, `Residual Theory in -Calculus: A Formal Development'. Journal of Functional Programming 4(3), 371--394.
....[oe] C 2 [ for some proper contexts C 1 [ and C 2 [ also oefx : Ng stands for the fi reduction sequence obtained by substituting N for every free occurrence of variable x in oe. W now introduce the concept of residuals of fi redexes. The rigorous definition of this notion can be found in [9]. Let R be a set of fi redexes in a term M 1 and M 1 R Gamma fi M 2 , where R = x:M) N ) This reduction step affects fi redexes R 0 in R in the following ways. We assume that the name conflicts between the bound variables in M and the free variables in N have been resolved. ffl R 0 is ....
....is not contained in the proof of CR in Section 11.1 [2] The proof given by Tait and Martin Lof is often chosen as a candidate for mechanical verification of CR. This merit is also inherited in our proof. We can first give a mechanical verification of the development separation lemma as done in [9], and then carry out the whole verification. This should yield a more perspicuous verification. 5. Standardisation Theorem Standardisation theorem was first proven in [5] stating that every fi reduction sequence can be standardised in the following sense. Some other proofs of standardisation ....
G'erard Huet (1994), Residual Theory in -Calculus: A Formal Development, Journal of Functional Programming vol. 4, pp. 371--394.
....way. In other words, we may use oe to stand for C[oe] An immediate consequence of this is that oe can be regarded as C 1 [oe] C 2 [ for some proper contexts C 1 and C 2 . We now introduce the concept of residuals of fi redexes. The rigorous definition of this notion can be found in [Hue94]. Let R be a set of fi redexes in a term t, r = x:u) v) in R, and t r Gamma fi t 0 . This fi reduction step affects fi redexes r 0 in R in the following way. We assume that all bound variables in u are distinct from the free variables in v. ffl r 0 is r. Then r 0 has no residual in ....
G'erard Huet (1994), Residual Theory in -Calculus: A Formal Development. Journal of Functional Programming Vol. 4, pp. 371--394.
....we may use oe to stand for C[oe] An immediate consequence of this is that oe can be regarded as C 1 [oe] C 2 [ for some proper contexts C 1 and C 2 . Before moving forward, let us introduce the concept of residuals of fi redexes. The rigorous definition of this notion can be found in [Hue94]. Let R be a set of fi redexes in a term t, r = x:u) v) in R, and t r Gamma fi t 0 . This fi reduction step affects fi redexes r 0 in R in the following way. We assume that all bound variables in u are distinct from the free variables in v. ffl r 0 is r. Then r 0 has no residual in ....
G'erard Huet (1994), Residual Theory in -Calculus: A Formal Development, Journal of Functional Programming Vol. 4, pp. 371--394.
....and recursive definitions and thus gives a good presentation of the inductive package of Isabelle. 1 Introduction In this paper we describe a formal development of the residual theory for the pure calculus leading to a proof of the Church Rosser theorem. The proof originates from G erard Huet [Hue94] using the Coq proof assistant [D 93] In this development we construct the same proof but with the Isabelle theorem prover [Pau94b] using the object logic of Zermelo Fraenkel set theory (from now on just called ZF) The project illustrates the use of Isabelle s inductive package [Pau94a] on ....
....remarks. 2 Proof Sketch of the Church Rosser Theorem In this section we give a brief proof sketch of the Church Rosser Theorem for fi reduction in the pure calculus, following the method due to Tait and MartinL of. The concrete proof method is of course in debt to the one used by G erard Huet [Hue94] At some points we will be rather informal but all notions used will be defined formally in Section 4. We expect some familiarity with the calculus, such as the notion of fi reduction and representing terms by de Bruijn indexes [dB72] although they will also be defined and exemplified in ....
G'erard Huet. Residual theory in -calculus: A formal development. Journal of Functional Programming, 4(3):371--394, 1994.
....and programming languages semantics. Their utility here suggests that they will find many further applications. Acknowledgements. I learned of the expressiveness of inductive definitions through participation in the ESPRIT project 6453 TYPES, and especially through the work of G erard Huet [7, 8]. John Harrison commented on this paper. ....
G. Huet. Residual theory in -calculus: A formal development. J. Func. Prog., 4(3):371--394, 1994.
....Other works have considered the formalization of parts of the theory of lambda calculus, including typed lambda calculi. For instance [Coq96a] presents a formalization in ALF of a proof of normalization of typed lambda calculus. Using a different theory, namely the calculus of constructions, Hue94] has formalized a substantial part of the theory of untyped lambda calculus and [Pol94] has done the same for pure type systems. Although closely related to each other, all the works cited present significant differences as to the choices made in the formalization. One such case is the treatment ....
G. Huet. Residual theory in -calculus : a formal development. Journal of Functional Programming, 4(3):371--394, 1994.
....of the parallel move from [u] to [u t v] yields ( u [ u ) u t v) u t v) Using u u t v and totality of we find after some calculation that it is equal to (u t v) Gamma u. 2 Orthogonality of a rewrite system is expressed by the so called prism theorem [Hue94]. The theorem roughly says that the residual of a parallel move after another one, does not depend on the way either of them is split (see Figure 14) w u u t v (w n u) n (v n u) w n (u t v) w u u n w w n u v n u v n w v u t v (u n w) t (v n w) u t v) n w Figure 14: Arrow and Prism ....
G'erard Huet. Residual theory in -calculus: a formal development. Journal of Functional Programming, 4(3):371--394, July 1994.
....38] the task of the user has been simplified to such an extent that formalising large parts of mathematics is now perceived as feasible and, more importantly, as reasonable in term of the efforts involved. Several medium scale projects have already been successfully conducted (see for example [5, 6, 28, 30, 32, 39]) and some large scale projects are now being launched ( 2, 3] see also [1] There are some problems inherent to the launching of such projects; roughly speaking, they can be classified in three categories: 1. operational. Such problems include the choice of a proof assistant or to the design of ....
G.Huet. Residual theory in -calculus: a formal development, in Journal of Functional Programming, July 1994.
....C. Paulson and Krzysztof Grabczewski AC.tex; 2 10 1996; 14:56; no v. p.2 Mechanizing Set Theory 1 1. Introduction A growing corpus of mathematics has been checked by machine. Researchers have constructed computer proofs of results in logic [26] number theory [25] group theory [28] calculus [10], etc. An especially wide variety of results have been mechanized using the Mizar Proof Checker, including the theorem Omega = discussed below [2] However, the problem of mechanizing mathematics is far from solved. The Boyer Moore Theorem Prover [3, 4] has yielded the most impressive results ....
Gerard Huet. Residual theory in -calculus: A formal development. Journal of Functional Programming, 4(3):371--394, 1994.
....theorem) for various lambda calculi. It is explained in detail, for example, in [Bar84, HS86, Rev88] The desire to clarify this proof has inspired work on concrete representation of binding [dB72, Coq91] Perhaps the best modern version is given in [Tak95] Formal proofs are reported in [Hue94, MP93, Pfe92, Sha88] 1 . In this note I outline the innovation given in [Tak95] and formalized by McKinna [MP93] and present a further improvement which I believe has not appeared in the literature before. 1.1 Preliminary Definitions Let Rel2 be the class of binary relations, and R; T 2 Rel2 ; we write aRb for ....
....contracted in the two given reductions, a AE b and a AE c, and close the diamond by contracting only the redexes that are necessary to bring b and c together. This analysis is not necessary for the Church Rosser theorem, as the definition of confluence says nothing about minimal reduction . Huet [Hue94] proves a more subtle theorem and uses it to prove confluence as a corollary, but Shankar and Pfenning do not state the full meaning of their proofs. 3.1 A Coarser Proof Takahashi [Tak95] gives a proof of dp(AE) that is simpler than the proofs above by not analysing the difference between the ....
G'erard Huet. Residual theory in -calculus: A formal development. Journal of Functional Programming, 4(3):371--394, July 1994.
.... variables [dB72] Although nameless variables have their partisans for use in metatheoretic study, even those partisans admit that the explanation of substitution of a term for a given variable is painful in such a presentation, although it can be, and has been, carried out elegantly [Alt93, Hue94] 3 . However, the direct use of nameless variables is not a real possibility in pragmatic applications because human users find it difficult to write even small expressions using nameless variables. It is necessary to translate from named syntax to nameless, and then back again to named syntax ....
G'erard Huet. Residual theory in -calculus: A formal development. Journal of Functional Programming, 4(3):371--394, July 1994.
No context found.
G. Huet. "Residual theory in -calculus: a formal development". J. of Functional Programming 4,3 (1994) 371--394.
No context found.
G. Huet. Residual theory in -calculus: a formal development. J. Functional Programming, 4,3:371--394, 1994.
No context found.
G. Huet. "Residual theory in -calculus: a formal development". J. of Functional Programming 4,3 (1994) 371--394.
....spectator says that he understands the trick, show him the counter example in the non favorable case. Of course now you have to leave him puzzled, and refuse to redo the trick. 10 For a more extensive use of inductive notions, see for instance my proof of the Church Rosser theorem in calculus[18]. We now turn to a completely different style of mathematical axiomatisation: abstract algebra. 3 Categories We now move to some more abstract mathematics, more specifically abstract algebra. This development is joint work with Amokrane Saibi. In this section we develop one possible ....
G. Huet. "Residual theory in -calculus: a formal development". J. of Functional Programming 4,3 (1994) 371--394.
No context found.
G'erard Huet. Residual theory in -calculus: a formal development. J. Functional Programming, 4,3:371--394, 1994.
No context found.
G. Huet. Residual theory in -calculus: A formal development. J. Functional Programming, 4:371--394, 1994.
No context found.
G'erard Huet (1994), Residual Theory in -Calculus: A Formal Development, Journal of Functional Programming vol. 4, pp. 371--394.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC