diff options
| -rw-r--r-- | lambda-calcul/haskell/bool.lisp | 5 | ||||
| -rw-r--r-- | lambda-calcul/haskell/fac.lisp | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/lambda-calcul/haskell/bool.lisp b/lambda-calcul/haskell/bool.lisp index 250c38a..7a1215d 100644 --- a/lambda-calcul/haskell/bool.lisp +++ b/lambda-calcul/haskell/bool.lisp @@ -1,5 +1,8 @@ (let ((False (lam (f t) f)) (True (lam (f t) t)) + (Not (lam (b) (b True False))) + (And (lam (a b) (a False b))) + (Or (lam (a b) (a b True))) (If (lam (b x y) (b x y))) (Zero (lam (z s) z)) (Succ (lam (n z s) (s n))) @@ -7,4 +10,4 @@ (Two (Succ One)) (Three (Succ Two)) (IsZero (lam (n) (n True (lam (m) False))))) - (IsZero Two)) + (Or (IsZero One) (IsZero Two))) diff --git a/lambda-calcul/haskell/fac.lisp b/lambda-calcul/haskell/fac.lisp index 549334b..b8b624a 100644 --- a/lambda-calcul/haskell/fac.lisp +++ b/lambda-calcul/haskell/fac.lisp @@ -36,4 +36,4 @@ (n704 (Succ (sumto n37))) (n720 (fac n6)) ) - (eqnat n720 (add n704 n17))) + (eqnat n720 (add n703 n17))) |
