λ
ftp://ftp.cs.ru.nl/pub/CompMath.Found/lambda.pdf
λ
λ
λ
λ
Aλ
λ
Vx y z
λ
hλi::= h i
|(λh i.hλi)
|(hλi hλi)
h i ::= x|y|z . . .
ΛλA∗
V ⊂ Λ
∀M, x (M∈Λ∧x∈ V)⇒(λx.M)∈Λ ;
∀M1, M2(M1∈Λ∧M2∈Λ) ⇒(M1M2)∈Λ.
λ x (x z) ((x z) (y z)) (λx.z) (λx.(λy.(λz.((x z) (y z)))))
λx.M λ function x -> M
λ
M≡N M N
(M N)≡M N
((M N)P)≡M N P
(. . . ((M1M2)M3). . . Mn)≡M1M2M3. . . Mn
(λx.M)≡λx.M
(λx1.(λx2.(. . . (λxn.M)))) ≡λx1. . . xn.M.
(M(N P )) 6≡ M N P
λx.(M N)6≡ λx.M N.
λ λ
F V (M)λ M M
F V (x) = {x}
F V (λx.M) = F V (M)\ {x}
F V (M N) = F V (M)∪F V (N).
F V (M) = ∅λx.x
λ BV (M)
λ M
BV (x) = ∅
BV (λx.M ) = BV (M)∪ {x}
BV (M N ) = BV (M)∪BV (N).
λ
M= (x(λx.(x x)y))
F V (M) = {x, y}
BV (M) = {x}
x
λ λ λ
Sub(M)λ M
Sub(x) = {x}
Sub(λx.M) = Sub(M)∪ {λx.M }
Sub(M N) = Sub(M)∪Sub(N)∪ {(M N )}.
M= (x(λx.(x x)y))
Sub(M) = {x, y, (x x), λx.(x x),(λx.(x x)y),(x(λx.(x x)y))}.
λ
λ λ
C[] λ
Aλ[]
V ⊂ C[]
[] ∈ C[]
x∈ V C[] ∈ C[] (λx.C[]) ∈ C[]
C1[] ∈ C[] C2[] ∈ C[] (C1[] C2[]) ∈ C[]
λ
Λ⊂ C[].
λx.([] x)M λ
[] (λx.([][]) y)λ
M λ C[] λ C[M]λ
M
C[] = λx.([] x)M=λy.y
C[M] = λx.(λy.y x).
M
M=x
N M
N M[x←N]
x[x←N]≡N
x6=y y[x←N]≡y
(M1M2)[x←N]≡M1[x←N]M2[x←N]
(λx.M)[x←N]≡λx.M
x6∈ F V (M)y6∈ F V (N) (λy.M )[x←N]≡λy.M [x←N]
x∈F V (M)y∈F V (N) (λy.M )[x←N]≡(λz.M[y←z])[x←N]z
λ
λ
M=N
β
β
(λx.M)N=M[x←N]
=
M=M
M=N
N=M
M=N N =P
M=P
α
α
(λx.M) = λy.M [x←y]
M=N
M Z =N Z
M=N
Z M =Z N
M=N
λx.M =λx.N
C[] M=N C[M] =
C[N]
λ`M=N
M=N
I≡λx.x
K≡λxy.x
K∗≡λxy.y
S≡λxyz.xz(yz).
λ M N P
λ`IM=M
λ`KM N =M
λ`K∗M N =N
λ`SM N P =M P (N P )
λ G λ M
λ`G M =M M.
G≡λx.(x x)
F∈ΛX∈Λ
λ`F X =X.
Y≡λf.(λx.(f(x x)) λx.(f(x x)))
F∈Λ
λ`F(YF) = YF.
W≡λx.(F(x x)) X≡W W
X≡W W ≡(λx.F (x x)) W.
β
(λx.F (x x)) W=F(W W )
F(W W )≡F X.
X F
YF≡(λf.(λx.(f(x x)) λx.(f(x x)))) F,
β
(λf.(λx.(f(x x)) λx.(f(x x)))) F=λx.(F(x x)) λx.(F(x x))
W≡λx.(F(x x)) W W
F
λ`F(YF) = YF.
λ
λ
λ
if cond then expr1 else expr2
True ≡K
False ≡K∗
if
If ≡λbxy.(b x y)
B M N
λ`If B M N =B M N
Bvrai faux
λ`If True M N =M
λ`If False M N =N
And ≡λb1b2.(If b1b2False)
λ
[M, N]λ
[M, N]≡λb.(If b M N)
[M, N]≡λb.(b M N)
Fst ≡λc.(cTrue)
Snd ≡λc.(cFalse)
M N C ≡[M, N]
λ`Fst C=M
λ`Snd C=N
λ
1 / 9 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!