post assignment7
[lambda.git] / reader_monad_for_intensionality.mdwn
index d10d747..4159f84 100644 (file)
@@ -129,8 +129,9 @@ extensional in both of its syntactic arguments:
     saw bill ann 1;; (* true: Ann saw Bill in world 1 *)
     saw bill ann 2;; (* false: no one saw anyone in world 2 *)
 
     saw bill ann 1;; (* true: Ann saw Bill in world 1 *)
     saw bill ann 2;; (* false: no one saw anyone in world 2 *)
 
-This intensionalized version of *see* coincides with the `saw1`
-function we defined above for world 1; in world 2, no one saw anyone.
+This (again, partially) intensionalized version of *see* coincides
+with the `saw1` function we defined above for world 1; in world 2, no
+one saw anyone.
 
 Just to keep things straight, let's review the facts:
 
 
 Just to keep things straight, let's review the facts:
 
@@ -175,9 +176,9 @@ its arguments to take intensional arguments:
     let lift2' f u v = bind u (fun x -> bind v (fun y -> f x y));;
 
 This is almost the same `lift2` predicate we defined in order to allow
     let lift2' f u v = bind u (fun x -> bind v (fun y -> f x y));;
 
 This is almost the same `lift2` predicate we defined in order to allow
-addition in our division monad example; the difference is that this
+addition in our division monad example.  The difference is that this
 variant operates on verb meanings that take extensional arguments but
 variant operates on verb meanings that take extensional arguments but
-returns an intensional result.  The original `lift2` predicate 
+returns an intensional result.  Thus the original `lift2` predicate
 has `unit (f x y)` where we have just `f x y` here.
   
 The use of `bind` here to combine *left* with an individual concept,
 has `unit (f x y)` where we have just `f x y` here.
   
 The use of `bind` here to combine *left* with an individual concept,