Boole cebri, bu şekilde (örneğin) türetilmemiş lambda hesabında ifade edilebilir .
true = \t. \f. t;
false = \t. \f. t;
not = \x. x false true;
and = \x. \y. x y false;
or = \x. \y. x true y;
Ayrıca boolean cebir Sistem F kodlanmış olabilir bu şekilde :
CBool = All X.X -> X -> X;
true = \X. \t:X. \f:X. t;
false = \X. \t:X. \f:X. f;
not = \x:CBool. x [CBool] false true;
and = \x:CBool. \y:CBool. x [CBool] y false;
or = \x:CBool. \y:CBool. x [CBool] true y;
Basitçe yazılmış lambda hesabında boole cebirini ifade etmenin bir yolu var mı? Cevabın HAYIR olduğunu varsayıyorum. ( Örneğin, Öncül ve listeler basitçe yazılan lambda hesabında temsil edilemez .) Cevap gerçekten HAYIR ise, basit bir sezgisel açıklama var, neden basit yazılan lambda hesabında booleanları kodlamak imkansızdır?
GÜNCELLEME: Baz tipleri olduğunu varsayıyoruz.
GÜNCELLEME: Açıklamanın olumsuz yanıtı burada bulundu (Yorum "İşte ürünlere ve sonsuz sayıda baz tipine sahip basit tipli lambda hesabının boole içermediğini gösteren bir kanıt taslağı.") Aradığım şey bu.