src/CCL/ex/Stream.thy
 changeset 27208 5fe899199f85 parent 23894 1a4167d761ac child 35762 af3ff2ba4c54
--- a/src/CCL/ex/Stream.thy	Sat Jun 14 17:49:24 2008 +0200
+++ b/src/CCL/ex/Stream.thy	Sat Jun 14 23:19:51 2008 +0200
@@ -32,7 +32,7 @@
lemma map_comp:
assumes 1: "l:Lists(A)"
shows "map(f o g,l) = map(f,map(g,l))"
-  apply (tactic {* eq_coinduct3_tac
+  apply (tactic {* eq_coinduct3_tac @{context}
"{p. EX x y. p=<x,y> & (EX l:Lists (A) .x=map (f o g,l) & y=map (f,map (g,l)))}" 1 *})
apply (blast intro: 1)
apply safe
@@ -46,7 +46,7 @@
lemma map_id:
assumes 1: "l:Lists(A)"
shows "map(%x. x,l) = l"
-  apply (tactic {* eq_coinduct3_tac
+  apply (tactic {* eq_coinduct3_tac @{context}
"{p. EX x y. p=<x,y> & (EX l:Lists (A) .x=map (%x. x,l) & y=l) }" 1 *})
apply (blast intro: 1)
apply safe
@@ -62,7 +62,7 @@
assumes "l:Lists(A)"
and "m:Lists(A)"
shows "map(f,l@m) = map(f,l) @ map(f,m)"
-  apply (tactic {* eq_coinduct3_tac
+  apply (tactic {* eq_coinduct3_tac @{context}
"{p. EX x y. p=<x,y> & (EX l:Lists (A). EX m:Lists (A). x=map (f,l@m) & y=map (f,l) @ map (f,m))}" 1 *})
apply (blast intro: prems)
apply safe
@@ -81,7 +81,7 @@
and "l:Lists(A)"
and "m:Lists(A)"
shows "k @ l @ m = (k @ l) @ m"
-  apply (tactic {* eq_coinduct3_tac
+  apply (tactic {* eq_coinduct3_tac @{context}
"{p. EX x y. p=<x,y> & (EX k:Lists (A). EX l:Lists (A). EX m:Lists (A). x=k @ l @ m & y= (k @ l) @ m) }" 1*})
apply (blast intro: prems)
apply safe
@@ -99,7 +99,7 @@
lemma ilist_append:
assumes "l:ILists(A)"
shows "l @ m = l"
-  apply (tactic {* eq_coinduct3_tac
+  apply (tactic {* eq_coinduct3_tac @{context}
"{p. EX x y. p=<x,y> & (EX l:ILists (A) .EX m. x=l@m & y=l)}" 1 *})
apply (blast intro: prems)
apply safe
@@ -133,7 +133,7 @@
done

lemma iter1_iter2_eq: "iter1(f,a) = iter2(f,a)"
-  apply (tactic {* eq_coinduct3_tac
+  apply (tactic {* eq_coinduct3_tac @{context}
"{p. EX x y. p=<x,y> & (EX n:Nat. x=iter1 (f,f^n`a) & y=map (f) ^n`iter2 (f,a))}" 1*})
apply (fast intro!: napplyBzero [symmetric] napplyBzero [symmetric, THEN arg_cong])
apply (tactic {* EQgen_tac @{context} [thm "iter1B", thm "iter2Blemma"] 1 *})