# Introduction to Lambda Calculus

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Introduction to Lambda Calculus Henk Barendregt Erik Barendsen Revised edition December 1998, March 2000

2

3 Contents 1 Introduction 5 2 Conversion 9 3 The Power of Lambda 17 4 Reduction 23 5 Type Assignment 33 6 Extensions 41 7 Reduction Systems 47 Bibliography 51 3

4

5 Chapter 1 Introduction Some history Leibniz had as ideal the following. (1) Create a universal language in which all possible problems can be stated. (2) Find a decision method to solve all the problems stated in the universal language. If one restricts oneself to mathematical problems, point (1) of Leibniz ideal is fulfilled by taking some form of set theory formulated in the language of first order predicate logic. This was the situation after Frege and Russell (or Zermelo). Point (2) of Leibniz ideal became an important philosophical question. Can one solve all problems formulated in the universal language? It seems not, but it is not clear how to prove that. This question became known as the Entscheidungsproblem. In 1936 the Entscheidungsproblem was solved in the negative independently by Alonzo Church and Alan Turing. In order to do so, they needed a formalisation of the intuitive notion of decidable, or what is equivalent computable. Church and Turing did this in two different ways by introducing two models of computation. (1) Church (1936) invented a formal system called the lambda calculus and defined the notion of computable function via this system. (2) Turing (1936/7) invented a class of machines (later to be called Turing machines) and defined the notion of computable function via these machines. Also in 1936 Turing proved that both models are equally strong in the sense that they define the same class of computable functions (see Turing (1937)). Based on the concept of a Turing machine are the present day Von Neumann computers. Conceptually these are Turing machines with random access registers. Imperative programming languages such as Fortran, Pascal etcetera as well as all the assembler languages are based on the way a Turing machine is instructed: by a sequence of statements. Functional programming languages, like Miranda, ML etcetera, are based on the lambda calculus. An early (although somewhat hybrid) example of such a language is Lisp. Reduction machines are specifically designed for the execution of these functional languages. 5

6 6 Introduction to Lambda Calculus Reduction and functional programming A functional program consists of an expression E (representing both the algorithm and the input). This expression E is subject to some rewrite rules. Reduction consists of replacing a part P of E by another expression P according to the given rewrite rules. In schematic notation E[P ] E[P ], provided that P P is according to the rules. This process of reduction will be repeated until the resulting expression has no more parts that can be rewritten. This so called normal form E of the expression E consists of the output of the given functional program. An example: (7 + 4) ( ) 11 ( ) 11 (8 + 15) In this example the reduction rules consist of the tables of addition and of multiplication on the numerals. Also symbolic computations can be done by reduction. For example first of (sort (append ( dog, rabbit ) (sort (( mouse, cat ))))) first of (sort (append ( dog, rabbit ) ( cat, mouse ))) first of (sort ( dog, rabbit, cat, mouse )) first of ( cat, dog, mouse, rabbit ) cat. The necessary rewrite rules for append and sort can be programmed easily in a few lines. Functions like append given by some rewrite rules are called combinators. Reduction systems usually satisfy the Church-Rosser property, which states that the normal form obtained is independent of the order of evaluation of subterms. Indeed, the first example may be reduced as follows: (7 + 4) ( ) (7 + 4) (8 + 15) 11 (8 + 15) , or even by evaluating several expressions at the same time: (7 + 4) ( ) 11 (8 + 15)

7 Introduction 7 Application and abstraction The first basic operation of the λ-calculus is application. The expression or F A F A denotes the data F considered as algorithm applied to the data A considered as input. This can be viewed in two ways: either as the process of computation F A or as the output of this process. The first view is captured by the notion of conversion and even better of reduction; the second by the notion of models (semantics). The theory is type-free: it is allowed to consider expressions like F F, that is F applied to itself. This will be useful to simulate recursion. The other basic operation is abstraction. If M M[x] is an expression containing ( depending on ) x, then λx.m[x] denotes the function x M[x]. Application and abstraction work together in the following intuitive formula. (λx.2 x + 1)3 = (= 7). That is, (λx.2 x + 1)3 denotes the function x 2 x + 1 applied to the argument 3 giving which is 7. In general we have (λx.m[x])n = M[N]. This last equation is preferably written as (λx.m)n = M[x := N], where [x := N] denotes substitution of N for x. It is remarkable that although (β) is the only essential axiom of the λ-calculus, the resulting theory is rather involved. Free and bound variables Abstraction is said to bind the free variable x in M. E.g. we say that λx.yx has x as bound and y as free variable. Substitution [x := N] is only performed in the free occurrences of x: yx(λx.x)[x := N] yn(λx.x). In calculus there is a similar variable binding. In b a f(x, y)dx the variable x is bound and y is free. It does not make sense to substitute 7 for x: b a f(7, y)d7; but substitution for y makes sense: b a f(x, 7)dx. For reasons of hygiene it will always be assumed that the bound variables that occur in a certain expression are different from the free ones. This can be fulfilled by renaming bound variables. E.g. λx.x becomes λy.y. Indeed, these expressions act the same way: (λx.x)a = a = (λy.y)a and in fact they denote the same intended algorithm. Therefore expressions that differ only in the names of bound variables are identified. (β)

8 8 Introduction to Lambda Calculus Functions of more arguments Functions of several arguments can be obtained by iteration of application. The idea is due to Schönfinkel (1924) but is often called currying, after H.B. Curry who introduced it independently. Intuitively, if f(x, y) depends on two arguments, one can define F x = λy.f(x, y), F = λx.f x. Then (F x)y = F x y = f(x, y). ( ) This last equation shows that it is convenient to use association to the left for iterated application: The equation ( ) then becomes F M 1 M n denotes ( ((F M 1 )M 2 ) M n ). F xy = f(x, y). Dually, iterated abstraction uses association to the right: λx 1 x n.f(x 1,..., x n ) denotes λx 1.(λx 2.( (λx n.f(x 1,..., x n )) )). Then we have for F defined above F = λxy.f(x, y) and ( ) becomes (λxy.f(x, y))xy = f(x, y). For n arguments we have (λx 1 x n.f(x 1,, x n ))x 1 x n = f(x 1,..., x n ) by using n times (β). This last equation becomes in convenient vector notation (λ x.f[ x]) x = f[ x]; more generally one has (λ x.f[ x]) N = f[ N].

