src/ZF/ex/LListFn.thy
changeset 120 09287f26bfb8
parent 0 a5a9c433f639
--- a/src/ZF/ex/LListFn.thy	Mon Nov 15 14:33:40 1993 +0100
+++ b/src/ZF/ex/LListFn.thy	Mon Nov 15 14:41:25 1993 +0100
@@ -4,13 +4,23 @@
     Copyright   1993  University of Cambridge
 
 Functions for Lazy Lists in Zermelo-Fraenkel Set Theory 
+
+STILL NEEDS:
+co_recursion for defining lconst, flip, etc.
+a typing rule for it, based on some notion of "productivity..."
 *)
 
-LListFn = LList +
+LListFn = LList + LList_Eq +
 consts
   lconst   :: "i => i"
+  flip     :: "i => i"
 
 rules
   lconst_def  "lconst(a) == lfp(univ(a), %l. LCons(a,l))"
 
+  flip_LNil   "flip(LNil) = LNil"
+
+  flip_LCons  "[| x:bool; l: llist(bool) |] ==> \
+\              flip(LCons(x,l)) = LCons(not(x), flip(l))"
+
 end