Комбинаторы — это просто!: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 234:
<math>\mathbf{if\ true}\ x\, y \equiv \mathbf I\, \mathbf K\, x\, y\; \stackrel\mathbf I=\; \mathbf K\, x\, y\; \stackrel\mathbf K=\; x</math>.
 
<math>\mathbf{if\ false}\ x\, y \equiv \mathbf I\, (\mathbf K\, \mathbf I)\, x\, y\; \stackrel\mathbf I=\; \mathbf K\, \mathbf I\, x\, y\; \stackrel\mathbf K=\; \mathbf I\, y\; \stackrel\mathbf I=\; y</math>.
 
Как можно видеть, кодирование служебного слова <math>\mathbf{if}</math> вообще не является необходимым — можно вполне обойтись и без него. Сами по себе значения истинности являются условными выражениями, так как возвращают первый или второй операнд в зависимости от своей природы. Поэтому комбинатор <math>\mathbf{if}</math> является тождеством для трёх операндов, первый из которых должен быть значением истинности.