week9 tweak
[lambda.git] / hints / assignment_7_hint_5.mdwn
index 2e7808a..acbc901 100644 (file)
@@ -1,4 +1,3 @@
-
 *      How shall we handle \[[∃x]]? As we said, GS&V really tell us how to interpret \[[∃xPx]], but for our purposes, what they say about this can be broken naturally into two pieces, such that we represent the update of our starting set `u` with \[[∃xPx]] as:
 
        <pre><code>u >>= \[[&exist;x]] >>= \[[Px]]
@@ -50,7 +49,7 @@
        <pre><code>bind_set (bind_set u \[[&exist;x]]) \[[Px]]
        </code></pre>
 
-*      Let's compare this to what \[[&exist;xPx]] would look like on a non-dynamic semantics, for example, where we use a simple reader monad to implement variable binding. Reminding ourselves, we'd be working in a framework like this. (Here we implement environments or assignments as functions from variables to entities, instead of as lists of pairs of variables and entities. An assignment `r` here is what `fun c -> List.assoc c r` would have been in [week6](
+*      Let's compare this to what \[[&exist;xPx]] would look like on a non-dynamic semantics, for example, where we use a simple reader monad to implement variable binding. Reminding ourselves, we'd be working in a framework like this. (Here we implement environments or assignments as functions from variables to entities, instead of as lists of pairs of variables and entities. An assignment `r` here is what `fun c -> List.assoc c r` would have been in [week7](
 /reader_monad_for_variable_binding).)
  
                type assignment = char -> entity;;
                        
        That would be the meaning of \[[&exist;]], which we'd use like this:
 
-       <pre><code>\[[&exist;]] \[[Q]]
+       <pre><code>\[[&exist;]] ( \[[Q]] )
        </code></pre>
 
        or this: