Булевские значения и условия

Для кодирования значений 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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: