X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=hints%2Fassignment_7_hint_6.mdwn;fp=hints%2Fassignment_7_hint_6.mdwn;h=e30514b5e0964c93eb7ed8d5671566921fefe16a;hp=0000000000000000000000000000000000000000;hb=26574827b88c32f00baaf941c4eac1aaebac839d;hpb=c0d0fef36aacfcb9e66c43b39281491f44757850 diff --git a/hints/assignment_7_hint_6.mdwn b/hints/assignment_7_hint_6.mdwn new file mode 100644 index 00000000..e30514b5 --- /dev/null +++ b/hints/assignment_7_hint_6.mdwn @@ -0,0 +1,16 @@ + +* In def 3.1 on p. 14, GS&V define `s` updated with \[[not φ]] as: + + > { i &elem; s | i does not subsist in s[φ] } + + where `i` *subsists* in s[φ] if there are any `i'` that *extend* `i` in s[φ]. + + Here's how we can represent that: + +
bind_set s (fun (r, h) ->
+			let u = unit_set (r, h)
+			in let descendents = u >>= \[[φ]]
+			in if descendents = empty_set then u else empty_set
+		
+ +