Computer Science at Kent

Similar documents
The Lambda-Calculus Reduction System

EXTENDED ABSTRACT. 2;4 fax: , 3;5 fax: Abstract

Justifying Algorithms for βη-conversion

Sequent Combinators: A Hilbert System for the Lambda Calculus

Lazy Strong Normalization

The Church-Rosser Property for -reduction in Typed -Calculi. Herman Geuvers. University of Nijmegen

The Dierential Lambda-Calculus

Computability via the Lambda Calculus with Patterns

On Equivalence and Canonical Forms in the LF Type Theory (Extended Abstract) Robert Harper and Frank Pfenning Department of Computer Science Carnegie

Candidates for Substitution

Introduction to λ-calculus

The Lambda Calculus. Stephen A. Edwards. Fall Columbia University

Origin in Mathematical Logic

On the Standardization Theorem for λβη-calculus

Strong Normalization with Singleton Types

Some Recent Logical Frameworks

Reducibility proofs in λ-calculi with intersection types

On Upper Bounds on the Church-Rosser Theorem

Origin in Mathematical Logic

Alonzo Church ( ) Lambda Calculus. λ-calculus : syntax. Grammar for terms : Inductive denition for λ-terms

Mathematical Logic IV

The Calculus of Inductive Constructions

COMP6463: λ-calculus

The Independence of Peano's Fourth Axiom from. Martin-Lof's Type Theory without Universes. Jan M. Smith. Department of Computer Science

Lambda Calculus. Andrés Sicard-Ramírez. Semester Universidad EAFIT

HOAS by example What is a Formal System? A Simply Typed Framework What Does it Mean? Canonical LF References HOAS. Randy Pollack

Abstract In usual type theory, if a function f is of type! 0 and an argument a is of type, then the type of fa is immediately given to be 0 and no men

Investigation of Prawitz s completeness conjecture in phase semantic framework

Functional Database Query Languages as. Typed Lambda Calculi of Fixed Order. Gerd G. Hillebrand and Paris C. Kanellakis

λ Slide 1 Content Exercises from last time λ-calculus COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification

Parallel Reduction in Type Free Lambda-mu- Calculus

Parallel Reduction in Type Free λµ-calculus

1. each λ-variable is a λρ-term, called atom or atomic term, 2. if M and N are λρ-term then (MN) is a λρ-term called application,

