Для кодирования значений true и false можно использовать любые неравные лямбда-термы, но удобнее определить их следующим образом:
true
λх у. х
false
λх у. у
Используя эти определения, можно определить условное выражение:
if Е then E1 else Е2
Е Е1Е2.
Действительно при Е = true имеем:
if true then E 1 else E 2
true E 1 E 2
= (λx у. х) E 1 E 2
= E 1
а при Е = false получаем
if false then E 1 else E 2 = true E 1 E 2
Определим стандартные логические операторы:
not р
if р then false else true
p and q
if p then q else false
p or q
if p then true else q