9 Chapter 2 Conversion In this chapter, the λ-calculus will be introduced formally Definition. The set of λ-terms (notation Λ) is built up from an infinite set of variables V = {v, v, v,...} using application and (function) abstraction. In BN-form this is variable ::= v variable x V x Λ, M, N Λ (MN) Λ, M Λ, x V (λxm) Λ. λ-term ::= variable ( λ-term λ-term ) (λ variable λ-term ) 2.2. Example. The following are λ-terms. v ; (v v); (λv(v v)); ((λv(v v))v ); (((λv(λv (v v)))v )v ) Convention. (i) x, y, z,... denote arbitrary variables; M, N, L,... denote arbitrary λ-terms. Outermost parentheses are not written. (ii) M N denotes that M and N are the same term or can be obtained from each other by renaming bound variables. E.g. (iii) We use the abbreviations (λxy)z (λxy)z; (λxx)z (λyy)z; (λxx)z z; (λxx)z (λxy)z. F M 1 M n ( ((F M 1 )M 2 ) M n ) 9

10 10 Introduction to Lambda Calculus and λx 1 x n.m λx 1 (λx 2 ( (λx n (M)) )). The terms in Example 2.2 now may be written as follows. y; yx; λx.yx; (λx.yx)z; (λxy.yx)zw. Note that λx.yx is (λx(yx)) and not ((λx.y)x) Definition. (i) The set of free variables of M, notation FV(M), is defined inductively as follows. FV(x) = {x}; FV(MN) = FV(M) FV(N); FV(λx.M) = FV(M) {x}. A variable in M is bound if it is not free. Note that a variable is bound if it occurs under the scope of a λ. (ii) M is a closed λ-term (or combinator) if FV(M) =. The set of closed λ-terms is denoted by Λ o. (iii) The result of substituting N for the free occurences of x in M, notation M[x := N], is defined as follows. x[x := N] N; y[x := N] y, if x y; (M 1 M 2 )[x := N] (M 1 [x := N])(M 2 [x := N]); (λy.m 1 )[x := N] λy.(m 1 [x := N]) Example. Consider the λ-term λxy.xyz. Then x and y are bound variables and z is a free variable. The term λxy.xxy is closed Variable convention. If M 1,..., M n occur in a certain mathematical context (e.g. definition, proof), then in these terms all bound variables are chosen to be different from the free variables. Note that in the fourth clause of Definition 2.4 (iii) it is not needed to say provided that y x and y / FV(N). By the variable convention this is the case. Now we can introduce the λ-calculus as formal theory.

11 Conversion Definition. (i) The principal axiom scheme of the λ-calculus is (λx.m)n = M[x := N] (β) for all M, N Λ. (ii) There are also the logical axioms and rules. Equality: Compatibility rules: M = M; M = N N = M; M = N, N = L M = L. M = M MZ = M Z; M = M ZM = ZM ; M = M λx.m = λx.m. (ξ) (iii) If M = N is provable in the λ-calculus, then we sometimes write λ M = N. As a consequence of the compatibility rules, one can replace (sub)terms by equal terms in any term context: M = N M = N. For example, (λy.yy)x = xx, so λ λx.x((λy.yy)x)x = λx.x(xx)x Remark. We have identified terms that differ only in the names of bound variables. An alternative is to add to the λ-calculus the following axiom scheme λx.m = λy.m[x := y], provided that y does not occur in M. (α) We prefer our version of the theory in which the identifications are made on syntactic level. These identifications are done in our mind and not on paper. For implementations of the λ-calculus the machine has to deal with this so called α-conversion. A good way of doing this is provided by the name-free notation of de Bruijn, see Barendregt (1984), Appendix C Lemma. λ (λx 1 x n.m)x 1 X n = M[x 1 := X 1 ] [x n := X n ]. Proof. By the axiom (β) we have (λx 1.M)X 1 = M[x 1 := X 1 ]. By induction on n the result follows.

12 12 Introduction to Lambda Calculus Example (Standard combinators). Define the combinators I λx.x; K λxy.x; K λxy.y; S λxyz.xz(yz). Then, by Lemma 2.9, we have the following equations. IM = M; KMN = M; K MN = N; Now we can solve simple equations. SMNL = ML(NL) Example. G X GX = XXX (there exists G Λ such that for all X Λ one has λ GX = XX). Indeed, take G λx.xxx and we are done. Recursive equations require a special technique. The following result provides one way to represent recursion in the λ-calculus Fixedpoint Theorem. (i) F X F X = X. (This means: for all F Λ there is an X Λ such that λ F X = X.) (ii) There is a fixed point combinator Y λf.(λx.f(xx))(λx.f(xx)) such that F F (YF ) = YF. Proof. (i) Define W λx.f (xx) and X W W. Then (ii) By the proof of (i). X W W (λx.f (xx))w = F (W W ) F X Example. (i) G X GX = SGX. Indeed, X GX = SGX Gx = SGx G = λx.sgx G = (λgx.sgx)g G Y(λgx.Sgx). Note that one can also take G YS. (ii) G X GX = GG: take G Y(λgx.gg). (Can you solve this without using Y?)

13 Conversion 13 In the lambda calculus one can define numerals and represent numeric functions on them Definition. (i) F n (M) with F Λ and n N is defined inductively as follows. F 0 (M) M; F n+1 (M) F (F n (M)). (ii) The Church numerals c 0, c 1, c 2,... are defined by c n λfx.f n (x) Proposition (J.B. Rosser). Define A + λxypq.xp(ypq); A λxyz.x(yz); A exp λxy.yx. Then one has for all n, m N (i) A + c n c m = c n+m. (ii) A c n c m = c n m. (iii) A exp c n c m = c (n m ), except for m = 0 (Rosser started counting from 1). In the proof we need the following Lemma. (i) (c n x) m (y) = x n m (y). (ii) (c n ) m (x) = c (n m )(x), for m > 0. Proof. (i) Induction on m. If m = 0, then LHS = y = RHS. Assume (i) is correct for m (Induction Hypothesis: IH). Then (c n x) m+1 (y) = c n x((c n x) m (y)) = c n x(x n m (y)) by IH, = x n (x n m (y)) x n+n m (y) x n (m+1) (y). (ii) Induction on m > 0. If m = 1, then LHS c n x RHS. If (ii) is correct for m, then (c n ) m+1 (x) = c n ((c n ) m (x)) = c n (c (n m )(x)) by IH, = λy.(c (n m )(x)) n (y) = λy.x nm n (y) by (i), = c (n m+1 )x.