Implementing -Reduction by. Hypergraph Rewriting. Sabine Kuske 1. Fachbereich Mathematik und Informatik. Universitat Bremen. D{28334 Bremen, Germany

Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky. Radboud University Nijmegen. March 5, 2012

1 Examples of Weak Induction

SHARING IN THE WEAK LAMBDA-CALCULUS REVISITED

Lecture Notes on Combinatory Modal Logic

Lifting to non-integral idempotents

Simply Typed λ-calculus

Abstract A new proof is given of the analogue of Böhm s Theorem in the typed lambda calculus with functional types.

Abstract Should a Function Continue? by Jon Gary Riecke Submitted to the Department of Electrical Engineering and Computer Science on January 25, 1989

A Logical Framework with Dependently Typed Records

Parametric parameter passing -calculus

Traditional and Non Traditional lambda calculi

Normalisation by evaluation

Type Systems as a Foundation for Reliable Computing

Conservativity of Embeddings in the λπ Calculus Modulo Rewriting

Standardization of a call-by-value calculus

Normalization by Evaluation

Annals of Pure and Applied Logic 130 (2004) On the λy calculus. Rick Statman

Lambda-Calculus (I) 2nd Asian-Pacific Summer School on Formal Methods Tsinghua University, August 23, 2010

Lecture Notes on Subject Reduction and Normal Forms

Boolean Algebra and Propositional Logic

Boolean Algebra and Propositional Logic

A Recursion Combinator for Nominal Datatypes Implemented in Isabelle/HOL

On the Correctness and Efficiency of the Krivine Machine

arxiv: v1 [cs.lo] 29 May 2014

Realisability methods of proof and semantics with application to expansion

l-calculus and Decidability

immediately, without knowledge of the jobs that arrive later The jobs cannot be preempted, ie, once a job is scheduled (assigned to a machine), it can

Equality is typable in Semi-Full Pure Type Systems

Introduction to lambda calculus Part 2

Calculus and linear algebra for biomedical engineering Week 3: Matrices, linear systems of equations, and the Gauss algorithm

Optimal Consecutive-$ $i$ $k$ $/i$ $-out-of-$ $i$ $(2k+1)$ $/i$ $: $ $i$ $G$ $/i$ $ Cycle. Technical Report

A syntactical proof of the operational equivalence of two λ-terms

A Terminating and Confluent Linear Lambda Calculus

A REWRITING VIEW OF SIMPLE TYPING

Iliano Cervesato and Frank Pfenning 1. April 10, 1997 CMU-CS Carnegie Mellon University. Pittsburgh, PA Abstract

Graph lambda theories

Programming Language Concepts: Lecture 18

Typing λ-terms. Types. Typed λ-terms. Base Types. The Typing Relation. Advanced Formal Methods. Lecture 3: Simply Typed Lambda calculus

Rewriting, Explicit Substitutions and Normalisation

summer school Logic and Computation Goettingen, July 24-30, 2016

Advanced Lambda Calculus Lecture 5

Correspondence between Normalization of CND. and Cut-Elimination of LKT. Ichiro Ogata Umezono Tsukuba JAPAN

ADDENDUM B: CONSTRUCTION OF R AND THE COMPLETION OF A METRIC SPACE

Böhm trees, Krivine machine and the Taylor expansion of ordinary lambda-terms

Intersection types and domain operators

Doc. Math. J. DMV 321 Chern Classes of Fibered Products of Surfaces Mina Teicher Received: March 16, 1998 Revised: September 18, 1998 Communicated by

How to Think of Intersection Types as Cartesian Products

Diagrams for Meaning Preservation

HORSes: format, termination and confluence

Innitary lambda calculus and discrimination of Berarducci trees

AN ALTERNATIVE NATURAL DEDUCTION FOR THE INTUITIONISTIC PROPOSITIONAL LOGIC

Recursive equations in higher-order process calculi

this will be the case in the examples below. To obtain a complete set of conversion rules we set up the goal of proving that any term M converts with

Elementary 2-Group Character Codes. Abstract. In this correspondence we describe a class of codes over GF (q),

THE A-CALCULUS IS c-incomplete

On Equivalence and Canonical Forms in the LF Type Theory

A Machine Checked Model of Idempotent MGU Axioms For a List of Equational Constraints

FIXED POINTS AND EXTENSIONALITY IN TYPED FUNCTIONAL PROGRAMMING LANGUAGES

Roots of Unity, Cyclotomic Polynomials and Applications

About range property for H

Semantics with Intersection Types

Minimal logic for computable functionals

A Proof Theory for Generic Judgments

A Linear Spine Calculus

Math 324 Summer 2012 Elementary Number Theory Notes on Mathematical Induction

Denotational semantics: proofs

Transcription:

Computer Science at Kent New eta-reduction and Church-Rosser Yong Luo Technical Report No. 7-05 October 2005 Copyright c 2005 University of Kent Published by the Computing Laboratory, University of Kent, Canterbury, Kent, CT2 7NF, UK

New eta-reduction and Church-Rosser Yong Luo Computing Laboratory, University of Kent, Canterbury, UK Email: Y.Luo@kent.ac.uk Abstract This paper introduces a new eta-reduction rule for λ-calculus with dependent types and prove the property of Church-Rosser. 1 Introduction For the simple λ-calculus, the property of Church-Rosser w.r.t. β and η- reduction holds, no matter a term is well-typed or not, and the methods of proving this property vary [Bar84,Tak95,Nip01]. Some systems such as Edinburgh Logical Framework [HHP87,HHP92] have β-reduction only, and the proof method is known as that of Tait and Martin-Löf. However, for some dependently typed systems such as Martin-Löf's Logical Framework [ML84,NPS90,Luo94], the story becomes very dierent because illtyped terms may not have this property w.r.t. β and η-reduction. The proofs for such systems are very dicult because one has to prove that well-typed terms have the property of Church-Rosser [Gog94]. In this paper, a new eta-reduction is introduced in order to give an easy proof of the property of Church-Rosser, and the property does not rely on whether terms are well-typed or not. The new eta-reduction is sucient for our understanding of eta-reduction in dependent type systems, in the sense that a property that holds w.r.t. the old one also holds w.r.t. the new one. In Section 2, we give counter examples to demonstrate the problem with the property of Church-Rosser w.r.t. the β-reduction and the old η-reduction. In Section 3, new eta-reduction η and its one-step reduction are introduced, and the relations between the new and the old (normal) eta-reduction are discussed. In Section 4, we prove the property of Church- Rosser w.r.t. β and η -reduction, which holds without the condition of well-typedness. The conclusion is given in the last section. 2 Old reduction rules In this section, we present a basic denition of terms and knids, and the old β and eta-reduction rules. Counter examples are also given to demonstrate the problem with the property of Church-Rosser.

Denition 1. (Terms and Kinds) Term 1. a variable is a term, 2. λx : K.M is a term if x is a variable, K is a kind and M is a term, 3. MN is a term if M and N are terms. Kind 1. T ype is a kind, 2. El(M) is a kind if M is a term, 3. (x : K 1 )K 2 is a kind if K 1 and K 2 are kinds. Remark 1. Terms and kinds are mutually and recursively dened. Notation: Following the tradition, Λ denotes the set of all terms and Π the set of all kinds. We shall use M, N, P, Q, R for arbitrary terms, and K for an arbitrary kind, and x, y, z for arbitrary variables. We also write A for El(A) when no confusion may occur. The old (normal) reduction rules: (λx : K.M)N β [N/x]M λx : K.Mx η M x F V (M) Example 1. (Counter examples) The property of Church-Rosser may not hold for ill-typed terms. The following examples will show the problem. λx : A.(λy : B.y)x β λx : A.x λx : A.(λy : B.y)x η λy : B.y (λz : (y : B)B.λx : A.zx)(λy : B.y) β λx : A.(λy : B.y)x β λx : A.x (λz : (y : B)B.λx : A.zx)(λy : B.y) η (λz : (y : B)B.z)(λy : B.y) β λy : B.y where A and B are distinct variables. There is no common reduct for λx : A.x and λy : B.y. 3

3 New eta-reduction rule In this section, we introduce a new eta-reduction rule and its one-step reduction, and discuss the relations between the old and new. Denition 2. (Base terms) a variable is a base term, MN is a base term if M is a base term. Notation: We shall use R for R 1, R 2,..., R n for some n 0, and MR for (...((MR 1 )R 2 )...R n ), and xr for an arbitrary base term. Denition 3. (Head of terms) head(x) = x, head(λx : K.M) = λx : K.M, head(mn) = head(m). Lemma 1. If a term is not a base term, then the head of the term is of the form λx : K.M. New redex for eta-reduction There are two dierent forms of redexes: (λx : K.M)N and λx : K.(yN)x when x F V (yn). The reduction rules for these redexes are the following. (λx : K.M)N β [N/x]M λx : K.(yN)x η yn x F V (yn) The one-step β and η -reduction are dened in Figure 1. Remark 2. We have the following remarks. The one-step β-reduction is the same as usual, but the redex for the new eta-reduction rule (η ) has a more restricted form (i.e. yn is a base term). For the term λx : A.(λy : B.y)x in Example 1, the new eta-reduction rule (η ) cannot be applied because λy : B.y is not a base term. It is not the case that one has to do all the β-reductions rst, then do η -reductions when reducing a term. For example, we have x(λy : B.zy)((λx : A.x)a) η xz((λx : A.x)a) β xza 4

One-step β-reduction: (λx : K.M)N β [N/x]M M β M MN β M N N β N MN β MN M β M K β K λx : K.M β λx : K.M λx : K.M β λx : K.M M β M El(M) β El(M ) K 1 β K 1 (x : K 1)K 2 β (x : K 1 )K2 K 2 β K 2 (x : K 1)K 2 β (x : K 1)K 2 One-step η -reduction: x F V (yn) λx : K.(yN)x η yn M i η M i n 1 xm 1...M i...m n η xm 1...M i...mn M η M K η K λx : K.M η λx : K.M λx : K.M η λx : K.M M η M El(M) η El(M ) K 1 η K 1 (x : K 1)K 2 η (x : K 1 )K2 K 2 η K 2 (x : K 1)K 2 η (x : K 1)K 2 Figure 1. One-step reduction 5

Notations: Let R be one-step R-reduction. We denote = R as the reexive closure of R, and R as the the reexive, transitive closure of R, and = R as the R-convertibility. Lemma 2. If x F V (M) and M βη N, then x F V (N). In some cases, although there is a η -redex inside a term, this term may not have one-step η -reduction. For instance, (λx : A.yx)z only has β- reduction although λx : A.yx is a η -redex. However, we have the following lemma. Lemma 3. If there is a η -redex inside M, then M has a one-step reduction ( i.e. either β or η -reduction). Proof. By induction on M. If M itself is a η -redex, then the statement is true. If M xn 1...N n and the redex is inside N i, then by induction hypothesis, N i has either β or η -reduction. By the one-step reduction rules in Figure 1, M has a one-step reduction. If M λx : K.N and the redex is inside K or N, then by induction hypothesis, K or N has either β or η -reduction. By the one-step reduction rules, M has a one-step reduction. If M (λx : K.P )N 1...N n (n 1), then M has at least a one-step β-reduction. Other cases for kinds are trivial. Relations between the old and new Theorem 1. A normal form w.r.t. βη is also a normal form w.r.t. βη, and vice versa. Proof. We proceed the proof by contradiction. An interesting case is to prove that, a η-redex contains a β or η -redex. Then by Lemma 3, the whole term has a one-step reduction. Suppose λx : K.Mx is a η-redex, i.e. x F V (M). If M is a base term, then λx : K.Mx is a η -redex. If M is not a base term, then by Lemma 1, the head of M must be of the form λx : K.N. So, Mx must contain a β-redex. Lemma 4. A normal form (w.r.t. βη or βη ) is either of the form λy : K.N or of the form yn (a base term). 6

Conjecture 1. If x F V (M) and λx : K.Mx is well-typed, then λx : K.Mx = βη M. Proof. We only give an informal proof here since the well-typedness has not been dened yet. We are going to prove that the property of Church- Rosser w.r.t. βη -reduction holds for any term, no matter it is well-typed or not. So well-typedness is out of scope of the paper, but the typing inference rules can be found in Appendix. We assume that well-typed terms have good properties such as strong normalisation. Since λx : K.Mx is well-typed, it is strongly normalising, and so is M. We rst reduce M to a normal form M. By Lemma 4, M is either of the form λy : K.N or of the form yn. If M yn, then we have λx : K.Mx = βη λx : K.M x = η yn = βη M λx : K.(yN)x Note that x F V (yn) by Lemma 2. If M λy : K.N, because λx : K.(λy : K.N)x is well-typed, we have K = βη K. Then we have λx : K.Mx = βη λx : K.M x λx : K.(λy : K.N)x = βη λx : K.(λy : K.N)x = β λx : K.[x/y]N = α λy : K.N = βη M 4 Proof of Church-Rosser In this section, we give some important denitions such as Parallel Reduction and Complete Development for β-reduction, and prove the property of Church-Rosser. Denition 4. (Parallel reduction for β) The parallel reduction, denoted by β, is dened inductively as follows. 7

1. x β x, 2. λx : K.M β λx : K.M if K β K and M β M, 3. MN β M N if M β M and N β N, 4. (λx : K.M)N β [N /x]m if M β M and N β N, 5. T ype β T ype, 6. El(M) β El(M ) if M β M, 7. (x : K 1 )K 2 β (x : K 1 )K 2 if K 1 β K 1 and K 2 β K 2. Based on the inductive denition of β, we have the following lemma. Lemma 5. We have the following properties, where M and M represent arbitrary terms or kinds, and N and N are arbitrary terms. 1. M β M. 2. If M β M then M β M. 3. If M β M then M β M. 4. If M β M and N β N then [N/x]M β [N /x]m. Proof. For (1), (3) and (4), by induction on M; for (2), by induction on the context of the redex. We only prove the most dicult case (4) here. 1. If M x, then x β x M and hence [N/x]M N β N [N /x]m 2. If M y x, then y β y M and hence [N/x]M y β y [N /x]m 3. If M λy : K.P, then λy : K.P β λy : K.P M and K β K and P β P. By induction hypothesis, we have [N/x]K β [N /x]k and [N/x]P β [N /x]p. Hence [N/x]M λy : [N/x]K.[N/x]P β [N /x]m 4. If M P Q, then there are two sub-cases. (a) P Q β P Q M and P β P and Q β Q. By induction hypothesis, we have [N/x]P β [N /x]p and [N/x]Q β [N /x]q. Hence [N/x]M β [N /x]m. (b) P Q (λy : K.R)Q β [Q /y]r M and R β R and Q β Q. By induction hypothesis, we have [N/x]R β [N /x]r and [N/x]Q β [N /x]q. Hence [N/x]M β [([N /x]q )/y]([n /x]r ) [N /x]m 8

5. If M T ype, then T ype β T ype M and hence [N/x]M β [N /x]m. 6. If M El(P ), then El(P ) β El(P ) M and P β P. By induction hypothesis, we have [N/x]P β [N /x]p. Hence [N/x]M β [N /x]m. 7. If M (y : K 1 )K 2, then (y : K 1 )K 2 β (y : K 1 )K 2 M and K 1 β K 1 and K 2 β K 2. By induction hypothesis, we have [N/x]K 1 β [N /x]k 1 and [N/x]K 2 β [N /x]k 2. Hence [N/x]M β [N /x]m. From Lemma 5 (1), (2) and (3), we know that β is the reexive, transitive closure of β. Therefore, to prove the property of Church-Rosser w.r.t. β-reduction, it suces to show the diamond property of β, i.e. if M β N 1 and M β N 2 then there is a N 3 such that N 1 β N 3 and N 2 β N 3. But we will prove a stronger statement in Lemma 6. Denition 5. (Complete development for β) We dene a map cd :: Λ Π Λ Π. 1. cd(x) = x xcd(n) 2. cd(mn) = cd(p Q)cd(N) [cd(n)/x]cd(r) if M x if M P Q if M λx : K.R 3. cd(λx : K.M) = λx : cd(k).cd(m) 4. cd(t ype) = T ype 5. cd(el(m)) = El(cd(M)) 6. cd((x : K 1 )K 2 ) = (x : cd(k 1 ))cd(k 2 ) Having dened parallel reduction β and complete development cd, we prove the following lemma. Lemma 6. If M β N then N β cd(m). Proof. By induction on M. 1. If M x, then x β x N = cd(m). 2. If M λx : K.P, then λx : K.P β λx : K.P N and K β K and P β P. By induction hypothesis, we have K β cd(k) and P β cd(p ). Hence N β λx : cd(k).cd(p ) = cd(m) 9

3. If M xp, then xp β xq N and P β Q. By induction hypothesis, we have Q β cd(p ). Hence N β xcd(p ) = cd(m) 4. If M (P Q)R, then (P Q)R β M R N and P Q β M and R β R. By induction hypothesis, we have M β cd(p Q) and R β cd(r). Hence N β cd(p Q)cd(R) = cd(m) 5. If M (λx : K.P )Q, then there are two sub-cases. (a) (λx : K.P )Q β (λx : K.P )Q N and K β K, P β P and Q β Q. By induction hypothesis, we have P β cd(p ) and Q β cd(q). Hence N (λx : K.P )Q [cd(q)/x]cd(p ) = cd(m) (b) (λx : K.P )Q β [Q /x]p N and P β P and Q β Q. By induction hypothesis, we have P β cd(p ) and Q β cd(q). By Lemma 5 (4), we have [Q /x]p β [cd(q)/x]cd(p ). Hence N β cd(m). 6. If M T ype, then T ype β T ype N = cd(m). 7. If M El(P ), then El(P ) β El(P ) N and P β P. By induction hypothesis, we have P β cd(p ). Hence N β El(cd(P )) = cd(m) 8. If M (x : K 1 )K 2, then (x : K 1 )K 2 β (x : K 1 )K 2 N and K 1 β K 1 and K 2 β K 2. By induction hypothesis, we have K 1 β cd(k 1 ) and K 2 β cd(k 2 ). Hence N β (x : cd(k 1 ))cd(k 2 ) = cd(m) Theorem 2. (Church-Rosser for β) For an arbitrary term or kind M, if M β N 1 and M β N 2 then there is a N 3 such that N 1 β N 3 and N 2 β N 3. Proof. By Lemma 6 and the fact that β is the transitive closure of β. Lemma 7. For an arbitrary term or kind M, if M η N 1 and M η N 2 then there is a N 3 such that N 1 = η N 3 and N 2 = η N 3. 10

Proof. By induction on M and analysing dierent cases of one-step η - reduction. One interesting case is the following. M λx : K.(yQ)x η yq N 1 and M η λx : K.(yQ)x N 2. Then, let N 3 N 1 and we have N 1 = η N 3 and N 2 = η N 3. Corollary 1. For an arbitrary term or kind M, if M = η N 1 and M = η N 2 then there is a N 3 such that N 1 = η N 3 and N 2 = η N 3. Theorem 3. (Church-Rosser for η ) For an arbitrary term or kind M, if M η N 1 and M η N 2 then there is a N 3 such that N 1 η N 3 and N 2 η N 3. Proof. By Corollary 1 and the fact that η is the transitive closure of = η. Lemma 8. For an arbitrary term or kind M, if M β N 1 and M η N 2 then there is a N 3 such that N 1 η N 3 and N 2 = β N 3. Proof. By induction on M and analysing dierent cases of one-step η and β-reduction. One interesting case is the following. M λx : K.(yQ)x η yq N 2 and M β λx : K.(yQ)x N 1. Then, let N 3 N 2 and we have N 1 η N 3 and N 2 = β N 3. Theorem 4. (Commutation for βη ) For an arbitrary term or kind M, if M β N 1 and M η N 2 then there is a N 3 such that N 1 η N 3 and N 2 β N 3. Proof. By Lemma 8. Theorem 5. (Church-Rosser for βη ) For an arbitrary term or kind M, if M βη N 1 and M βη N 2 then there is a N 3 such that N 1 βη N 3 and N 2 βη N 3. Proof. By Theorem 2, 3 and 4. 5 Conclusion For the λ-calculus dened in Denition 1, the property of Church-Rosser w.r.t. β and η-reduction is not an easy matter, unlike the systems with β-reduction only or the simple λ-calculus with β and η-reduction. In this paper, we introduce a new eta-reduction η and its one-step reduction. The property of Church-Rosser holds for β and η -reduction, without the condition of well-typedness. 11

Acknowledgements Thanks to Zhaohui Luo, Sergei Soloviev and James McKinna for discussions on the issue of Church-Rosser, and for reading the earlier version of the paper, and for their helpful comments and suggestions. References [Bar84] H.P. Barendregt. The Lambda Calculus: its Syntax and Semantics. North- Holland, revised edition, 1984. [Gog94] H. Goguen. A Typed Operational Semantics for Type Theory. PhD thesis, University of Edinburgh, 1994. [HHP87] R. Harper, F. Honsell, and G. Plotkin. A framework for dening logics. Proc. 2nd Ann. Symp. on Logic in Computer Science. IEEE, 1987. [HHP92] R. Harper, F. Honsell, and G. Plotkin. A framework for dening logics. Journal of ACM, 40(1):143184, 1992. [Luo94] Z. Luo. Computation and Reasoning: A Type Theory for Computer Science. Oxford University Press, 1994. [ML84] P. Martin-Löf. Intuitionistic Type Theory. Bibliopolis, 1984. [Nip01] Tobias Nipkow. More Church-Rosser proofs (in Isabelle/HOL). Journal of Automated Reasoning, 26:5166, 2001. [NPS90] B. Nordström, K. Petersson, and J. Smith. Programming in Martin-Löf's Type Theory: An Introduction. Oxford University Press, 1990. [Tak95] Masako Takahashi. Parallel redeuctions in λ-calculus. Journal of Information and Computation, 118:120127, 1995. Appendix Inference rules for a dependently typed logical framework <> valid Γ valid Γ T ype kind Γ K kind x / F V (Γ ) Γ, x : K valid Γ A : T ype Γ El(A) kind Γ K kind Γ, x : K K kind Γ (x : K)K kind Γ, x : K, Γ valid Γ, x : K, Γ x : K Γ, x : K k : K Γ λx : K.k : (x : K)K Γ k : K Γ K kind Γ k : K (K = βη K ) Γ f : (x : K)K Γ k : K Γ f(k) : [k/x]k 12