Книга, которую вы упомянули в Barendregt, чрезвычайно формальна и точна (отличная книга), поэтому было бы неплохо получить точное изложение упражнения.
Я полагаю, что реальная цель состояла в том, чтобы найти экземпляры для x, y и z, которые бы
x (y z) сводится к логическому значению true = \ xy.x, а (x y) z сводится к логическому значению false = \ xy.y
Тогда вы можете взять, например, x = \ z.true и z = I = \ z.z (y произвольно).
Но как мы можем доказать, что истина не преобразуется в ложь? У вас нет возможности доказать это внутри исчисления, поскольку у вас нет отрицания: вы можете доказать только равенства, а не неравенства. Однако заметим, что если true = false, то все члены равны.
Действительно, для любых M и N, если true = false, тогда
true M N = false M N
но истинное M N уменьшается до M, в то время как ложное M N уменьшается до N, поэтому
M = N
Следовательно, если true = false, все члены будут равны, и исчисление будет тривиальным. Поскольку мы не можем найти нетривиальные модели лямбда-исчисления, нет таких
модель может приравнивать истину и ложь (в более широком смысле могут приравнивать термины к различным нормальным формам, что потребовало бы от нас говорить о технике Бум-аута).