14 14 Introduction to Lambda Calculus Proof of the proposition. (i) Exercise. (ii) Exercise. Use Lemma 2.16 (i). (iii) By Lemma 2.16 (ii) we have for m > 0 A exp c n c m = c m c n = λx.(c n ) m (x) = λx.c (n m )x = c (n m ), since λx.mx = M if M λy.m [y] and x / FV(M). Indeed, Exercises λx.mx λx.(λy.m [y])x = λx.m [x] λy.m [y] M (i) Rewrite according to official syntax M 1 y(λx.xy(λzw.yz)). (ii) Rewrite according to the simplified syntax M 2 λv (λv ((((λvv)v )v )((v (λv (v v )))v ))) Prove the following substitution lemma. Let x y and x / FV(L). Then 2.3. (i) Prove, using Exercise 2.2, M[x := N][y := L] M[y := L][x := N[y := L]]. λ M 1 = M 2 λ M 1 [x := N] = M 2 [x := N]. (ii) Show λ M 1 = M 2 & λ N 1 = N 2 λ M 1 [x := N 1 ] = M 2 [x := N 2 ] Prove Proposition 2.15 (i), (ii) Let B λxyz.x(yz). Simplify M BXY Z, that is find a simple term N such that λ M = N Simplify the following terms. (i) M (λxyz.zyx)aa(λpq.q); (ii) M (λyz.zy)((λx.xxx)(λx.xxx))(λw.i); (iii) M SKSKSK Show that (i) λ KI = K ; (ii) λ SKK = I (i) Write down a closed λ-term F Λ such that for all M, N Λ F MN = M(NM)N.

15 Conversion 15 (ii) Construct a λ-term F such that for all M, N, L Λ o 2.9. Find closed terms F such that (i) F x = xi; (ii) F xy = xiy. F MNL = N(λx.M)(λyz.yLM) Find closed terms F such that (i) F x = F. This term can be called the eater and is often denoted by K ; (ii) F x = xf ; (iii) F IKK = F K Show C[, ] F x F x = C[F, x] and take another look at the exercises 2.8, 2.9 and Let P, Q Λ. P and Q are incompatible, notation P Q, if λ extended with P = Q as axiom proves every equation between λ-terms, i.e. for all M, N Λ one has λ + (P = Q) M = N. In this case one says that λ + (P = Q) is inconsistent. (i) Prove that for P, Q Λ P Q λ + (P = Q) true = false, where true K, false K. (ii) Show that I K. (iii) Find a λ-term F such that F I = x and F K = y. (iv) Show that K S Write down a grammar in BN-form that generates the λ-terms exactly in the way they are written in Convention 2.3.

16

17 Chapter 3 The Power of Lambda We have seen that the function plus, times and exponentiation on N can be represented in the λ-calculus using Church s numerals. We will now show that all computable (recursive) functions can be represented in the λ-calculus. In order to do this we will use first a different system of numerals. Truth values and a conditional can be represented in the λ-calculus Definition. (i) true K, false K. (ii) If B is considered as a Boolean, i.e. a term that is either true or false, then if B then P else Q can be represented by BP Q Definition (Pairing). For M, N Λ write [M, N] λz.if z then M else N ( λz.zmn). Then [M, N]true = M, [M, N]false = N, and hence [M, N] can serve as an ordered pair. We can use this pairing construction for an alternative representation of natural numbers due to Barendregt (1976) Definition. For each n N, the numeral n is defined inductively as follows. 0 I, n + 1 [false, n ]. 17

18 18 Introduction to Lambda Calculus 3.4. Lemma (Successor, predecessor, test for zero). There exist combinators S +, P, and Zero such that Proof. Take S + n = n + 1, P n + 1 = n, Zero 0 = true, Zero n + 1 = false. S + λx.[false, x], P λx.x false, Zero λx.x true Definition (Lambda definability). (i) A numeric function is a map ϕ : N p N for some p. In this case ϕ is called p-ary. (ii) A numeric p-ary function ϕ is called λ-definable if for some combinator F F n 1 n p = ϕ(n 1,..., n p ) ( ) for all n 1,..., n p N. If ( ) holds, then ϕ is said to be λ-defined by F Definition. The initial functions are the numeric functions U n i, S+, Z defined by U n i (x 1,..., x n ) = x i, (1 i n); S + (n) = n + 1; Z(n) = 0. Let P(n) be a numeric relation. As usual µm[p (m)] denotes the least number m such that P (m) holds if there is such a number; otherwise it is undefined Definition. Let A be a class of numeric functions. (i) A is closed under composition if for all ϕ defined by ϕ( n) = χ(ψ 1 ( n),..., ψ m ( n)) with χ, ψ 1,..., ψ m A, one has ϕ A. (ii) A is closed under primitive recursion if for all ϕ defined by with χ, ψ A, one has ϕ A. ϕ(0, n) = χ( n), ϕ(k + 1, n) = ψ(ϕ(k, n), k, n)

20 20 Introduction to Lambda Calculus Lemma. The λ-definable functions are closed under primitive recursion. Proof. Let ϕ be defined by ϕ(0, n) = χ( n), ϕ(k + 1, n) = ψ(ϕ(k, n), k, n), where χ, ψ are λ-defined by G, H respectively. Now we want a term F such that F x y = if Zero x then G y else H(F (P x) y)(p x) y D(F, x, y), say. It is sufficient to find an F such that F = λx y.d(f, x, y) = (λf x y.d(f, x, y))f. Now such an F can be found by the Fixedpoint Theorem and we are done Lemma. The λ-definable functions are closed under minimalization. Proof. Let ϕ be defined by ϕ( n) = µm[χ( n, m) = 0], where χ is λ-defined by G. Again by the Fixedpoint Theorem there is a term H such that H xy = if Zero(G xy) then y else H x(s + y) = (λh xy.e(h, x, y))h xy, say. Set F λ x.h x 0. Then F λ-defines ϕ: F n = H n 0 = 0 if G n 0 = 0 = H n 1 else = 1 if G n 1 = 0 = H n 2 else = 2 if... = Theorem. All recursive functions are λ-definable. Proof. By the lemmas The converse also holds. So for numeric functions we have ϕ is recursive iff ϕ is λ-definable. Moreover also for partial functions a notion of λ-definability exists. If ψ is a partial numeric function, then we have ψ is partial recursive ψ is λ-definable.

21 The Power of Lambda Theorem. With respect to the Church numerals c n all recursive functions can be λ-defined. Proof. Define S + c λxyz.y(xyz), P c λxyz.x(λpq.q(py))(kz)i 1, Zero c λx.x(k false)true. Then these terms represent the successor, predecessor and test for zero. Then as before all recursive functions can be λ-defined. An alternative proof uses translators between the numerals n and c n Proposition. There exist terms T, T 1 such that for all n Proof. Construct T, T 1 such that T λx.xs + 0. T c n = n ; T 1 n = c n. T 1 = λx.if Zero x then c 0 else S + c (T 1 (P x)) Corollary (Second proof of Theorem 3.14). Let ϕ be a recursive function (of arity 2 say). Let F represent ϕ with respect to the numerals n. Define F c λxy.t 1 (F (T x)(t y)). Then F c represents ϕ with respect to the Church numerals. The representation of pairs in the lambda calculus can also be used to solve multiple fixedpoint equations Multiple Fixedpoint Theorem. Let F 1,..., F n be λ-terms. Then we can find X 1,..., X n such that X 1 = F 1 X 1 X n,. X n = F n X 1 X n. Observe that for n = 1 this is the ordinary Fixedpoint Theorem (2.12). Proof. We treat the case n = 2. So we want 1 Term found by J. Velmans. X 1 = F 1 X 1 X 2, X 2 = F 2 X 1 X 2.

