I: 1 I: 2008
I: 2 : 3 +
I: 3, 3700. (ISBN4-00-010352-0) H.P.Barendregt, The lambda calculus: its syntax and semantics, Studies in logic and the foundations of mathematics, v.103, North-Holland, 1984. (ISBN 044487 5085). - 24 1991 3500. (ISBN 4-7649-0184-6)
I: 4 Turing
I: 5
I: 6 1930 Church 1950 McCarthy Lisp 1960 Landin Algol60 1970 Scott 1970 : ML, Haskell
I: 7 : λx.x + 1 λx.(λy.x + y) : (λx.x + 1) 5 5 + 1
I: 8 Definition 1 ( ) V Λ (1) (3) (1) x V x Λ ( ) (2) M, N Λ (MN) Λ ( ) (3) M Λ, x V (λx.m) Λ ( ) < > ::= < > (< > < >) ( < >. < >)
I: 9 : (λx.(λy.(x y))) (λ.(x y)) x ((x y) z) (λx.(x.y)) ((λx.(x x)) (λx.(x x))) (x (λy.z)) (y (λy))
I: 10. ((λx.(x x)) (λx.(x x))) (λx.(x x))(λx.(x x)). ((... (M 1 M 2 )...) M n ) M 1 M 2... M n. (λx 1.(... (λx n.m)...)) λx 1... x n.m
I: 11 (λx.(λy.((x y) (z u))))
I: 12 Definition 2 ( ) 1. x V x. 2. (M N) M N (M N) 3. (λx.m) M (λx.m) M M (M M M M : (λx y.x) (λy.x) z
I: 13 : x (ϵ) : ap (ϵ) (1) (2) M 1 M 2 : λx (ϵ) (1) M 1
I: 14 (1 1 2). ϵ ϵ i = i ϵ (λx y.x) (λy.x) z ap (ϵ) ap (1) z (2) λx (1 1) λy (1 2) λy (1 1 1) x (1 2 1) x (1 1 1 1)
I: 15 Definition 3 ( ) M Λ O(M) 1. M = x O(M) = {ϵ} 2. M = M 1 M 2 O(M) = {ϵ} {i u u O(M i ), i = 1, 2} 3. M = λx.m 1 O(M) = {ϵ} {1 u u O(M 1 )}
I: 16 M/u: u O(M) M/ϵ = M (M 1 M 2 )/i u = M i /u, { i=1,2 } (λx.m 1 )/1 u = M 1 /u u v: v u u v = def w, v = u w
I: 17 Definition 4 ( ) M x u O(M), M/u = x M v O(M), [v < u M/v / λx.(m/v 1)] Definition 5 ( ) M x u O(M), M/u = x M v O(M), [v < u M/v λx.(m/v 1)]
I: 18 (λx y.x) (λy.x) z ap (ϵ) ap (1) z (2) λx (1 1) λy (1 2) λy (1 1 1) x (1 2 1) x (1 1 1 1) : M FV(M)
I: 19 λx.m f(x) = M f(x) = x + 5 f(y) = y + 5 f λx.m λy.m M M x y M M[x := y] λx.x λy.y λx.plus x x λy.plus y y
I: 20 M[x := N]: M M x N { N if x y y[x := N] y otherwise (M 1 M 2 )[x := N] M 1 [x := N] M 2 [x := N] (λy.m 1 )[x := N] λy.m 1 [x := N] if y / x y /FV(N) (by renaming) N M : (λy.x y)[x := λw.y w]
I: 21 Lemma 1 ( ) L, M, N Λ x / y x /FV(L) M[x := N][y := L] M[y := L][x := N[y := L]]
I: 22 M M = x. LHS = x[x := N][y := L] = N[y := L] RHS = x[y := L][x := N[y := L]] = x[x := N[y := L]] = N[y := L]
I: 23 M = y. LHS = y[x := N][y := L] = y[y := L] = L RHS = y[y := L][x := N[y := L]] = L[x := N[y := L]] { x /FV(L) } = L
I: 24 M = z, z x z y. LHS = z[x := N][y := L] = z[y := L] = z RHS = z[y := L][x := N[y := L]] = z[x := N[y := L]] = z
I: 25 M = (M 1 M 2 ). LHS = (M 1 M 2 )[x := N][y := L] = (M 1 [x := N] M 2 [x := N])[y := L] = M 1 [x := N][y := L] M 2 [x := N][y := L] = { inductive hypothesis } M 1 [y := L][x := N[y := L]] M 2 [y := L][x := N[y := L]] = (M 1 [y := L] M 2 [y := L])[x := N[y := L]] = (M 1 M 2 )[y := L][x := N[y := L]] = RHS
I: 26 M = λz.m, z x z y. LHS = (λz.m )[x := N][y := L] = (λz.m [x := N])[y := L] = λz.m [x := N][y := L] = { inductive hypothesis } λz.m [y := L][x := N[y := L]] = (λz.m [y := L])[x := N[y := L]] = (λz.m )[y := L][x := N[y := L]] = RHS
I: 27 Definition 6 ( ) (combinator) I λx.x K λx y.x F λx y.y S λx y z.x z (y z) B λx y z.x (y z) C λx y z.x z y Q (λx.x x) (λx.x x)
I: 28 β Λ Definition 7 (β ) 1. Λ β β = {< (λx.p )Q, P [x := Q] > P, Q Λ} 2. β 1 β β (a) < M, N > β M β N (b) M β N L Λ, x V, L M β L N M L β N L λx.m β λx.n.
I: 29 : II (λx.x) I β I KI(II) (λx y.x)i(ii) β β (λy.i)(ii) I SKK β
I: 30 Lemma 2 ( (compatibility)) u O(M), N 1 β N 2 M[u N 1 ] β M[u N 2 ] β : β 0
I: 31 R (i) a R a (ii) a R b b R a (iii) a R b, b R c a R c
I: 32 Definition 8 ( = β ) = β Λ L, M, N 1. M β N M = β N 2. M = β N N = β M 3. M = β N N = β L M = β L = β
I: 33 Definition 9 (β (β-redex)) P, Q (λx. P ) Q (β-redex) : (λx.x y) z w Definition 10 (β ) β β : z y w
I: 34 Definition 11 ( ) M = β N N β M β : b (λx. x y) z w Ω (λx. x x) (λx. x x) K I Ω
I: 35 Church-Rosser Theorem 3 (Church-Rosser, CR ) M, N Λ.[M = β N L Λ.[M β L N β L]] M = β N β β L
I: 36 Corollary 4 β N 1, N 2 N 1 N 2 N 1 = β N 2 CR L Λ.[N 1 β L N 2 β L] N 1 N 2
I: 37 (Congrence) Definition 12 ( ) M, M 1, M 2 Λ, M β M 1 M β M 2 M 3 Λ, M 1 β M 3 M 2 β M 3 ]
I: 38 Theorem 5 β CR β [ ] ( ) : M, M 1, M 2 Λ, M β M 1 M β M 2 = β M = β M 1 M = β M 2 M 1 = β M 2 CR M 3 Λ, M 1 β M 3 M 2 β M 3. ( ) : M = β N 1. M β N M = β N 2. N = β M M = β N 3. M = β N N = β N M = β N
I: 39
I: 40 x ((λu v w. u w (v w)) (I x) (I (I I)) z) = x ((λv w. (I x) w (v w)) (I (I I)) z) = x ((λw. (I x) w ((I (I I)) w)) z) = x ((I x) z ((I (I I)) z)) = x (x z ((I (I I)) z)) = x (x z ((I I) z)) = x (x z (I z)) = x (x z z)
I: 41 Definition 13 ( ) β M Theorem 6
I: 42 true λt f. t false λt f. f test λl m n. l m n and λb c. test b c false or λb c. test b true c and true true = β true
I: 43 pair λf s b. b f s fst λp. p true snd λp. p false fst (pair v w) = β v
I: 44 Church numbers: 0 λs z. z 1 λs z. s z n λs z. s (s... (s z)...) succ λn s z. s (n s z) plus λm n s z. m s (n s z) times λm n. m (plus n) 0 exp λm n. n m
I: 45 5 12 1 M[x := N][x := L] M[x := N[x := L]] 2 (λx y. (λl w. w w) x y) (S a) (K I) β 3 snd (pair v w) = β w 4 fix f (λx.f(x x))(λx.f(x x)) fix f = β f(fix f)