X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=test2.mdwn;h=58a2a03f5609138cfbd0f38e7772b03af742e793;hp=1ac561a5becd0a38affef1c7817c6b8e933477d0;hb=50310689cd104b8cbabc3ac3bb621b1086fcdd3c;hpb=f7a2d25e83e11943a2be9b40dbce31b40ca0d66f diff --git a/test2.mdwn b/test2.mdwn index 1ac561a5..58a2a03f 100644 --- a/test2.mdwn +++ b/test2.mdwn @@ -285,18 +285,16 @@ It's possible to enhance the lambda calculus so that functions do get identified It's often said that dynamic systems are distinguished because they are the ones in which **order matters**. However, there are many ways in which order can matter. If we have a trivalent boolean system, for example---easily had in a purely functional calculus---we might choose to give a truth-table like this for "and": -

-true and true   = true
-true and true   = true
-true and *      = *
-true and false  = false
-* and true      = *
-* and *         = *
-* and false     = *
-false and true  = false
-false and *     = false
-false and false = false
-
+ true and true = true + true and true = true + true and * = * + true and false = false + * and true = * + * and * = * + * and false = * + false and true = false + false and * = false + false and false = false And then we'd notice that `* and false` has a different intepretation than `false and *`. (The same phenomenon is already present with the material conditional in bivalent logics; but seeing that a non-symmetric semantics for `and` is available even for functional languages is instructive.)