22 22 Introduction to Lambda Calculus The trick is to construct X 1 and X 2 simultaneously, as a pair. By the ordinary Fixedpoint Theorem we can find an X such that X = [F 1 (Xtrue)(Xfalse), F 2 (Xtrue)(Xfalse)]. Now define X 1 Xtrue, X 2 Xfalse. Then the result follows. This can be generalized to arbitrary n Example. There exist G, H Λ such that Gxy = Hy(Kx), Hx = G(xx)(S(H(xx))). Indeed, we can replace the above equations by G = λxy.hy(kx), H = λx.g(xx)(s(h(xx))), and apply the Multiple Fixedpoint Theorem with F 1 F 2 λghx.g(xx)(s(h(xx))). λghxy.hy(kx) and Exercises 3.1. (i) Find a λ-term Mult such that for all m, n N Mult n m = n m. (ii) Find a λ-term Fac such that for all n N Fac n = n! The simple Ackermann function ϕ is defined as follows. Find a λ-term F that λ-defines ϕ. ϕ(0, n) = n + 1, ϕ(m + 1, 0) = ϕ(m, 1), ϕ(m + 1, n + 1) = ϕ(m, ϕ(m + 1, n)) Construct λ-terms M 0, M 1,... such that for all n one has M 0 = x, M n+1 = M n+2 M n Verify that P c (see the first proof of Theorem 3.14) indeed λ-defines the predecessor function with respect to the Church numerals.

23 Chapter 4 Reduction There is a certain asymmetry in the basic scheme (β). The statement (λx.x 2 + 1)3 = 10 can be interpreted as 10 is the result of computing (λx.x 2 + 1)3, but not vice versa. This computational aspect will be expressed by writing (λx.x 2 + 1)3 10 which reads (λx.x 2 + 1)3 reduces to 10. Apart from this conceptual aspect, reduction is also useful for an analysis of convertibility. The Church-Rosser theorem says that if two terms are convertible, then there is a term to which they both reduce. In many cases the inconvertibility of two terms can be proved by showing that they do not reduce to a common term Definition. (i) A binary relation R on Λ is called compatible (with the operations) if M R N (ZM) R (ZN), (MZ) R (NZ) and (λx.m) R (λx.n). (ii) A congruence relation on Λ is a compatible equivalence relation. (iii) A reduction relation on Λ is a compatible, reflexive and transitive relation Definition. The binary relations β, β and = β on Λ are defined inductively as follows. (i) 1. (λx.m)n β M[x := N]; 2. M β N ZM β ZN, MZ β NZ and λx.m β λx.n. (ii) 1. M β M; 2. M β N M β N; 3. M β N, N β L M β L. 23

24 24 Introduction to Lambda Calculus (iii) 1. M β N M = β N; 2. M = β N N = β M; 3. M = β N, N = β L M = β L. These relations are pronounced as follows. M β N : Mβ-reduces to N; M β N : Mβ-reduces to Nin one step; M = β N : M is β-convertible to N. By definition β is compatible, β is a reduction relation and = β is a congruence relation Example. (i) Define Then Ω β Ω. (ii) KIΩ β I. ω λx.xx, Ω ωω. Intuitively, M = β N if M is connected to N via β -arrows (disregarding the directions of these). In a picture this looks as follows. M N 4.4. Example. KIΩ = β II. This is demonstrated by the following reductions. KIΩ (λy.i)ω 4.5. Proposition. M = β N λ M = N. Proof. By an easy induction. II I 4.6. Definition. (i) A β-redex is a term of the form (λx.m)n. In this case M[x := N] is its contractum. (ii) A λ-term M is a β-normal form (β-nf) if it does not have a β-redex as subexpression. (iii) A term M has a β-normal form if M = β N and N is a β-nf, for some N.

25 Reduction Example. (λx.xx)y is not a β-nf, but has as β-nf the term yy. An immediate property of nf s is the following Lemma. Let M be a β-nf. Then M β N N M. Proof. This is true if β is replaced by β. Then the result follows by transitivity Church-Rosser Theorem. If M β N 1, M β N 2, then for some N 3 one has N 1 β N 3 and N 2 β N 3 ; in diagram The proof is postponed until M N 1 N N Corollary. If M = β N, then there is an L such that M β L and N β L. An intuitive proof of this fact proceeds by a tiling procedure: given an arrow path showing M = β N, apply the Church-Rosser property repeatedly in order to find a common reduct. For the example given above this looks as follows. M N This is made precise below.

26 26 Introduction to Lambda Calculus Proof. Induction on the generation of = β. Case 1. M = β N because M β N. Take L N. Case 2. M = β N because N = β M. By the IH there is a common β-reduct L 1 of N, M. Take L L 1. Case 3. M = β N because M = β N, N = β N. Then M N (IH) (IH) N L 1 (CR) L L Corollary. (i) If M has N as β-nf, then M β N. (ii) A λ-term has at most one β-nf. Proof. (i) Suppose M = β N with N in β-nf. By Corollary 4.10 M β L and N β L for some L. But then N L, by Lemma 4.8, so M β N. (ii) Suppose M has β-nf s N 1, N 2. Then N 1 = β N 2 (= β M). By Corollary 4.10 N 1 β L, N 2 β L for some L. But then N 1 L N 2 by Lemma Some consequences. (i) The λ-calculus is consistent, i.e. λ true = false. Otherwise true = β false by Proposition 4.5, which is impossible by Corollary 4.11 since true and false are distinct β-nf s. This is a syntactic consistency proof. (ii) Ω has no β-nf. Otherwise Ω β N with N in β-nf. But Ω only reduces to itself and is not in β-nf. (iii) In order to find the β-nf of a term M (if it exists), the various subexpressions of M may be reduced in different orders. By Corollary 4.11 (ii) the β-nf is unique. The proof of the Church-Rosser theorem occupies The idea of the proof is as follows. In order to prove Theorem 4.9, it is sufficient to show the Strip Lemma: M β β N β.. N β N 3 In order to prove this lemma, let M β N 1 be a one step reduction resulting from changing a redex R in M in its contractum R in N 1. If one makes a

