diff -r 22bbc1676768 -r b55686a7b22c src/HOL/Gfp.ML --- a/src/HOL/Gfp.ML Fri Oct 10 18:37:49 1997 +0200 +++ b/src/HOL/Gfp.ML Fri Oct 10 19:02:28 1997 +0200 @@ -73,13 +73,13 @@ - instead of the condition X <= f(X) consider X <= (f(X) Un f(f(X)) ...) Un gfp(X) ***) -val [prem] = goal Gfp.thy "mono(f) ==> mono(%x.f(x) Un X Un B)"; +val [prem] = goal Gfp.thy "mono(f) ==> mono(%x. f(x) Un X Un B)"; by (REPEAT (ares_tac [subset_refl, monoI, Un_mono, prem RS monoD] 1)); qed "coinduct3_mono_lemma"; val [prem,mono] = goal Gfp.thy - "[| X <= f(lfp(%x.f(x) Un X Un gfp(f))); mono(f) |] ==> \ -\ lfp(%x.f(x) Un X Un gfp(f)) <= f(lfp(%x.f(x) Un X Un gfp(f)))"; + "[| X <= f(lfp(%x. f(x) Un X Un gfp(f))); mono(f) |] ==> \ +\ lfp(%x. f(x) Un X Un gfp(f)) <= f(lfp(%x. f(x) Un X Un gfp(f)))"; by (rtac subset_trans 1); by (rtac (mono RS coinduct3_mono_lemma RS lfp_lemma3) 1); by (rtac (Un_least RS Un_least) 1); @@ -92,7 +92,7 @@ qed "coinduct3_lemma"; val prems = goal Gfp.thy - "[| mono(f); a:X; X <= f(lfp(%x.f(x) Un X Un gfp(f))) |] ==> a : gfp(f)"; + "[| mono(f); a:X; X <= f(lfp(%x. f(x) Un X Un gfp(f))) |] ==> a : gfp(f)"; by (rtac (coinduct3_lemma RSN (2,weak_coinduct)) 1); by (resolve_tac (prems RL [coinduct3_mono_lemma RS lfp_Tarski RS ssubst]) 1); by (rtac (UnI2 RS UnI1) 1); @@ -123,7 +123,7 @@ qed "def_Collect_coinduct"; val rew::prems = goal Gfp.thy - "[| A==gfp(f); mono(f); a:X; X <= f(lfp(%x.f(x) Un X Un A)) |] ==> a: A"; + "[| A==gfp(f); mono(f); a:X; X <= f(lfp(%x. f(x) Un X Un A)) |] ==> a: A"; by (rewtac rew); by (REPEAT (ares_tac (map (rewrite_rule [rew]) prems @ [coinduct3]) 1)); qed "def_coinduct3";