27 Reduction 27 bookkeeping of what happens with R during the reduction M β N 2, then by reducing all residuals of R in N 2 the term N 3 can be found. In order to do the necessary bookkeeping an extended set Λ Λ and reduction β is introduced. The underlining serves as a tracing isotope Definition (Underlining). (i) Λ is the set of terms defined inductively as follows. x V x Λ, M, N Λ (MN) Λ, M Λ, x V (λx.m) Λ, M, N Λ, x V ((λx.m)n) Λ. (ii) The underlined reduction relations β (one step) and β are defined starting with the contraction rules (λx.m)n β M[x := N], (λx.m)n β M[x := N]. Then β is extended in order to become a compatible relation (also with respect to λ-abstraction). Moreover, β is the transitive reflexive closure of β. (iii) If M Λ, then M Λ is obtained from M by leaving out all underlinings. E.g. (λx.x)((λx.x)(λx.x)) I(II) Definition. The map ϕ : Λ Λ is defined inductively as follows. ϕ(x) x, ϕ(mn) ϕ(m)ϕ(n), ϕ(λx.m) λx.ϕ(m), ϕ((λx.m)n) ϕ(m)[x := ϕ(n)]. In other words, ϕ contracts all redexes that are underlined, from the inside to the outside. Notation. If M N or ϕ(m) N, then this will be denoted by M N or M N. ϕ Lemma. M N β M β N M, N Λ, M, N Λ.

28 28 Introduction to Lambda Calculus Proof. First suppose M β N. Then N is obtained by contracting a redex in M and N can be obtained by contracting the corresponding redex in M. The general statement follows by transitivity Lemma. (i) Let M, N Λ. Then ϕ(m[x := N]) ϕ(m)[x := ϕ(n)]. (ii) ϕ M β N ϕ(m) ϕ(n) β ϕ M, N Λ. Proof. (i) By induction on the structure of M, using the Substitution Lemma (see Exercise 2.2) in case M (λy.p )Q. The condition of that lemma may be assumed to hold by our convention about free variables. (ii) By induction on the generation of β, using (i) Lemma. M ϕ N L β M Λ, N, L Λ. Proof. By induction on the structure of M Strip lemma. M β β N β.. N β N 3 M, N 1, N 2, N 3 Λ. Proof. Let N 1 be the result of contracting the redex occurrence R (λx.p )Q in M. Let M Λ be obtained from M by replacing R by R (λx.p )Q. Then

29 Reduction 29 M M and ϕ(m ) N 1. By the lemmas 4.15, 4.16 and 4.17 we can erect the diagram M β N 1 ϕ M β... β N 2 β N 3 N 2 ϕ β.... which proves the Strip Lemma Proof of the Church-Rosser Theorem. If M β N 1, then M M 1 β M 2 β β M n N 1. Hence the CR property follows from the Strip Lemma and a simple diagram chase: M 1 M N 1 N Definition. For M Λ the reduction graph of M, notation G β (M), is the directed multigraph with vertices {N M β N} and directed by β.

30 30 Introduction to Lambda Calculus Example. G β (I(Ix)) is I( Ix) Ix x sometimes simply drawn as It can happen that a term M has a nf, but at the same time an infinite reduction path. Let Ω (λx.xx)(λx.xx). Then Ω Ω so KIΩ KIΩ, and KIΩ I. Therefore a so called strategy is necessary in order to find the normal form. We state the following theorem; for a proof see Barendregt (1984), Theorem Normalization Theorem. If M has a normal form, then iterated contraction of the leftmost redex leads to that normal form. In other words: the leftmost reduction strategy is normalizing. This fact can be used to find the normal form of a term, or to prove that a certain term has no normal form Example. KΩI has an infinite leftmost reduction path, viz. KΩI β (λy.ω)i β Ω β Ω β, and hence does not have a normal form. The functional language (pure) Lisp uses an eager or applicative evaluation strategy, i.e. whenever an expression of the form F A has to be evaluated, A is reduced to normal form first, before calling F. In the λ-calculus this strategy is not normalizing as is shown by the two reduction paths for KIΩ above. There is, however, a variant of the lambda calculus, called the λi-calculus, in which the eager evaluation strategy is normalizing. In this λi-calculus terms like K, throwing away Ω in the reduction KIΩ I do not exist. The ordinary λ-calculus is sometimes referred to as λk-calculus; see Barendregt (1984), Chapter 9. Remember the fixedpoint combinator Y. For each F Λ one has YF = β F (YF ), but neither YF β F (YF ) nor F (YF ) β YF. In order to solve

### Summary Last Lecture. Automated Reasoning. Outline of the Lecture. Definition sequent calculus. Theorem (Normalisation and Strong Normalisation)

Summary Summary Last Lecture sequent calculus Automated Reasoning Georg Moser Institute of Computer Science @ UIBK Winter 013 (Normalisation and Strong Normalisation) let Π be a proof in minimal logic

### CHAPTER 7 GENERAL PROOF SYSTEMS

CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes

### Fundamentals of Mathematics Lecture 6: Propositional Logic

Fundamentals of Mathematics Lecture 6: Propositional Logic Guan-Shieng Huang National Chi Nan University, Taiwan Spring, 2008 1 / 39 Connectives Propositional Connectives I 1 Negation: (not A) A A T F

### (LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine.

(LMCS, p. 317) V.1 First Order Logic This is the most powerful, most expressive logic that we will examine. Our version of first-order logic will use the following symbols: variables connectives (,,,,

### Functional Programming. Functional Programming Languages. Chapter 14. Introduction

Functional Programming Languages Chapter 14 Introduction Functional programming paradigm History Features and concepts Examples: Lisp ML 1 2 Functional Programming Functional Programming Languages The

### Introduction to Type Theory

Introduction to Type Theory Herman Geuvers Radboud University Nijmegen, The Netherlands Technical University Eindhoven, The Netherlands 1 Overview These notes comprise the lecture Introduction to Type

### Theory of Computation Lecture Notes

Theory of Computation Lecture Notes Abhijat Vichare August 2005 Contents 1 Introduction 2 What is Computation? 3 The λ Calculus 3.1 Conversions: 3.2 The calculus in use 3.3 Few Important Theorems 3.4 Worked

### MAT2400 Analysis I. A brief introduction to proofs, sets, and functions

MAT2400 Analysis I A brief introduction to proofs, sets, and functions In Analysis I there is a lot of manipulations with sets and functions. It is probably also the first course where you have to take

### A Tutorial Introduction to the Lambda Calculus

A Tutorial Introduction to the Lambda Calculus Raúl Rojas FU Berlin, WS-97/98 Abstract This paper is a short and painless introduction to the λ calculus. Originally developed in order to study some mathematical

### Chapter 7: Functional Programming Languages

Chapter 7: Functional Programming Languages Aarne Ranta Slides for the book Implementing Programming Languages. An Introduction to Compilers and Interpreters, College Publications, 2012. Fun: a language

### WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? introduction Many students seem to have trouble with the notion of a mathematical proof. People that come to a course like Math 216, who certainly

### CMCS 312: Programming Languages Lecture 3: Lambda Calculus (Syntax, Substitution, Beta Reduction) Acar & Ahmed 17 January 2008

CMCS 312: Programming Languages Lecture 3: Lambda Calculus (Syntax, Substitution, Beta Reduction) Acar & Ahmed 17 January 2008 Contents 1 Announcements 1 2 Introduction 1 3 Abstract Syntax 1 4 Bound and

### Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy

Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy Kim S. Larsen Odense University Abstract For many years, regular expressions with back referencing have been used in a variety

### OPERATIONAL TYPE THEORY by Adam Petcher Prepared under the direction of Professor Aaron Stump A thesis presented to the School of Engineering of

WASHINGTON NIVERSITY SCHOOL OF ENGINEERING AND APPLIED SCIENCE DEPARTMENT OF COMPTER SCIENCE AND ENGINEERING DECIDING JOINABILITY MODLO GROND EQATIONS IN OPERATIONAL TYPE THEORY by Adam Petcher Prepared

### Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement

### ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS

PROCEEDINGS OF THE YEREVAN STATE UNIVERSITY Physical and Mathematical Sciences 2012 1 p. 43 48 ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS I nf or m at i cs L. A. HAYKAZYAN * Chair of Programming and Information

### MATH REVIEW KIT. Reproduced with permission of the Certified General Accountant Association of Canada.

MATH REVIEW KIT Reproduced with permission of the Certified General Accountant Association of Canada. Copyright 00 by the Certified General Accountant Association of Canada and the UBC Real Estate Division.

### Computing divisors and common multiples of quasi-linear ordinary differential equations

Computing divisors and common multiples of quasi-linear ordinary differential equations Dima Grigoriev CNRS, Mathématiques, Université de Lille Villeneuve d Ascq, 59655, France Dmitry.Grigoryev@math.univ-lille1.fr

### Mathematical Induction

Mathematical Induction In logic, we often want to prove that every member of an infinite set has some feature. E.g., we would like to show: N 1 : is a number 1 : has the feature Φ ( x)(n 1 x! 1 x) How

### Parametric Domain-theoretic models of Linear Abadi & Plotkin Logic

Parametric Domain-theoretic models of Linear Abadi & Plotkin Logic Lars Birkedal Rasmus Ejlers Møgelberg Rasmus Lerchedahl Petersen IT University Technical Report Series TR-00-7 ISSN 600 600 February 00

### Chapter 4, Arithmetic in F [x] Polynomial arithmetic and the division algorithm.

Chapter 4, Arithmetic in F [x] Polynomial arithmetic and the division algorithm. We begin by defining the ring of polynomials with coefficients in a ring R. After some preliminary results, we specialize

### Higher-Order Logic. Specification and Verification with Higher-Order Logic

Higher-Order Logic Specification and Verification with Higher-Order Logic Arnd Poetzsch-Heffter Software Technology Group Fachbereich Informatik Technische Universität Kaiserslautern Sommersemester 2010

### (What I Know about) the History of the Identity Type

(What I Know about) the History of the Identity Type Peter Dybjer Chalmers University, Göteborg, Sweden Workshop on Identity Types Uppsala, 13 November, 2006 When was the identity type born? Martin-Löf

### A Formalization of the Turing Test Evgeny Chutchev

A Formalization of the Turing Test Evgeny Chutchev 1. Introduction The Turing test was described by A. Turing in his paper [4] as follows: An interrogator questions both Turing machine and second participant

### INTRODUCTION TO PROOFS: HOMEWORK SOLUTIONS

INTRODUCTION TO PROOFS: HOMEWORK SOLUTIONS STEVEN HEILMAN Contents 1. Homework 1 1 2. Homework 2 6 3. Homework 3 10 4. Homework 4 16 5. Homework 5 19 6. Homework 6 21 7. Homework 7 25 8. Homework 8 28

### Correspondence analysis for strong three-valued logic

Correspondence analysis for strong three-valued logic A. Tamminga abstract. I apply Kooi and Tamminga s (2012) idea of correspondence analysis for many-valued logics to strong three-valued logic (K 3 ).

### P (A) = lim P (A) = N(A)/N,

1.1 Probability, Relative Frequency and Classical Definition. Probability is the study of random or non-deterministic experiments. Suppose an experiment can be repeated any number of times, so that we

### MATHEMATICAL INDUCTION AND DIFFERENCE EQUATIONS

1 CHAPTER 6. MATHEMATICAL INDUCTION AND DIFFERENCE EQUATIONS 1 INSTITIÚID TEICNEOLAÍOCHTA CHEATHARLACH INSTITUTE OF TECHNOLOGY CARLOW MATHEMATICAL INDUCTION AND DIFFERENCE EQUATIONS 1 Introduction Recurrence

### Rigorous Software Development CSCI-GA 3033-009

Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical

### MATH 289 PROBLEM SET 1: INDUCTION. 1. The induction Principle The following property of the natural numbers is intuitively clear:

MATH 89 PROBLEM SET : INDUCTION The induction Principle The following property of the natural numbers is intuitively clear: Axiom Every nonempty subset of the set of nonnegative integers Z 0 = {0,,, 3,

### Valid formulas, games and network protocols

Valid formulas, games and network protocols Jean-Louis Krivine & Yves Legrandgérard Paris VII University, CNRS November 14, 2007 Introduction We describe a remarkable relation between a fundamental notion

### CS 3719 (Theory of Computation and Algorithms) Lecture 4

CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a

### An example of a computable

An example of a computable absolutely normal number Verónica Becher Santiago Figueira Abstract The first example of an absolutely normal number was given by Sierpinski in 96, twenty years before the concept

### Sequences and Mathematical Induction. CSE 215, Foundations of Computer Science Stony Brook University

Sequences and Mathematical Induction CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook.edu/~cse215 Sequences A sequence is a function whose domain is all the integers

### Elementary Number Theory We begin with a bit of elementary number theory, which is concerned

CONSTRUCTION OF THE FINITE FIELDS Z p S. R. DOTY Elementary Number Theory We begin with a bit of elementary number theory, which is concerned solely with questions about the set of integers Z = {0, ±1,

### Transcription to LaTex/pdf of Alan Turing PhD dissertation (1938)

Transcription to LaTex/pdf of Alan Turing PhD dissertation (1938) presented to the faculty of Princeton University in candidacy for the degree of Doctor of Philosophy Transcribed by Armando B. Matos Artificial

### Notes on Complexity Theory Last updated: August, 2011. Lecture 1

Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look

### Prime Numbers. Chapter Primes and Composites

Chapter 2 Prime Numbers The term factoring or factorization refers to the process of expressing an integer as the product of two or more integers in a nontrivial way, e.g., 42 = 6 7. Prime numbers are

### A Propositional Dynamic Logic for CCS Programs

A Propositional Dynamic Logic for CCS Programs Mario R. F. Benevides and L. Menasché Schechter {mario,luis}@cos.ufrj.br Abstract This work presents a Propositional Dynamic Logic in which the programs are

### The Classes P and NP

The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the

### 1. R In this and the next section we are going to study the properties of sequences of real numbers.

+a 1. R In this and the next section we are going to study the properties of sequences of real numbers. Definition 1.1. (Sequence) A sequence is a function with domain N. Example 1.2. A sequence of real

Mathematics 0N1 Solutions 1 1. Write the following sets in list form. 1(i) The set of letters in the word banana. {a, b, n}. 1(ii) {x : x 2 + 3x 10 = 0}. 3(iv) C A. True 3(v) B = {e, e, f, c}. True 3(vi)

### You know from calculus that functions play a fundamental role in mathematics.

CHPTER 12 Functions You know from calculus that functions play a fundamental role in mathematics. You likely view a function as a kind of formula that describes a relationship between two (or more) quantities.

### Regular Languages and Finite Automata

Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a

### Quotient Rings and Field Extensions

Chapter 5 Quotient Rings and Field Extensions In this chapter we describe a method for producing field extension of a given field. If F is a field, then a field extension is a field K that contains F.

### 2.1 Complexity Classes

15-859(M): Randomized Algorithms Lecturer: Shuchi Chawla Topic: Complexity classes, Identity checking Date: September 15, 2004 Scribe: Andrew Gilpin 2.1 Complexity Classes In this lecture we will look

### Predicate Logic Review

Predicate Logic Review UC Berkeley, Philosophy 142, Spring 2016 John MacFarlane 1 Grammar A term is an individual constant or a variable. An individual constant is a lowercase letter from the beginning

### Discrete Mathematics, Chapter 5: Induction and Recursion

Discrete Mathematics, Chapter 5: Induction and Recursion Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 5 1 / 20 Outline 1 Well-founded

### C H A P T E R Regular Expressions regular expression

7 CHAPTER Regular Expressions Most programmers and other power-users of computer systems have used tools that match text patterns. You may have used a Web search engine with a pattern like travel cancun

### PART I. THE REAL NUMBERS

PART I. THE REAL NUMBERS This material assumes that you are already familiar with the real number system and the representation of the real numbers as points on the real line. I.1. THE NATURAL NUMBERS

### MA651 Topology. Lecture 6. Separation Axioms.

MA651 Topology. Lecture 6. Separation Axioms. This text is based on the following books: Fundamental concepts of topology by Peter O Neil Elements of Mathematics: General Topology by Nicolas Bourbaki Counterexamples

### 1.5. Factorisation. Introduction. Prerequisites. Learning Outcomes. Learning Style

Factorisation 1.5 Introduction In Block 4 we showed the way in which brackets were removed from algebraic expressions. Factorisation, which can be considered as the reverse of this process, is dealt with

### Chapter 6 Finite sets and infinite sets. Copyright 2013, 2005, 2001 Pearson Education, Inc. Section 3.1, Slide 1

Chapter 6 Finite sets and infinite sets Copyright 013, 005, 001 Pearson Education, Inc. Section 3.1, Slide 1 Section 6. PROPERTIES OF THE NATURE NUMBERS 013 Pearson Education, Inc.1 Slide Recall that denotes

### INTRODUCTORY SET THEORY

M.Sc. program in mathematics INTRODUCTORY SET THEORY Katalin Károlyi Department of Applied Analysis, Eötvös Loránd University H-1088 Budapest, Múzeum krt. 6-8. CONTENTS 1. SETS Set, equal sets, subset,

### Mathematics Course 111: Algebra I Part IV: Vector Spaces

Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are

### 4.6 The Primitive Recursive Functions

4.6. THE PRIMITIVE RECURSIVE FUNCTIONS 309 4.6 The Primitive Recursive Functions The class of primitive recursive functions is defined in terms of base functions and closure operations. Definition 4.6.1

### First-Order Predicate Logic (2)

First-Order Predicate Logic (2) Predicate Logic (2) Understanding first-order predicate logic formulas. Satisfiability and undecidability of satisfiability. Tautology, logical consequence, and logical

### Introduction to Algebraic Geometry. Bézout s Theorem and Inflection Points

Introduction to Algebraic Geometry Bézout s Theorem and Inflection Points 1. The resultant. Let K be a field. Then the polynomial ring K[x] is a unique factorisation domain (UFD). Another example of a

### Computability Theory

CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Computability Theory This section is partly inspired by the material in A Course in Mathematical Logic by Bell and Machover, Chap 6, sections 1-10.

### Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras

Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture No. # 31 Recursive Sets, Recursively Innumerable Sets, Encoding

### Lecture 3. Mathematical Induction

Lecture 3 Mathematical Induction Induction is a fundamental reasoning process in which general conclusion is based on particular cases It contrasts with deduction, the reasoning process in which conclusion

### Types, Polymorphism, and Type Reconstruction

Types, Polymorphism, and Type Reconstruction Sources This material is based on the following sources: Pierce, B.C., Types and Programming Languages. MIT Press, 2002. Kanellakis, P.C., Mairson, H.G. and

### Mathematical Induction

Mathematical Induction Victor Adamchik Fall of 2005 Lecture 2 (out of three) Plan 1. Strong Induction 2. Faulty Inductions 3. Induction and the Least Element Principal Strong Induction Fibonacci Numbers

### 3. Recurrence Recursive Definitions. To construct a recursively defined function:

3. RECURRENCE 10 3. Recurrence 3.1. Recursive Definitions. To construct a recursively defined function: 1. Initial Condition(s) (or basis): Prescribe initial value(s) of the function.. Recursion: Use a

### 3. INNER PRODUCT SPACES

. INNER PRODUCT SPACES.. Definition So far we have studied abstract vector spaces. These are a generalisation of the geometric spaces R and R. But these have more structure than just that of a vector space.

### Continued Fractions and the Euclidean Algorithm

Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction

### Chapter 7. Induction and Recursion. Part 1. Mathematical Induction

Chapter 7. Induction and Recursion Part 1. Mathematical Induction The principle of mathematical induction is this: to establish an infinite sequence of propositions P 1, P 2, P 3,..., P n,... (or, simply

### Automata and Languages

Automata and Languages Computational Models: An idealized mathematical model of a computer. A computational model may be accurate in some ways but not in others. We shall be defining increasingly powerful

### [Refer Slide Time: 05:10]

Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture

### MATHS 315 Mathematical Logic

MATHS 315 Mathematical Logic Second Semester, 2006 Contents 2 Formal Statement Logic 1 2.1 Post production systems................................. 1 2.2 The system L.......................................

### Math Review. for the Quantitative Reasoning Measure of the GRE revised General Test

Math Review for the Quantitative Reasoning Measure of the GRE revised General Test www.ets.org Overview This Math Review will familiarize you with the mathematical skills and concepts that are important

### Chapter 1. Logic and Proof

Chapter 1. Logic and Proof 1.1 Remark: A little over 100 years ago, it was found that some mathematical proofs contained paradoxes, and these paradoxes could be used to prove statements that were known

### Sets and functions. {x R : x > 0}.

Sets and functions 1 Sets The language of sets and functions pervades mathematics, and most of the important operations in mathematics turn out to be functions or to be expressible in terms of functions.

### Double Sequences and Double Series

Double Sequences and Double Series Eissa D. Habil Islamic University of Gaza P.O. Box 108, Gaza, Palestine E-mail: habil@iugaza.edu Abstract This research considers two traditional important questions,

### 1 if 1 x 0 1 if 0 x 1

Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or

### Mathematical Induction

Chapter 2 Mathematical Induction 2.1 First Examples Suppose we want to find a simple formula for the sum of the first n odd numbers: 1 + 3 + 5 +... + (2n 1) = n (2k 1). How might we proceed? The most natural

### INCIDENCE-BETWEENNESS GEOMETRY

INCIDENCE-BETWEENNESS GEOMETRY MATH 410, CSUSM. SPRING 2008. PROFESSOR AITKEN This document covers the geometry that can be developed with just the axioms related to incidence and betweenness. The full

### THREE DIMENSIONAL GEOMETRY

Chapter 8 THREE DIMENSIONAL GEOMETRY 8.1 Introduction In this chapter we present a vector algebra approach to three dimensional geometry. The aim is to present standard properties of lines and planes,

### CS 2336 Discrete Mathematics

CS 2336 Discrete Mathematics Lecture 5 Proofs: Mathematical Induction 1 Outline What is a Mathematical Induction? Strong Induction Common Mistakes 2 Introduction What is the formula of the sum of the first

### To define function and introduce operations on the set of functions. To investigate which of the field properties hold in the set of functions

Chapter 7 Functions This unit defines and investigates functions as algebraic objects. First, we define functions and discuss various means of representing them. Then we introduce operations on functions

### Domain Theory: An Introduction

Domain Theory: An Introduction Robert Cartwright Rebecca Parsons Rice University This monograph is an unauthorized revision of Lectures On A Mathematical Theory of Computation by Dana Scott [3]. Scott

### Predicate Calculus. There are certain arguments that seem to be perfectly logical, yet they cannot be expressed by using propositional calculus.

Predicate Calculus (Alternative names: predicate logic, first order logic, elementary logic, restricted predicate calculus, restricted functional calculus, relational calculus, theory of quantification,

### The Foundations: Logic and Proofs. Chapter 1, Part III: Proofs

The Foundations: Logic and Proofs Chapter 1, Part III: Proofs Rules of Inference Section 1.6 Section Summary Valid Arguments Inference Rules for Propositional Logic Using Rules of Inference to Build Arguments

### Dedekind s forgotten axiom and why we should teach it (and why we shouldn t teach mathematical induction in our calculus classes)

Dedekind s forgotten axiom and why we should teach it (and why we shouldn t teach mathematical induction in our calculus classes) by Jim Propp (UMass Lowell) March 14, 2010 1 / 29 Completeness Three common

### Chapter 6 SEQUENCES. sn 1+1,s 1 =1 is again an abbreviation for the sequence { 1, 1 2, 1 } n N ε,d (s n,s) <ε.

Chapter 6 SEQUENCES 6.1 Sequences A sequence is a function whose domain is the set of natural numbers N. If s is a sequence, we usually denote its value at n by s n instead of s (n). We may refer to the

### CHAPTER 3 Numbers and Numeral Systems

CHAPTER 3 Numbers and Numeral Systems Numbers play an important role in almost all areas of mathematics, not least in calculus. Virtually all calculus books contain a thorough description of the natural,

### 4. CLASSES OF RINGS 4.1. Classes of Rings class operator A-closed Example 1: product Example 2:

4. CLASSES OF RINGS 4.1. Classes of Rings Normally we associate, with any property, a set of objects that satisfy that property. But problems can arise when we allow sets to be elements of larger sets

### This chapter is all about cardinality of sets. At first this looks like a

CHAPTER Cardinality of Sets This chapter is all about cardinality of sets At first this looks like a very simple concept To find the cardinality of a set, just count its elements If A = { a, b, c, d },

### it is easy to see that α = a

21. Polynomial rings Let us now turn out attention to determining the prime elements of a polynomial ring, where the coefficient ring is a field. We already know that such a polynomial ring is a UF. Therefore

### Induction. Margaret M. Fleck. 10 October These notes cover mathematical induction and recursive definition

Induction Margaret M. Fleck 10 October 011 These notes cover mathematical induction and recursive definition 1 Introduction to induction At the start of the term, we saw the following formula for computing

### ORDERS OF ELEMENTS IN A GROUP

ORDERS OF ELEMENTS IN A GROUP KEITH CONRAD 1. Introduction Let G be a group and g G. We say g has finite order if g n = e for some positive integer n. For example, 1 and i have finite order in C, since

### Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

### 8 Divisibility and prime numbers

8 Divisibility and prime numbers 8.1 Divisibility In this short section we extend the concept of a multiple from the natural numbers to the integers. We also summarize several other terms that express

### ABSTRACT ALGEBRA: A STUDY GUIDE FOR BEGINNERS

ABSTRACT ALGEBRA: A STUDY GUIDE FOR BEGINNERS John A. Beachy Northern Illinois University 2014 ii J.A.Beachy This is a supplement to Abstract Algebra, Third Edition by John A. Beachy and William D. Blair

### 4 Domain Relational Calculus

4 Domain Relational Calculus We now present two relational calculi that we will compare to RA. First, what is the difference between an algebra and a calculus? The usual story is that the algebra RA is

### In mathematics you don t understand things. You just get used to them. (Attributed to John von Neumann)

Chapter 1 Sets and Functions We understand a set to be any collection M of certain distinct objects of our thought or intuition (called the elements of M) into a whole. (Georg Cantor, 1895) In mathematics

### The Dirichlet Unit Theorem

Chapter 6 The Dirichlet Unit Theorem As usual, we will be working in the ring B of algebraic integers of a number field L. Two factorizations of an element of B are regarded as essentially the same if

### A CPS-Translation of the λµ-calculus

A CPS-Translation of the λµ-calculus Philippe de Groote INRIA-Lorraine CRIN CNRS Campus Scientifique - BP 239 54506 Vandœuvre-lès-Nancy Cedex FRANCE e-mail: degroote@loriafr Abstract We present a translation