expanded tabs
authorclasohm
Tue, 30 Jan 1996 13:42:57 +0100
changeset 1461 6bcb44e4d6e5
parent 1460 5a6f2aabd538
child 1462 d991b56cc52a
expanded tabs
src/HOLCF/Cfun1.ML
src/HOLCF/Cfun2.ML
src/HOLCF/Cfun3.ML
src/HOLCF/Cont.ML
src/HOLCF/Cprod1.ML
src/HOLCF/Cprod2.ML
src/HOLCF/Cprod3.ML
src/HOLCF/Fix.ML
src/HOLCF/Fun1.ML
src/HOLCF/Fun2.ML
src/HOLCF/Fun3.ML
src/HOLCF/HOLCF.ML
src/HOLCF/Holcfb.ML
src/HOLCF/Lift1.ML
src/HOLCF/Lift2.ML
src/HOLCF/Lift3.ML
src/HOLCF/One.ML
src/HOLCF/Pcpo.ML
src/HOLCF/Porder.ML
src/HOLCF/ROOT.ML
src/HOLCF/Sprod0.ML
src/HOLCF/Sprod1.ML
src/HOLCF/Sprod2.ML
src/HOLCF/Sprod3.ML
src/HOLCF/Ssum0.ML
src/HOLCF/Ssum1.ML
src/HOLCF/Ssum2.ML
src/HOLCF/Ssum3.ML
src/HOLCF/Tr1.ML
src/HOLCF/Tr2.ML
src/HOLCF/Void.ML
src/HOLCF/ax_ops/thy_ops.ML
src/HOLCF/ax_ops/thy_syntax.ML
src/HOLCF/ccc1.ML
src/HOLCF/domain/axioms.ML
src/HOLCF/domain/extender.ML
src/HOLCF/domain/interface.ML
src/HOLCF/domain/library.ML
src/HOLCF/domain/syntax.ML
src/HOLCF/domain/theorems.ML
src/HOLCF/ex/Fix2.ML
src/HOLCF/ex/Hoare.ML
src/HOLCF/ex/Loop.ML
src/HOLCF/ex/ROOT.ML
src/HOLCF/ex/loeckx.ML
src/HOLCF/explicit_domains/Coind.ML
src/HOLCF/explicit_domains/Dagstuhl.ML
src/HOLCF/explicit_domains/Dlist.ML
src/HOLCF/explicit_domains/Dnat.ML
src/HOLCF/explicit_domains/Dnat2.ML
src/HOLCF/explicit_domains/Focus_ex.ML
src/HOLCF/explicit_domains/ROOT.ML
src/HOLCF/explicit_domains/Stream.ML
src/HOLCF/explicit_domains/Stream2.ML
src/LCF/LCF.ML
src/LCF/ROOT.ML
src/LCF/fix.ML
src/LCF/pair.ML
src/LCF/simpdata.ML
src/LK/LK.ML
src/LK/ROOT.ML
src/LK/ex/ROOT.ML
src/LK/ex/hardquant.ML
src/LK/ex/prop.ML
src/LK/ex/quant.ML
src/Modal/ROOT.ML
src/Modal/ex/ROOT.ML
src/Modal/ex/S43thms.ML
src/Modal/ex/S4thms.ML
src/Modal/ex/Tthms.ML
src/Modal/prover.ML
src/ZF/AC.ML
src/ZF/AC/AC0_AC1.ML
src/ZF/AC/AC10_AC15.ML
src/ZF/AC/AC15_WO6.ML
src/ZF/AC/AC16_WO4.ML
src/ZF/AC/AC16_lemmas.ML
src/ZF/AC/AC17_AC1.ML
src/ZF/AC/AC18_AC19.ML
src/ZF/AC/AC1_AC17.ML
src/ZF/AC/AC1_WO2.ML
src/ZF/AC/AC2_AC6.ML
src/ZF/AC/AC7_AC9.ML
src/ZF/AC/AC_Equiv.ML
src/ZF/AC/Cardinal_aux.ML
src/ZF/AC/DC.ML
src/ZF/AC/DC_lemmas.ML
src/ZF/AC/HH.ML
src/ZF/AC/Hartog.ML
src/ZF/AC/OrdQuant.ML
src/ZF/AC/ROOT.ML
src/ZF/AC/Transrec2.ML
src/ZF/AC/WO1_AC.ML
src/ZF/AC/WO1_WO6.ML
src/ZF/AC/WO1_WO7.ML
src/ZF/AC/WO1_WO8.ML
src/ZF/AC/WO2_AC16.ML
src/ZF/AC/WO6_WO1.ML
src/ZF/AC/WO_AC.ML
src/ZF/AC/first.ML
src/ZF/AC/recfunAC16.ML
src/ZF/AC/rel_is_fun.ML
src/ZF/Arith.ML
src/ZF/Bool.ML
src/ZF/Cardinal.ML
src/ZF/CardinalArith.ML
src/ZF/Cardinal_AC.ML
src/ZF/Coind/ECR.ML
src/ZF/Coind/Language.ML
src/ZF/Coind/MT.ML
src/ZF/Coind/Map.ML
src/ZF/Coind/ROOT.ML
src/ZF/Coind/Static.ML
src/ZF/Coind/Types.ML
src/ZF/Coind/Values.ML
src/ZF/Datatype.ML
src/ZF/Epsilon.ML
src/ZF/EquivClass.ML
src/ZF/Finite.ML
src/ZF/Fixedpt.ML
src/ZF/IMP/Com.ML
src/ZF/IMP/Denotation.ML
src/ZF/IMP/Equiv.ML
src/ZF/IMP/ROOT.ML
src/ZF/Inductive.ML
src/ZF/InfDatatype.ML
src/ZF/Let.ML
src/ZF/List.ML
src/ZF/Nat.ML
src/ZF/Order.ML
src/ZF/OrderArith.ML
src/ZF/OrderType.ML
src/ZF/Ordinal.ML
src/ZF/Perm.ML
src/ZF/QPair.ML
src/ZF/QUniv.ML
src/ZF/ROOT.ML
src/ZF/Rel.ML
src/ZF/Resid/Confluence.ML
src/ZF/Resid/Conversion.ML
src/ZF/Resid/Cube.ML
src/ZF/Resid/ROOT.ML
src/ZF/Resid/Redex.ML
src/ZF/Resid/Reduction.ML
src/ZF/Resid/Residuals.ML
src/ZF/Resid/SubUnion.ML
src/ZF/Resid/Substitution.ML
src/ZF/Resid/Terms.ML
src/ZF/Sum.ML
src/ZF/Trancl.ML
src/ZF/Univ.ML
src/ZF/WF.ML
src/ZF/ZF.ML
src/ZF/Zorn.ML
src/ZF/add_ind_def.ML
src/ZF/constructor.ML
src/ZF/domrange.ML
src/ZF/equalities.ML
src/ZF/ex/Acc.ML
src/ZF/ex/BT.ML
src/ZF/ex/Bin.ML
src/ZF/ex/Brouwer.ML
src/ZF/ex/CoUnit.ML
src/ZF/ex/Comb.ML
src/ZF/ex/Data.ML
src/ZF/ex/Enum.ML
src/ZF/ex/Integ.ML
src/ZF/ex/LList.ML
src/ZF/ex/Limit.ML
src/ZF/ex/ListN.ML
src/ZF/ex/Ntree.ML
src/ZF/ex/Primrec.ML
src/ZF/ex/PropLog.ML
src/ZF/ex/ROOT.ML
src/ZF/ex/Ramsey.ML
src/ZF/ex/Rmap.ML
src/ZF/ex/TF.ML
src/ZF/ex/Term.ML
src/ZF/ex/misc.ML
src/ZF/ex/twos_compl.ML
src/ZF/func.ML
src/ZF/ind_syntax.ML
src/ZF/indrule.ML
src/ZF/intr_elim.ML
src/ZF/mono.ML
src/ZF/pair.ML
src/ZF/simpdata.ML
src/ZF/subset.ML
src/ZF/thy_syntax.ML
src/ZF/upair.ML
--- a/src/HOLCF/Cfun1.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Cfun1.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/cfun1.ML
+(*  Title:      HOLCF/cfun1.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for cfun1.thy 
@@ -14,10 +14,10 @@
 
 qed_goalw "CfunI" Cfun1.thy [Cfun_def] "(% x.x):Cfun"
  (fn prems =>
-	[
-	(rtac (mem_Collect_eq RS ssubst) 1),
-	(rtac cont_id 1)
-	]);
+        [
+        (rtac (mem_Collect_eq RS ssubst) 1),
+        (rtac cont_id 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -26,60 +26,60 @@
 
 qed_goalw "refl_less_cfun" Cfun1.thy [less_cfun_def] "less_cfun f f"
 (fn prems =>
-	[
-	(rtac refl_less 1)
-	]);
+        [
+        (rtac refl_less 1)
+        ]);
 
 qed_goalw "antisym_less_cfun" Cfun1.thy [less_cfun_def] 
-	"[|less_cfun f1 f2; less_cfun f2 f1|] ==> f1 = f2"
+        "[|less_cfun f1 f2; less_cfun f2 f1|] ==> f1 = f2"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac injD 1),
-	(rtac antisym_less 2),
-	(atac 3),
-	(atac 2),
-	(rtac inj_inverseI 1),
-	(rtac Rep_Cfun_inverse 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac injD 1),
+        (rtac antisym_less 2),
+        (atac 3),
+        (atac 2),
+        (rtac inj_inverseI 1),
+        (rtac Rep_Cfun_inverse 1)
+        ]);
 
 qed_goalw "trans_less_cfun" Cfun1.thy [less_cfun_def] 
-	"[|less_cfun f1 f2; less_cfun f2 f3|] ==> less_cfun f1 f3"
+        "[|less_cfun f1 f2; less_cfun f2 f3|] ==> less_cfun f1 f3"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac trans_less 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac trans_less 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* lemmas about application of continuous functions                         *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "cfun_cong" Cfun1.thy 
-	 "[| f=g; x=y |] ==> f`x = g`y"
+         "[| f=g; x=y |] ==> f`x = g`y"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 qed_goal "cfun_fun_cong" Cfun1.thy "f=g ==> f`x = g`x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac cfun_cong 1),
-	(rtac refl 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac cfun_cong 1),
+        (rtac refl 1)
+        ]);
 
 qed_goal "cfun_arg_cong" Cfun1.thy "x=y ==> f`x = f`y"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac cfun_cong 1),
-	(rtac refl 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac cfun_cong 1),
+        (rtac refl 1),
+        (atac 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -88,37 +88,37 @@
 
 qed_goal "Abs_Cfun_inverse2" Cfun1.thy "cont(f) ==> fapp(fabs(f)) = f"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac Abs_Cfun_inverse 1),
-	(rewrite_goals_tac [Cfun_def]),
-	(etac (mem_Collect_eq RS ssubst) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac Abs_Cfun_inverse 1),
+        (rewtac Cfun_def),
+        (etac (mem_Collect_eq RS ssubst) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* simplification of application                                            *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "Cfunapp2" Cfun1.thy 
-	"cont(f) ==> (fabs f)`x = f x"
+        "cont(f) ==> (fabs f)`x = f x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac (Abs_Cfun_inverse2 RS fun_cong) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac (Abs_Cfun_inverse2 RS fun_cong) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* beta - equality for continuous functions                                 *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "beta_cfun" Cfun1.thy 
-	"cont(c1) ==> (LAM x .c1 x)`u = c1 u"
+        "cont(c1) ==> (LAM x .c1 x)`u = c1 u"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac Cfunapp2 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac Cfunapp2 1),
+        (atac 1)
+        ]);
 
 
 
--- a/src/HOLCF/Cfun2.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Cfun2.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/cfun2.thy
+(*  Title:      HOLCF/cfun2.thy
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for cfun2.thy 
@@ -14,11 +14,11 @@
 
 qed_goal "less_cfun" Cfun2.thy "( f1 << f2 ) = (fapp(f1) << fapp(f2))"
 (fn prems =>
-	[
-	(rtac (inst_cfun_po RS ssubst) 1),
-	(fold_goals_tac [less_cfun_def]),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (inst_cfun_po RS ssubst) 1),
+        (fold_goals_tac [less_cfun_def]),
+        (rtac refl 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* Type 'a ->'b  is pointed                                                 *)
@@ -26,13 +26,13 @@
 
 qed_goalw "minimal_cfun" Cfun2.thy [UU_cfun_def] "UU_cfun << f"
 (fn prems =>
-	[
-	(rtac (less_cfun RS ssubst) 1),
-	(rtac (Abs_Cfun_inverse2 RS ssubst) 1),
-	(rtac cont_const 1),
-	(fold_goals_tac [UU_fun_def]),
-	(rtac minimal_fun 1)
-	]);
+        [
+        (rtac (less_cfun RS ssubst) 1),
+        (rtac (Abs_Cfun_inverse2 RS ssubst) 1),
+        (rtac cont_const 1),
+        (fold_goals_tac [UU_fun_def]),
+        (rtac minimal_fun 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* fapp yields continuous functions in 'a => 'b                             *)
@@ -42,11 +42,11 @@
 
 qed_goal "cont_fapp2" Cfun2.thy "cont(fapp(fo))"
 (fn prems =>
-	[
-	(res_inst_tac [("P","cont")] CollectD 1),
-	(fold_goals_tac [Cfun_def]),
-	(rtac Rep_Cfun 1)
-	]);
+        [
+        (res_inst_tac [("P","cont")] CollectD 1),
+        (fold_goals_tac [Cfun_def]),
+        (rtac Rep_Cfun 1)
+        ]);
 
 val monofun_fapp2 = cont_fapp2 RS cont2mono;
 (* monofun(fapp(?fo1)) *)
@@ -73,10 +73,10 @@
 
 qed_goalw "monofun_fapp1" Cfun2.thy [monofun] "monofun(fapp)"
 (fn prems =>
-	[
-	(strip_tac 1),
-	(etac (less_cfun RS subst) 1)
-	]);
+        [
+        (strip_tac 1),
+        (etac (less_cfun RS subst) 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -85,12 +85,12 @@
 
 qed_goal "monofun_cfun_fun" Cfun2.thy  "f1 << f2 ==> f1`x << f2`x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("x","x")] spec 1),
-	(rtac (less_fun RS subst) 1),
-	(etac (monofun_fapp1 RS monofunE RS spec RS spec RS mp) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("x","x")] spec 1),
+        (rtac (less_fun RS subst) 1),
+        (etac (monofun_fapp1 RS monofunE RS spec RS spec RS mp) 1)
+        ]);
 
 
 val monofun_cfun_arg = (monofun_fapp2 RS monofunE RS spec RS spec RS mp);
@@ -101,14 +101,14 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "monofun_cfun" Cfun2.thy
-	"[|f1<<f2;x1<<x2|] ==> f1`x1 << f2`x2"
+        "[|f1<<f2;x1<<x2|] ==> f1`x1 << f2`x2"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac trans_less 1),
-	(etac monofun_cfun_arg 1),
-	(etac monofun_cfun_fun 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac trans_less 1),
+        (etac monofun_cfun_arg 1),
+        (etac monofun_cfun_fun 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -119,10 +119,10 @@
 qed_goal "ch2ch_fappR" Cfun2.thy 
  "is_chain(Y) ==> is_chain(%i. f`(Y i))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac (monofun_fapp2 RS ch2ch_MF2R) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac (monofun_fapp2 RS ch2ch_MF2R) 1)
+        ]);
 
 
 val ch2ch_fappL = (monofun_fapp1 RS ch2ch_MF2L);
@@ -135,15 +135,15 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "lub_cfun_mono" Cfun2.thy 
-	"is_chain(F) ==> monofun(% x.lub(range(% j.(F j)`x)))"
+        "is_chain(F) ==> monofun(% x.lub(range(% j.(F j)`x)))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac lub_MF2_mono 1),
-	(rtac monofun_fapp1 1),
-	(rtac (monofun_fapp2 RS allI) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac lub_MF2_mono 1),
+        (rtac monofun_fapp1 1),
+        (rtac (monofun_fapp2 RS allI) 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* a lemma about the exchange of lubs for type 'a -> 'b                     *)
@@ -151,37 +151,37 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "ex_lubcfun" Cfun2.thy
-	"[| is_chain(F); is_chain(Y) |] ==>\
-\		lub(range(%j. lub(range(%i. F(j)`(Y i))))) =\
-\		lub(range(%i. lub(range(%j. F(j)`(Y i)))))"
+        "[| is_chain(F); is_chain(Y) |] ==>\
+\               lub(range(%j. lub(range(%i. F(j)`(Y i))))) =\
+\               lub(range(%i. lub(range(%j. F(j)`(Y i)))))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac ex_lubMF2 1),
-	(rtac monofun_fapp1 1),
-	(rtac (monofun_fapp2 RS allI) 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac ex_lubMF2 1),
+        (rtac monofun_fapp1 1),
+        (rtac (monofun_fapp2 RS allI) 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* the lub of a chain of cont. functions is continuous                      *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "cont_lubcfun" Cfun2.thy 
-	"is_chain(F) ==> cont(% x.lub(range(% j.F(j)`x)))"
+        "is_chain(F) ==> cont(% x.lub(range(% j.F(j)`x)))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac monocontlub2cont 1),
-	(etac lub_cfun_mono 1),
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac (contlub_cfun_arg RS ext RS ssubst) 1),
-	(atac 1),
-	(etac ex_lubcfun 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac monocontlub2cont 1),
+        (etac lub_cfun_mono 1),
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac (contlub_cfun_arg RS ext RS ssubst) 1),
+        (atac 1),
+        (etac ex_lubcfun 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* type 'a -> 'b is chain complete                                          *)
@@ -190,25 +190,25 @@
 qed_goal "lub_cfun" Cfun2.thy 
   "is_chain(CCF) ==> range(CCF) <<| (LAM x.lub(range(% i.CCF(i)`x)))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_lubI 1),
-	(rtac conjI 1),
-	(rtac ub_rangeI 1),  
-	(rtac allI 1),
-	(rtac (less_cfun RS ssubst) 1),
-	(rtac (Abs_Cfun_inverse2 RS ssubst) 1),
-	(etac cont_lubcfun 1),
-	(rtac (lub_fun RS is_lubE RS conjunct1 RS ub_rangeE RS spec) 1),
-	(etac (monofun_fapp1 RS ch2ch_monofun) 1),
-	(strip_tac 1),
-	(rtac (less_cfun RS ssubst) 1),
-	(rtac (Abs_Cfun_inverse2 RS ssubst) 1),
-	(etac cont_lubcfun 1),
-	(rtac (lub_fun RS is_lubE RS conjunct2 RS spec RS mp) 1),
-	(etac (monofun_fapp1 RS ch2ch_monofun) 1),
-	(etac (monofun_fapp1 RS ub2ub_monofun) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_lubI 1),
+        (rtac conjI 1),
+        (rtac ub_rangeI 1),  
+        (rtac allI 1),
+        (rtac (less_cfun RS ssubst) 1),
+        (rtac (Abs_Cfun_inverse2 RS ssubst) 1),
+        (etac cont_lubcfun 1),
+        (rtac (lub_fun RS is_lubE RS conjunct1 RS ub_rangeE RS spec) 1),
+        (etac (monofun_fapp1 RS ch2ch_monofun) 1),
+        (strip_tac 1),
+        (rtac (less_cfun RS ssubst) 1),
+        (rtac (Abs_Cfun_inverse2 RS ssubst) 1),
+        (etac cont_lubcfun 1),
+        (rtac (lub_fun RS is_lubE RS conjunct2 RS spec RS mp) 1),
+        (etac (monofun_fapp1 RS ch2ch_monofun) 1),
+        (etac (monofun_fapp1 RS ub2ub_monofun) 1)
+        ]);
 
 val thelub_cfun = (lub_cfun RS thelubI);
 (* 
@@ -218,11 +218,11 @@
 qed_goal "cpo_cfun" Cfun2.thy 
   "is_chain(CCF::nat=>('a::pcpo->'b::pcpo)) ==> ? x. range(CCF) <<| x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac exI 1),
-	(etac lub_cfun 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac exI 1),
+        (etac lub_cfun 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -231,29 +231,29 @@
 
 qed_goal "ext_cfun" Cfun1.thy "(!!x. f`x = g`x) ==> f = g"
  (fn prems =>
-	[
-	(res_inst_tac [("t","f")] (Rep_Cfun_inverse RS subst) 1),
-	(res_inst_tac [("t","g")] (Rep_Cfun_inverse RS subst) 1),
-	(res_inst_tac [("f","fabs")] arg_cong 1),
-	(rtac ext 1),
-	(resolve_tac prems 1)
-	]);
+        [
+        (res_inst_tac [("t","f")] (Rep_Cfun_inverse RS subst) 1),
+        (res_inst_tac [("t","g")] (Rep_Cfun_inverse RS subst) 1),
+        (res_inst_tac [("f","fabs")] arg_cong 1),
+        (rtac ext 1),
+        (resolve_tac prems 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* Monotonicity of fabs                                                     *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "semi_monofun_fabs" Cfun2.thy 
-	"[|cont(f);cont(g);f<<g|]==>fabs(f)<<fabs(g)"
+        "[|cont(f);cont(g);f<<g|]==>fabs(f)<<fabs(g)"
  (fn prems =>
-	[
-	(rtac (less_cfun RS iffD2) 1),
-	(rtac (Abs_Cfun_inverse2 RS ssubst) 1),
-	(resolve_tac prems 1),
-	(rtac (Abs_Cfun_inverse2 RS ssubst) 1),
-	(resolve_tac prems 1),
-	(resolve_tac prems 1)
-	]);
+        [
+        (rtac (less_cfun RS iffD2) 1),
+        (rtac (Abs_Cfun_inverse2 RS ssubst) 1),
+        (resolve_tac prems 1),
+        (rtac (Abs_Cfun_inverse2 RS ssubst) 1),
+        (resolve_tac prems 1),
+        (resolve_tac prems 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* Extenionality wrt. << in 'a -> 'b                                        *)
@@ -261,15 +261,15 @@
 
 qed_goal "less_cfun2" Cfun2.thy "(!!x. f`x << g`x) ==> f << g"
  (fn prems =>
-	[
-	(res_inst_tac [("t","f")] (Rep_Cfun_inverse RS subst) 1),
-	(res_inst_tac [("t","g")] (Rep_Cfun_inverse RS subst) 1),
-	(rtac semi_monofun_fabs 1),
-	(rtac cont_fapp2 1),
-	(rtac cont_fapp2 1),
-	(rtac (less_fun RS iffD2) 1),
-	(rtac allI 1),
-	(resolve_tac prems 1)
-	]);
+        [
+        (res_inst_tac [("t","f")] (Rep_Cfun_inverse RS subst) 1),
+        (res_inst_tac [("t","g")] (Rep_Cfun_inverse RS subst) 1),
+        (rtac semi_monofun_fabs 1),
+        (rtac cont_fapp2 1),
+        (rtac cont_fapp2 1),
+        (rtac (less_fun RS iffD2) 1),
+        (rtac allI 1),
+        (resolve_tac prems 1)
+        ]);
 
 
--- a/src/HOLCF/Cfun3.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Cfun3.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/cfun3.ML
+(*  Title:      HOLCF/cfun3.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 *)
 
@@ -12,19 +12,19 @@
 
 qed_goal "contlub_fapp1" Cfun3.thy "contlub(fapp)"
 (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac (expand_fun_eq RS iffD2) 1),
-	(strip_tac 1),
-	(rtac (thelub_cfun RS ssubst) 1),
-	(atac 1),
-	(rtac (Cfunapp2 RS ssubst) 1),
-	(etac cont_lubcfun 1),
-	(rtac (thelub_fun RS ssubst) 1),
-	(etac (monofun_fapp1 RS ch2ch_monofun) 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac (expand_fun_eq RS iffD2) 1),
+        (strip_tac 1),
+        (rtac (thelub_cfun RS ssubst) 1),
+        (atac 1),
+        (rtac (Cfunapp2 RS ssubst) 1),
+        (etac cont_lubcfun 1),
+        (rtac (thelub_fun RS ssubst) 1),
+        (etac (monofun_fapp1 RS ch2ch_monofun) 1),
+        (rtac refl 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -33,11 +33,11 @@
 
 qed_goal "cont_fapp1" Cfun3.thy "cont(fapp)"
 (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_fapp1 1),
-	(rtac contlub_fapp1 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_fapp1 1),
+        (rtac contlub_fapp1 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -48,26 +48,26 @@
 "is_chain(FY) ==>\
 \ lub(range FY)`x = lub(range (%i.FY(i)`x))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac trans 1),
-	(etac (contlub_fapp1 RS contlubE RS spec RS mp RS fun_cong) 1),
-	(rtac (thelub_fun RS ssubst) 1),
-	(etac (monofun_fapp1 RS ch2ch_monofun) 1),
-	(rtac refl 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac trans 1),
+        (etac (contlub_fapp1 RS contlubE RS spec RS mp RS fun_cong) 1),
+        (rtac (thelub_fun RS ssubst) 1),
+        (etac (monofun_fapp1 RS ch2ch_monofun) 1),
+        (rtac refl 1)
+        ]);
 
 
 qed_goal "cont_cfun_fun" Cfun3.thy 
 "is_chain(FY) ==>\
 \ range(%i.FY(i)`x) <<| lub(range FY)`x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac thelubE 1),
-	(etac ch2ch_fappL 1),
-	(etac (contlub_cfun_fun RS sym) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac thelubE 1),
+        (etac ch2ch_fappL 1),
+        (etac (contlub_cfun_fun RS sym) 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -78,31 +78,31 @@
 "[|is_chain(FY);is_chain(TY)|] ==>\
 \ (lub(range FY))`(lub(range TY)) = lub(range(%i.FY(i)`(TY i)))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac contlub_CF2 1),
-	(rtac cont_fapp1 1),
-	(rtac allI 1),
-	(rtac cont_fapp2 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac contlub_CF2 1),
+        (rtac cont_fapp1 1),
+        (rtac allI 1),
+        (rtac cont_fapp2 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 qed_goal "cont_cfun" Cfun3.thy 
 "[|is_chain(FY);is_chain(TY)|] ==>\
 \ range(%i.(FY i)`(TY i)) <<| (lub (range FY))`(lub(range TY))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac thelubE 1),
-	(rtac (monofun_fapp1 RS ch2ch_MF2LR) 1),
-	(rtac allI 1),
-	(rtac monofun_fapp2 1),
-	(atac 1),
-	(atac 1),
-	(etac (contlub_cfun RS sym) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac thelubE 1),
+        (rtac (monofun_fapp1 RS ch2ch_MF2LR) 1),
+        (rtac allI 1),
+        (rtac monofun_fapp2 1),
+        (atac 1),
+        (atac 1),
+        (etac (contlub_cfun RS sym) 1),
+        (atac 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -110,18 +110,18 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "cont2cont_fapp" Cfun3.thy 
-	"[|cont(%x.ft x);cont(%x.tt x)|] ==> cont(%x. (ft x)`(tt x))"
+        "[|cont(%x.ft x);cont(%x.tt x)|] ==> cont(%x. (ft x)`(tt x))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac cont2cont_app2 1),
-	(rtac cont2cont_app2 1),
-	(rtac cont_const 1),
-	(rtac cont_fapp1 1),
-	(atac 1),
-	(rtac cont_fapp2 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac cont2cont_app2 1),
+        (rtac cont2cont_app2 1),
+        (rtac cont_const 1),
+        (rtac cont_fapp1 1),
+        (atac 1),
+        (rtac cont_fapp2 1),
+        (atac 1)
+        ]);
 
 
 
@@ -131,21 +131,21 @@
 
 qed_goal "cont2mono_LAM" Cfun3.thy 
  "[|!x.cont(c1 x); !y.monofun(%x.c1 x y)|] ==>\
-\	 		monofun(%x. LAM y. c1 x y)"
+\                       monofun(%x. LAM y. c1 x y)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac monofunI 1),
-	(strip_tac 1),
-	(rtac (less_cfun RS ssubst) 1),
-	(rtac (less_fun RS ssubst) 1),
-	(rtac allI 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(etac spec 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(etac spec 1),
-	(etac ((hd (tl prems)) RS spec RS monofunE RS spec RS spec RS mp) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac monofunI 1),
+        (strip_tac 1),
+        (rtac (less_cfun RS ssubst) 1),
+        (rtac (less_fun RS ssubst) 1),
+        (rtac allI 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (etac spec 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (etac spec 1),
+        (etac ((hd (tl prems)) RS spec RS monofunE RS spec RS spec RS mp) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* cont2cont Lemma for %x. LAM y. c1 x y)                                 *)
@@ -154,29 +154,29 @@
 qed_goal "cont2cont_LAM" Cfun3.thy 
  "[| !x.cont(c1 x); !y.cont(%x.c1 x y) |] ==> cont(%x. LAM y. c1 x y)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac monocontlub2cont 1),
-	(etac cont2mono_LAM 1),
-	(rtac (cont2mono RS allI) 1),
-	(etac spec 1),
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac (thelub_cfun RS ssubst) 1),
-	(rtac (cont2mono_LAM RS ch2ch_monofun) 1),
-	(atac 1),
-	(rtac (cont2mono RS allI) 1),
-	(etac spec 1),
-	(atac 1),
-	(res_inst_tac [("f","fabs")] arg_cong 1),
-	(rtac ext 1),
-	(rtac (beta_cfun RS ext RS ssubst) 1),
-	(etac spec 1),
-	(rtac (cont2contlub RS contlubE 
-		RS spec RS mp ) 1),
-	(etac spec 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac monocontlub2cont 1),
+        (etac cont2mono_LAM 1),
+        (rtac (cont2mono RS allI) 1),
+        (etac spec 1),
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac (thelub_cfun RS ssubst) 1),
+        (rtac (cont2mono_LAM RS ch2ch_monofun) 1),
+        (atac 1),
+        (rtac (cont2mono RS allI) 1),
+        (etac spec 1),
+        (atac 1),
+        (res_inst_tac [("f","fabs")] arg_cong 1),
+        (rtac ext 1),
+        (rtac (beta_cfun RS ext RS ssubst) 1),
+        (etac spec 1),
+        (rtac (cont2contlub RS contlubE 
+                RS spec RS mp ) 1),
+        (etac spec 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* elimination of quantifier in premisses of cont2cont_LAM yields good    *)
@@ -194,7 +194,7 @@
 (* ------------------------------------------------------------------------ *)
 
 val cont_lemmas = [cont_const, cont_id, cont_fapp2,
-			cont2cont_fapp,cont2cont_LAM2];
+                        cont2cont_fapp,cont2cont_LAM2];
 
 
 val cont_tac = (fn i => (resolve_tac cont_lemmas i));
@@ -207,13 +207,13 @@
 
 qed_goal "strict_fapp1" Cfun3.thy "(UU::'a->'b)`x = (UU::'b)"
  (fn prems =>
-	[
-	(rtac (inst_cfun_pcpo RS ssubst) 1),
-	(rewrite_goals_tac [UU_cfun_def]),
-	(rtac (beta_cfun RS ssubst) 1),
-	(cont_tac 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (inst_cfun_pcpo RS ssubst) 1),
+        (rewtac UU_cfun_def),
+        (rtac (beta_cfun RS ssubst) 1),
+        (cont_tac 1),
+        (rtac refl 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -221,163 +221,163 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "Istrictify1" Cfun3.thy [Istrictify_def]
-	"Istrictify(f)(UU)= (UU)"
+        "Istrictify(f)(UU)= (UU)"
  (fn prems =>
-	[
-	(Simp_tac 1)
-	]);
+        [
+        (Simp_tac 1)
+        ]);
 
 qed_goalw "Istrictify2" Cfun3.thy [Istrictify_def]
-	"~x=UU ==> Istrictify(f)(x)=f`x"
+        "~x=UU ==> Istrictify(f)(x)=f`x"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(Asm_simp_tac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (Asm_simp_tac 1)
+        ]);
 
 qed_goal "monofun_Istrictify1" Cfun3.thy "monofun(Istrictify)"
  (fn prems =>
-	[
-	(rtac monofunI 1),
-	(strip_tac 1),
-	(rtac (less_fun RS iffD2) 1),
-	(strip_tac 1),
-	(res_inst_tac [("Q","xa=UU")] (excluded_middle RS disjE) 1),
-	(rtac (Istrictify2 RS ssubst) 1),
-	(atac 1),
-	(rtac (Istrictify2 RS ssubst) 1),
-	(atac 1),
-	(rtac monofun_cfun_fun 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(rtac (Istrictify1 RS ssubst) 1),
-	(rtac (Istrictify1 RS ssubst) 1),
-	(rtac refl_less 1)
-	]);
+        [
+        (rtac monofunI 1),
+        (strip_tac 1),
+        (rtac (less_fun RS iffD2) 1),
+        (strip_tac 1),
+        (res_inst_tac [("Q","xa=UU")] (excluded_middle RS disjE) 1),
+        (rtac (Istrictify2 RS ssubst) 1),
+        (atac 1),
+        (rtac (Istrictify2 RS ssubst) 1),
+        (atac 1),
+        (rtac monofun_cfun_fun 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (rtac (Istrictify1 RS ssubst) 1),
+        (rtac (Istrictify1 RS ssubst) 1),
+        (rtac refl_less 1)
+        ]);
 
 qed_goal "monofun_Istrictify2" Cfun3.thy "monofun(Istrictify(f))"
  (fn prems =>
-	[
-	(rtac monofunI 1),
-	(strip_tac 1),
-	(res_inst_tac [("Q","x=UU")] (excluded_middle RS disjE) 1),
-	(rtac (Istrictify2 RS ssubst) 1),
-	(etac notUU_I 1),
-	(atac 1),
-	(rtac (Istrictify2 RS ssubst) 1),
-	(atac 1),
-	(rtac monofun_cfun_arg 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(rtac (Istrictify1 RS ssubst) 1),
-	(rtac minimal 1)
-	]);
+        [
+        (rtac monofunI 1),
+        (strip_tac 1),
+        (res_inst_tac [("Q","x=UU")] (excluded_middle RS disjE) 1),
+        (rtac (Istrictify2 RS ssubst) 1),
+        (etac notUU_I 1),
+        (atac 1),
+        (rtac (Istrictify2 RS ssubst) 1),
+        (atac 1),
+        (rtac monofun_cfun_arg 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (rtac (Istrictify1 RS ssubst) 1),
+        (rtac minimal 1)
+        ]);
 
 
 qed_goal "contlub_Istrictify1" Cfun3.thy "contlub(Istrictify)"
  (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac (expand_fun_eq RS iffD2) 1),
-	(strip_tac 1),
-	(rtac (thelub_fun RS ssubst) 1),
-	(etac (monofun_Istrictify1 RS ch2ch_monofun) 1),
-	(res_inst_tac [("Q","x=UU")] (excluded_middle RS disjE) 1),
-	(rtac (Istrictify2 RS ssubst) 1),
-	(atac 1),
-	(rtac (Istrictify2 RS ext RS ssubst) 1),
-	(atac 1),
-	(rtac (thelub_cfun RS ssubst) 1),
-	(atac 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_lubcfun 1),
-	(atac 1),
-	(rtac refl 1),
-	(hyp_subst_tac 1),
-	(rtac (Istrictify1 RS ssubst) 1),
-	(rtac (Istrictify1 RS ext RS ssubst) 1),
-	(rtac (chain_UU_I_inverse RS sym) 1),
-	(rtac (refl RS allI) 1)
-	]);
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac (expand_fun_eq RS iffD2) 1),
+        (strip_tac 1),
+        (rtac (thelub_fun RS ssubst) 1),
+        (etac (monofun_Istrictify1 RS ch2ch_monofun) 1),
+        (res_inst_tac [("Q","x=UU")] (excluded_middle RS disjE) 1),
+        (rtac (Istrictify2 RS ssubst) 1),
+        (atac 1),
+        (rtac (Istrictify2 RS ext RS ssubst) 1),
+        (atac 1),
+        (rtac (thelub_cfun RS ssubst) 1),
+        (atac 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_lubcfun 1),
+        (atac 1),
+        (rtac refl 1),
+        (hyp_subst_tac 1),
+        (rtac (Istrictify1 RS ssubst) 1),
+        (rtac (Istrictify1 RS ext RS ssubst) 1),
+        (rtac (chain_UU_I_inverse RS sym) 1),
+        (rtac (refl RS allI) 1)
+        ]);
 
 qed_goal "contlub_Istrictify2" Cfun3.thy "contlub(Istrictify(f::'a -> 'b))"
  (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(res_inst_tac [("Q","lub(range(Y))=(UU::'a)")] classical2 1),
-	(res_inst_tac [("t","lub(range(Y))")] subst 1),
-	(rtac sym 1),
-	(atac 1),
-	(rtac (Istrictify1 RS ssubst) 1),
-	(rtac sym 1),
-	(rtac chain_UU_I_inverse 1),
-	(strip_tac 1),
-	(res_inst_tac [("t","Y(i)"),("s","UU::'a")] subst 1),
-	(rtac sym 1),
-	(rtac (chain_UU_I RS spec) 1),
-	(atac 1),
-	(atac 1),
-	(rtac Istrictify1 1),
-	(rtac (Istrictify2 RS ssubst) 1),
-	(atac 1),
-	(res_inst_tac [("s","lub(range(%i. f`(Y i)))")] trans 1),
-	(rtac contlub_cfun_arg 1),
-	(atac 1),
-	(rtac lub_equal2 1),
-	(rtac (chain_mono2 RS exE) 1),
-	(atac 2),
-	(rtac chain_UU_I_inverse2 1),
-	(atac 1),
-	(rtac exI 1),
-	(strip_tac 1),
-	(rtac (Istrictify2 RS sym) 1),
-	(fast_tac HOL_cs 1),
-	(rtac ch2ch_monofun 1),
-	(rtac monofun_fapp2 1),
-	(atac 1),
-	(rtac ch2ch_monofun 1),
-	(rtac monofun_Istrictify2 1),
-	(atac 1)
-	]);
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (res_inst_tac [("Q","lub(range(Y))=(UU::'a)")] classical2 1),
+        (res_inst_tac [("t","lub(range(Y))")] subst 1),
+        (rtac sym 1),
+        (atac 1),
+        (rtac (Istrictify1 RS ssubst) 1),
+        (rtac sym 1),
+        (rtac chain_UU_I_inverse 1),
+        (strip_tac 1),
+        (res_inst_tac [("t","Y(i)"),("s","UU::'a")] subst 1),
+        (rtac sym 1),
+        (rtac (chain_UU_I RS spec) 1),
+        (atac 1),
+        (atac 1),
+        (rtac Istrictify1 1),
+        (rtac (Istrictify2 RS ssubst) 1),
+        (atac 1),
+        (res_inst_tac [("s","lub(range(%i. f`(Y i)))")] trans 1),
+        (rtac contlub_cfun_arg 1),
+        (atac 1),
+        (rtac lub_equal2 1),
+        (rtac (chain_mono2 RS exE) 1),
+        (atac 2),
+        (rtac chain_UU_I_inverse2 1),
+        (atac 1),
+        (rtac exI 1),
+        (strip_tac 1),
+        (rtac (Istrictify2 RS sym) 1),
+        (fast_tac HOL_cs 1),
+        (rtac ch2ch_monofun 1),
+        (rtac monofun_fapp2 1),
+        (atac 1),
+        (rtac ch2ch_monofun 1),
+        (rtac monofun_Istrictify2 1),
+        (atac 1)
+        ]);
 
 
 val cont_Istrictify1 = (contlub_Istrictify1 RS 
-	(monofun_Istrictify1 RS monocontlub2cont)); 
+        (monofun_Istrictify1 RS monocontlub2cont)); 
 
 val cont_Istrictify2 = (contlub_Istrictify2 RS 
-	(monofun_Istrictify2 RS monocontlub2cont)); 
+        (monofun_Istrictify2 RS monocontlub2cont)); 
 
 
 qed_goalw "strictify1" Cfun3.thy [strictify_def]
-	"strictify`f`UU=UU"
+        "strictify`f`UU=UU"
  (fn prems =>
-	[
-	(rtac (beta_cfun RS ssubst) 1),
-	(cont_tac 1),
-	(rtac cont_Istrictify2 1),
-	(rtac cont2cont_CF1L 1),
-	(rtac cont_Istrictify1 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_Istrictify2 1),
-	(rtac Istrictify1 1)
-	]);
+        [
+        (rtac (beta_cfun RS ssubst) 1),
+        (cont_tac 1),
+        (rtac cont_Istrictify2 1),
+        (rtac cont2cont_CF1L 1),
+        (rtac cont_Istrictify1 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_Istrictify2 1),
+        (rtac Istrictify1 1)
+        ]);
 
 qed_goalw "strictify2" Cfun3.thy [strictify_def]
-	"~x=UU ==> strictify`f`x=f`x"
+        "~x=UU ==> strictify`f`x=f`x"
  (fn prems =>
-	[
-	(rtac (beta_cfun RS ssubst) 1),
-	(cont_tac 1),
-	(rtac cont_Istrictify2 1),
-	(rtac cont2cont_CF1L 1),
-	(rtac cont_Istrictify1 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_Istrictify2 1),
-	(rtac Istrictify2 1),
-	(resolve_tac prems 1)
-	]);
+        [
+        (rtac (beta_cfun RS ssubst) 1),
+        (cont_tac 1),
+        (rtac cont_Istrictify2 1),
+        (rtac cont2cont_CF1L 1),
+        (rtac cont_Istrictify1 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_Istrictify2 1),
+        (rtac Istrictify2 1),
+        (resolve_tac prems 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
--- a/src/HOLCF/Cont.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Cont.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/cont.ML
+(*  Title:      HOLCF/cont.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for cont.thy 
@@ -13,56 +13,56 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "contlubI" Cont.thy [contlub]
-	"! Y. is_chain(Y) --> f(lub(range(Y))) = lub(range(%i. f(Y(i))))==>\
-\	 contlub(f)"
+        "! Y. is_chain(Y) --> f(lub(range(Y))) = lub(range(%i. f(Y(i))))==>\
+\        contlub(f)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (atac 1)
+        ]);
 
 qed_goalw "contlubE" Cont.thy [contlub]
-	" contlub(f)==>\
+        " contlub(f)==>\
 \         ! Y. is_chain(Y) --> f(lub(range(Y))) = lub(range(%i. f(Y(i))))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (atac 1)
+        ]);
 
 
 qed_goalw "contI" Cont.thy [cont]
  "! Y. is_chain(Y) --> range(% i.f(Y(i))) <<| f(lub(range(Y))) ==> cont(f)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (atac 1)
+        ]);
 
 qed_goalw "contE" Cont.thy [cont]
  "cont(f) ==> ! Y. is_chain(Y) --> range(% i.f(Y(i))) <<| f(lub(range(Y)))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (atac 1)
+        ]);
 
 
 qed_goalw "monofunI" Cont.thy [monofun]
-	"! x y. x << y --> f(x) << f(y) ==> monofun(f)"
+        "! x y. x << y --> f(x) << f(y) ==> monofun(f)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (atac 1)
+        ]);
 
 qed_goalw "monofunE" Cont.thy [monofun]
-	"monofun(f) ==> ! x y. x << y --> f(x) << f(y)"
+        "monofun(f) ==> ! x y. x << y --> f(x) << f(y)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* the main purpose of cont.thy is to show:                                 *)
@@ -74,15 +74,15 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "ch2ch_monofun" Cont.thy 
-	"[| monofun(f); is_chain(Y) |] ==> is_chain(%i. f(Y(i)))"
+        "[| monofun(f); is_chain(Y) |] ==> is_chain(%i. f(Y(i)))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_chainI 1),
-	(rtac allI 1),
-	(etac (monofunE RS spec RS spec RS mp) 1),
-	(etac (is_chainE RS spec) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_chainI 1),
+        (rtac allI 1),
+        (etac (monofunE RS spec RS spec RS mp) 1),
+        (etac (is_chainE RS spec) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* monotone functions map upper bound to upper bounds                       *)
@@ -91,30 +91,30 @@
 qed_goal "ub2ub_monofun" Cont.thy 
  "[| monofun(f); range(Y) <| u|]  ==> range(%i.f(Y(i))) <| f(u)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac ub_rangeI 1),
-	(rtac allI 1),
-	(etac (monofunE RS spec RS spec RS mp) 1),
-	(etac (ub_rangeE RS spec) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac ub_rangeI 1),
+        (rtac allI 1),
+        (etac (monofunE RS spec RS spec RS mp) 1),
+        (etac (ub_rangeE RS spec) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* left to right: monofun(f) & contlub(f)  ==> cont(f)                     *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "monocontlub2cont" Cont.thy [cont]
-	"[|monofun(f);contlub(f)|] ==> cont(f)"
+        "[|monofun(f);contlub(f)|] ==> cont(f)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(rtac thelubE 1),
-	(etac ch2ch_monofun 1),
-	(atac 1),
-	(etac (contlubE RS spec RS mp RS sym) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (rtac thelubE 1),
+        (etac ch2ch_monofun 1),
+        (atac 1),
+        (etac (contlubE RS spec RS mp RS sym) 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* first a lemma about binary chains                                        *)
@@ -123,14 +123,14 @@
 qed_goal "binchain_cont" Cont.thy
 "[| cont(f); x << y |]  ==> range(%i. f(if i = 0 then x else y)) <<| f(y)"
 (fn prems => 
-	[
-	(cut_facts_tac prems 1),
-	(rtac subst 1), 
-	(etac (contE RS spec RS mp) 2),
-	(etac bin_chain 2),
-	(res_inst_tac [("y","y")] arg_cong 1),
-	(etac (lub_bin_chain RS thelubI) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac subst 1), 
+        (etac (contE RS spec RS mp) 2),
+        (etac bin_chain 2),
+        (res_inst_tac [("y","y")] arg_cong 1),
+        (etac (lub_bin_chain RS thelubI) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* right to left: cont(f) ==> monofun(f) & contlub(f)                      *)
@@ -138,17 +138,17 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "cont2mono" Cont.thy [monofun]
-	"cont(f) ==> monofun(f)"
+        "cont(f) ==> monofun(f)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(res_inst_tac [("s","if 0 = 0 then x else y")] subst 1),
-	(rtac (binchain_cont RS is_ub_lub) 2),
-	(atac 2),
-	(atac 2),
-	(Simp_tac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (res_inst_tac [("s","if 0 = 0 then x else y")] subst 1),
+        (rtac (binchain_cont RS is_ub_lub) 2),
+        (atac 2),
+        (atac 2),
+        (Simp_tac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* right to left: cont(f) ==> monofun(f) & contlub(f)                      *)
@@ -156,15 +156,15 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "cont2contlub" Cont.thy [contlub]
-	"cont(f) ==> contlub(f)"
+        "cont(f) ==> contlub(f)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(rtac (thelubI RS sym) 1),
-	(etac (contE RS spec RS mp) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (rtac (thelubI RS sym) 1),
+        (etac (contE RS spec RS mp) 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* The following results are about a curried function that is monotone      *)
@@ -174,135 +174,135 @@
 qed_goal "ch2ch_MF2L" Cont.thy 
 "[|monofun(MF2); is_chain(F)|] ==> is_chain(%i. MF2 (F i) x)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac (ch2ch_monofun RS ch2ch_fun) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac (ch2ch_monofun RS ch2ch_fun) 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "ch2ch_MF2R" Cont.thy 
 "[|monofun(MF2(f)); is_chain(Y)|] ==> is_chain(%i. MF2 f (Y i))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac ch2ch_monofun 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac ch2ch_monofun 1),
+        (atac 1)
+        ]);
 
 qed_goal "ch2ch_MF2LR" Cont.thy 
 "[|monofun(MF2); !f.monofun(MF2(f)); is_chain(F); is_chain(Y)|] ==> \
 \  is_chain(%i. MF2(F(i))(Y(i)))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_chainI 1),
-	(strip_tac 1 ),
-	(rtac trans_less 1),
-	(etac (ch2ch_MF2L RS is_chainE RS spec) 1),
-	(atac 1),
-	((rtac (monofunE RS spec RS spec RS mp) 1) THEN (etac spec 1)),
-	(etac (is_chainE RS spec) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_chainI 1),
+        (strip_tac 1 ),
+        (rtac trans_less 1),
+        (etac (ch2ch_MF2L RS is_chainE RS spec) 1),
+        (atac 1),
+        ((rtac (monofunE RS spec RS spec RS mp) 1) THEN (etac spec 1)),
+        (etac (is_chainE RS spec) 1)
+        ]);
 
 
 qed_goal "ch2ch_lubMF2R" Cont.thy 
 "[|monofun(MF2::('a::po=>'b::po=>'c::pcpo));\
 \  !f.monofun(MF2(f)::('b::po=>'c::pcpo));\
-\	is_chain(F);is_chain(Y)|] ==> \
-\	is_chain(%j. lub(range(%i. MF2 (F j) (Y i))))"
+\       is_chain(F);is_chain(Y)|] ==> \
+\       is_chain(%j. lub(range(%i. MF2 (F j) (Y i))))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (lub_mono RS allI RS is_chainI) 1),
-	((rtac ch2ch_MF2R 1) THEN (etac spec 1)),
-	(atac 1),
-	((rtac ch2ch_MF2R 1) THEN (etac spec 1)),
-	(atac 1),
-	(strip_tac 1),
-	(rtac (is_chainE RS spec) 1),
-	(etac ch2ch_MF2L 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (lub_mono RS allI RS is_chainI) 1),
+        ((rtac ch2ch_MF2R 1) THEN (etac spec 1)),
+        (atac 1),
+        ((rtac ch2ch_MF2R 1) THEN (etac spec 1)),
+        (atac 1),
+        (strip_tac 1),
+        (rtac (is_chainE RS spec) 1),
+        (etac ch2ch_MF2L 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "ch2ch_lubMF2L" Cont.thy 
 "[|monofun(MF2::('a::po=>'b::po=>'c::pcpo));\
 \  !f.monofun(MF2(f)::('b::po=>'c::pcpo));\
-\	is_chain(F);is_chain(Y)|] ==> \
-\	is_chain(%i. lub(range(%j. MF2 (F j) (Y i))))"
+\       is_chain(F);is_chain(Y)|] ==> \
+\       is_chain(%i. lub(range(%j. MF2 (F j) (Y i))))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (lub_mono RS allI RS is_chainI) 1),
-	(etac ch2ch_MF2L 1),
-	(atac 1),
-	(etac ch2ch_MF2L 1),
-	(atac 1),
-	(strip_tac 1),
-	(rtac (is_chainE RS spec) 1),
-	((rtac ch2ch_MF2R 1) THEN (etac spec 1)),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (lub_mono RS allI RS is_chainI) 1),
+        (etac ch2ch_MF2L 1),
+        (atac 1),
+        (etac ch2ch_MF2L 1),
+        (atac 1),
+        (strip_tac 1),
+        (rtac (is_chainE RS spec) 1),
+        ((rtac ch2ch_MF2R 1) THEN (etac spec 1)),
+        (atac 1)
+        ]);
 
 
 qed_goal "lub_MF2_mono" Cont.thy 
 "[|monofun(MF2::('a::po=>'b::po=>'c::pcpo));\
 \  !f.monofun(MF2(f)::('b::po=>'c::pcpo));\
-\	is_chain(F)|] ==> \
-\	monofun(% x.lub(range(% j.MF2 (F j) (x))))"
+\       is_chain(F)|] ==> \
+\       monofun(% x.lub(range(% j.MF2 (F j) (x))))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac monofunI 1),
-	(strip_tac 1),
-	(rtac lub_mono 1),
-	(etac ch2ch_MF2L 1),
-	(atac 1),
-	(etac ch2ch_MF2L 1),
-	(atac 1),
-	(strip_tac 1),
-	((rtac (monofunE RS spec RS spec RS mp) 1) THEN (etac spec 1)),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac monofunI 1),
+        (strip_tac 1),
+        (rtac lub_mono 1),
+        (etac ch2ch_MF2L 1),
+        (atac 1),
+        (etac ch2ch_MF2L 1),
+        (atac 1),
+        (strip_tac 1),
+        ((rtac (monofunE RS spec RS spec RS mp) 1) THEN (etac spec 1)),
+        (atac 1)
+        ]);
 
 qed_goal "ex_lubMF2" Cont.thy 
 "[|monofun(MF2::('a::po=>'b::po=>'c::pcpo));\
 \  !f.monofun(MF2(f)::('b::po=>'c::pcpo));\
-\	is_chain(F); is_chain(Y)|] ==> \
-\		lub(range(%j. lub(range(%i. MF2(F j) (Y i))))) =\
-\		lub(range(%i. lub(range(%j. MF2(F j) (Y i)))))"
+\       is_chain(F); is_chain(Y)|] ==> \
+\               lub(range(%j. lub(range(%i. MF2(F j) (Y i))))) =\
+\               lub(range(%i. lub(range(%j. MF2(F j) (Y i)))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac antisym_less 1),
-	(rtac (ub_rangeI RSN (2,is_lub_thelub)) 1),
-	(etac ch2ch_lubMF2R 1),
-	(REPEAT (atac 1)),
-	(strip_tac 1),
-	(rtac lub_mono 1),
-	((rtac ch2ch_MF2R 1) THEN (etac spec 1)),
-	(atac 1),
-	(etac ch2ch_lubMF2L 1),
-	(REPEAT (atac 1)),
-	(strip_tac 1),
-	(rtac is_ub_thelub 1),
-	(etac ch2ch_MF2L 1),
-	(atac 1),
-	(rtac (ub_rangeI RSN (2,is_lub_thelub)) 1),
-	(etac ch2ch_lubMF2L 1),
-	(REPEAT (atac 1)),
-	(strip_tac 1),
-	(rtac lub_mono 1),
-	(etac ch2ch_MF2L 1),
-	(atac 1),
-	(etac ch2ch_lubMF2R 1),
-	(REPEAT (atac 1)),
-	(strip_tac 1),
-	(rtac is_ub_thelub 1),
-	((rtac ch2ch_MF2R 1) THEN (etac spec 1)),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac antisym_less 1),
+        (rtac (ub_rangeI RSN (2,is_lub_thelub)) 1),
+        (etac ch2ch_lubMF2R 1),
+        (REPEAT (atac 1)),
+        (strip_tac 1),
+        (rtac lub_mono 1),
+        ((rtac ch2ch_MF2R 1) THEN (etac spec 1)),
+        (atac 1),
+        (etac ch2ch_lubMF2L 1),
+        (REPEAT (atac 1)),
+        (strip_tac 1),
+        (rtac is_ub_thelub 1),
+        (etac ch2ch_MF2L 1),
+        (atac 1),
+        (rtac (ub_rangeI RSN (2,is_lub_thelub)) 1),
+        (etac ch2ch_lubMF2L 1),
+        (REPEAT (atac 1)),
+        (strip_tac 1),
+        (rtac lub_mono 1),
+        (etac ch2ch_MF2L 1),
+        (atac 1),
+        (etac ch2ch_lubMF2R 1),
+        (REPEAT (atac 1)),
+        (strip_tac 1),
+        (rtac is_ub_thelub 1),
+        ((rtac ch2ch_MF2R 1) THEN (etac spec 1)),
+        (atac 1)
+        ]);
 
 
 qed_goal "diag_lubMF2_1" Cont.thy 
@@ -312,42 +312,42 @@
 \ lub(range(%i. lub(range(%j. MF2(FY(j))(TY(i)))))) =\
 \ lub(range(%i. MF2(FY(i))(TY(i))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac antisym_less 1),
-	(rtac (ub_rangeI RSN (2,is_lub_thelub)) 1),
-	(etac ch2ch_lubMF2L 1),
-	(REPEAT (atac 1)),
-	(strip_tac 1 ),
-	(rtac lub_mono3 1),
-	(etac ch2ch_MF2L 1),
-	(REPEAT (atac 1)),
-	(etac ch2ch_MF2LR 1),
-	(REPEAT (atac 1)),
-	(rtac allI 1),
-	(res_inst_tac [("m","i"),("n","ia")] nat_less_cases 1),
-	(res_inst_tac [("x","ia")] exI 1),
-	(rtac (chain_mono RS mp) 1),
-	(etac allE 1),
-	(etac ch2ch_MF2R 1),
-	(REPEAT (atac 1)),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("x","ia")] exI 1),
-	(rtac refl_less 1),
-	(res_inst_tac [("x","i")] exI 1),
-	(rtac (chain_mono RS mp) 1),
-	(etac ch2ch_MF2L 1),
-	(REPEAT (atac 1)),
-	(rtac lub_mono 1),
-	(etac ch2ch_MF2LR 1),
-	(REPEAT(atac 1)),
-	(etac ch2ch_lubMF2L 1),
-	(REPEAT (atac 1)),
-	(strip_tac 1 ),
-	(rtac is_ub_thelub 1),
-	(etac ch2ch_MF2L 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac antisym_less 1),
+        (rtac (ub_rangeI RSN (2,is_lub_thelub)) 1),
+        (etac ch2ch_lubMF2L 1),
+        (REPEAT (atac 1)),
+        (strip_tac 1 ),
+        (rtac lub_mono3 1),
+        (etac ch2ch_MF2L 1),
+        (REPEAT (atac 1)),
+        (etac ch2ch_MF2LR 1),
+        (REPEAT (atac 1)),
+        (rtac allI 1),
+        (res_inst_tac [("m","i"),("n","ia")] nat_less_cases 1),
+        (res_inst_tac [("x","ia")] exI 1),
+        (rtac (chain_mono RS mp) 1),
+        (etac allE 1),
+        (etac ch2ch_MF2R 1),
+        (REPEAT (atac 1)),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("x","ia")] exI 1),
+        (rtac refl_less 1),
+        (res_inst_tac [("x","i")] exI 1),
+        (rtac (chain_mono RS mp) 1),
+        (etac ch2ch_MF2L 1),
+        (REPEAT (atac 1)),
+        (rtac lub_mono 1),
+        (etac ch2ch_MF2LR 1),
+        (REPEAT(atac 1)),
+        (etac ch2ch_lubMF2L 1),
+        (REPEAT (atac 1)),
+        (strip_tac 1 ),
+        (rtac is_ub_thelub 1),
+        (etac ch2ch_MF2L 1),
+        (atac 1)
+        ]);
 
 qed_goal "diag_lubMF2_2" Cont.thy 
 "[|monofun(MF2::('a::po=>'b::po=>'c::pcpo));\
@@ -356,14 +356,14 @@
 \ lub(range(%j. lub(range(%i. MF2(FY(j))(TY(i)))))) =\
 \ lub(range(%i. MF2(FY(i))(TY(i))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac trans 1),
-	(rtac ex_lubMF2 1),
-	(REPEAT (atac 1)),
-	(etac diag_lubMF2_1 1),
-	(REPEAT (atac 1))
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac trans 1),
+        (rtac ex_lubMF2 1),
+        (REPEAT (atac 1)),
+        (etac diag_lubMF2_1 1),
+        (REPEAT (atac 1))
+        ]);
 
 
 
@@ -377,55 +377,55 @@
 "[|cont(CF2);!f.cont(CF2(f));is_chain(FY);is_chain(TY)|] ==>\
 \ CF2(lub(range(FY)))(lub(range(TY))) = lub(range(%i.CF2(FY(i))(TY(i))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac ((hd prems) RS cont2contlub RS contlubE RS spec RS mp RS ssubst) 1),
-	(atac 1),
-	(rtac (thelub_fun RS ssubst) 1),
-	(rtac ((hd prems) RS cont2mono RS ch2ch_monofun) 1),
-	(atac 1),
-	(rtac trans 1),
-	(rtac (((hd (tl prems)) RS spec RS cont2contlub) RS contlubE RS                spec RS mp RS ext RS arg_cong RS arg_cong) 1),
-	(atac 1),
-	(rtac diag_lubMF2_2 1),
-	(etac cont2mono 1),
-	(rtac allI 1),
-	(etac allE 1),
-	(etac cont2mono 1),
-	(REPEAT (atac 1))
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac ((hd prems) RS cont2contlub RS contlubE RS spec RS mp RS ssubst) 1),
+        (atac 1),
+        (rtac (thelub_fun RS ssubst) 1),
+        (rtac ((hd prems) RS cont2mono RS ch2ch_monofun) 1),
+        (atac 1),
+        (rtac trans 1),
+        (rtac (((hd (tl prems)) RS spec RS cont2contlub) RS contlubE RS                spec RS mp RS ext RS arg_cong RS arg_cong) 1),
+        (atac 1),
+        (rtac diag_lubMF2_2 1),
+        (etac cont2mono 1),
+        (rtac allI 1),
+        (etac allE 1),
+        (etac cont2mono 1),
+        (REPEAT (atac 1))
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* The following results are about application for functions in 'a=>'b      *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "monofun_fun_fun" Cont.thy 
-	"f1 << f2 ==> f1(x) << f2(x)"
+        "f1 << f2 ==> f1(x) << f2(x)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac (less_fun RS iffD1 RS spec) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac (less_fun RS iffD1 RS spec) 1)
+        ]);
 
 qed_goal "monofun_fun_arg" Cont.thy 
-	"[|monofun(f); x1 << x2|] ==> f(x1) << f(x2)"
+        "[|monofun(f); x1 << x2|] ==> f(x1) << f(x2)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac (monofunE RS spec RS spec RS mp) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac (monofunE RS spec RS spec RS mp) 1),
+        (atac 1)
+        ]);
 
 qed_goal "monofun_fun" Cont.thy 
 "[|monofun(f1); monofun(f2); f1 << f2; x1 << x2|] ==> f1(x1) << f2(x2)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac trans_less 1),
-	(etac monofun_fun_arg 1),
-	(atac 1),
-	(etac monofun_fun_fun 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac trans_less 1),
+        (etac monofun_fun_arg 1),
+        (atac 1),
+        (etac monofun_fun_fun 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -434,69 +434,69 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "mono2mono_MF1L" Cont.thy 
-	"[|monofun(c1)|] ==> monofun(%x. c1 x y)"
+        "[|monofun(c1)|] ==> monofun(%x. c1 x y)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac monofunI 1),
-	(strip_tac 1),
-	(etac (monofun_fun_arg RS monofun_fun_fun) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac monofunI 1),
+        (strip_tac 1),
+        (etac (monofun_fun_arg RS monofun_fun_fun) 1),
+        (atac 1)
+        ]);
 
 qed_goal "cont2cont_CF1L" Cont.thy 
-	"[|cont(c1)|] ==> cont(%x. c1 x y)"
+        "[|cont(c1)|] ==> cont(%x. c1 x y)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac monocontlub2cont 1),
-	(etac (cont2mono RS mono2mono_MF1L) 1),
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac ((hd prems) RS cont2contlub RS 
-		contlubE RS spec RS mp RS ssubst) 1),
-	(atac 1),
-	(rtac (thelub_fun RS ssubst) 1),
-	(rtac ch2ch_monofun 1),
-	(etac cont2mono 1),
-	(atac 1),
-	(rtac refl 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac monocontlub2cont 1),
+        (etac (cont2mono RS mono2mono_MF1L) 1),
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac ((hd prems) RS cont2contlub RS 
+                contlubE RS spec RS mp RS ssubst) 1),
+        (atac 1),
+        (rtac (thelub_fun RS ssubst) 1),
+        (rtac ch2ch_monofun 1),
+        (etac cont2mono 1),
+        (atac 1),
+        (rtac refl 1)
+        ]);
 
 (*********  Note "(%x.%y.c1 x y) = c1" ***********)
 
 qed_goal "mono2mono_MF1L_rev" Cont.thy
-	"!y.monofun(%x.c1 x y) ==> monofun(c1)"
+        "!y.monofun(%x.c1 x y) ==> monofun(c1)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac monofunI 1),
-	(strip_tac 1),
-	(rtac (less_fun RS iffD2) 1),
-	(strip_tac 1),
-	(rtac ((hd prems) RS spec RS monofunE RS spec RS spec RS mp) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac monofunI 1),
+        (strip_tac 1),
+        (rtac (less_fun RS iffD2) 1),
+        (strip_tac 1),
+        (rtac ((hd prems) RS spec RS monofunE RS spec RS spec RS mp) 1),
+        (atac 1)
+        ]);
 
 qed_goal "cont2cont_CF1L_rev" Cont.thy
-	"!y.cont(%x.c1 x y) ==> cont(c1)"
+        "!y.cont(%x.c1 x y) ==> cont(c1)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac monocontlub2cont 1),
-	(rtac (cont2mono RS allI RS mono2mono_MF1L_rev ) 1),
-	(etac spec 1),
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac ext 1),
-	(rtac (thelub_fun RS ssubst) 1),
-	(rtac (cont2mono RS allI RS mono2mono_MF1L_rev RS ch2ch_monofun) 1),
-	(etac spec 1),
-	(atac 1),
-	(rtac 
-	((hd prems) RS spec RS cont2contlub RS contlubE RS spec RS mp) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac monocontlub2cont 1),
+        (rtac (cont2mono RS allI RS mono2mono_MF1L_rev ) 1),
+        (etac spec 1),
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac ext 1),
+        (rtac (thelub_fun RS ssubst) 1),
+        (rtac (cont2mono RS allI RS mono2mono_MF1L_rev RS ch2ch_monofun) 1),
+        (etac spec 1),
+        (atac 1),
+        (rtac 
+        ((hd prems) RS spec RS cont2contlub RS contlubE RS spec RS mp) 1),
+        (atac 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -508,74 +508,74 @@
 "[|is_chain(Y::nat=>'a);!y.cont(%x.(c::'a=>'b=>'c) x y)|] ==>\
 \ (%y.lub(range(%i.c (Y i) y))) = (lub(range(%i.%y.c (Y i) y)))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac trans 1),
-	(rtac (cont2contlub RS contlubE RS spec RS mp) 2),
-	(atac 3),
-	(etac cont2cont_CF1L_rev 2),
-	(rtac ext 1), 
-	(rtac (cont2contlub RS contlubE RS spec RS mp RS sym) 1),
-	(etac spec 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac trans 1),
+        (rtac (cont2contlub RS contlubE RS spec RS mp) 2),
+        (atac 3),
+        (etac cont2cont_CF1L_rev 2),
+        (rtac ext 1), 
+        (rtac (cont2contlub RS contlubE RS spec RS mp RS sym) 1),
+        (etac spec 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "mono2mono_app" Cont.thy 
 "[|monofun(ft);!x.monofun(ft(x));monofun(tt)|] ==>\
-\	 monofun(%x.(ft(x))(tt(x)))"
+\        monofun(%x.(ft(x))(tt(x)))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac monofunI 1),
-	(strip_tac 1),
-	(res_inst_tac [("f1.0","ft(x)"),("f2.0","ft(y)")] monofun_fun 1),
-	(etac spec 1),
-	(etac spec 1),
-	(etac (monofunE RS spec RS spec RS mp) 1),
-	(atac 1),
-	(etac (monofunE RS spec RS spec RS mp) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac monofunI 1),
+        (strip_tac 1),
+        (res_inst_tac [("f1.0","ft(x)"),("f2.0","ft(y)")] monofun_fun 1),
+        (etac spec 1),
+        (etac spec 1),
+        (etac (monofunE RS spec RS spec RS mp) 1),
+        (atac 1),
+        (etac (monofunE RS spec RS spec RS mp) 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "cont2contlub_app" Cont.thy 
 "[|cont(ft);!x.cont(ft(x));cont(tt)|] ==> contlub(%x.(ft(x))(tt(x)))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(res_inst_tac [("f3","tt")] (contlubE RS spec RS mp RS ssubst) 1),
-	(etac cont2contlub 1),
-	(atac 1),
-	(rtac contlub_CF2 1),
-	(REPEAT (atac 1)),
-	(etac (cont2mono RS ch2ch_monofun) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (res_inst_tac [("f3","tt")] (contlubE RS spec RS mp RS ssubst) 1),
+        (etac cont2contlub 1),
+        (atac 1),
+        (rtac contlub_CF2 1),
+        (REPEAT (atac 1)),
+        (etac (cont2mono RS ch2ch_monofun) 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "cont2cont_app" Cont.thy 
 "[|cont(ft);!x.cont(ft(x));cont(tt)|] ==>\
-\	 cont(%x.(ft(x))(tt(x)))"
+\        cont(%x.(ft(x))(tt(x)))"
  (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac mono2mono_app 1),
-	(rtac cont2mono 1),
-	(resolve_tac prems 1),
-	(strip_tac 1),
-	(rtac cont2mono 1),
-	(cut_facts_tac prems 1),
-	(etac spec 1),
-	(rtac cont2mono 1),
-	(resolve_tac prems 1),
-	(rtac cont2contlub_app 1),
-	(resolve_tac prems 1),
-	(resolve_tac prems 1),
-	(resolve_tac prems 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac mono2mono_app 1),
+        (rtac cont2mono 1),
+        (resolve_tac prems 1),
+        (strip_tac 1),
+        (rtac cont2mono 1),
+        (cut_facts_tac prems 1),
+        (etac spec 1),
+        (rtac cont2mono 1),
+        (resolve_tac prems 1),
+        (rtac cont2contlub_app 1),
+        (resolve_tac prems 1),
+        (resolve_tac prems 1),
+        (resolve_tac prems 1)
+        ]);
 
 
 val cont2cont_app2 = (allI RSN (2,cont2cont_app));
@@ -589,12 +589,12 @@
 
 qed_goal "cont_id" Cont.thy "cont(% x.x)"
  (fn prems =>
-	[
-	(rtac contI 1),
-	(strip_tac 1),
-	(etac thelubE 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac contI 1),
+        (strip_tac 1),
+        (etac thelubE 1),
+        (rtac refl 1)
+        ]);
 
 
 
@@ -604,27 +604,27 @@
 
 qed_goalw "cont_const" Cont.thy [cont] "cont(%x.c)"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(rtac is_lubI 1),
-	(rtac conjI 1),
-	(rtac ub_rangeI 1),
-	(strip_tac 1),
-	(rtac refl_less 1),
-	(strip_tac 1),
-	(dtac ub_rangeE 1),
-	(etac spec 1)
-	]);
+        [
+        (strip_tac 1),
+        (rtac is_lubI 1),
+        (rtac conjI 1),
+        (rtac ub_rangeI 1),
+        (strip_tac 1),
+        (rtac refl_less 1),
+        (strip_tac 1),
+        (dtac ub_rangeE 1),
+        (etac spec 1)
+        ]);
 
 
 qed_goal "cont2cont_app3" Cont.thy 
  "[|cont(f);cont(t) |] ==> cont(%x. f(t(x)))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac cont2cont_app2 1),
-	(rtac cont_const 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac cont2cont_app2 1),
+        (rtac cont_const 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
--- a/src/HOLCF/Cprod1.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Cprod1.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/cprod1.ML
+(*  Title:      HOLCF/cprod1.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993  Technische Universitaet Muenchen
 
 Lemmas for theory cprod1.thy 
@@ -11,54 +11,54 @@
 qed_goalw "less_cprod1b" Cprod1.thy [less_cprod_def]
  "less_cprod p1 p2 = ( fst(p1) << fst(p2) & snd(p1) << snd(p2))"
  (fn prems =>
-	[
-	(rtac refl 1)
-	]);
+        [
+        (rtac refl 1)
+        ]);
 
 qed_goalw "less_cprod2a" Cprod1.thy [less_cprod_def]
  "less_cprod (x,y) (UU,UU) ==> x = UU & y = UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac conjE 1),
-	(dtac (fst_conv RS subst) 1),
-	(dtac (fst_conv RS subst) 1),
-	(dtac (fst_conv RS subst) 1),
-	(dtac (snd_conv RS subst) 1),
-	(dtac (snd_conv RS subst) 1),
-	(dtac (snd_conv RS subst) 1),
-	(rtac conjI 1),
-	(etac UU_I 1),
-	(etac UU_I 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac conjE 1),
+        (dtac (fst_conv RS subst) 1),
+        (dtac (fst_conv RS subst) 1),
+        (dtac (fst_conv RS subst) 1),
+        (dtac (snd_conv RS subst) 1),
+        (dtac (snd_conv RS subst) 1),
+        (dtac (snd_conv RS subst) 1),
+        (rtac conjI 1),
+        (etac UU_I 1),
+        (etac UU_I 1)
+        ]);
 
 qed_goal "less_cprod2b" Cprod1.thy 
  "less_cprod p (UU,UU) ==> p = (UU,UU)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("p","p")] PairE 1),
-	(hyp_subst_tac 1),
-	(dtac less_cprod2a 1),
-	(Asm_simp_tac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("p","p")] PairE 1),
+        (hyp_subst_tac 1),
+        (dtac less_cprod2a 1),
+        (Asm_simp_tac 1)
+        ]);
 
 qed_goalw "less_cprod2c" Cprod1.thy [less_cprod_def]
  "less_cprod (x1,y1) (x2,y2) ==> x1 << x2 & y1 << y2"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac conjE 1),
-	(dtac (fst_conv RS subst) 1),
-	(dtac (fst_conv RS subst) 1),
-	(dtac (fst_conv RS subst) 1),
-	(dtac (snd_conv RS subst) 1),
-	(dtac (snd_conv RS subst) 1),
-	(dtac (snd_conv RS subst) 1),
-	(rtac conjI 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac conjE 1),
+        (dtac (fst_conv RS subst) 1),
+        (dtac (fst_conv RS subst) 1),
+        (dtac (fst_conv RS subst) 1),
+        (dtac (snd_conv RS subst) 1),
+        (dtac (snd_conv RS subst) 1),
+        (dtac (snd_conv RS subst) 1),
+        (rtac conjI 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* less_cprod is a partial order on 'a * 'b                                 *)
@@ -70,44 +70,44 @@
 qed_goal "antisym_less_cprod" Cprod1.thy 
  "[|less_cprod p1 p2;less_cprod p2 p1|] ==> p1=p2"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("p","p1")] PairE 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","p2")] PairE 1),
-	(hyp_subst_tac 1),
-	(dtac less_cprod2c 1),
-	(dtac less_cprod2c 1),
-	(etac conjE 1),
-	(etac conjE 1),
-	(rtac (Pair_eq RS ssubst) 1),
-	(fast_tac (HOL_cs addSIs [antisym_less]) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("p","p1")] PairE 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","p2")] PairE 1),
+        (hyp_subst_tac 1),
+        (dtac less_cprod2c 1),
+        (dtac less_cprod2c 1),
+        (etac conjE 1),
+        (etac conjE 1),
+        (rtac (Pair_eq RS ssubst) 1),
+        (fast_tac (HOL_cs addSIs [antisym_less]) 1)
+        ]);
 
 
 qed_goal "trans_less_cprod" Cprod1.thy 
  "[|less_cprod p1 p2;less_cprod p2 p3|] ==> less_cprod p1 p3"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("p","p1")] PairE 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","p3")] PairE 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","p2")] PairE 1),
-	(hyp_subst_tac 1),
-	(dtac less_cprod2c 1),
-	(dtac less_cprod2c 1),
-	(rtac (less_cprod1b RS ssubst) 1),
-	(Simp_tac 1),
-	(etac conjE 1),
-	(etac conjE 1),
-	(rtac conjI 1),
-	(etac trans_less 1),
-	(atac 1),
-	(etac trans_less 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("p","p1")] PairE 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","p3")] PairE 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","p2")] PairE 1),
+        (hyp_subst_tac 1),
+        (dtac less_cprod2c 1),
+        (dtac less_cprod2c 1),
+        (rtac (less_cprod1b RS ssubst) 1),
+        (Simp_tac 1),
+        (etac conjE 1),
+        (etac conjE 1),
+        (rtac conjI 1),
+        (etac trans_less 1),
+        (atac 1),
+        (etac trans_less 1),
+        (atac 1)
+        ]);
 
 
 
--- a/src/HOLCF/Cprod2.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Cprod2.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/cprod2.ML
+(*  Title:      HOLCF/cprod2.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for cprod2.thy 
@@ -9,51 +9,51 @@
 open Cprod2;
 
 qed_goal "less_cprod3a" Cprod2.thy 
-	"p1=(UU,UU) ==> p1 << p2"
+        "p1=(UU,UU) ==> p1 << p2"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (inst_cprod_po RS ssubst) 1),
-	(rtac (less_cprod1b RS ssubst) 1),
-	(hyp_subst_tac 1),
-	(Asm_simp_tac  1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (inst_cprod_po RS ssubst) 1),
+        (rtac (less_cprod1b RS ssubst) 1),
+        (hyp_subst_tac 1),
+        (Asm_simp_tac  1)
+        ]);
 
 qed_goal "less_cprod3b" Cprod2.thy
  "(p1 << p2) = (fst(p1)<<fst(p2) & snd(p1)<<snd(p2))"
  (fn prems =>
-	[
-	(rtac (inst_cprod_po RS ssubst) 1),
-	(rtac less_cprod1b 1)
-	]);
+        [
+        (rtac (inst_cprod_po RS ssubst) 1),
+        (rtac less_cprod1b 1)
+        ]);
 
 qed_goal "less_cprod4a" Cprod2.thy 
-	"(x1,x2) << (UU,UU) ==> x1=UU & x2=UU"
+        "(x1,x2) << (UU,UU) ==> x1=UU & x2=UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac less_cprod2a 1),
-	(etac (inst_cprod_po RS subst) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac less_cprod2a 1),
+        (etac (inst_cprod_po RS subst) 1)
+        ]);
 
 qed_goal "less_cprod4b" Cprod2.thy 
-	"p << (UU,UU) ==> p = (UU,UU)"
+        "p << (UU,UU) ==> p = (UU,UU)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac less_cprod2b 1),
-	(etac (inst_cprod_po RS subst) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac less_cprod2b 1),
+        (etac (inst_cprod_po RS subst) 1)
+        ]);
 
 qed_goal "less_cprod4c" Cprod2.thy
  " (xa,ya) << (x,y) ==> xa<<x & ya << y"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac less_cprod2c 1),
-	(etac (inst_cprod_po RS subst) 1),
-	(REPEAT (atac 1))
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac less_cprod2c 1),
+        (etac (inst_cprod_po RS subst) 1),
+        (REPEAT (atac 1))
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* type cprod is pointed                                                    *)
@@ -61,10 +61,10 @@
 
 qed_goal "minimal_cprod" Cprod2.thy  "(UU,UU)<<p"
 (fn prems =>
-	[
-	(rtac less_cprod3a 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac less_cprod3a 1),
+        (rtac refl 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* Pair <_,_>  is monotone in both arguments                                *)
@@ -72,34 +72,34 @@
 
 qed_goalw "monofun_pair1" Cprod2.thy [monofun] "monofun(Pair)"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(rtac (less_fun RS iffD2) 1),
-	(strip_tac 1),
-	(rtac (less_cprod3b RS iffD2) 1),
-	(Simp_tac 1)
-	]);
+        [
+        (strip_tac 1),
+        (rtac (less_fun RS iffD2) 1),
+        (strip_tac 1),
+        (rtac (less_cprod3b RS iffD2) 1),
+        (Simp_tac 1)
+        ]);
 
 qed_goalw "monofun_pair2" Cprod2.thy [monofun] "monofun(Pair(x))"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(rtac (less_cprod3b RS iffD2) 1),
-	(Simp_tac 1)
-	]);
+        [
+        (strip_tac 1),
+        (rtac (less_cprod3b RS iffD2) 1),
+        (Simp_tac 1)
+        ]);
 
 qed_goal "monofun_pair" Cprod2.thy 
  "[|x1<<x2; y1<<y2|] ==> (x1,y1) << (x2,y2)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac trans_less 1),
-	(rtac (monofun_pair1 RS monofunE RS spec RS spec RS mp RS 
-	(less_fun RS iffD1 RS spec)) 1),
-	(rtac (monofun_pair2 RS monofunE RS spec RS spec RS mp) 2),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac trans_less 1),
+        (rtac (monofun_pair1 RS monofunE RS spec RS spec RS mp RS 
+        (less_fun RS iffD1 RS spec)) 1),
+        (rtac (monofun_pair2 RS monofunE RS spec RS spec RS mp) 2),
+        (atac 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* fst and snd are monotone                                                 *)
@@ -107,27 +107,27 @@
 
 qed_goalw "monofun_fst" Cprod2.thy [monofun] "monofun(fst)"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(res_inst_tac [("p","x")] PairE 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","y")] PairE 1),
-	(hyp_subst_tac 1),
-	(Asm_simp_tac  1),
-	(etac (less_cprod4c RS conjunct1) 1)
-	]);
+        [
+        (strip_tac 1),
+        (res_inst_tac [("p","x")] PairE 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","y")] PairE 1),
+        (hyp_subst_tac 1),
+        (Asm_simp_tac  1),
+        (etac (less_cprod4c RS conjunct1) 1)
+        ]);
 
 qed_goalw "monofun_snd" Cprod2.thy [monofun] "monofun(snd)"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(res_inst_tac [("p","x")] PairE 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","y")] PairE 1),
-	(hyp_subst_tac 1),
-	(Asm_simp_tac  1),
-	(etac (less_cprod4c RS conjunct2) 1)
-	]);
+        [
+        (strip_tac 1),
+        (res_inst_tac [("p","x")] PairE 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","y")] PairE 1),
+        (hyp_subst_tac 1),
+        (Asm_simp_tac  1),
+        (etac (less_cprod4c RS conjunct2) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* the type 'a * 'b is a cpo                                                *)
@@ -137,28 +137,28 @@
 " is_chain(S) ==> range(S) <<| \
 \   (lub(range(%i.fst(S i))),lub(range(%i.snd(S i)))) "
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_lubI 1),
-	(rtac conjI 1),
-	(rtac ub_rangeI 1),
-	(rtac allI 1),
-	(res_inst_tac [("t","S(i)")] (surjective_pairing RS ssubst) 1),
-	(rtac monofun_pair 1),
-	(rtac is_ub_thelub 1),
-	(etac (monofun_fst RS ch2ch_monofun) 1),
-	(rtac is_ub_thelub 1),
-	(etac (monofun_snd RS ch2ch_monofun) 1),
-	(strip_tac 1),
-	(res_inst_tac [("t","u")] (surjective_pairing RS ssubst) 1),
-	(rtac monofun_pair 1),
-	(rtac is_lub_thelub 1),
-	(etac (monofun_fst RS ch2ch_monofun) 1),
-	(etac (monofun_fst RS ub2ub_monofun) 1),
-	(rtac is_lub_thelub 1),
-	(etac (monofun_snd RS ch2ch_monofun) 1),
-	(etac (monofun_snd RS ub2ub_monofun) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_lubI 1),
+        (rtac conjI 1),
+        (rtac ub_rangeI 1),
+        (rtac allI 1),
+        (res_inst_tac [("t","S(i)")] (surjective_pairing RS ssubst) 1),
+        (rtac monofun_pair 1),
+        (rtac is_ub_thelub 1),
+        (etac (monofun_fst RS ch2ch_monofun) 1),
+        (rtac is_ub_thelub 1),
+        (etac (monofun_snd RS ch2ch_monofun) 1),
+        (strip_tac 1),
+        (res_inst_tac [("t","u")] (surjective_pairing RS ssubst) 1),
+        (rtac monofun_pair 1),
+        (rtac is_lub_thelub 1),
+        (etac (monofun_fst RS ch2ch_monofun) 1),
+        (etac (monofun_fst RS ub2ub_monofun) 1),
+        (rtac is_lub_thelub 1),
+        (etac (monofun_snd RS ch2ch_monofun) 1),
+        (etac (monofun_snd RS ub2ub_monofun) 1)
+        ]);
 
 val thelub_cprod = (lub_cprod RS thelubI);
 (*
@@ -169,12 +169,12 @@
 *)
 
 qed_goal "cpo_cprod" Cprod2.thy 
-	"is_chain(S::nat=>'a*'b)==>? x.range(S)<<| x"
+        "is_chain(S::nat=>'a*'b)==>? x.range(S)<<| x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac exI 1),
-	(etac lub_cprod 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac exI 1),
+        (etac lub_cprod 1)
+        ]);
 
 
--- a/src/HOLCF/Cprod3.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Cprod3.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/cprod3.ML
+(*  Title:      HOLCF/cprod3.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for Cprod3.thy 
@@ -17,120 +17,120 @@
 \ (lub(range(Y)),(x::'b)) =\
 \ (lub(range(%i. fst(Y i,x))),lub(range(%i. snd(Y i,x))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("f1","Pair")] (arg_cong RS cong) 1),
-	(rtac lub_equal 1),
-	(atac 1),
-	(rtac (monofun_fst RS ch2ch_monofun) 1),
-	(rtac ch2ch_fun 1),
-	(rtac (monofun_pair1 RS ch2ch_monofun) 1),
-	(atac 1),
-	(rtac allI 1),
-	(Simp_tac 1),
-	(rtac sym 1),
-	(Simp_tac 1),
-	(rtac (lub_const RS thelubI) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("f1","Pair")] (arg_cong RS cong) 1),
+        (rtac lub_equal 1),
+        (atac 1),
+        (rtac (monofun_fst RS ch2ch_monofun) 1),
+        (rtac ch2ch_fun 1),
+        (rtac (monofun_pair1 RS ch2ch_monofun) 1),
+        (atac 1),
+        (rtac allI 1),
+        (Simp_tac 1),
+        (rtac sym 1),
+        (Simp_tac 1),
+        (rtac (lub_const RS thelubI) 1)
+        ]);
 
 qed_goal "contlub_pair1" Cprod3.thy "contlub(Pair)"
  (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac (expand_fun_eq RS iffD2) 1),
-	(strip_tac 1),
-	(rtac (lub_fun RS thelubI RS ssubst) 1),
-	(etac (monofun_pair1 RS ch2ch_monofun) 1),
-	(rtac trans 1),
-	(rtac (thelub_cprod RS sym) 2),
-	(rtac ch2ch_fun 2),
-	(etac (monofun_pair1 RS ch2ch_monofun) 2),
-	(etac Cprod3_lemma1 1)
-	]);
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac (expand_fun_eq RS iffD2) 1),
+        (strip_tac 1),
+        (rtac (lub_fun RS thelubI RS ssubst) 1),
+        (etac (monofun_pair1 RS ch2ch_monofun) 1),
+        (rtac trans 1),
+        (rtac (thelub_cprod RS sym) 2),
+        (rtac ch2ch_fun 2),
+        (etac (monofun_pair1 RS ch2ch_monofun) 2),
+        (etac Cprod3_lemma1 1)
+        ]);
 
 qed_goal "Cprod3_lemma2" Cprod3.thy 
 "is_chain(Y::(nat=>'a)) ==>\
 \ ((x::'b),lub(range Y)) =\
 \ (lub(range(%i. fst(x,Y i))),lub(range(%i. snd(x, Y i))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("f1","Pair")] (arg_cong RS cong) 1),
-	(rtac sym 1),
-	(Simp_tac 1),
-	(rtac (lub_const RS thelubI) 1),
-	(rtac lub_equal 1),
-	(atac 1),
-	(rtac (monofun_snd RS ch2ch_monofun) 1),
-	(rtac (monofun_pair2 RS ch2ch_monofun) 1),
-	(atac 1),
-	(rtac allI 1),
-	(Simp_tac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("f1","Pair")] (arg_cong RS cong) 1),
+        (rtac sym 1),
+        (Simp_tac 1),
+        (rtac (lub_const RS thelubI) 1),
+        (rtac lub_equal 1),
+        (atac 1),
+        (rtac (monofun_snd RS ch2ch_monofun) 1),
+        (rtac (monofun_pair2 RS ch2ch_monofun) 1),
+        (atac 1),
+        (rtac allI 1),
+        (Simp_tac 1)
+        ]);
 
 qed_goal "contlub_pair2" Cprod3.thy "contlub(Pair(x))"
  (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac trans 1),
-	(rtac (thelub_cprod RS sym) 2),
-	(etac (monofun_pair2 RS ch2ch_monofun) 2),
-	(etac Cprod3_lemma2 1)
-	]);
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac trans 1),
+        (rtac (thelub_cprod RS sym) 2),
+        (etac (monofun_pair2 RS ch2ch_monofun) 2),
+        (etac Cprod3_lemma2 1)
+        ]);
 
 qed_goal "cont_pair1" Cprod3.thy "cont(Pair)"
 (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_pair1 1),
-	(rtac contlub_pair1 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_pair1 1),
+        (rtac contlub_pair1 1)
+        ]);
 
 qed_goal "cont_pair2" Cprod3.thy "cont(Pair(x))"
 (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_pair2 1),
-	(rtac contlub_pair2 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_pair2 1),
+        (rtac contlub_pair2 1)
+        ]);
 
 qed_goal "contlub_fst" Cprod3.thy "contlub(fst)"
  (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac (lub_cprod RS thelubI RS ssubst) 1),
-	(atac 1),
-	(Simp_tac 1)
-	]);
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac (lub_cprod RS thelubI RS ssubst) 1),
+        (atac 1),
+        (Simp_tac 1)
+        ]);
 
 qed_goal "contlub_snd" Cprod3.thy "contlub(snd)"
  (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac (lub_cprod RS thelubI RS ssubst) 1),
-	(atac 1),
-	(Simp_tac 1)
-	]);
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac (lub_cprod RS thelubI RS ssubst) 1),
+        (atac 1),
+        (Simp_tac 1)
+        ]);
 
 qed_goal "cont_fst" Cprod3.thy "cont(fst)"
 (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_fst 1),
-	(rtac contlub_fst 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_fst 1),
+        (rtac contlub_fst 1)
+        ]);
 
 qed_goal "cont_snd" Cprod3.thy "cont(snd)"
 (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_snd 1),
-	(rtac contlub_snd 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_snd 1),
+        (rtac contlub_snd 1)
+        ]);
 
 (* 
  -------------------------------------------------------------------------- 
@@ -144,144 +144,144 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "beta_cfun_cprod" Cprod3.thy [cpair_def]
-	"(LAM x y.(x,y))`a`b = (a,b)"
+        "(LAM x y.(x,y))`a`b = (a,b)"
  (fn prems =>
-	[
-	(rtac (beta_cfun RS ssubst) 1),
-	(cont_tac 1),
-	(rtac cont_pair2 1),
-	(rtac cont2cont_CF1L 1),
-	(rtac cont_pair1 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_pair2 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (beta_cfun RS ssubst) 1),
+        (cont_tac 1),
+        (rtac cont_pair2 1),
+        (rtac cont2cont_CF1L 1),
+        (rtac cont_pair1 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_pair2 1),
+        (rtac refl 1)
+        ]);
 
 qed_goalw "inject_cpair" Cprod3.thy [cpair_def]
-	" <a,b>=<aa,ba>  ==> a=aa & b=ba"
+        " <a,b>=<aa,ba>  ==> a=aa & b=ba"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(dtac (beta_cfun_cprod RS subst) 1),
-	(dtac (beta_cfun_cprod RS subst) 1),
-	(etac Pair_inject 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (dtac (beta_cfun_cprod RS subst) 1),
+        (dtac (beta_cfun_cprod RS subst) 1),
+        (etac Pair_inject 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 qed_goalw "inst_cprod_pcpo2" Cprod3.thy [cpair_def] "UU = <UU,UU>"
  (fn prems =>
-	[
-	(rtac sym 1),
-	(rtac trans 1),
-	(rtac beta_cfun_cprod 1),
-	(rtac sym 1),
-	(rtac inst_cprod_pcpo 1)
-	]);
+        [
+        (rtac sym 1),
+        (rtac trans 1),
+        (rtac beta_cfun_cprod 1),
+        (rtac sym 1),
+        (rtac inst_cprod_pcpo 1)
+        ]);
 
 qed_goal "defined_cpair_rev" Cprod3.thy
  "<a,b> = UU ==> a = UU & b = UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(dtac (inst_cprod_pcpo2 RS subst) 1),
-	(etac inject_cpair 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (dtac (inst_cprod_pcpo2 RS subst) 1),
+        (etac inject_cpair 1)
+        ]);
 
 qed_goalw "Exh_Cprod2" Cprod3.thy [cpair_def]
-	"? a b. z=<a,b>"
+        "? a b. z=<a,b>"
  (fn prems =>
-	[
-	(rtac PairE 1),
-	(rtac exI 1),
-	(rtac exI 1),
-	(etac (beta_cfun_cprod RS ssubst) 1)
-	]);
+        [
+        (rtac PairE 1),
+        (rtac exI 1),
+        (rtac exI 1),
+        (etac (beta_cfun_cprod RS ssubst) 1)
+        ]);
 
 qed_goalw "cprodE" Cprod3.thy [cpair_def]
 "[|!!x y. [|p=<x,y> |] ==> Q|] ==> Q"
  (fn prems =>
-	[
-	(rtac PairE 1),
-	(resolve_tac prems 1),
-	(etac (beta_cfun_cprod RS ssubst) 1)
-	]);
+        [
+        (rtac PairE 1),
+        (resolve_tac prems 1),
+        (etac (beta_cfun_cprod RS ssubst) 1)
+        ]);
 
 qed_goalw "cfst2" Cprod3.thy [cfst_def,cpair_def] 
-	"cfst`<x,y>=x"
+        "cfst`<x,y>=x"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (beta_cfun_cprod RS ssubst) 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_fst 1),
-	(Simp_tac  1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (beta_cfun_cprod RS ssubst) 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_fst 1),
+        (Simp_tac  1)
+        ]);
 
 qed_goalw "csnd2" Cprod3.thy [csnd_def,cpair_def] 
-	"csnd`<x,y>=y"
+        "csnd`<x,y>=y"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (beta_cfun_cprod RS ssubst) 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_snd 1),
-	(Simp_tac  1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (beta_cfun_cprod RS ssubst) 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_snd 1),
+        (Simp_tac  1)
+        ]);
 
 qed_goalw "surjective_pairing_Cprod2" Cprod3.thy 
-	[cfst_def,csnd_def,cpair_def] "<cfst`p , csnd`p> = p"
+        [cfst_def,csnd_def,cpair_def] "<cfst`p , csnd`p> = p"
  (fn prems =>
-	[
-	(rtac (beta_cfun_cprod RS ssubst) 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_snd 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_fst 1),
-	(rtac (surjective_pairing RS sym) 1)
-	]);
+        [
+        (rtac (beta_cfun_cprod RS ssubst) 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_snd 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_fst 1),
+        (rtac (surjective_pairing RS sym) 1)
+        ]);
 
 
 qed_goalw "less_cprod5b" Cprod3.thy [cfst_def,csnd_def,cpair_def]
  " (p1 << p2) = (cfst`p1 << cfst`p2 & csnd`p1 << csnd`p2)"
  (fn prems =>
-	[
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_snd 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_snd 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_fst 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_fst 1),
-	(rtac less_cprod3b 1)
-	]);
+        [
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_snd 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_snd 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_fst 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_fst 1),
+        (rtac less_cprod3b 1)
+        ]);
 
 qed_goalw "less_cprod5c" Cprod3.thy [cfst_def,csnd_def,cpair_def]
  "<xa,ya> << <x,y> ==> xa<<x & ya << y"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac less_cprod4c 1),
-	(dtac (beta_cfun_cprod RS subst) 1),
-	(dtac (beta_cfun_cprod RS subst) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac less_cprod4c 1),
+        (dtac (beta_cfun_cprod RS subst) 1),
+        (dtac (beta_cfun_cprod RS subst) 1),
+        (atac 1)
+        ]);
 
 
 qed_goalw "lub_cprod2" Cprod3.thy [cfst_def,csnd_def,cpair_def]
 "[|is_chain(S)|] ==> range(S) <<| \
 \ <(lub(range(%i.cfst`(S i)))) , lub(range(%i.csnd`(S i)))>"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (beta_cfun_cprod RS ssubst) 1),
-	(rtac (beta_cfun RS ext RS ssubst) 1),
-	(rtac cont_snd 1),
-	(rtac (beta_cfun RS ext RS ssubst) 1),
-	(rtac cont_fst 1),
-	(rtac lub_cprod 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (beta_cfun_cprod RS ssubst) 1),
+        (rtac (beta_cfun RS ext RS ssubst) 1),
+        (rtac cont_snd 1),
+        (rtac (beta_cfun RS ext RS ssubst) 1),
+        (rtac cont_fst 1),
+        (rtac lub_cprod 1),
+        (atac 1)
+        ]);
 
 val thelub_cprod2 = (lub_cprod2 RS thelubI);
 (*
@@ -290,23 +290,23 @@
  <lub (range (%i. cfst`(?S1 i))), lub (range (%i. csnd`(?S1 i)))>" 
 *)
 qed_goalw "csplit2" Cprod3.thy [csplit_def]
-	"csplit`f`<x,y> = f`x`y"
+        "csplit`f`<x,y> = f`x`y"
  (fn prems =>
-	[
-	(rtac (beta_cfun RS ssubst) 1),
-	(cont_tacR 1),
-	(Simp_tac 1),
-	(simp_tac (!simpset addsimps [cfst2,csnd2]) 1)
-	]);
+        [
+        (rtac (beta_cfun RS ssubst) 1),
+        (cont_tacR 1),
+        (Simp_tac 1),
+        (simp_tac (!simpset addsimps [cfst2,csnd2]) 1)
+        ]);
 
 qed_goalw "csplit3" Cprod3.thy [csplit_def]
   "csplit`cpair`z=z"
  (fn prems =>
-	[
-	(rtac (beta_cfun RS ssubst) 1),
-	(cont_tacR 1),
-	(simp_tac (!simpset addsimps [surjective_pairing_Cprod2]) 1)
-	]);
+        [
+        (rtac (beta_cfun RS ssubst) 1),
+        (cont_tacR 1),
+        (simp_tac (!simpset addsimps [surjective_pairing_Cprod2]) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* install simplifier for Cprod                                             *)
--- a/src/HOLCF/Fix.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Fix.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/fix.ML
+(*  Title:      HOLCF/fix.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993  Technische Universitaet Muenchen
 
 Lemmas for fix.thy 
@@ -14,25 +14,25 @@
 
 qed_goal "iterate_0" Fix.thy "iterate 0 F x = x"
  (fn prems =>
-	[
-	(resolve_tac (nat_recs iterate_def) 1)
-	]);
+        [
+        (resolve_tac (nat_recs iterate_def) 1)
+        ]);
 
 qed_goal "iterate_Suc" Fix.thy "iterate (Suc n) F x  = F`(iterate n F x)"
  (fn prems =>
-	[
-	(resolve_tac (nat_recs iterate_def) 1)
-	]);
+        [
+        (resolve_tac (nat_recs iterate_def) 1)
+        ]);
 
 Addsimps [iterate_0, iterate_Suc];
 
 qed_goal "iterate_Suc2" Fix.thy "iterate (Suc n) F x = iterate n F (F`x)"
  (fn prems =>
-	[
-	(nat_ind_tac "n" 1),
-	(Simp_tac 1),
-	(Asm_simp_tac 1)
-	]);
+        [
+        (nat_ind_tac "n" 1),
+        (Simp_tac 1),
+        (Asm_simp_tac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* the sequence of function itertaions is a chain                           *)
@@ -40,26 +40,26 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "is_chain_iterate2" Fix.thy [is_chain] 
-	" x << F`x ==> is_chain (%i.iterate i F x)"
+        " x << F`x ==> is_chain (%i.iterate i F x)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(Simp_tac 1),
-	(nat_ind_tac "i" 1),
-	(Asm_simp_tac 1),
-	(Asm_simp_tac 1),
-	(etac monofun_cfun_arg 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (Simp_tac 1),
+        (nat_ind_tac "i" 1),
+        (Asm_simp_tac 1),
+        (Asm_simp_tac 1),
+        (etac monofun_cfun_arg 1)
+        ]);
 
 
 qed_goal "is_chain_iterate" Fix.thy  
-	"is_chain (%i.iterate i F UU)"
+        "is_chain (%i.iterate i F UU)"
  (fn prems =>
-	[
-	(rtac is_chain_iterate2 1),
-	(rtac minimal 1)
-	]);
+        [
+        (rtac is_chain_iterate2 1),
+        (rtac minimal 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -70,43 +70,43 @@
 
 qed_goalw "Ifix_eq" Fix.thy  [Ifix_def] "Ifix F =F`(Ifix F)"
  (fn prems =>
-	[
-	(rtac (contlub_cfun_arg RS ssubst) 1),
-	(rtac is_chain_iterate 1),
-	(rtac antisym_less 1),
-	(rtac lub_mono 1),
-	(rtac is_chain_iterate 1),
-	(rtac ch2ch_fappR 1),
-	(rtac is_chain_iterate 1),
-	(rtac allI 1),
-	(rtac (iterate_Suc RS subst) 1),
-	(rtac (is_chain_iterate RS is_chainE RS spec) 1),
-	(rtac is_lub_thelub 1),
-	(rtac ch2ch_fappR 1),
-	(rtac is_chain_iterate 1),
-	(rtac ub_rangeI 1),
-	(rtac allI 1),
-	(rtac (iterate_Suc RS subst) 1),
-	(rtac is_ub_thelub 1),
-	(rtac is_chain_iterate 1)
-	]);
+        [
+        (rtac (contlub_cfun_arg RS ssubst) 1),
+        (rtac is_chain_iterate 1),
+        (rtac antisym_less 1),
+        (rtac lub_mono 1),
+        (rtac is_chain_iterate 1),
+        (rtac ch2ch_fappR 1),
+        (rtac is_chain_iterate 1),
+        (rtac allI 1),
+        (rtac (iterate_Suc RS subst) 1),
+        (rtac (is_chain_iterate RS is_chainE RS spec) 1),
+        (rtac is_lub_thelub 1),
+        (rtac ch2ch_fappR 1),
+        (rtac is_chain_iterate 1),
+        (rtac ub_rangeI 1),
+        (rtac allI 1),
+        (rtac (iterate_Suc RS subst) 1),
+        (rtac is_ub_thelub 1),
+        (rtac is_chain_iterate 1)
+        ]);
 
 
 qed_goalw "Ifix_least" Fix.thy [Ifix_def] "F`x=x ==> Ifix(F) << x"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_lub_thelub 1),
-	(rtac is_chain_iterate 1),
-	(rtac ub_rangeI 1),
-	(strip_tac 1),
-	(nat_ind_tac "i" 1),
-	(Asm_simp_tac 1),
-	(Asm_simp_tac 1),
-	(res_inst_tac [("t","x")] subst 1),
-	(atac 1),
-	(etac monofun_cfun_arg 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_lub_thelub 1),
+        (rtac is_chain_iterate 1),
+        (rtac ub_rangeI 1),
+        (strip_tac 1),
+        (nat_ind_tac "i" 1),
+        (Asm_simp_tac 1),
+        (Asm_simp_tac 1),
+        (res_inst_tac [("t","x")] subst 1),
+        (atac 1),
+        (etac monofun_cfun_arg 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -115,18 +115,18 @@
 
 qed_goalw "monofun_iterate" Fix.thy  [monofun] "monofun(iterate(i))"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(nat_ind_tac "i" 1),
-	(Asm_simp_tac 1),
-	(Asm_simp_tac 1),
-	(rtac (less_fun RS iffD2) 1),
-	(rtac allI 1),
-	(rtac monofun_cfun 1),
-	(atac 1),
-	(rtac (less_fun RS iffD1 RS spec) 1),
-	(atac 1)
-	]);
+        [
+        (strip_tac 1),
+        (nat_ind_tac "i" 1),
+        (Asm_simp_tac 1),
+        (Asm_simp_tac 1),
+        (rtac (less_fun RS iffD2) 1),
+        (rtac allI 1),
+        (rtac monofun_cfun 1),
+        (atac 1),
+        (rtac (less_fun RS iffD1 RS spec) 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* the following lemma uses contlub_cfun which itself is based on a         *)
@@ -136,42 +136,42 @@
 
 qed_goalw "contlub_iterate" Fix.thy  [contlub] "contlub(iterate(i))"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(nat_ind_tac "i" 1),
-	(Asm_simp_tac 1),
-	(rtac (lub_const RS thelubI RS sym) 1),
-	(Asm_simp_tac 1),
-	(rtac ext 1),
-	(rtac (thelub_fun RS ssubst) 1),
-	(rtac is_chainI 1),
-	(rtac allI 1),
-	(rtac (less_fun RS iffD2) 1),
-	(rtac allI 1),
-	(rtac (is_chainE RS spec) 1),
-	(rtac (monofun_fapp1 RS ch2ch_MF2LR) 1),
-	(rtac allI 1),
-	(rtac monofun_fapp2 1),
-	(atac 1),
-	(rtac ch2ch_fun 1),
-	(rtac (monofun_iterate RS ch2ch_monofun) 1),
-	(atac 1),
-	(rtac (thelub_fun RS ssubst) 1),
-	(rtac (monofun_iterate RS ch2ch_monofun) 1),
-	(atac 1),
-	(rtac contlub_cfun  1),
-	(atac 1),
-	(etac (monofun_iterate RS ch2ch_monofun RS ch2ch_fun) 1)
-	]);
+        [
+        (strip_tac 1),
+        (nat_ind_tac "i" 1),
+        (Asm_simp_tac 1),
+        (rtac (lub_const RS thelubI RS sym) 1),
+        (Asm_simp_tac 1),
+        (rtac ext 1),
+        (rtac (thelub_fun RS ssubst) 1),
+        (rtac is_chainI 1),
+        (rtac allI 1),
+        (rtac (less_fun RS iffD2) 1),
+        (rtac allI 1),
+        (rtac (is_chainE RS spec) 1),
+        (rtac (monofun_fapp1 RS ch2ch_MF2LR) 1),
+        (rtac allI 1),
+        (rtac monofun_fapp2 1),
+        (atac 1),
+        (rtac ch2ch_fun 1),
+        (rtac (monofun_iterate RS ch2ch_monofun) 1),
+        (atac 1),
+        (rtac (thelub_fun RS ssubst) 1),
+        (rtac (monofun_iterate RS ch2ch_monofun) 1),
+        (atac 1),
+        (rtac contlub_cfun  1),
+        (atac 1),
+        (etac (monofun_iterate RS ch2ch_monofun RS ch2ch_fun) 1)
+        ]);
 
 
 qed_goal "cont_iterate" Fix.thy "cont(iterate(i))"
  (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_iterate 1),
-	(rtac contlub_iterate 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_iterate 1),
+        (rtac contlub_iterate 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* a lemma about continuity of iterate in its third argument                *)
@@ -179,37 +179,37 @@
 
 qed_goal "monofun_iterate2" Fix.thy "monofun(iterate n F)"
  (fn prems =>
-	[
-	(rtac monofunI 1),
-	(strip_tac 1),
-	(nat_ind_tac "n" 1),
-	(Asm_simp_tac 1),
-	(Asm_simp_tac 1),
-	(etac monofun_cfun_arg 1)
-	]);
+        [
+        (rtac monofunI 1),
+        (strip_tac 1),
+        (nat_ind_tac "n" 1),
+        (Asm_simp_tac 1),
+        (Asm_simp_tac 1),
+        (etac monofun_cfun_arg 1)
+        ]);
 
 qed_goal "contlub_iterate2" Fix.thy "contlub(iterate n F)"
  (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(nat_ind_tac "n" 1),
-	(Simp_tac 1),
-	(Simp_tac 1),
-	(res_inst_tac [("t","iterate n1 F (lub(range(%u. Y u)))"),
-	("s","lub(range(%i. iterate n1 F (Y i)))")] ssubst 1),
-	(atac 1),
-	(rtac contlub_cfun_arg 1),
-	(etac (monofun_iterate2 RS ch2ch_monofun) 1)
-	]);
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (nat_ind_tac "n" 1),
+        (Simp_tac 1),
+        (Simp_tac 1),
+        (res_inst_tac [("t","iterate n1 F (lub(range(%u. Y u)))"),
+        ("s","lub(range(%i. iterate n1 F (Y i)))")] ssubst 1),
+        (atac 1),
+        (rtac contlub_cfun_arg 1),
+        (etac (monofun_iterate2 RS ch2ch_monofun) 1)
+        ]);
 
 qed_goal "cont_iterate2" Fix.thy "cont (iterate n F)"
  (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_iterate2 1),
-	(rtac contlub_iterate2 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_iterate2 1),
+        (rtac contlub_iterate2 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* monotonicity and continuity of Ifix                                      *)
@@ -217,15 +217,15 @@
 
 qed_goalw "monofun_Ifix" Fix.thy  [monofun,Ifix_def] "monofun(Ifix)"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(rtac lub_mono 1),
-	(rtac is_chain_iterate 1),
-	(rtac is_chain_iterate 1),
-	(rtac allI 1),
-	(rtac (less_fun RS iffD1 RS spec) 1),
-	(etac (monofun_iterate RS monofunE RS spec RS spec RS mp) 1)
-	]);
+        [
+        (strip_tac 1),
+        (rtac lub_mono 1),
+        (rtac is_chain_iterate 1),
+        (rtac is_chain_iterate 1),
+        (rtac allI 1),
+        (rtac (less_fun RS iffD1 RS spec) 1),
+        (etac (monofun_iterate RS monofunE RS spec RS spec RS mp) 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -236,17 +236,17 @@
 qed_goal "is_chain_iterate_lub" Fix.thy   
 "is_chain(Y) ==> is_chain(%i. lub(range(%ia. iterate ia (Y i) UU)))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_chainI 1),
-	(strip_tac 1),
-	(rtac lub_mono 1),
-	(rtac is_chain_iterate 1),
-	(rtac is_chain_iterate 1),
-	(strip_tac 1),
-	(etac (monofun_iterate RS ch2ch_monofun RS ch2ch_fun RS is_chainE 
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_chainI 1),
+        (strip_tac 1),
+        (rtac lub_mono 1),
+        (rtac is_chain_iterate 1),
+        (rtac is_chain_iterate 1),
+        (strip_tac 1),
+        (etac (monofun_iterate RS ch2ch_monofun RS ch2ch_fun RS is_chainE 
          RS spec) 1)
-	]);
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* this exchange lemma is analog to the one for monotone functions          *)
@@ -257,69 +257,69 @@
 qed_goal "contlub_Ifix_lemma1" Fix.thy 
 "is_chain(Y) ==>iterate n (lub(range Y)) y = lub(range(%i. iterate n (Y i) y))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (thelub_fun RS subst) 1),
-	(rtac (monofun_iterate RS ch2ch_monofun) 1),
-	(atac 1),
-	(rtac fun_cong 1),
-	(rtac (contlub_iterate RS contlubE RS spec RS mp RS ssubst) 1),
-	(atac 1),
-	(rtac refl 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (thelub_fun RS subst) 1),
+        (rtac (monofun_iterate RS ch2ch_monofun) 1),
+        (atac 1),
+        (rtac fun_cong 1),
+        (rtac (contlub_iterate RS contlubE RS spec RS mp RS ssubst) 1),
+        (atac 1),
+        (rtac refl 1)
+        ]);
 
 
 qed_goal "ex_lub_iterate" Fix.thy  "is_chain(Y) ==>\
 \         lub(range(%i. lub(range(%ia. iterate i (Y ia) UU)))) =\
 \         lub(range(%i. lub(range(%ia. iterate ia (Y i) UU))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac antisym_less 1),
-	(rtac is_lub_thelub 1),
-	(rtac (contlub_Ifix_lemma1 RS ext RS subst) 1),
-	(atac 1),
-	(rtac is_chain_iterate 1),
-	(rtac ub_rangeI 1),
-	(strip_tac 1),
-	(rtac lub_mono 1),
-	(etac (monofun_iterate RS ch2ch_monofun RS ch2ch_fun) 1),
-	(etac is_chain_iterate_lub 1),
-	(strip_tac 1),
-	(rtac is_ub_thelub 1),
-	(rtac is_chain_iterate 1),
-	(rtac is_lub_thelub 1),
-	(etac is_chain_iterate_lub 1),
-	(rtac ub_rangeI 1),
-	(strip_tac 1),
-	(rtac lub_mono 1),
-	(rtac is_chain_iterate 1),
-	(rtac (contlub_Ifix_lemma1 RS ext RS subst) 1),
-	(atac 1),
-	(rtac is_chain_iterate 1),
-	(strip_tac 1),
-	(rtac is_ub_thelub 1),
-	(etac (monofun_iterate RS ch2ch_monofun RS ch2ch_fun) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac antisym_less 1),
+        (rtac is_lub_thelub 1),
+        (rtac (contlub_Ifix_lemma1 RS ext RS subst) 1),
+        (atac 1),
+        (rtac is_chain_iterate 1),
+        (rtac ub_rangeI 1),
+        (strip_tac 1),
+        (rtac lub_mono 1),
+        (etac (monofun_iterate RS ch2ch_monofun RS ch2ch_fun) 1),
+        (etac is_chain_iterate_lub 1),
+        (strip_tac 1),
+        (rtac is_ub_thelub 1),
+        (rtac is_chain_iterate 1),
+        (rtac is_lub_thelub 1),
+        (etac is_chain_iterate_lub 1),
+        (rtac ub_rangeI 1),
+        (strip_tac 1),
+        (rtac lub_mono 1),
+        (rtac is_chain_iterate 1),
+        (rtac (contlub_Ifix_lemma1 RS ext RS subst) 1),
+        (atac 1),
+        (rtac is_chain_iterate 1),
+        (strip_tac 1),
+        (rtac is_ub_thelub 1),
+        (etac (monofun_iterate RS ch2ch_monofun RS ch2ch_fun) 1)
+        ]);
 
 
 qed_goalw "contlub_Ifix" Fix.thy  [contlub,Ifix_def] "contlub(Ifix)"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(rtac (contlub_Ifix_lemma1 RS ext RS ssubst) 1),
-	(atac 1),
-	(etac ex_lub_iterate 1)
-	]);
+        [
+        (strip_tac 1),
+        (rtac (contlub_Ifix_lemma1 RS ext RS ssubst) 1),
+        (atac 1),
+        (etac ex_lub_iterate 1)
+        ]);
 
 
 qed_goal "cont_Ifix" Fix.thy "cont(Ifix)"
  (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_Ifix 1),
-	(rtac contlub_Ifix 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_Ifix 1),
+        (rtac contlub_Ifix 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* propagate properties of Ifix to its continuous counterpart               *)
@@ -327,65 +327,65 @@
 
 qed_goalw "fix_eq" Fix.thy  [fix_def] "fix`F = F`(fix`F)"
  (fn prems =>
-	[
-	(asm_simp_tac (!simpset addsimps [cont_Ifix]) 1),
-	(rtac Ifix_eq 1)
-	]);
+        [
+        (asm_simp_tac (!simpset addsimps [cont_Ifix]) 1),
+        (rtac Ifix_eq 1)
+        ]);
 
 qed_goalw "fix_least" Fix.thy [fix_def] "F`x = x ==> fix`F << x"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(asm_simp_tac (!simpset addsimps [cont_Ifix]) 1),
-	(etac Ifix_least 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (asm_simp_tac (!simpset addsimps [cont_Ifix]) 1),
+        (etac Ifix_least 1)
+        ]);
 
 
 qed_goal "fix_eqI" Fix.thy
 "[| F`x = x; !z. F`z = z --> x << z |] ==> x = fix`F"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac antisym_less 1),
-	(etac allE 1),
-	(etac mp 1),
-	(rtac (fix_eq RS sym) 1),
-	(etac fix_least 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac antisym_less 1),
+        (etac allE 1),
+        (etac mp 1),
+        (rtac (fix_eq RS sym) 1),
+        (etac fix_least 1)
+        ]);
 
 
 qed_goal "fix_eq2" Fix.thy "f == fix`F ==> f = F`f"
  (fn prems =>
-	[
-	(rewrite_goals_tac prems),
-	(rtac fix_eq 1)
-	]);
+        [
+        (rewrite_goals_tac prems),
+        (rtac fix_eq 1)
+        ]);
 
 qed_goal "fix_eq3" Fix.thy "f == fix`F ==> f`x = F`f`x"
  (fn prems =>
-	[
-	(rtac trans 1),
-	(rtac ((hd prems) RS fix_eq2 RS cfun_fun_cong) 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac trans 1),
+        (rtac ((hd prems) RS fix_eq2 RS cfun_fun_cong) 1),
+        (rtac refl 1)
+        ]);
 
 fun fix_tac3 thm i  = ((rtac trans i) THEN (rtac (thm RS fix_eq3) i)); 
 
 qed_goal "fix_eq4" Fix.thy "f = fix`F ==> f = F`f"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(hyp_subst_tac 1),
-	(rtac fix_eq 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (hyp_subst_tac 1),
+        (rtac fix_eq 1)
+        ]);
 
 qed_goal "fix_eq5" Fix.thy "f = fix`F ==> f`x = F`f`x"
  (fn prems =>
-	[
-	(rtac trans 1),
-	(rtac ((hd prems) RS fix_eq4 RS cfun_fun_cong) 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac trans 1),
+        (rtac ((hd prems) RS fix_eq4 RS cfun_fun_cong) 1),
+        (rtac refl 1)
+        ]);
 
 fun fix_tac5 thm i  = ((rtac trans i) THEN (rtac (thm RS fix_eq5) i)); 
 
@@ -404,12 +404,12 @@
 
 fun fix_prover2 thy fixdef thm = prove_goal thy thm
  (fn prems =>
-	[
-	(rtac trans 1),
-	(rtac (fix_eq2) 1),
-	(rtac fixdef 1),
-	(rtac beta_cfun 1),
-	(cont_tacR 1)
+        [
+        (rtac trans 1),
+        (rtac (fix_eq2) 1),
+        (rtac fixdef 1),
+        (rtac beta_cfun 1),
+        (cont_tacR 1)
         ]);
 
 (* ------------------------------------------------------------------------ *)
@@ -419,11 +419,11 @@
 
 qed_goal "Ifix_def2" Fix.thy "Ifix=(%x. lub(range(%i. iterate i x UU)))"
  (fn prems =>
-	[
-	(rtac ext 1),
-	(rewrite_goals_tac [Ifix_def]),
-	(rtac refl 1)
-	]);
+        [
+        (rtac ext 1),
+        (rewtac Ifix_def),
+        (rtac refl 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* direct connection between fix and iteration without Ifix                 *)
@@ -432,10 +432,10 @@
 qed_goalw "fix_def2" Fix.thy [fix_def]
  "fix`F = lub(range(%i. iterate i F UU))"
  (fn prems =>
-	[
-	(fold_goals_tac [Ifix_def]),
-	(asm_simp_tac (!simpset addsimps [cont_Ifix]) 1)
-	]);
+        [
+        (fold_goals_tac [Ifix_def]),
+        (asm_simp_tac (!simpset addsimps [cont_Ifix]) 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -447,19 +447,19 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "adm_def2" Fix.thy [adm_def]
-	"adm(P) = (!Y. is_chain(Y) --> (!i.P(Y(i))) --> P(lub(range(Y))))"
+        "adm(P) = (!Y. is_chain(Y) --> (!i.P(Y(i))) --> P(lub(range(Y))))"
  (fn prems =>
-	[
-	(rtac refl 1)
-	]);
+        [
+        (rtac refl 1)
+        ]);
 
 qed_goalw "admw_def2" Fix.thy [admw_def]
-	"admw(P) = (!F.(!n.P(iterate n F UU)) -->\
-\			 P (lub(range(%i.iterate i F UU))))"
+        "admw(P) = (!F.(!n.P(iterate n F UU)) -->\
+\                        P (lub(range(%i.iterate i F UU))))"
  (fn prems =>
-	[
-	(rtac refl 1)
-	]);
+        [
+        (rtac refl 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* an admissible formula is also weak admissible                            *)
@@ -467,14 +467,14 @@
 
 qed_goalw "adm_impl_admw"  Fix.thy [admw_def] "adm(P)==>admw(P)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
-	(atac 1),
-	(rtac is_chain_iterate 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
+        (atac 1),
+        (rtac is_chain_iterate 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* fixed point induction                                                    *)
@@ -483,20 +483,20 @@
 qed_goal "fix_ind"  Fix.thy  
 "[| adm(P);P(UU);!!x. P(x) ==> P(F`x)|] ==> P(fix`F)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (fix_def2 RS ssubst) 1),
-	(rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
-	(atac 1),
-	(rtac is_chain_iterate 1),
-	(rtac allI 1),
-	(nat_ind_tac "i" 1),
-	(rtac (iterate_0 RS ssubst) 1),
-	(atac 1),
-	(rtac (iterate_Suc RS ssubst) 1),
-	(resolve_tac prems 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (fix_def2 RS ssubst) 1),
+        (rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
+        (atac 1),
+        (rtac is_chain_iterate 1),
+        (rtac allI 1),
+        (nat_ind_tac "i" 1),
+        (rtac (iterate_0 RS ssubst) 1),
+        (atac 1),
+        (rtac (iterate_Suc RS ssubst) 1),
+        (resolve_tac prems 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* computational induction for weak admissible formulae                     *)
@@ -505,14 +505,14 @@
 qed_goal "wfix_ind"  Fix.thy  
 "[| admw(P); !n. P(iterate n F UU)|] ==> P(fix`F)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (fix_def2 RS ssubst) 1),
-	(rtac (admw_def2 RS iffD1 RS spec RS mp) 1),
-	(atac 1),
-	(rtac allI 1),
-	(etac spec 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (fix_def2 RS ssubst) 1),
+        (rtac (admw_def2 RS iffD1 RS spec RS mp) 1),
+        (atac 1),
+        (rtac allI 1),
+        (etac spec 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* for chain-finite (easy) types every formula is admissible                *)
@@ -521,67 +521,67 @@
 qed_goalw "adm_max_in_chain"  Fix.thy  [adm_def]
 "!Y. is_chain(Y::nat=>'a) --> (? n.max_in_chain n Y) ==> adm(P::'a=>bool)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(rtac exE 1),
-	(rtac mp 1),
-	(etac spec 1),
-	(atac 1),
-	(rtac (lub_finch1 RS thelubI RS ssubst) 1),
-	(atac 1),
-	(atac 1),
-	(etac spec 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (rtac exE 1),
+        (rtac mp 1),
+        (etac spec 1),
+        (atac 1),
+        (rtac (lub_finch1 RS thelubI RS ssubst) 1),
+        (atac 1),
+        (atac 1),
+        (etac spec 1)
+        ]);
 
 
 qed_goalw "adm_chain_finite"  Fix.thy  [chain_finite_def]
-	"chain_finite(x::'a) ==> adm(P::'a=>bool)"
+        "chain_finite(x::'a) ==> adm(P::'a=>bool)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac adm_max_in_chain 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac adm_max_in_chain 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* flat types are chain_finite                                              *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "flat_imp_chain_finite"  Fix.thy  [is_flat_def,chain_finite_def]
-	"is_flat(x::'a)==>chain_finite(x::'a)"
+        "is_flat(x::'a)==>chain_finite(x::'a)"
  (fn prems =>
-	[
-	(rewrite_goals_tac [max_in_chain_def]),
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(res_inst_tac [("Q","!i.Y(i)=UU")] classical2 1),
-	(res_inst_tac [("x","0")] exI 1),
-	(strip_tac 1),
-	(rtac trans 1),
-	(etac spec 1),
-	(rtac sym 1),
-	(etac spec 1),
-	(rtac (chain_mono2 RS exE) 1),
-	(fast_tac HOL_cs 1),
-	(atac 1),
-	(res_inst_tac [("x","Suc(x)")] exI 1),
-	(strip_tac 1),
-	(rtac disjE 1),
-	(atac 3),
-	(rtac mp 1),
-	(dtac spec 1),
-	(etac spec 1),
-	(etac (le_imp_less_or_eq RS disjE) 1),
-	(etac (chain_mono RS mp) 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(rtac refl_less 1),
-	(res_inst_tac [("P","Y(Suc(x)) = UU")] notE 1),
-	(atac 2),
-	(rtac mp 1),
-	(etac spec 1),
-	(Asm_simp_tac 1)
-	]);
+        [
+        (rewtac max_in_chain_def),
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (res_inst_tac [("Q","!i.Y(i)=UU")] classical2 1),
+        (res_inst_tac [("x","0")] exI 1),
+        (strip_tac 1),
+        (rtac trans 1),
+        (etac spec 1),
+        (rtac sym 1),
+        (etac spec 1),
+        (rtac (chain_mono2 RS exE) 1),
+        (fast_tac HOL_cs 1),
+        (atac 1),
+        (res_inst_tac [("x","Suc(x)")] exI 1),
+        (strip_tac 1),
+        (rtac disjE 1),
+        (atac 3),
+        (rtac mp 1),
+        (dtac spec 1),
+        (etac spec 1),
+        (etac (le_imp_less_or_eq RS disjE) 1),
+        (etac (chain_mono RS mp) 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (rtac refl_less 1),
+        (res_inst_tac [("P","Y(Suc(x)) = UU")] notE 1),
+        (atac 2),
+        (rtac mp 1),
+        (etac spec 1),
+        (Asm_simp_tac 1)
+        ]);
 
 
 val adm_flat = flat_imp_chain_finite RS adm_chain_finite;
@@ -589,11 +589,11 @@
 
 qed_goalw "flat_void" Fix.thy [is_flat_def] "is_flat(UU::void)"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(rtac disjI1 1),
-	(rtac unique_void2 1)
-	]);
+        [
+        (strip_tac 1),
+        (rtac disjI1 1),
+        (rtac unique_void2 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* continuous isomorphisms are strict                                       *)
@@ -604,46 +604,46 @@
 "!!f g.[|!y.f`(g`y)=(y::'b) ; !x.g`(f`x)=(x::'a) |] \
 \ ==> f`UU=UU & g`UU=UU"
  (fn prems =>
-	[
-	(rtac conjI 1),
-	(rtac UU_I 1),
-	(res_inst_tac [("s","f`(g`(UU::'b))"),("t","UU::'b")] subst 1),
-	(etac spec 1),
-	(rtac (minimal RS monofun_cfun_arg) 1),
-	(rtac UU_I 1),
-	(res_inst_tac [("s","g`(f`(UU::'a))"),("t","UU::'a")] subst 1),
-	(etac spec 1),
-	(rtac (minimal RS monofun_cfun_arg) 1)
-	]);
+        [
+        (rtac conjI 1),
+        (rtac UU_I 1),
+        (res_inst_tac [("s","f`(g`(UU::'b))"),("t","UU::'b")] subst 1),
+        (etac spec 1),
+        (rtac (minimal RS monofun_cfun_arg) 1),
+        (rtac UU_I 1),
+        (res_inst_tac [("s","g`(f`(UU::'a))"),("t","UU::'a")] subst 1),
+        (etac spec 1),
+        (rtac (minimal RS monofun_cfun_arg) 1)
+        ]);
 
 
 qed_goal "isorep_defined" Fix.thy 
-	"[|!x.rep`(abs`x)=x;!y.abs`(rep`y)=y; z~=UU|] ==> rep`z ~= UU"
+        "[|!x.rep`(abs`x)=x;!y.abs`(rep`y)=y; z~=UU|] ==> rep`z ~= UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac swap 1),
-	(dtac notnotD 1),
-	(dres_inst_tac [("f","abs")] cfun_arg_cong 1),
-	(etac box_equals 1),
-	(fast_tac HOL_cs 1),
-	(etac (iso_strict RS conjunct1) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac swap 1),
+        (dtac notnotD 1),
+        (dres_inst_tac [("f","abs")] cfun_arg_cong 1),
+        (etac box_equals 1),
+        (fast_tac HOL_cs 1),
+        (etac (iso_strict RS conjunct1) 1),
+        (atac 1)
+        ]);
 
 qed_goal "isoabs_defined" Fix.thy 
-	"[|!x.rep`(abs`x) = x;!y.abs`(rep`y)=y ; z~=UU|] ==> abs`z ~= UU"
+        "[|!x.rep`(abs`x) = x;!y.abs`(rep`y)=y ; z~=UU|] ==> abs`z ~= UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac swap 1),
-	(dtac notnotD 1),
-	(dres_inst_tac [("f","rep")] cfun_arg_cong 1),
-	(etac box_equals 1),
-	(fast_tac HOL_cs 1),
-	(etac (iso_strict RS conjunct2) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac swap 1),
+        (dtac notnotD 1),
+        (dres_inst_tac [("f","rep")] cfun_arg_cong 1),
+        (etac box_equals 1),
+        (fast_tac HOL_cs 1),
+        (etac (iso_strict RS conjunct2) 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* propagation of flatness and chainfiniteness by continuous isomorphisms   *)
@@ -653,51 +653,51 @@
 "!!f g.[|chain_finite(x::'a); !y.f`(g`y)=(y::'b) ; !x.g`(f`x)=(x::'a) |] \
 \ ==> chain_finite(y::'b)"
  (fn prems =>
-	[
-	(rewrite_goals_tac [max_in_chain_def]),
-	(strip_tac 1),
-	(rtac exE 1),
-	(res_inst_tac [("P","is_chain(%i.g`(Y i))")] mp 1),
-	(etac spec 1),
-	(etac ch2ch_fappR 1),
-	(rtac exI 1),
-	(strip_tac 1),
-	(res_inst_tac [("s","f`(g`(Y x))"),("t","Y(x)")] subst 1),
-	(etac spec 1),
-	(res_inst_tac [("s","f`(g`(Y j))"),("t","Y(j)")] subst 1),
-	(etac spec 1),
-	(rtac cfun_arg_cong 1),
-	(rtac mp 1),
-	(etac spec 1),
-	(atac 1)
-	]);
+        [
+        (rewtac max_in_chain_def),
+        (strip_tac 1),
+        (rtac exE 1),
+        (res_inst_tac [("P","is_chain(%i.g`(Y i))")] mp 1),
+        (etac spec 1),
+        (etac ch2ch_fappR 1),
+        (rtac exI 1),
+        (strip_tac 1),
+        (res_inst_tac [("s","f`(g`(Y x))"),("t","Y(x)")] subst 1),
+        (etac spec 1),
+        (res_inst_tac [("s","f`(g`(Y j))"),("t","Y(j)")] subst 1),
+        (etac spec 1),
+        (rtac cfun_arg_cong 1),
+        (rtac mp 1),
+        (etac spec 1),
+        (atac 1)
+        ]);
 
 qed_goalw "flat2flat"  Fix.thy  [is_flat_def]
 "!!f g.[|is_flat(x::'a); !y.f`(g`y)=(y::'b) ; !x.g`(f`x)=(x::'a) |] \
 \ ==> is_flat(y::'b)"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(rtac disjE 1),
-	(res_inst_tac [("P","g`x<<g`y")] mp 1),
-	(etac monofun_cfun_arg 2),
-	(dtac spec 1),
-	(etac spec 1),
-	(rtac disjI1 1),
-	(rtac trans 1),
-	(res_inst_tac [("s","f`(g`x)"),("t","x")] subst 1),
-	(etac spec 1),
-	(etac cfun_arg_cong 1),
-	(rtac (iso_strict RS conjunct1) 1),
-	(atac 1),
-	(atac 1),
-	(rtac disjI2 1),
-	(res_inst_tac [("s","f`(g`x)"),("t","x")] subst 1),
-	(etac spec 1),
-	(res_inst_tac [("s","f`(g`y)"),("t","y")] subst 1),
-	(etac spec 1),
-	(etac cfun_arg_cong 1)
-	]);
+        [
+        (strip_tac 1),
+        (rtac disjE 1),
+        (res_inst_tac [("P","g`x<<g`y")] mp 1),
+        (etac monofun_cfun_arg 2),
+        (dtac spec 1),
+        (etac spec 1),
+        (rtac disjI1 1),
+        (rtac trans 1),
+        (res_inst_tac [("s","f`(g`x)"),("t","x")] subst 1),
+        (etac spec 1),
+        (etac cfun_arg_cong 1),
+        (rtac (iso_strict RS conjunct1) 1),
+        (atac 1),
+        (atac 1),
+        (rtac disjI2 1),
+        (res_inst_tac [("s","f`(g`x)"),("t","x")] subst 1),
+        (etac spec 1),
+        (res_inst_tac [("s","f`(g`y)"),("t","y")] subst 1),
+        (etac spec 1),
+        (etac cfun_arg_cong 1)
+        ]);
 
 (* ------------------------------------------------------------------------- *)
 (* a result about functions with flat codomain                               *)
@@ -706,191 +706,191 @@
 qed_goalw "flat_codom" Fix.thy [is_flat_def]
 "[|is_flat(y::'b);f`(x::'a)=(c::'b)|] ==> f`(UU::'a)=(UU::'b) | (!z.f`(z::'a)=c)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("Q","f`(x::'a)=(UU::'b)")] classical2 1),
-	(rtac disjI1 1),
-	(rtac UU_I 1),
-	(res_inst_tac [("s","f`(x)"),("t","UU::'b")] subst 1),
-	(atac 1),
-	(rtac (minimal RS monofun_cfun_arg) 1),
-	(res_inst_tac [("Q","f`(UU::'a)=(UU::'b)")] classical2 1),
-	(etac disjI1 1),
-	(rtac disjI2 1),
-	(rtac allI 1),
-	(res_inst_tac [("s","f`x"),("t","c")] subst 1),
-	(atac 1),
-	(res_inst_tac [("a","f`(UU::'a)")] (refl RS box_equals) 1),
-	(etac allE 1),(etac allE 1),
-	(dtac mp 1),
-	(res_inst_tac [("fo5","f")] (minimal RS monofun_cfun_arg) 1),
-	(etac disjE 1),
-	(contr_tac 1),
-	(atac 1),
-	(etac allE 1),
-	(etac allE 1),
-	(dtac mp 1),
-	(res_inst_tac [("fo5","f")] (minimal RS monofun_cfun_arg) 1),
-	(etac disjE 1),
-	(contr_tac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("Q","f`(x::'a)=(UU::'b)")] classical2 1),
+        (rtac disjI1 1),
+        (rtac UU_I 1),
+        (res_inst_tac [("s","f`(x)"),("t","UU::'b")] subst 1),
+        (atac 1),
+        (rtac (minimal RS monofun_cfun_arg) 1),
+        (res_inst_tac [("Q","f`(UU::'a)=(UU::'b)")] classical2 1),
+        (etac disjI1 1),
+        (rtac disjI2 1),
+        (rtac allI 1),
+        (res_inst_tac [("s","f`x"),("t","c")] subst 1),
+        (atac 1),
+        (res_inst_tac [("a","f`(UU::'a)")] (refl RS box_equals) 1),
+        (etac allE 1),(etac allE 1),
+        (dtac mp 1),
+        (res_inst_tac [("fo5","f")] (minimal RS monofun_cfun_arg) 1),
+        (etac disjE 1),
+        (contr_tac 1),
+        (atac 1),
+        (etac allE 1),
+        (etac allE 1),
+        (dtac mp 1),
+        (res_inst_tac [("fo5","f")] (minimal RS monofun_cfun_arg) 1),
+        (etac disjE 1),
+        (contr_tac 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* admissibility of special formulae and propagation                        *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "adm_less"  Fix.thy [adm_def]
-	"[|cont u;cont v|]==> adm(%x.u x << v x)"
+        "[|cont u;cont v|]==> adm(%x.u x << v x)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(etac (cont2contlub RS contlubE RS spec RS mp RS ssubst) 1),
-	(atac 1),
-	(etac (cont2contlub RS contlubE RS spec RS mp RS ssubst) 1),
-	(atac 1),
-	(rtac lub_mono 1),
-	(cut_facts_tac prems 1),
-	(etac (cont2mono RS ch2ch_monofun) 1),
-	(atac 1),
-	(cut_facts_tac prems 1),
-	(etac (cont2mono RS ch2ch_monofun) 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (etac (cont2contlub RS contlubE RS spec RS mp RS ssubst) 1),
+        (atac 1),
+        (etac (cont2contlub RS contlubE RS spec RS mp RS ssubst) 1),
+        (atac 1),
+        (rtac lub_mono 1),
+        (cut_facts_tac prems 1),
+        (etac (cont2mono RS ch2ch_monofun) 1),
+        (atac 1),
+        (cut_facts_tac prems 1),
+        (etac (cont2mono RS ch2ch_monofun) 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 qed_goal "adm_conj"  Fix.thy  
-	"[| adm P; adm Q |] ==> adm(%x. P x & Q x)"
+        "[| adm P; adm Q |] ==> adm(%x. P x & Q x)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (adm_def2 RS iffD2) 1),
-	(strip_tac 1),
-	(rtac conjI 1),
-	(rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
-	(atac 1),
-	(atac 1),
-	(fast_tac HOL_cs 1),
-	(rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
-	(atac 1),
-	(atac 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (adm_def2 RS iffD2) 1),
+        (strip_tac 1),
+        (rtac conjI 1),
+        (rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
+        (atac 1),
+        (atac 1),
+        (fast_tac HOL_cs 1),
+        (rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
+        (atac 1),
+        (atac 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 qed_goal "adm_cong"  Fix.thy  
-	"(!x. P x = Q x) ==> adm P = adm Q "
+        "(!x. P x = Q x) ==> adm P = adm Q "
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("s","P"),("t","Q")] subst 1),
-	(rtac refl 2),
-	(rtac ext 1),
-	(etac spec 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("s","P"),("t","Q")] subst 1),
+        (rtac refl 2),
+        (rtac ext 1),
+        (etac spec 1)
+        ]);
 
 qed_goalw "adm_not_free"  Fix.thy [adm_def] "adm(%x.t)"
  (fn prems =>
-	[
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (fast_tac HOL_cs 1)
+        ]);
 
 qed_goalw "adm_not_less"  Fix.thy [adm_def]
-	"cont t ==> adm(%x.~ (t x) << u)"
+        "cont t ==> adm(%x.~ (t x) << u)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(rtac contrapos 1),
-	(etac spec 1),
-	(rtac trans_less 1),
-	(atac 2),
-	(etac (cont2mono RS monofun_fun_arg) 1),
-	(rtac is_ub_thelub 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (rtac contrapos 1),
+        (etac spec 1),
+        (rtac trans_less 1),
+        (atac 2),
+        (etac (cont2mono RS monofun_fun_arg) 1),
+        (rtac is_ub_thelub 1),
+        (atac 1)
+        ]);
 
 qed_goal "adm_all"  Fix.thy  
-	" !y.adm(P y) ==> adm(%x.!y.P y x)"
+        " !y.adm(P y) ==> adm(%x.!y.P y x)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (adm_def2 RS iffD2) 1),
-	(strip_tac 1),
-	(rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
-	(etac spec 1),
-	(atac 1),
-	(rtac allI 1),
-	(dtac spec 1),
-	(etac spec 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (adm_def2 RS iffD2) 1),
+        (strip_tac 1),
+        (rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
+        (etac spec 1),
+        (atac 1),
+        (rtac allI 1),
+        (dtac spec 1),
+        (etac spec 1)
+        ]);
 
 val adm_all2 = (allI RS adm_all);
 
 qed_goal "adm_subst"  Fix.thy  
-	"[|cont t; adm P|] ==> adm(%x. P (t x))"
+        "[|cont t; adm P|] ==> adm(%x. P (t x))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (adm_def2 RS iffD2) 1),
-	(strip_tac 1),
-	(rtac (cont2contlub RS contlubE RS spec RS mp RS ssubst) 1),
-	(atac 1),
-	(atac 1),
-	(rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
-	(atac 1),
-	(rtac (cont2mono RS ch2ch_monofun) 1),
-	(atac 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (adm_def2 RS iffD2) 1),
+        (strip_tac 1),
+        (rtac (cont2contlub RS contlubE RS spec RS mp RS ssubst) 1),
+        (atac 1),
+        (atac 1),
+        (rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
+        (atac 1),
+        (rtac (cont2mono RS ch2ch_monofun) 1),
+        (atac 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 qed_goal "adm_UU_not_less"  Fix.thy "adm(%x.~ UU << t(x))"
  (fn prems =>
-	[
-	(res_inst_tac [("P2","%x.False")] (adm_cong RS iffD1) 1),
-	(Asm_simp_tac 1),
-	(rtac adm_not_free 1)
-	]);
+        [
+        (res_inst_tac [("P2","%x.False")] (adm_cong RS iffD1) 1),
+        (Asm_simp_tac 1),
+        (rtac adm_not_free 1)
+        ]);
 
 qed_goalw "adm_not_UU"  Fix.thy [adm_def] 
-	"cont(t)==> adm(%x.~ (t x) = UU)"
+        "cont(t)==> adm(%x.~ (t x) = UU)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(rtac contrapos 1),
-	(etac spec 1),
-	(rtac (chain_UU_I RS spec) 1),
-	(rtac (cont2mono RS ch2ch_monofun) 1),
-	(atac 1),
-	(atac 1),
-	(rtac (cont2contlub RS contlubE RS spec RS mp RS subst) 1),
-	(atac 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (rtac contrapos 1),
+        (etac spec 1),
+        (rtac (chain_UU_I RS spec) 1),
+        (rtac (cont2mono RS ch2ch_monofun) 1),
+        (atac 1),
+        (atac 1),
+        (rtac (cont2contlub RS contlubE RS spec RS mp RS subst) 1),
+        (atac 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 qed_goal "adm_eq"  Fix.thy 
-	"[|cont u ; cont v|]==> adm(%x. u x = v x)"
+        "[|cont u ; cont v|]==> adm(%x. u x = v x)"
  (fn prems =>
-	[
-	(rtac (adm_cong RS iffD1) 1),
-	(rtac allI 1),
-	(rtac iffI 1),
-	(rtac antisym_less 1),
-	(rtac antisym_less_inverse 3),
-	(atac 3),
-	(etac conjunct1 1),
-	(etac conjunct2 1),
-	(rtac adm_conj 1),
-	(rtac adm_less 1),
-	(resolve_tac prems 1),
-	(resolve_tac prems 1),
-	(rtac adm_less 1),
-	(resolve_tac prems 1),
-	(resolve_tac prems 1)
-	]);
+        [
+        (rtac (adm_cong RS iffD1) 1),
+        (rtac allI 1),
+        (rtac iffI 1),
+        (rtac antisym_less 1),
+        (rtac antisym_less_inverse 3),
+        (atac 3),
+        (etac conjunct1 1),
+        (etac conjunct2 1),
+        (rtac adm_conj 1),
+        (rtac adm_less 1),
+        (resolve_tac prems 1),
+        (resolve_tac prems 1),
+        (rtac adm_less 1),
+        (resolve_tac prems 1),
+        (resolve_tac prems 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -901,279 +901,279 @@
 "[| is_chain Y; !n.P (Y n) | Q(Y n)|]\
 \ ==> (? i.!j. i<j --> Q(Y(j))) | (!i.? j.i<j & P(Y(j)))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 qed_goal "adm_disj_lemma2"  Fix.thy  
 "[| adm(Q); ? X.is_chain(X) & (!n.Q(X(n))) &\
 \   lub(range(Y))=lub(range(X))|] ==> Q(lub(range(Y)))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac exE 1),
-	(etac conjE 1),
-	(etac conjE 1),
-	(res_inst_tac [("s","lub(range(X))"),("t","lub(range(Y))")] ssubst 1),
-	(atac 1),
-	(rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
-	(atac 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac exE 1),
+        (etac conjE 1),
+        (etac conjE 1),
+        (res_inst_tac [("s","lub(range(X))"),("t","lub(range(Y))")] ssubst 1),
+        (atac 1),
+        (rtac (adm_def2 RS iffD1 RS spec RS mp RS mp) 1),
+        (atac 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 qed_goal "adm_disj_lemma3"  Fix.thy
 "[| is_chain(Y); ! j. i < j --> Q(Y(j)) |] ==>\
 \         is_chain(%m. if m < Suc i then Y(Suc i) else Y m)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_chainI 1),
-	(rtac allI 1),
-	(res_inst_tac [("m","i"),("n","ia")] nat_less_cases 1),
-	(res_inst_tac [("s","False"),("t","ia < Suc(i)")] ssubst 1),
-	(rtac iffI 1),
-	(etac FalseE 2),
-	(rtac notE 1),
-	(rtac (not_less_eq RS iffD2) 1),
-	(atac 1),
-	(atac 1),
-	(res_inst_tac [("s","False"),("t","Suc(ia) < Suc(i)")] ssubst 1),
-	(Asm_simp_tac  1),
-	(rtac iffI 1),
-	(etac FalseE 2),
-	(rtac notE 1),
-	(etac less_not_sym 1),	
-	(atac 1),
-	(Asm_simp_tac 1),
-	(etac (is_chainE RS spec) 1),
-	(hyp_subst_tac 1),
-	(Asm_simp_tac 1),
-	(Asm_simp_tac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_chainI 1),
+        (rtac allI 1),
+        (res_inst_tac [("m","i"),("n","ia")] nat_less_cases 1),
+        (res_inst_tac [("s","False"),("t","ia < Suc(i)")] ssubst 1),
+        (rtac iffI 1),
+        (etac FalseE 2),
+        (rtac notE 1),
+        (rtac (not_less_eq RS iffD2) 1),
+        (atac 1),
+        (atac 1),
+        (res_inst_tac [("s","False"),("t","Suc(ia) < Suc(i)")] ssubst 1),
+        (Asm_simp_tac  1),
+        (rtac iffI 1),
+        (etac FalseE 2),
+        (rtac notE 1),
+        (etac less_not_sym 1),  
+        (atac 1),
+        (Asm_simp_tac 1),
+        (etac (is_chainE RS spec) 1),
+        (hyp_subst_tac 1),
+        (Asm_simp_tac 1),
+        (Asm_simp_tac 1)
+        ]);
 
 qed_goal "adm_disj_lemma4"  Fix.thy
 "[| ! j. i < j --> Q(Y(j)) |] ==>\
-\	 ! n. Q( if n < Suc i then Y(Suc i) else Y n)"
+\        ! n. Q( if n < Suc i then Y(Suc i) else Y n)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac allI 1),
-	(res_inst_tac [("m","n"),("n","Suc(i)")] nat_less_cases 1),
-	(res_inst_tac[("s","Y(Suc(i))"),("t","if n<Suc(i) then Y(Suc(i)) else Y n")] ssubst 1),
-	(Asm_simp_tac 1),
-	(etac allE 1),
-	(rtac mp 1),
-	(atac 1),
-	(Asm_simp_tac 1),
-	(res_inst_tac[("s","Y(n)"),("t","if n<Suc(i) then Y(Suc(i)) else Y(n)")] ssubst 1),
-	(Asm_simp_tac 1),
-	(hyp_subst_tac 1),
-	(dtac spec 1),
-	(rtac mp 1),
-	(atac 1),
-	(Asm_simp_tac 1),
-	(res_inst_tac [("s","Y(n)"),("t","if n < Suc(i) then Y(Suc(i)) else Y(n)")] ssubst 1),
-	(res_inst_tac [("s","False"),("t","n < Suc(i)")] ssubst 1),
-	(rtac iffI 1),
-	(etac FalseE 2),
-	(rtac notE 1),
-	(etac less_not_sym 1),	
-	(atac 1),
-	(Asm_simp_tac 1),
-	(dtac spec 1),
-	(rtac mp 1),
-	(atac 1),
-	(etac Suc_lessD 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac allI 1),
+        (res_inst_tac [("m","n"),("n","Suc(i)")] nat_less_cases 1),
+        (res_inst_tac[("s","Y(Suc(i))"),("t","if n<Suc(i) then Y(Suc(i)) else Y n")] ssubst 1),
+        (Asm_simp_tac 1),
+        (etac allE 1),
+        (rtac mp 1),
+        (atac 1),
+        (Asm_simp_tac 1),
+        (res_inst_tac[("s","Y(n)"),("t","if n<Suc(i) then Y(Suc(i)) else Y(n)")] ssubst 1),
+        (Asm_simp_tac 1),
+        (hyp_subst_tac 1),
+        (dtac spec 1),
+        (rtac mp 1),
+        (atac 1),
+        (Asm_simp_tac 1),
+        (res_inst_tac [("s","Y(n)"),("t","if n < Suc(i) then Y(Suc(i)) else Y(n)")] ssubst 1),
+        (res_inst_tac [("s","False"),("t","n < Suc(i)")] ssubst 1),
+        (rtac iffI 1),
+        (etac FalseE 2),
+        (rtac notE 1),
+        (etac less_not_sym 1),  
+        (atac 1),
+        (Asm_simp_tac 1),
+        (dtac spec 1),
+        (rtac mp 1),
+        (atac 1),
+        (etac Suc_lessD 1)
+        ]);
 
 qed_goal "adm_disj_lemma5"  Fix.thy
 "[| is_chain(Y::nat=>'a); ! j. i < j --> Q(Y(j)) |] ==>\
 \         lub(range(Y)) = lub(range(%m. if m< Suc(i) then Y(Suc(i)) else Y m))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac lub_equal2 1),
-	(atac 2),
-	(rtac adm_disj_lemma3 2),
-	(atac 2),
-	(atac 2),
-	(res_inst_tac [("x","i")] exI 1),
-	(strip_tac 1),
-	(res_inst_tac [("s","False"),("t","ia < Suc(i)")] ssubst 1),
-	(rtac iffI 1),
-	(etac FalseE 2),
-	(rtac notE 1),
-	(rtac (not_less_eq RS iffD2) 1),
-	(atac 1),
-	(atac 1),
-	(rtac (if_False RS ssubst) 1),
-	(rtac refl 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac lub_equal2 1),
+        (atac 2),
+        (rtac adm_disj_lemma3 2),
+        (atac 2),
+        (atac 2),
+        (res_inst_tac [("x","i")] exI 1),
+        (strip_tac 1),
+        (res_inst_tac [("s","False"),("t","ia < Suc(i)")] ssubst 1),
+        (rtac iffI 1),
+        (etac FalseE 2),
+        (rtac notE 1),
+        (rtac (not_less_eq RS iffD2) 1),
+        (atac 1),
+        (atac 1),
+        (rtac (if_False RS ssubst) 1),
+        (rtac refl 1)
+        ]);
 
 qed_goal "adm_disj_lemma6"  Fix.thy
 "[| is_chain(Y::nat=>'a); ? i. ! j. i < j --> Q(Y(j)) |] ==>\
 \         ? X. is_chain(X) & (! n. Q(X(n))) & lub(range(Y)) = lub(range(X))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac exE 1),
-	(res_inst_tac [("x","%m.if m<Suc(i) then Y(Suc(i)) else Y m")] exI 1),
-	(rtac conjI 1),
-	(rtac adm_disj_lemma3 1),
-	(atac 1),
-	(atac 1),
-	(rtac conjI 1),
-	(rtac adm_disj_lemma4 1),
-	(atac 1),
-	(rtac adm_disj_lemma5 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac exE 1),
+        (res_inst_tac [("x","%m.if m<Suc(i) then Y(Suc(i)) else Y m")] exI 1),
+        (rtac conjI 1),
+        (rtac adm_disj_lemma3 1),
+        (atac 1),
+        (atac 1),
+        (rtac conjI 1),
+        (rtac adm_disj_lemma4 1),
+        (atac 1),
+        (rtac adm_disj_lemma5 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "adm_disj_lemma7"  Fix.thy 
 "[| is_chain(Y::nat=>'a); ! i. ? j. i < j & P(Y(j))  |] ==>\
 \         is_chain(%m. Y(theleast(%j. m<j & P(Y(j)))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_chainI 1),
-	(rtac allI 1),
-	(rtac chain_mono3 1),
-	(atac 1),
-	(rtac theleast2 1),
-	(rtac conjI 1),
-	(rtac Suc_lessD 1),
-	(etac allE 1),
-	(etac exE 1),
-	(rtac (theleast1 RS conjunct1) 1),
-	(atac 1),
-	(etac allE 1),
-	(etac exE 1),
-	(rtac (theleast1 RS conjunct2) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_chainI 1),
+        (rtac allI 1),
+        (rtac chain_mono3 1),
+        (atac 1),
+        (rtac theleast2 1),
+        (rtac conjI 1),
+        (rtac Suc_lessD 1),
+        (etac allE 1),
+        (etac exE 1),
+        (rtac (theleast1 RS conjunct1) 1),
+        (atac 1),
+        (etac allE 1),
+        (etac exE 1),
+        (rtac (theleast1 RS conjunct2) 1),
+        (atac 1)
+        ]);
 
 qed_goal "adm_disj_lemma8"  Fix.thy 
 "[| ! i. ? j. i < j & P(Y(j)) |] ==> ! m. P(Y(theleast(%j. m<j & P(Y(j)))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(etac allE 1),
-	(etac exE 1),
-	(etac (theleast1 RS conjunct2) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (etac allE 1),
+        (etac exE 1),
+        (etac (theleast1 RS conjunct2) 1)
+        ]);
 
 qed_goal "adm_disj_lemma9"  Fix.thy
 "[| is_chain(Y::nat=>'a); ! i. ? j. i < j & P(Y(j)) |] ==>\
 \         lub(range(Y)) = lub(range(%m. Y(theleast(%j. m<j & P(Y(j))))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac antisym_less 1),
-	(rtac lub_mono 1),
-	(atac 1),
-	(rtac adm_disj_lemma7 1),
-	(atac 1),
-	(atac 1),
-	(strip_tac 1),
-	(rtac (chain_mono RS mp) 1),
-	(atac 1),
-	(etac allE 1),
-	(etac exE 1),
-	(rtac (theleast1 RS conjunct1) 1),
-	(atac 1),
-	(rtac lub_mono3 1),
-	(rtac adm_disj_lemma7 1),
-	(atac 1),
-	(atac 1),
-	(atac 1),
-	(strip_tac 1),
-	(rtac exI 1),
-	(rtac (chain_mono RS mp) 1),
-	(atac 1),
-	(rtac lessI 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac antisym_less 1),
+        (rtac lub_mono 1),
+        (atac 1),
+        (rtac adm_disj_lemma7 1),
+        (atac 1),
+        (atac 1),
+        (strip_tac 1),
+        (rtac (chain_mono RS mp) 1),
+        (atac 1),
+        (etac allE 1),
+        (etac exE 1),
+        (rtac (theleast1 RS conjunct1) 1),
+        (atac 1),
+        (rtac lub_mono3 1),
+        (rtac adm_disj_lemma7 1),
+        (atac 1),
+        (atac 1),
+        (atac 1),
+        (strip_tac 1),
+        (rtac exI 1),
+        (rtac (chain_mono RS mp) 1),
+        (atac 1),
+        (rtac lessI 1)
+        ]);
 
 qed_goal "adm_disj_lemma10"  Fix.thy
 "[| is_chain(Y::nat=>'a); ! i. ? j. i < j & P(Y(j)) |] ==>\
 \         ? X. is_chain(X) & (! n. P(X(n))) & lub(range(Y)) = lub(range(X))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("x","%m. Y(theleast(%j. m<j & P(Y(j))))")] exI 1),
-	(rtac conjI 1),
-	(rtac adm_disj_lemma7 1),
-	(atac 1),
-	(atac 1),
-	(rtac conjI 1),
-	(rtac adm_disj_lemma8 1),
-	(atac 1),
-	(rtac adm_disj_lemma9 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("x","%m. Y(theleast(%j. m<j & P(Y(j))))")] exI 1),
+        (rtac conjI 1),
+        (rtac adm_disj_lemma7 1),
+        (atac 1),
+        (atac 1),
+        (rtac conjI 1),
+        (rtac adm_disj_lemma8 1),
+        (atac 1),
+        (rtac adm_disj_lemma9 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "adm_disj_lemma11" Fix.thy
 "[| adm(P); is_chain(Y); ! i. ? j. i < j & P(Y(j)) |]==>P(lub(range(Y)))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac adm_disj_lemma2 1),
-	(etac adm_disj_lemma10 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac adm_disj_lemma2 1),
+        (etac adm_disj_lemma10 1),
+        (atac 1)
+        ]);
 
 qed_goal "adm_disj_lemma12" Fix.thy
 "[| adm(P); is_chain(Y);? i. ! j. i < j --> P(Y(j))|]==>P(lub(range(Y)))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac adm_disj_lemma2 1),
-	(etac adm_disj_lemma6 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac adm_disj_lemma2 1),
+        (etac adm_disj_lemma6 1),
+        (atac 1)
+        ]);
 
 qed_goal "adm_disj"  Fix.thy  
-	"[| adm P; adm Q |] ==> adm(%x.P x | Q x)"
+        "[| adm P; adm Q |] ==> adm(%x.P x | Q x)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (adm_def2 RS iffD2) 1),
-	(strip_tac 1),
-	(rtac (adm_disj_lemma1 RS disjE) 1),
-	(atac 1),
-	(atac 1),
-	(rtac disjI2 1),
-	(etac adm_disj_lemma12 1),
-	(atac 1),
-	(atac 1),
-	(rtac disjI1 1),
-	(etac adm_disj_lemma11 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (adm_def2 RS iffD2) 1),
+        (strip_tac 1),
+        (rtac (adm_disj_lemma1 RS disjE) 1),
+        (atac 1),
+        (atac 1),
+        (rtac disjI2 1),
+        (etac adm_disj_lemma12 1),
+        (atac 1),
+        (atac 1),
+        (rtac disjI1 1),
+        (etac adm_disj_lemma11 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "adm_impl"  Fix.thy  
-	"[| adm(%x.~(P x)); adm Q |] ==> adm(%x.P x --> Q x)"
+        "[| adm(%x.~(P x)); adm Q |] ==> adm(%x.P x --> Q x)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("P2","%x.~(P x)|Q x")] (adm_cong RS iffD1) 1),
-	(fast_tac HOL_cs 1),
-	(rtac adm_disj 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("P2","%x.~(P x)|Q x")] (adm_cong RS iffD1) 1),
+        (fast_tac HOL_cs 1),
+        (rtac adm_disj 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 
 
 val adm_thms = [adm_impl,adm_disj,adm_eq,adm_not_UU,adm_UU_not_less,
-	adm_all2,adm_not_less,adm_not_free,adm_conj,adm_less
-	];
+        adm_all2,adm_not_less,adm_not_free,adm_conj,adm_less
+        ];
 
--- a/src/HOLCF/Fun1.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Fun1.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/fun1.ML
+(*  Title:      HOLCF/fun1.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993  Technische Universitaet Muenchen
 
 Lemmas for fun1.thy 
@@ -14,30 +14,30 @@
 
 qed_goalw "refl_less_fun" Fun1.thy [less_fun_def] "less_fun f f"
 (fn prems =>
-	[
-	(fast_tac (HOL_cs addSIs [refl_less]) 1)
-	]);
+        [
+        (fast_tac (HOL_cs addSIs [refl_less]) 1)
+        ]);
 
 qed_goalw "antisym_less_fun" Fun1.thy [less_fun_def] 
-	"[|less_fun f1 f2; less_fun f2 f1|] ==> f1 = f2"
+        "[|less_fun f1 f2; less_fun f2 f1|] ==> f1 = f2"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (expand_fun_eq RS ssubst) 1),
-	(fast_tac (HOL_cs addSIs [antisym_less]) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (expand_fun_eq RS ssubst) 1),
+        (fast_tac (HOL_cs addSIs [antisym_less]) 1)
+        ]);
 
 qed_goalw "trans_less_fun" Fun1.thy [less_fun_def] 
-	"[|less_fun f1 f2; less_fun f2 f3 |] ==> less_fun f1 f3"
+        "[|less_fun f1 f2; less_fun f2 f3 |] ==> less_fun f1 f3"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(rtac trans_less 1),
-	(etac allE 1),
-	(atac 1),
-	((etac allE 1) THEN (atac 1))
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (rtac trans_less 1),
+        (etac allE 1),
+        (atac 1),
+        ((etac allE 1) THEN (atac 1))
+        ]);
 
 (* 
  -------------------------------------------------------------------------- 
--- a/src/HOLCF/Fun2.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Fun2.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/fun2.ML
+(*  Title:      HOLCF/fun2.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for fun2.thy 
@@ -14,11 +14,11 @@
 
 qed_goalw "minimal_fun"  Fun2.thy [UU_fun_def] "UU_fun << f"
 (fn prems =>
-	[
-	(rtac (inst_fun_po RS ssubst) 1),
-	(rewrite_goals_tac [less_fun_def]),
-	(fast_tac (HOL_cs addSIs [minimal]) 1)
-	]);
+        [
+        (rtac (inst_fun_po RS ssubst) 1),
+        (rewtac less_fun_def),
+        (fast_tac (HOL_cs addSIs [minimal]) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* make the symbol << accessible for type fun                               *)
@@ -26,28 +26,28 @@
 
 qed_goal "less_fun"  Fun2.thy  "(f1 << f2) = (! x. f1(x) << f2(x))"
 (fn prems =>
-	[
-	(rtac (inst_fun_po RS ssubst) 1),
-	(fold_goals_tac [less_fun_def]),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (inst_fun_po RS ssubst) 1),
+        (fold_goals_tac [less_fun_def]),
+        (rtac refl 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* chains of functions yield chains in the po range                         *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "ch2ch_fun"  Fun2.thy 
-	"is_chain(S::nat=>('a::term => 'b::po)) ==> is_chain(% i.S(i)(x))"
+        "is_chain(S::nat=>('a::term => 'b::po)) ==> is_chain(% i.S(i)(x))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rewrite_goals_tac [is_chain]),
-	(rtac allI 1),
-	(rtac spec 1),
-	(rtac (less_fun RS subst) 1),
-	(etac allE 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rewtac is_chain),
+        (rtac allI 1),
+        (rtac spec 1),
+        (rtac (less_fun RS subst) 1),
+        (etac allE 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* upper bounds of function chains yield upper bound in the po range        *)
@@ -56,51 +56,51 @@
 qed_goal "ub2ub_fun" Fun2.thy 
    " range(S::nat=>('a::term => 'b::po)) <| u ==> range(%i. S i x) <| u(x)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac ub_rangeI 1),
-	(rtac allI 1),
-	(rtac allE 1),
-	(rtac (less_fun RS subst) 1),
-	(etac (ub_rangeE RS spec) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac ub_rangeI 1),
+        (rtac allI 1),
+        (rtac allE 1),
+        (rtac (less_fun RS subst) 1),
+        (etac (ub_rangeE RS spec) 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* Type 'a::term => 'b::pcpo is chain complete                              *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "lub_fun"  Fun2.thy
-	"is_chain(S::nat=>('a::term => 'b::pcpo)) ==> \
+        "is_chain(S::nat=>('a::term => 'b::pcpo)) ==> \
 \        range(S) <<| (% x.lub(range(% i.S(i)(x))))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_lubI 1),
-	(rtac conjI 1),
-	(rtac ub_rangeI 1),
-	(rtac allI 1),
-	(rtac (less_fun RS ssubst) 1),
-	(rtac allI 1),
-	(rtac is_ub_thelub 1),
-	(etac ch2ch_fun 1),
-	(strip_tac 1),
-	(rtac (less_fun RS ssubst) 1),
-	(rtac allI 1),
-	(rtac is_lub_thelub 1),
-	(etac ch2ch_fun 1),
-	(etac ub2ub_fun 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_lubI 1),
+        (rtac conjI 1),
+        (rtac ub_rangeI 1),
+        (rtac allI 1),
+        (rtac (less_fun RS ssubst) 1),
+        (rtac allI 1),
+        (rtac is_ub_thelub 1),
+        (etac ch2ch_fun 1),
+        (strip_tac 1),
+        (rtac (less_fun RS ssubst) 1),
+        (rtac allI 1),
+        (rtac is_lub_thelub 1),
+        (etac ch2ch_fun 1),
+        (etac ub2ub_fun 1)
+        ]);
 
 val thelub_fun = (lub_fun RS thelubI);
 (* is_chain ?S1 ==> lub (range ?S1) = (%x. lub (range (%i. ?S1 i x))) *)
 
 qed_goal "cpo_fun"  Fun2.thy
-	"is_chain(S::nat=>('a::term => 'b::pcpo)) ==> ? x. range(S) <<| x"
+        "is_chain(S::nat=>('a::term => 'b::pcpo)) ==> ? x. range(S) <<| x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac exI 1),
-	(etac lub_fun 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac exI 1),
+        (etac lub_fun 1)
+        ]);
 
--- a/src/HOLCF/Fun3.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Fun3.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/fun3.ML
+(*  Title:      HOLCF/fun3.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 *)
 
--- a/src/HOLCF/HOLCF.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/HOLCF.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/HOLCF.ML
+(*  Title:      HOLCF/HOLCF.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 *)
 
--- a/src/HOLCF/Holcfb.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Holcfb.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/holcfb.ML
+(*  Title:      HOLCF/holcfb.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993  Technische Universitaet Muenchen
 
 Lemmas for Holcfb.thy 
@@ -13,27 +13,27 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "well_ordering_nat"  Nat.thy 
-	"!P. P(x::nat) --> (? y. P(y) & (! x. P(x) --> y <= x))"
+        "!P. P(x::nat) --> (? y. P(y) & (! x. P(x) --> y <= x))"
  (fn prems =>
-	[
-	(res_inst_tac [("n","x")] less_induct 1),
-	(strip_tac 1),
-	(res_inst_tac [("Q","? k.k<n & P(k)")] (excluded_middle RS disjE) 1),
-	(etac exE 2),
-	(etac conjE 2),
-	(rtac mp 2),
-	(etac allE 2),
-	(etac impE 2),
-	(atac 2),
-	(etac spec 2),
-	(atac 2),
-	(res_inst_tac [("x","n")] exI 1),
-	(rtac conjI 1),
-	(atac 1),
-	(strip_tac 1),
-	(rtac leI  1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (res_inst_tac [("n","x")] less_induct 1),
+        (strip_tac 1),
+        (res_inst_tac [("Q","? k.k<n & P(k)")] (excluded_middle RS disjE) 1),
+        (etac exE 2),
+        (etac conjE 2),
+        (rtac mp 2),
+        (etac allE 2),
+        (etac impE 2),
+        (atac 2),
+        (etac spec 2),
+        (atac 2),
+        (res_inst_tac [("x","n")] exI 1),
+        (rtac conjI 1),
+        (atac 1),
+        (strip_tac 1),
+        (rtac leI  1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -43,24 +43,24 @@
 qed_goalw "theleast"  Holcfb.thy [theleast_def] 
 "P(x) ==> P(theleast(P)) & (!x.P(x)--> theleast(P) <= x)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (well_ordering_nat RS spec RS mp RS exE) 1),
-	(atac 1),
-	(rtac selectI 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (well_ordering_nat RS spec RS mp RS exE) 1),
+        (atac 1),
+        (rtac selectI 1),
+        (atac 1)
+        ]);
 
 val theleast1= theleast RS conjunct1;
 (* ?P1(?x1) ==> ?P1(theleast(?P1)) *)
 
 qed_goal "theleast2"  Holcfb.thy  "P(x) ==> theleast(P) <= x"
  (fn prems =>
-	[
-	(rtac (theleast RS conjunct2 RS spec RS mp) 1),
-	(resolve_tac prems 1),
-	(resolve_tac prems 1)
-	]);
+        [
+        (rtac (theleast RS conjunct2 RS spec RS mp) 1),
+        (resolve_tac prems 1),
+        (resolve_tac prems 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -70,80 +70,80 @@
 
 qed_goal "de_morgan1" HOL.thy "(~a & ~b)=(~(a | b))"
 (fn prems =>
-	[
-	(rtac iffI 1),
-	(fast_tac HOL_cs 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (rtac iffI 1),
+        (fast_tac HOL_cs 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 qed_goal "de_morgan2" HOL.thy "(~a | ~b)=(~(a & b))"
 (fn prems =>
-	[
-	(rtac iffI 1),
-	(fast_tac HOL_cs 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (rtac iffI 1),
+        (fast_tac HOL_cs 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 
 qed_goal "notall2ex" HOL.thy "(~ (!x.P(x))) = (? x.~P(x))"
 (fn prems =>
-	[
-	(rtac iffI 1),
-	(fast_tac HOL_cs 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (rtac iffI 1),
+        (fast_tac HOL_cs 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 qed_goal "notex2all" HOL.thy "(~ (? x.P(x))) = (!x.~P(x))"
 (fn prems =>
-	[
-	(rtac iffI 1),
-	(fast_tac HOL_cs 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (rtac iffI 1),
+        (fast_tac HOL_cs 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 
 qed_goal "selectI3" HOL.thy "(? x. P(x)) ==> P(@ x.P(x))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac exE 1),
-	(etac selectI 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac exE 1),
+        (etac selectI 1)
+        ]);
 
 qed_goal "selectE" HOL.thy "P(@ x.P(x)) ==> (? x. P(x))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac exI 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac exI 1)
+        ]);
 
 qed_goal "select_eq_Ex" HOL.thy "(P(@ x.P(x))) =  (? x. P(x))"
 (fn prems =>
-	[
-	(rtac (iff RS mp  RS mp) 1),
-	(strip_tac 1),
-	(etac selectE 1),
-	(strip_tac 1),
-	(etac selectI3 1)
-	]);
+        [
+        (rtac (iff RS mp  RS mp) 1),
+        (strip_tac 1),
+        (etac selectE 1),
+        (strip_tac 1),
+        (etac selectI3 1)
+        ]);
 
 
 qed_goal "notnotI" HOL.thy "P ==> ~~P"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 
 qed_goal "classical2" HOL.thy "[|Q ==> R; ~Q ==> R|]==>R"
  (fn prems =>
-	[
-	(rtac disjE 1),
-	(rtac excluded_middle 1),
-	(eresolve_tac prems 1),
-	(eresolve_tac prems 1)
-	]);
+        [
+        (rtac disjE 1),
+        (rtac excluded_middle 1),
+        (eresolve_tac prems 1),
+        (eresolve_tac prems 1)
+        ]);
 
 
 
@@ -154,13 +154,13 @@
 qed_goal "nat_less_cases" Nat.thy 
     "[| (m::nat) < n ==> P(n,m); m=n ==> P(n,m);n < m ==> P(n,m)|]==>P(n,m)"
 ( fn prems =>
-	[
-	(res_inst_tac [("m1","n"),("n1","m")] (less_linear RS disjE) 1),
-	(etac disjE 2),
-	(etac (hd (tl (tl prems))) 1),
-	(etac (sym RS hd (tl prems)) 1),
-	(etac (hd prems) 1)
-	]);
+        [
+        (res_inst_tac [("m1","n"),("n1","m")] (less_linear RS disjE) 1),
+        (etac disjE 2),
+        (etac (hd (tl (tl prems))) 1),
+        (etac (sym RS hd (tl prems)) 1),
+        (etac (hd prems) 1)
+        ]);
 
 
 
--- a/src/HOLCF/Lift1.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Lift1.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,188 +1,188 @@
-(*  Title: 	HOLCF/lift1.ML
+(*  Title:      HOLCF/lift1.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993  Technische Universitaet Muenchen
 *)
 
 open Lift1;
 
 qed_goalw "Exh_Lift" Lift1.thy [UU_lift_def,Iup_def ]
-	"z = UU_lift | (? x. z = Iup(x))"
+        "z = UU_lift | (? x. z = Iup(x))"
  (fn prems =>
-	[
-	(rtac (Rep_Lift_inverse RS subst) 1),
-	(res_inst_tac [("s","Rep_Lift(z)")] sumE 1),
-	(rtac disjI1 1),
-	(res_inst_tac [("f","Abs_Lift")] arg_cong 1),
-	(rtac (unique_void2 RS subst) 1),
-	(atac 1),
-	(rtac disjI2 1),
-	(rtac exI 1),
-	(res_inst_tac [("f","Abs_Lift")] arg_cong 1),
-	(atac 1)
-	]);
+        [
+        (rtac (Rep_Lift_inverse RS subst) 1),
+        (res_inst_tac [("s","Rep_Lift(z)")] sumE 1),
+        (rtac disjI1 1),
+        (res_inst_tac [("f","Abs_Lift")] arg_cong 1),
+        (rtac (unique_void2 RS subst) 1),
+        (atac 1),
+        (rtac disjI2 1),
+        (rtac exI 1),
+        (res_inst_tac [("f","Abs_Lift")] arg_cong 1),
+        (atac 1)
+        ]);
 
 qed_goal "inj_Abs_Lift" Lift1.thy "inj(Abs_Lift)"
  (fn prems =>
-	[
-	(rtac inj_inverseI 1),
-	(rtac Abs_Lift_inverse 1)
-	]);
+        [
+        (rtac inj_inverseI 1),
+        (rtac Abs_Lift_inverse 1)
+        ]);
 
 qed_goal "inj_Rep_Lift" Lift1.thy "inj(Rep_Lift)"
  (fn prems =>
-	[
-	(rtac inj_inverseI 1),
-	(rtac Rep_Lift_inverse 1)
-	]);
+        [
+        (rtac inj_inverseI 1),
+        (rtac Rep_Lift_inverse 1)
+        ]);
 
 qed_goalw "inject_Iup" Lift1.thy [Iup_def] "Iup(x)=Iup(y) ==> x=y"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (inj_Inr RS injD) 1),
-	(rtac (inj_Abs_Lift RS injD) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (inj_Inr RS injD) 1),
+        (rtac (inj_Abs_Lift RS injD) 1),
+        (atac 1)
+        ]);
 
 qed_goalw "defined_Iup" Lift1.thy [Iup_def,UU_lift_def] "Iup(x)~=UU_lift"
  (fn prems =>
-	[
-	(rtac notI 1),
-	(rtac notE 1),
-	(rtac Inl_not_Inr 1),
-	(rtac sym 1),
-	(etac (inj_Abs_Lift RS  injD) 1)
-	]);
+        [
+        (rtac notI 1),
+        (rtac notE 1),
+        (rtac Inl_not_Inr 1),
+        (rtac sym 1),
+        (etac (inj_Abs_Lift RS  injD) 1)
+        ]);
 
 
 qed_goal "liftE"  Lift1.thy
-	"[| p=UU_lift ==> Q; !!x. p=Iup(x)==>Q|] ==>Q"
+        "[| p=UU_lift ==> Q; !!x. p=Iup(x)==>Q|] ==>Q"
  (fn prems =>
-	[
-	(rtac (Exh_Lift RS disjE) 1),
-	(eresolve_tac prems 1),
-	(etac exE 1),
-	(eresolve_tac prems 1)
-	]);
+        [
+        (rtac (Exh_Lift RS disjE) 1),
+        (eresolve_tac prems 1),
+        (etac exE 1),
+        (eresolve_tac prems 1)
+        ]);
 
 qed_goalw "Ilift1"  Lift1.thy [Ilift_def,UU_lift_def]
-	"Ilift(f)(UU_lift)=UU"
+        "Ilift(f)(UU_lift)=UU"
  (fn prems =>
-	[
-	(rtac (Abs_Lift_inverse RS ssubst) 1),
-	(rtac (sum_case_Inl RS ssubst) 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (Abs_Lift_inverse RS ssubst) 1),
+        (rtac (sum_case_Inl RS ssubst) 1),
+        (rtac refl 1)
+        ]);
 
 qed_goalw "Ilift2"  Lift1.thy [Ilift_def,Iup_def]
-	"Ilift(f)(Iup(x))=f`x"
+        "Ilift(f)(Iup(x))=f`x"
  (fn prems =>
-	[
-	(rtac (Abs_Lift_inverse RS ssubst) 1),
-	(rtac (sum_case_Inr RS ssubst) 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (Abs_Lift_inverse RS ssubst) 1),
+        (rtac (sum_case_Inr RS ssubst) 1),
+        (rtac refl 1)
+        ]);
 
 val Lift0_ss = (simpset_of "Cfun3") addsimps [Ilift1,Ilift2];
 
 qed_goalw "less_lift1a"  Lift1.thy [less_lift_def,UU_lift_def]
-	"less_lift(UU_lift)(z)"
+        "less_lift(UU_lift)(z)"
  (fn prems =>
-	[
-	(rtac (Abs_Lift_inverse RS ssubst) 1),
-	(rtac (sum_case_Inl RS ssubst) 1),
-	(rtac TrueI 1)
-	]);
+        [
+        (rtac (Abs_Lift_inverse RS ssubst) 1),
+        (rtac (sum_case_Inl RS ssubst) 1),
+        (rtac TrueI 1)
+        ]);
 
 qed_goalw "less_lift1b"  Lift1.thy [Iup_def,less_lift_def,UU_lift_def]
-	"~less_lift (Iup x) UU_lift"
+        "~less_lift (Iup x) UU_lift"
  (fn prems =>
-	[
-	(rtac notI 1),
-	(rtac iffD1 1),
-	(atac 2),
-	(rtac (Abs_Lift_inverse RS ssubst) 1),
-	(rtac (Abs_Lift_inverse RS ssubst) 1),
-	(rtac (sum_case_Inr RS ssubst) 1),
-	(rtac (sum_case_Inl RS ssubst) 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac notI 1),
+        (rtac iffD1 1),
+        (atac 2),
+        (rtac (Abs_Lift_inverse RS ssubst) 1),
+        (rtac (Abs_Lift_inverse RS ssubst) 1),
+        (rtac (sum_case_Inr RS ssubst) 1),
+        (rtac (sum_case_Inl RS ssubst) 1),
+        (rtac refl 1)
+        ]);
 
 qed_goalw "less_lift1c"  Lift1.thy [Iup_def,less_lift_def,UU_lift_def]
-	"less_lift (Iup x) (Iup y)=(x<<y)"
+        "less_lift (Iup x) (Iup y)=(x<<y)"
  (fn prems =>
-	[
-	(rtac (Abs_Lift_inverse RS ssubst) 1),
-	(rtac (Abs_Lift_inverse RS ssubst) 1),
-	(rtac (sum_case_Inr RS ssubst) 1),
-	(rtac (sum_case_Inr RS ssubst) 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (Abs_Lift_inverse RS ssubst) 1),
+        (rtac (Abs_Lift_inverse RS ssubst) 1),
+        (rtac (sum_case_Inr RS ssubst) 1),
+        (rtac (sum_case_Inr RS ssubst) 1),
+        (rtac refl 1)
+        ]);
 
 
 qed_goal "refl_less_lift"  Lift1.thy "less_lift p p"
  (fn prems =>
-	[
-	(res_inst_tac [("p","p")] liftE 1),
-	(hyp_subst_tac 1),
-	(rtac less_lift1a 1),
-	(hyp_subst_tac 1),
-	(rtac (less_lift1c RS iffD2) 1),
-	(rtac refl_less 1)
-	]);
+        [
+        (res_inst_tac [("p","p")] liftE 1),
+        (hyp_subst_tac 1),
+        (rtac less_lift1a 1),
+        (hyp_subst_tac 1),
+        (rtac (less_lift1c RS iffD2) 1),
+        (rtac refl_less 1)
+        ]);
 
 qed_goal "antisym_less_lift"  Lift1.thy 
-	"[|less_lift p1 p2;less_lift p2 p1|] ==> p1=p2"
+        "[|less_lift p1 p2;less_lift p2 p1|] ==> p1=p2"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("p","p1")] liftE 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","p2")] liftE 1),
-	(hyp_subst_tac 1),
-	(rtac refl 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("P","less_lift (Iup x) UU_lift")] notE 1),
-	(rtac less_lift1b 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","p2")] liftE 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("P","less_lift (Iup x) UU_lift")] notE 1),
-	(rtac less_lift1b 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(rtac arg_cong 1),
-	(rtac antisym_less 1),
-	(etac (less_lift1c RS iffD1) 1),
-	(etac (less_lift1c RS iffD1) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("p","p1")] liftE 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","p2")] liftE 1),
+        (hyp_subst_tac 1),
+        (rtac refl 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("P","less_lift (Iup x) UU_lift")] notE 1),
+        (rtac less_lift1b 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","p2")] liftE 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("P","less_lift (Iup x) UU_lift")] notE 1),
+        (rtac less_lift1b 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (rtac arg_cong 1),
+        (rtac antisym_less 1),
+        (etac (less_lift1c RS iffD1) 1),
+        (etac (less_lift1c RS iffD1) 1)
+        ]);
 
 qed_goal "trans_less_lift"  Lift1.thy 
-	"[|less_lift p1 p2;less_lift p2 p3|] ==> less_lift p1 p3"
+        "[|less_lift p1 p2;less_lift p2 p3|] ==> less_lift p1 p3"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("p","p1")] liftE 1),
-	(hyp_subst_tac 1),
-	(rtac less_lift1a 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","p2")] liftE 1),
-	(hyp_subst_tac 1),
-	(rtac notE 1),
-	(rtac less_lift1b 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","p3")] liftE 1),
-	(hyp_subst_tac 1),
-	(rtac notE 1),
-	(rtac less_lift1b 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(rtac (less_lift1c RS iffD2) 1),
-	(rtac trans_less 1),
-	(etac (less_lift1c RS iffD1) 1),
-	(etac (less_lift1c RS iffD1) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("p","p1")] liftE 1),
+        (hyp_subst_tac 1),
+        (rtac less_lift1a 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","p2")] liftE 1),
+        (hyp_subst_tac 1),
+        (rtac notE 1),
+        (rtac less_lift1b 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","p3")] liftE 1),
+        (hyp_subst_tac 1),
+        (rtac notE 1),
+        (rtac less_lift1b 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (rtac (less_lift1c RS iffD2) 1),
+        (rtac trans_less 1),
+        (etac (less_lift1c RS iffD1) 1),
+        (etac (less_lift1c RS iffD1) 1)
+        ]);
 
--- a/src/HOLCF/Lift2.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Lift2.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/lift2.ML
+(*  Title:      HOLCF/lift2.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for lift2.thy 
@@ -14,10 +14,10 @@
 
 qed_goal "minimal_lift" Lift2.thy "UU_lift << z"
  (fn prems =>
-	[
-	(rtac (inst_lift_po RS ssubst) 1),
-	(rtac less_lift1a 1)
-	]);
+        [
+        (rtac (inst_lift_po RS ssubst) 1),
+        (rtac less_lift1a 1)
+        ]);
 
 (* -------------------------------------------------------------------------*)
 (* access to less_lift in class po                                          *)
@@ -25,17 +25,17 @@
 
 qed_goal "less_lift2b" Lift2.thy "~ Iup(x) << UU_lift"
  (fn prems =>
-	[
-	(rtac (inst_lift_po RS ssubst) 1),
-	(rtac less_lift1b 1)
-	]);
+        [
+        (rtac (inst_lift_po RS ssubst) 1),
+        (rtac less_lift1b 1)
+        ]);
 
 qed_goal "less_lift2c" Lift2.thy "(Iup(x)<<Iup(y)) = (x<<y)"
  (fn prems =>
-	[
-	(rtac (inst_lift_po RS ssubst) 1),
-	(rtac less_lift1c 1)
-	]);
+        [
+        (rtac (inst_lift_po RS ssubst) 1),
+        (rtac less_lift1c 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* Iup and Ilift are monotone                                               *)
@@ -43,40 +43,40 @@
 
 qed_goalw "monofun_Iup" Lift2.thy [monofun] "monofun(Iup)"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(etac (less_lift2c RS iffD2) 1)
-	]);
+        [
+        (strip_tac 1),
+        (etac (less_lift2c RS iffD2) 1)
+        ]);
 
 qed_goalw "monofun_Ilift1" Lift2.thy [monofun] "monofun(Ilift)"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(rtac (less_fun RS iffD2) 1),
-	(strip_tac 1),
-	(res_inst_tac [("p","xa")] liftE 1),
+        [
+        (strip_tac 1),
+        (rtac (less_fun RS iffD2) 1),
+        (strip_tac 1),
+        (res_inst_tac [("p","xa")] liftE 1),
         (asm_simp_tac Lift0_ss 1),
         (asm_simp_tac Lift0_ss 1),
-	(etac monofun_cfun_fun 1)
-	]);
+        (etac monofun_cfun_fun 1)
+        ]);
 
 qed_goalw "monofun_Ilift2" Lift2.thy [monofun] "monofun(Ilift(f))"
  (fn prems =>
-	[
-	(strip_tac 1),
-	(res_inst_tac [("p","x")] liftE 1),
+        [
+        (strip_tac 1),
+        (res_inst_tac [("p","x")] liftE 1),
         (asm_simp_tac Lift0_ss 1),
         (asm_simp_tac Lift0_ss 1),
-	(res_inst_tac [("p","y")] liftE 1),
-	(hyp_subst_tac 1),
-	(rtac notE 1),
-	(rtac less_lift2b 1),
-	(atac 1),
+        (res_inst_tac [("p","y")] liftE 1),
+        (hyp_subst_tac 1),
+        (rtac notE 1),
+        (rtac less_lift2b 1),
+        (atac 1),
         (asm_simp_tac Lift0_ss 1),
-	(rtac monofun_cfun_arg 1),
-	(hyp_subst_tac 1),
-	(etac (less_lift2c  RS iffD1) 1)
-	]);
+        (rtac monofun_cfun_arg 1),
+        (hyp_subst_tac 1),
+        (etac (less_lift2c  RS iffD1) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* Some kind of surjectivity lemma                                          *)
@@ -85,10 +85,10 @@
 
 qed_goal "lift_lemma1" Lift2.thy  "z=Iup(x) ==> Iup(Ilift(LAM x.x)(z)) = z"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
+        [
+        (cut_facts_tac prems 1),
         (asm_simp_tac Lift0_ss 1)
-	]);
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* ('a)u is a cpo                                                           *)
@@ -98,61 +98,61 @@
 "[|is_chain(Y);? i x.Y(i)=Iup(x)|] ==>\
 \ range(Y) <<| Iup(lub(range(%i.(Ilift (LAM x.x) (Y(i))))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_lubI 1),
-	(rtac conjI 1),
-	(rtac ub_rangeI 1),
-	(rtac allI 1),
-	(res_inst_tac [("p","Y(i)")] liftE 1),
-	(res_inst_tac [("s","UU_lift"),("t","Y(i)")] subst 1),
-	(etac sym 1),
-	(rtac minimal_lift 1),
-	(res_inst_tac [("t","Y(i)")] (lift_lemma1 RS subst) 1),
-	(atac 1),
-	(rtac (less_lift2c RS iffD2) 1),
-	(rtac is_ub_thelub 1),
-	(etac (monofun_Ilift2 RS ch2ch_monofun) 1),
-	(strip_tac 1),
-	(res_inst_tac [("p","u")] liftE 1),
-	(etac exE 1),
-	(etac exE 1),
-	(res_inst_tac [("P","Y(i)<<UU_lift")] notE 1),
-	(res_inst_tac [("s","Iup(x)"),("t","Y(i)")] ssubst 1),
-	(atac 1),
-	(rtac less_lift2b 1),
-	(hyp_subst_tac 1),
-	(etac (ub_rangeE RS spec) 1),
-	(res_inst_tac [("t","u")] (lift_lemma1 RS subst) 1),
-	(atac 1),
-	(rtac (less_lift2c RS iffD2) 1),
-	(rtac is_lub_thelub 1),
-	(etac (monofun_Ilift2 RS ch2ch_monofun) 1),
-	(etac (monofun_Ilift2 RS ub2ub_monofun) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_lubI 1),
+        (rtac conjI 1),
+        (rtac ub_rangeI 1),
+        (rtac allI 1),
+        (res_inst_tac [("p","Y(i)")] liftE 1),
+        (res_inst_tac [("s","UU_lift"),("t","Y(i)")] subst 1),
+        (etac sym 1),
+        (rtac minimal_lift 1),
+        (res_inst_tac [("t","Y(i)")] (lift_lemma1 RS subst) 1),
+        (atac 1),
+        (rtac (less_lift2c RS iffD2) 1),
+        (rtac is_ub_thelub 1),
+        (etac (monofun_Ilift2 RS ch2ch_monofun) 1),
+        (strip_tac 1),
+        (res_inst_tac [("p","u")] liftE 1),
+        (etac exE 1),
+        (etac exE 1),
+        (res_inst_tac [("P","Y(i)<<UU_lift")] notE 1),
+        (res_inst_tac [("s","Iup(x)"),("t","Y(i)")] ssubst 1),
+        (atac 1),
+        (rtac less_lift2b 1),
+        (hyp_subst_tac 1),
+        (etac (ub_rangeE RS spec) 1),
+        (res_inst_tac [("t","u")] (lift_lemma1 RS subst) 1),
+        (atac 1),
+        (rtac (less_lift2c RS iffD2) 1),
+        (rtac is_lub_thelub 1),
+        (etac (monofun_Ilift2 RS ch2ch_monofun) 1),
+        (etac (monofun_Ilift2 RS ub2ub_monofun) 1)
+        ]);
 
 qed_goal "lub_lift1b" Lift2.thy 
 "[|is_chain(Y);!i x. Y(i)~=Iup(x)|] ==>\
 \ range(Y) <<| UU_lift"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_lubI 1),
-	(rtac conjI 1),
-	(rtac ub_rangeI 1),
-	(rtac allI 1),
-	(res_inst_tac [("p","Y(i)")] liftE 1),
-	(res_inst_tac [("s","UU_lift"),("t","Y(i)")] ssubst 1),
-	(atac 1),
-	(rtac refl_less 1),
-	(rtac notE 1),
-	(dtac spec 1),
-	(dtac spec 1),
-	(atac 1),
-	(atac 1),
-	(strip_tac 1),
-	(rtac minimal_lift 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_lubI 1),
+        (rtac conjI 1),
+        (rtac ub_rangeI 1),
+        (rtac allI 1),
+        (res_inst_tac [("p","Y(i)")] liftE 1),
+        (res_inst_tac [("s","UU_lift"),("t","Y(i)")] ssubst 1),
+        (atac 1),
+        (rtac refl_less 1),
+        (rtac notE 1),
+        (dtac spec 1),
+        (dtac spec 1),
+        (atac 1),
+        (atac 1),
+        (strip_tac 1),
+        (rtac minimal_lift 1)
+        ]);
 
 val thelub_lift1a = lub_lift1a RS thelubI;
 (*
@@ -167,17 +167,17 @@
 *)
 
 qed_goal "cpo_lift" Lift2.thy 
-	"is_chain(Y::nat=>('a)u) ==> ? x.range(Y) <<|x"
+        "is_chain(Y::nat=>('a)u) ==> ? x.range(Y) <<|x"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac disjE 1),
-	(rtac exI 2),
-	(etac lub_lift1a 2),
-	(atac 2),
-	(rtac exI 2),
-	(etac lub_lift1b 2),
-	(atac 2),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac disjE 1),
+        (rtac exI 2),
+        (etac lub_lift1a 2),
+        (atac 2),
+        (rtac exI 2),
+        (etac lub_lift1b 2),
+        (atac 2),
+        (fast_tac HOL_cs 1)
+        ]);
 
--- a/src/HOLCF/Lift3.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Lift3.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/lift3.ML
+(*  Title:      HOLCF/lift3.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for lift3.thy
@@ -14,17 +14,17 @@
 
 qed_goal "less_lift3b" Lift3.thy "~ Iup(x) << UU"
  (fn prems =>
-	[
-	(rtac (inst_lift_pcpo RS ssubst) 1),
-	(rtac less_lift2b 1)
-	]);
+        [
+        (rtac (inst_lift_pcpo RS ssubst) 1),
+        (rtac less_lift2b 1)
+        ]);
 
 qed_goal "defined_Iup2" Lift3.thy "Iup(x) ~= UU"
  (fn prems =>
-	[
-	(rtac (inst_lift_pcpo RS ssubst) 1),
-	(rtac defined_Iup 1)
-	]);
+        [
+        (rtac (inst_lift_pcpo RS ssubst) 1),
+        (rtac defined_Iup 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* continuity for Iup                                                       *)
@@ -32,28 +32,28 @@
 
 qed_goal "contlub_Iup" Lift3.thy "contlub(Iup)"
  (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac trans 1),
-	(rtac (thelub_lift1a RS sym) 2),
-	(fast_tac HOL_cs 3),
-	(etac (monofun_Iup RS ch2ch_monofun) 2),
-	(res_inst_tac [("f","Iup")] arg_cong  1),
-	(rtac lub_equal 1),
-	(atac 1),
-	(rtac (monofun_Ilift2 RS ch2ch_monofun) 1),
-	(etac (monofun_Iup RS ch2ch_monofun) 1),
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac trans 1),
+        (rtac (thelub_lift1a RS sym) 2),
+        (fast_tac HOL_cs 3),
+        (etac (monofun_Iup RS ch2ch_monofun) 2),
+        (res_inst_tac [("f","Iup")] arg_cong  1),
+        (rtac lub_equal 1),
+        (atac 1),
+        (rtac (monofun_Ilift2 RS ch2ch_monofun) 1),
+        (etac (monofun_Iup RS ch2ch_monofun) 1),
         (asm_simp_tac Lift0_ss 1)
-	]);
+        ]);
 
 qed_goal "cont_Iup" Lift3.thy "cont(Iup)"
  (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_Iup 1),
-	(rtac contlub_Iup 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_Iup 1),
+        (rtac contlub_Iup 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -62,83 +62,83 @@
 
 qed_goal "contlub_Ilift1" Lift3.thy "contlub(Ilift)"
  (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac trans 1),
-	(rtac (thelub_fun RS sym) 2),
-	(etac (monofun_Ilift1 RS ch2ch_monofun) 2),
-	(rtac ext 1),
-	(res_inst_tac [("p","x")] liftE 1),
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac trans 1),
+        (rtac (thelub_fun RS sym) 2),
+        (etac (monofun_Ilift1 RS ch2ch_monofun) 2),
+        (rtac ext 1),
+        (res_inst_tac [("p","x")] liftE 1),
         (asm_simp_tac Lift0_ss 1),
-	(rtac (lub_const RS thelubI RS sym) 1),
+        (rtac (lub_const RS thelubI RS sym) 1),
         (asm_simp_tac Lift0_ss 1),
-	(etac contlub_cfun_fun 1)
-	]);
+        (etac contlub_cfun_fun 1)
+        ]);
 
 
 qed_goal "contlub_Ilift2" Lift3.thy "contlub(Ilift(f))"
  (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac disjE 1),
-	(rtac (thelub_lift1a RS ssubst) 2),
-	(atac 2),
-	(atac 2),
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac disjE 1),
+        (rtac (thelub_lift1a RS ssubst) 2),
+        (atac 2),
+        (atac 2),
         (asm_simp_tac Lift0_ss 2),
-	(rtac (thelub_lift1b RS ssubst) 3),
-	(atac 3),
-	(atac 3),
-	(fast_tac HOL_cs 1),
+        (rtac (thelub_lift1b RS ssubst) 3),
+        (atac 3),
+        (atac 3),
+        (fast_tac HOL_cs 1),
         (asm_simp_tac Lift0_ss 2),
-	(rtac (chain_UU_I_inverse RS sym) 2),
-	(rtac allI 2),
-	(res_inst_tac [("p","Y(i)")] liftE 2),
+        (rtac (chain_UU_I_inverse RS sym) 2),
+        (rtac allI 2),
+        (res_inst_tac [("p","Y(i)")] liftE 2),
         (asm_simp_tac Lift0_ss 2),
-	(rtac notE 2),
-	(dtac spec 2),
-	(etac spec 2),
-	(atac 2),
-	(rtac (contlub_cfun_arg RS ssubst) 1),
-	(etac (monofun_Ilift2 RS ch2ch_monofun) 1),
-	(rtac lub_equal2 1),
-	(rtac (monofun_fapp2 RS ch2ch_monofun) 2),
-	(etac (monofun_Ilift2 RS ch2ch_monofun) 2),
-	(etac (monofun_Ilift2 RS ch2ch_monofun) 2),
-	(rtac (chain_mono2 RS exE) 1),
-	(atac 2),
-	(etac exE 1),
-	(etac exE 1),
-	(rtac exI 1),
-	(res_inst_tac [("s","Iup(x)"),("t","Y(i)")] ssubst 1),
-	(atac 1),
-	(rtac defined_Iup2 1),
-	(rtac exI 1),
-	(strip_tac 1),
-	(res_inst_tac [("p","Y(i)")] liftE 1),
+        (rtac notE 2),
+        (dtac spec 2),
+        (etac spec 2),
+        (atac 2),
+        (rtac (contlub_cfun_arg RS ssubst) 1),
+        (etac (monofun_Ilift2 RS ch2ch_monofun) 1),
+        (rtac lub_equal2 1),
+        (rtac (monofun_fapp2 RS ch2ch_monofun) 2),
+        (etac (monofun_Ilift2 RS ch2ch_monofun) 2),
+        (etac (monofun_Ilift2 RS ch2ch_monofun) 2),
+        (rtac (chain_mono2 RS exE) 1),
+        (atac 2),
+        (etac exE 1),
+        (etac exE 1),
+        (rtac exI 1),
+        (res_inst_tac [("s","Iup(x)"),("t","Y(i)")] ssubst 1),
+        (atac 1),
+        (rtac defined_Iup2 1),
+        (rtac exI 1),
+        (strip_tac 1),
+        (res_inst_tac [("p","Y(i)")] liftE 1),
         (asm_simp_tac Lift0_ss 2),
-	(res_inst_tac [("P","Y(i) = UU")] notE 1),
-	(fast_tac HOL_cs 1),
-	(rtac (inst_lift_pcpo RS ssubst) 1),
-	(atac 1)
-	]);
+        (res_inst_tac [("P","Y(i) = UU")] notE 1),
+        (fast_tac HOL_cs 1),
+        (rtac (inst_lift_pcpo RS ssubst) 1),
+        (atac 1)
+        ]);
 
 qed_goal "cont_Ilift1" Lift3.thy "cont(Ilift)"
  (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_Ilift1 1),
-	(rtac contlub_Ilift1 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_Ilift1 1),
+        (rtac contlub_Ilift1 1)
+        ]);
 
 qed_goal "cont_Ilift2" Lift3.thy "cont(Ilift(f))"
  (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_Ilift2 1),
-	(rtac contlub_Ilift2 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_Ilift2 1),
+        (rtac contlub_Ilift2 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -147,200 +147,200 @@
 
 qed_goalw "Exh_Lift1" Lift3.thy [up_def] "z = UU | (? x. z = up`x)"
  (fn prems =>
-	[
+        [
         (simp_tac (Lift0_ss addsimps [cont_Iup]) 1),
-	(rtac (inst_lift_pcpo RS ssubst) 1),
-	(rtac Exh_Lift 1)
-	]);
+        (rtac (inst_lift_pcpo RS ssubst) 1),
+        (rtac Exh_Lift 1)
+        ]);
 
 qed_goalw "inject_up" Lift3.thy [up_def] "up`x=up`y ==> x=y"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac inject_Iup 1),
-	(etac box_equals 1),
+        [
+        (cut_facts_tac prems 1),
+        (rtac inject_Iup 1),
+        (etac box_equals 1),
         (simp_tac (Lift0_ss addsimps [cont_Iup]) 1),
         (simp_tac (Lift0_ss addsimps [cont_Iup]) 1)
- 	]);
+        ]);
 
 qed_goalw "defined_up" Lift3.thy [up_def] " up`x ~= UU"
  (fn prems =>
-	[
+        [
         (simp_tac (Lift0_ss addsimps [cont_Iup]) 1),
-	(rtac defined_Iup2 1)
-	]);
+        (rtac defined_Iup2 1)
+        ]);
 
 qed_goalw "liftE1" Lift3.thy [up_def] 
-	"[| p=UU ==> Q; !!x. p=up`x==>Q|] ==>Q"
+        "[| p=UU ==> Q; !!x. p=up`x==>Q|] ==>Q"
  (fn prems =>
-	[
-	(rtac liftE 1),
-	(resolve_tac prems 1),
-	(etac (inst_lift_pcpo RS ssubst) 1),
-	(resolve_tac (tl prems) 1),
+        [
+        (rtac liftE 1),
+        (resolve_tac prems 1),
+        (etac (inst_lift_pcpo RS ssubst) 1),
+        (resolve_tac (tl prems) 1),
         (asm_simp_tac (Lift0_ss addsimps [cont_Iup]) 1)
-	]);
+        ]);
 
 
 qed_goalw "lift1" Lift3.thy [up_def,lift_def] "lift`f`UU=UU"
  (fn prems =>
-	[
-	(rtac (inst_lift_pcpo RS ssubst) 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(REPEAT (resolve_tac (cont_lemmas @ [cont_Iup,cont_Ilift1,
-		cont_Ilift2,cont2cont_CF1L]) 1)),
-	(rtac (beta_cfun RS ssubst) 1),
-	(REPEAT (resolve_tac (cont_lemmas @ [cont_Iup,cont_Ilift1,
-		cont_Ilift2,cont2cont_CF1L]) 1)),
-	(simp_tac (Lift0_ss addsimps [cont_Iup,cont_Ilift1,cont_Ilift2]) 1)
-	]);
+        [
+        (rtac (inst_lift_pcpo RS ssubst) 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (REPEAT (resolve_tac (cont_lemmas @ [cont_Iup,cont_Ilift1,
+                cont_Ilift2,cont2cont_CF1L]) 1)),
+        (rtac (beta_cfun RS ssubst) 1),
+        (REPEAT (resolve_tac (cont_lemmas @ [cont_Iup,cont_Ilift1,
+                cont_Ilift2,cont2cont_CF1L]) 1)),
+        (simp_tac (Lift0_ss addsimps [cont_Iup,cont_Ilift1,cont_Ilift2]) 1)
+        ]);
 
 qed_goalw "lift2" Lift3.thy [up_def,lift_def] "lift`f`(up`x)=f`x"
  (fn prems =>
-	[
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_Iup 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(REPEAT (resolve_tac (cont_lemmas @ [cont_Iup,cont_Ilift1,
-		cont_Ilift2,cont2cont_CF1L]) 1)),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_Ilift2 1),
-	(simp_tac (Lift0_ss addsimps [cont_Iup,cont_Ilift1,cont_Ilift2]) 1)
-	]);
+        [
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_Iup 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (REPEAT (resolve_tac (cont_lemmas @ [cont_Iup,cont_Ilift1,
+                cont_Ilift2,cont2cont_CF1L]) 1)),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_Ilift2 1),
+        (simp_tac (Lift0_ss addsimps [cont_Iup,cont_Ilift1,cont_Ilift2]) 1)
+        ]);
 
 qed_goalw "less_lift4b" Lift3.thy [up_def,lift_def] "~ up`x << UU"
  (fn prems =>
-	[
+        [
         (simp_tac (Lift0_ss addsimps [cont_Iup]) 1),
-	(rtac less_lift3b 1)
-	]);
+        (rtac less_lift3b 1)
+        ]);
 
 qed_goalw "less_lift4c" Lift3.thy [up_def,lift_def]
-	 "(up`x << up`y) = (x<<y)"
+         "(up`x << up`y) = (x<<y)"
  (fn prems =>
-	[
+        [
         (simp_tac (Lift0_ss addsimps [cont_Iup]) 1),
-	(rtac less_lift2c 1)
-	]);
+        (rtac less_lift2c 1)
+        ]);
 
 qed_goalw "thelub_lift2a" Lift3.thy [up_def,lift_def] 
 "[| is_chain(Y); ? i x. Y(i) = up`x |] ==>\
 \      lub(range(Y)) = up`(lub(range(%i. lift`(LAM x. x)`(Y i))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(REPEAT (resolve_tac (cont_lemmas @ [cont_Iup,cont_Ilift1,
-		cont_Ilift2,cont2cont_CF1L]) 1)),
-	(rtac (beta_cfun RS ssubst) 1),
-	(REPEAT (resolve_tac (cont_lemmas @ [cont_Iup,cont_Ilift1,
-		cont_Ilift2,cont2cont_CF1L]) 1)),
+        [
+        (cut_facts_tac prems 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (REPEAT (resolve_tac (cont_lemmas @ [cont_Iup,cont_Ilift1,
+                cont_Ilift2,cont2cont_CF1L]) 1)),
+        (rtac (beta_cfun RS ssubst) 1),
+        (REPEAT (resolve_tac (cont_lemmas @ [cont_Iup,cont_Ilift1,
+                cont_Ilift2,cont2cont_CF1L]) 1)),
 
-	(rtac (beta_cfun RS ext RS ssubst) 1),
-	(REPEAT (resolve_tac (cont_lemmas @ [cont_Iup,cont_Ilift1,
-		cont_Ilift2,cont2cont_CF1L]) 1)),
-	(rtac thelub_lift1a 1),
-	(atac 1),
-	(etac exE 1),
-	(etac exE 1),
-	(rtac exI 1),
-	(rtac exI 1),
-	(etac box_equals 1),
-	(rtac refl 1),
-	(simp_tac (Lift0_ss addsimps [cont_Iup]) 1)
-	]);
+        (rtac (beta_cfun RS ext RS ssubst) 1),
+        (REPEAT (resolve_tac (cont_lemmas @ [cont_Iup,cont_Ilift1,
+                cont_Ilift2,cont2cont_CF1L]) 1)),
+        (rtac thelub_lift1a 1),
+        (atac 1),
+        (etac exE 1),
+        (etac exE 1),
+        (rtac exI 1),
+        (rtac exI 1),
+        (etac box_equals 1),
+        (rtac refl 1),
+        (simp_tac (Lift0_ss addsimps [cont_Iup]) 1)
+        ]);
 
 
 
 qed_goalw "thelub_lift2b" Lift3.thy [up_def,lift_def] 
 "[| is_chain(Y); ! i x. Y(i) ~= up`x |] ==> lub(range(Y)) = UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (inst_lift_pcpo RS ssubst) 1),
-	(rtac thelub_lift1b 1),
-	(atac 1),
-	(strip_tac 1),
-	(dtac spec 1),
-	(dtac spec 1),
-	(rtac swap 1),
-	(atac 1),
-	(dtac notnotD 1),
-	(etac box_equals 1),
-	(rtac refl 1),
+        [
+        (cut_facts_tac prems 1),
+        (rtac (inst_lift_pcpo RS ssubst) 1),
+        (rtac thelub_lift1b 1),
+        (atac 1),
+        (strip_tac 1),
+        (dtac spec 1),
+        (dtac spec 1),
+        (rtac swap 1),
+        (atac 1),
+        (dtac notnotD 1),
+        (etac box_equals 1),
+        (rtac refl 1),
         (simp_tac (Lift0_ss addsimps [cont_Iup]) 1)
-	]);
+        ]);
 
 
 qed_goal "lift_lemma2" Lift3.thy  " (? x.z = up`x) = (z~=UU)"
  (fn prems =>
-	[
-	(rtac iffI 1),
-	(etac exE 1),
-	(hyp_subst_tac 1),
-	(rtac defined_up 1),
-	(res_inst_tac [("p","z")] liftE1 1),
-	(etac notE 1),
-	(atac 1),
-	(etac exI 1)
-	]);
+        [
+        (rtac iffI 1),
+        (etac exE 1),
+        (hyp_subst_tac 1),
+        (rtac defined_up 1),
+        (res_inst_tac [("p","z")] liftE1 1),
+        (etac notE 1),
+        (atac 1),
+        (etac exI 1)
+        ]);
 
 
 qed_goal "thelub_lift2a_rev" Lift3.thy  
 "[| is_chain(Y); lub(range(Y)) = up`x |] ==> ? i x. Y(i) = up`x"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac exE 1),
-	(rtac chain_UU_I_inverse2 1),
-	(rtac (lift_lemma2 RS iffD1) 1),
-	(etac exI 1),
-	(rtac exI 1),
-	(rtac (lift_lemma2 RS iffD2) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac exE 1),
+        (rtac chain_UU_I_inverse2 1),
+        (rtac (lift_lemma2 RS iffD1) 1),
+        (etac exI 1),
+        (rtac exI 1),
+        (rtac (lift_lemma2 RS iffD2) 1),
+        (atac 1)
+        ]);
 
 qed_goal "thelub_lift2b_rev" Lift3.thy  
 "[| is_chain(Y); lub(range(Y)) = UU |] ==> ! i x.  Y(i) ~= up`x"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac allI 1),
-	(rtac (notex2all RS iffD1) 1),
-	(rtac contrapos 1),
-	(etac (lift_lemma2 RS iffD1) 2),
-	(rtac notnotI 1),
-	(rtac (chain_UU_I RS spec) 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac allI 1),
+        (rtac (notex2all RS iffD1) 1),
+        (rtac contrapos 1),
+        (etac (lift_lemma2 RS iffD1) 2),
+        (rtac notnotI 1),
+        (rtac (chain_UU_I RS spec) 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "thelub_lift3" Lift3.thy  
 "is_chain(Y) ==> lub(range(Y)) = UU |\
 \                lub(range(Y)) = up`(lub(range(%i. lift`(LAM x.x)`(Y i))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac disjE 1),
-	(rtac disjI1 2),
-	(rtac thelub_lift2b 2),
-	(atac 2),
-	(atac 2),
-	(rtac disjI2 2),
-	(rtac thelub_lift2a 2),
-	(atac 2),
-	(atac 2),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac disjE 1),
+        (rtac disjI1 2),
+        (rtac thelub_lift2b 2),
+        (atac 2),
+        (atac 2),
+        (rtac disjI2 2),
+        (rtac thelub_lift2a 2),
+        (atac 2),
+        (atac 2),
+        (fast_tac HOL_cs 1)
+        ]);
 
 qed_goal "lift3" Lift3.thy "lift`up`x=x"
  (fn prems =>
-	[
-	(res_inst_tac [("p","x")] liftE1 1),
-	(asm_simp_tac ((simpset_of "Cfun3") addsimps [lift1,lift2]) 1),
-	(asm_simp_tac ((simpset_of "Cfun3") addsimps [lift1,lift2]) 1)
-	]);
+        [
+        (res_inst_tac [("p","x")] liftE1 1),
+        (asm_simp_tac ((simpset_of "Cfun3") addsimps [lift1,lift2]) 1),
+        (asm_simp_tac ((simpset_of "Cfun3") addsimps [lift1,lift2]) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* install simplifier for ('a)u                                             *)
--- a/src/HOLCF/One.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/One.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/one.thy
+(*  Title:      HOLCF/one.thy
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for one.thy 
@@ -14,28 +14,28 @@
 
 qed_goalw "Exh_one" One.thy [one_def] "z=UU | z = one"
  (fn prems =>
-	[
-	(res_inst_tac [("p","rep_one`z")] liftE1 1),
-	(rtac disjI1 1),
-	(rtac ((abs_one_iso RS allI) RS ((rep_one_iso RS allI) RS iso_strict )
-		RS conjunct2 RS subst) 1),
-	(rtac (abs_one_iso RS subst) 1),
-	(etac cfun_arg_cong 1),
-	(rtac disjI2 1),
-	(rtac (abs_one_iso RS subst) 1),
-	(rtac cfun_arg_cong 1),
-	(rtac (unique_void2 RS subst) 1),
-	(atac 1)
-	]);
+        [
+        (res_inst_tac [("p","rep_one`z")] liftE1 1),
+        (rtac disjI1 1),
+        (rtac ((abs_one_iso RS allI) RS ((rep_one_iso RS allI) RS iso_strict )
+                RS conjunct2 RS subst) 1),
+        (rtac (abs_one_iso RS subst) 1),
+        (etac cfun_arg_cong 1),
+        (rtac disjI2 1),
+        (rtac (abs_one_iso RS subst) 1),
+        (rtac cfun_arg_cong 1),
+        (rtac (unique_void2 RS subst) 1),
+        (atac 1)
+        ]);
 
 qed_goal "oneE" One.thy
-	"[| p=UU ==> Q; p = one ==>Q|] ==>Q"
+        "[| p=UU ==> Q; p = one ==>Q|] ==>Q"
  (fn prems =>
-	[
-	(rtac (Exh_one RS disjE) 1),
-	(eresolve_tac prems 1),
-	(eresolve_tac prems 1)
-	]);
+        [
+        (rtac (Exh_one RS disjE) 1),
+        (eresolve_tac prems 1),
+        (eresolve_tac prems 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* distinctness for type one : stored in a list                             *)
@@ -44,23 +44,23 @@
 val dist_less_one = [
 prove_goalw One.thy [one_def] "~one << UU"
  (fn prems =>
-	[
-	(rtac classical3 1),
-	(rtac less_lift4b 1),
-	(rtac (rep_one_iso RS subst) 1),
-	(rtac (rep_one_iso RS subst) 1),
-	(rtac monofun_cfun_arg 1),
-	(etac ((abs_one_iso RS allI) RS ((rep_one_iso RS allI) RS iso_strict ) 
-		RS conjunct2 RS ssubst) 1)
-	])
+        [
+        (rtac classical3 1),
+        (rtac less_lift4b 1),
+        (rtac (rep_one_iso RS subst) 1),
+        (rtac (rep_one_iso RS subst) 1),
+        (rtac monofun_cfun_arg 1),
+        (etac ((abs_one_iso RS allI) RS ((rep_one_iso RS allI) RS iso_strict ) 
+                RS conjunct2 RS ssubst) 1)
+        ])
 ];
 
 val  dist_eq_one = [prove_goal One.thy "one~=UU"
  (fn prems =>
-	[
-	(rtac not_less2not_eq 1),
-	(resolve_tac dist_less_one 1)
-	])];
+        [
+        (rtac not_less2not_eq 1),
+        (resolve_tac dist_less_one 1)
+        ])];
 
 val dist_eq_one = dist_eq_one @ (map (fn thm => (thm RS not_sym)) dist_eq_one);
 
@@ -70,15 +70,15 @@
 
 qed_goalw "flat_one" One.thy [is_flat_def] "is_flat(one)"
  (fn prems =>
-	[
-	(rtac allI 1),
-	(rtac allI 1),
-	(res_inst_tac [("p","x")] oneE 1),
-	(Asm_simp_tac 1),
-	(res_inst_tac [("p","y")] oneE 1),
-	(asm_simp_tac (!simpset addsimps dist_less_one) 1),
-	(Asm_simp_tac 1)
-	]);
+        [
+        (rtac allI 1),
+        (rtac allI 1),
+        (res_inst_tac [("p","x")] oneE 1),
+        (Asm_simp_tac 1),
+        (res_inst_tac [("p","y")] oneE 1),
+        (asm_simp_tac (!simpset addsimps dist_less_one) 1),
+        (Asm_simp_tac 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -88,11 +88,11 @@
 
 fun prover s =  prove_goalw One.thy [one_when_def,one_def] s
  (fn prems =>
-	[
-	(simp_tac (!simpset addsimps [(rep_one_iso ),
-	(abs_one_iso RS allI) RS ((rep_one_iso RS allI) 
-	RS iso_strict) RS conjunct1] )1)
-	]);
+        [
+        (simp_tac (!simpset addsimps [(rep_one_iso ),
+        (abs_one_iso RS allI) RS ((rep_one_iso RS allI) 
+        RS iso_strict) RS conjunct1] )1)
+        ]);
 
 val one_when = map prover ["one_when`x`UU = UU","one_when`x`one = x"];
 
--- a/src/HOLCF/Pcpo.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Pcpo.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/pcpo.ML
+(*  Title:      HOLCF/pcpo.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for pcpo.thy
@@ -13,14 +13,14 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "thelubE"  Pcpo.thy 
-	"[| is_chain(S);lub(range(S)) = (l::'a::pcpo)|] ==> range(S) <<| l "
+        "[| is_chain(S);lub(range(S)) = (l::'a::pcpo)|] ==> range(S) <<| l "
 (fn prems =>
-	[
-	(cut_facts_tac prems 1), 
-	(hyp_subst_tac 1),
-	(rtac lubI 1),
-	(etac cpo 1)
-	]);
+        [
+        (cut_facts_tac prems 1), 
+        (hyp_subst_tac 1),
+        (rtac lubI 1),
+        (etac cpo 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* Properties of the lub                                                    *)
@@ -39,18 +39,18 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "lub_mono" Pcpo.thy 
-	"[|is_chain(C1::(nat=>'a::pcpo));is_chain(C2); ! k. C1(k) << C2(k)|]\
+        "[|is_chain(C1::(nat=>'a::pcpo));is_chain(C2); ! k. C1(k) << C2(k)|]\
 \           ==> lub(range(C1)) << lub(range(C2))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac is_lub_thelub 1),
-	(rtac ub_rangeI 1),
-	(rtac allI 1),
-	(rtac trans_less 1),
-	(etac spec 1),
-	(etac is_ub_thelub 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac is_lub_thelub 1),
+        (rtac ub_rangeI 1),
+        (rtac allI 1),
+        (rtac trans_less 1),
+        (etac spec 1),
+        (etac is_ub_thelub 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* the = relation between two chains is preserved by their lubs            *)
@@ -58,24 +58,24 @@
 
 qed_goal "lub_equal" Pcpo.thy
 "[| is_chain(C1::(nat=>'a::pcpo));is_chain(C2);!k.C1(k)=C2(k)|]\
-\	==> lub(range(C1))=lub(range(C2))"
+\       ==> lub(range(C1))=lub(range(C2))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac antisym_less 1),
-	(rtac lub_mono 1),
-	(atac 1),
-	(atac 1),
-	(strip_tac 1),
-	(rtac (antisym_less_inverse RS conjunct1) 1),
-	(etac spec 1),
-	(rtac lub_mono 1),
-	(atac 1),
-	(atac 1),
-	(strip_tac 1),
-	(rtac (antisym_less_inverse RS conjunct2) 1),
-	(etac spec 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac antisym_less 1),
+        (rtac lub_mono 1),
+        (atac 1),
+        (atac 1),
+        (strip_tac 1),
+        (rtac (antisym_less_inverse RS conjunct1) 1),
+        (etac spec 1),
+        (rtac lub_mono 1),
+        (atac 1),
+        (atac 1),
+        (strip_tac 1),
+        (rtac (antisym_less_inverse RS conjunct2) 1),
+        (etac spec 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* more results about mono and = of lubs of chains                          *)
@@ -85,64 +85,64 @@
 "[|? j.!i. j<i --> X(i::nat)=Y(i);is_chain(X::nat=>'a::pcpo);is_chain(Y)|]\
 \ ==> lub(range(X))<<lub(range(Y))"
  (fn prems =>
-	[
-	(rtac  exE 1),
-	(resolve_tac prems 1),
-	(rtac is_lub_thelub 1),
-	(resolve_tac prems 1),
-	(rtac ub_rangeI 1),
-	(strip_tac 1),
-	(res_inst_tac [("Q","x<i")] classical2 1),
-	(res_inst_tac [("s","Y(i)"),("t","X(i)")] subst 1),
-	(rtac sym 1),
-	(fast_tac HOL_cs 1),
-	(rtac is_ub_thelub 1),
-	(resolve_tac prems 1),
-	(res_inst_tac [("y","X(Suc(x))")] trans_less 1),
-	(rtac (chain_mono RS mp) 1),
-	(resolve_tac prems 1),
-	(rtac (not_less_eq RS subst) 1),
-	(atac 1),
-	(res_inst_tac [("s","Y(Suc(x))"),("t","X(Suc(x))")] subst 1),
-	(rtac sym 1),
-	(Asm_simp_tac 1),
-	(rtac is_ub_thelub 1),
-	(resolve_tac prems 1)
-	]);
+        [
+        (rtac  exE 1),
+        (resolve_tac prems 1),
+        (rtac is_lub_thelub 1),
+        (resolve_tac prems 1),
+        (rtac ub_rangeI 1),
+        (strip_tac 1),
+        (res_inst_tac [("Q","x<i")] classical2 1),
+        (res_inst_tac [("s","Y(i)"),("t","X(i)")] subst 1),
+        (rtac sym 1),
+        (fast_tac HOL_cs 1),
+        (rtac is_ub_thelub 1),
+        (resolve_tac prems 1),
+        (res_inst_tac [("y","X(Suc(x))")] trans_less 1),
+        (rtac (chain_mono RS mp) 1),
+        (resolve_tac prems 1),
+        (rtac (not_less_eq RS subst) 1),
+        (atac 1),
+        (res_inst_tac [("s","Y(Suc(x))"),("t","X(Suc(x))")] subst 1),
+        (rtac sym 1),
+        (Asm_simp_tac 1),
+        (rtac is_ub_thelub 1),
+        (resolve_tac prems 1)
+        ]);
 
 qed_goal "lub_equal2" Pcpo.thy 
 "[|? j.!i. j<i --> X(i)=Y(i);is_chain(X::nat=>'a::pcpo);is_chain(Y)|]\
 \ ==> lub(range(X))=lub(range(Y))"
  (fn prems =>
-	[
-	(rtac antisym_less 1),
-	(rtac lub_mono2 1),
-	(REPEAT (resolve_tac prems 1)),
-	(cut_facts_tac prems 1),
-	(rtac lub_mono2 1),
-	(safe_tac HOL_cs),
-	(step_tac HOL_cs 1),
-	(safe_tac HOL_cs),
-	(rtac sym 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (rtac antisym_less 1),
+        (rtac lub_mono2 1),
+        (REPEAT (resolve_tac prems 1)),
+        (cut_facts_tac prems 1),
+        (rtac lub_mono2 1),
+        (safe_tac HOL_cs),
+        (step_tac HOL_cs 1),
+        (safe_tac HOL_cs),
+        (rtac sym 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 qed_goal "lub_mono3" Pcpo.thy "[|is_chain(Y::nat=>'a::pcpo);is_chain(X);\
 \! i. ? j. Y(i)<< X(j)|]==> lub(range(Y))<<lub(range(X))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_lub_thelub 1),
-	(atac 1),
-	(rtac ub_rangeI 1),
-	(strip_tac 1),
-	(etac allE 1),
-	(etac exE 1),
-	(rtac trans_less 1),
-	(rtac is_ub_thelub 2),
-	(atac 2),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_lub_thelub 1),
+        (atac 1),
+        (rtac ub_rangeI 1),
+        (strip_tac 1),
+        (etac allE 1),
+        (etac exE 1),
+        (rtac trans_less 1),
+        (rtac is_ub_thelub 2),
+        (atac 2),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* usefull lemmas about UU                                                  *)
@@ -150,96 +150,96 @@
 
 qed_goal "eq_UU_iff" Pcpo.thy "(x=UU)=(x<<UU)"
  (fn prems =>
-	[
-	(rtac iffI 1),
-	(hyp_subst_tac 1),
-	(rtac refl_less 1),
-	(rtac antisym_less 1),
-	(atac 1),
-	(rtac minimal 1)
-	]);
+        [
+        (rtac iffI 1),
+        (hyp_subst_tac 1),
+        (rtac refl_less 1),
+        (rtac antisym_less 1),
+        (atac 1),
+        (rtac minimal 1)
+        ]);
 
 qed_goal "UU_I" Pcpo.thy "x << UU ==> x = UU"
  (fn prems =>
-	[
-	(rtac (eq_UU_iff RS ssubst) 1),
-	(resolve_tac prems 1)
-	]);
+        [
+        (rtac (eq_UU_iff RS ssubst) 1),
+        (resolve_tac prems 1)
+        ]);
 
 qed_goal "not_less2not_eq" Pcpo.thy "~x<<y ==> ~x=y"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac classical3 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(rtac refl_less 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac classical3 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (rtac refl_less 1)
+        ]);
 
 qed_goal "chain_UU_I" Pcpo.thy
-	"[|is_chain(Y);lub(range(Y))=UU|] ==> ! i.Y(i)=UU"
+        "[|is_chain(Y);lub(range(Y))=UU|] ==> ! i.Y(i)=UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac allI 1),
-	(rtac antisym_less 1),
-	(rtac minimal 2),
-	(etac subst 1),
-	(etac is_ub_thelub 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac allI 1),
+        (rtac antisym_less 1),
+        (rtac minimal 2),
+        (etac subst 1),
+        (etac is_ub_thelub 1)
+        ]);
 
 
 qed_goal "chain_UU_I_inverse" Pcpo.thy 
-	"!i.Y(i::nat)=UU ==> lub(range(Y::(nat=>'a::pcpo)))=UU"
+        "!i.Y(i::nat)=UU ==> lub(range(Y::(nat=>'a::pcpo)))=UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac lub_chain_maxelem 1),
-	(rtac exI 1),
-	(etac spec 1),
-	(rtac allI 1),
-	(rtac (antisym_less_inverse RS conjunct1) 1),
-	(etac spec 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac lub_chain_maxelem 1),
+        (rtac exI 1),
+        (etac spec 1),
+        (rtac allI 1),
+        (rtac (antisym_less_inverse RS conjunct1) 1),
+        (etac spec 1)
+        ]);
 
 qed_goal "chain_UU_I_inverse2" Pcpo.thy 
-	"~lub(range(Y::(nat=>'a::pcpo)))=UU ==> ? i.~ Y(i)=UU"
+        "~lub(range(Y::(nat=>'a::pcpo)))=UU ==> ? i.~ Y(i)=UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (notall2ex RS iffD1) 1),
-	(rtac swap 1),
-	(rtac chain_UU_I_inverse 2),
-	(etac notnotD 2),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (notall2ex RS iffD1) 1),
+        (rtac swap 1),
+        (rtac chain_UU_I_inverse 2),
+        (etac notnotD 2),
+        (atac 1)
+        ]);
 
 
 qed_goal "notUU_I" Pcpo.thy "[| x<<y; ~x=UU |] ==> ~y=UU"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac contrapos 1),
-	(rtac UU_I 1),
-	(hyp_subst_tac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac contrapos 1),
+        (rtac UU_I 1),
+        (hyp_subst_tac 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "chain_mono2" Pcpo.thy 
 "[|? j.~Y(j)=UU;is_chain(Y::nat=>'a::pcpo)|]\
 \ ==> ? j.!i.j<i-->~Y(i)=UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(safe_tac HOL_cs),
-	(step_tac HOL_cs 1),
-	(strip_tac 1),
-	(rtac notUU_I 1),
-	(atac 2),
-	(etac (chain_mono RS mp) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (safe_tac HOL_cs),
+        (step_tac HOL_cs 1),
+        (strip_tac 1),
+        (rtac notUU_I 1),
+        (atac 2),
+        (etac (chain_mono RS mp) 1),
+        (atac 1)
+        ]);
 
 
 
@@ -250,15 +250,15 @@
 
 qed_goal "unique_void2" Pcpo.thy "(x::void)=UU"
  (fn prems =>
-	[
-	(rtac (inst_void_pcpo RS ssubst) 1),
-	(rtac (Rep_Void_inverse RS subst) 1),
-	(rtac (Rep_Void_inverse RS subst) 1),
-	(rtac arg_cong 1),
-	(rtac box_equals 1),
-	(rtac refl 1),
-	(rtac (unique_void RS sym) 1),
-	(rtac (unique_void RS sym) 1)
-	]);
+        [
+        (rtac (inst_void_pcpo RS ssubst) 1),
+        (rtac (Rep_Void_inverse RS subst) 1),
+        (rtac (Rep_Void_inverse RS subst) 1),
+        (rtac arg_cong 1),
+        (rtac box_equals 1),
+        (rtac refl 1),
+        (rtac (unique_void RS sym) 1),
+        (rtac (unique_void RS sym) 1)
+        ]);
 
 
--- a/src/HOLCF/Porder.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Porder.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/porder.thy
+(*  Title:      HOLCF/porder.thy
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for theory porder.thy 
@@ -16,76 +16,76 @@
 
 qed_goal "antisym_less_inverse" Porder.thy "x=y ==> x << y & y << x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac conjI 1),
-	((rtac subst 1) THEN (rtac refl_less 2) THEN (atac 1)),
-	((rtac subst 1) THEN (rtac refl_less 2) THEN (etac sym 1))
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac conjI 1),
+        ((rtac subst 1) THEN (rtac refl_less 2) THEN (atac 1)),
+        ((rtac subst 1) THEN (rtac refl_less 2) THEN (etac sym 1))
+        ]);
 
 
 qed_goal "box_less" Porder.thy 
 "[| a << b; c << a; b << d|] ==> c << d"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac trans_less 1),
-	(etac trans_less 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac trans_less 1),
+        (etac trans_less 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* lubs are unique                                                          *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "unique_lub " Porder.thy [is_lub, is_ub] 
-	"[| S <<| x ; S <<| y |] ==> x=y"
+        "[| S <<| x ; S <<| y |] ==> x=y"
 ( fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac conjE 1),
-	(etac conjE 1),
-	(rtac antisym_less 1),
-	(rtac mp 1),((etac allE 1) THEN (atac 1) THEN (atac 1)),
-	(rtac mp 1),((etac allE 1) THEN (atac 1) THEN (atac 1))
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac conjE 1),
+        (etac conjE 1),
+        (rtac antisym_less 1),
+        (rtac mp 1),((etac allE 1) THEN (atac 1) THEN (atac 1)),
+        (rtac mp 1),((etac allE 1) THEN (atac 1) THEN (atac 1))
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* chains are monotone functions                                            *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "chain_mono" Porder.thy [is_chain]
-	" is_chain(F) ==> x<y --> F(x)<<F(y)"
+        " is_chain(F) ==> x<y --> F(x)<<F(y)"
 ( fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(nat_ind_tac "y" 1),
-	(rtac impI 1),
-	(etac less_zeroE 1),
-	(rtac (less_Suc_eq RS ssubst) 1),
-	(strip_tac 1),
-	(etac disjE 1),
-	(rtac trans_less 1),
-	(etac allE 2),
-	(atac 2),
-	(fast_tac HOL_cs 1),
-	(hyp_subst_tac 1),
-	(etac allE 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (nat_ind_tac "y" 1),
+        (rtac impI 1),
+        (etac less_zeroE 1),
+        (rtac (less_Suc_eq RS ssubst) 1),
+        (strip_tac 1),
+        (etac disjE 1),
+        (rtac trans_less 1),
+        (etac allE 2),
+        (atac 2),
+        (fast_tac HOL_cs 1),
+        (hyp_subst_tac 1),
+        (etac allE 1),
+        (atac 1)
+        ]);
 
 qed_goal "chain_mono3"  Porder.thy 
-	"[| is_chain(F); x <= y |] ==> F(x) << F(y)"
+        "[| is_chain(F); x <= y |] ==> F(x) << F(y)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (le_imp_less_or_eq RS disjE) 1),
-	(atac 1),
-	(etac (chain_mono RS mp) 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(rtac refl_less 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (le_imp_less_or_eq RS disjE) 1),
+        (atac 1),
+        (etac (chain_mono RS mp) 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (rtac refl_less 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -95,26 +95,26 @@
 qed_goalw "chain_is_tord" Porder.thy [is_tord,range_def] 
 "is_chain(F) ==> is_tord(range(F))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(REPEAT (rtac allI 1 )),
-	(rtac (mem_Collect_eq RS ssubst) 1),
-	(rtac (mem_Collect_eq RS ssubst) 1),
-	(strip_tac 1),
-	(etac conjE 1),
-	(REPEAT (etac exE 1)),
-	(REPEAT (hyp_subst_tac 1)),
-	(rtac nat_less_cases 1),
-	(rtac disjI1 1),
-	(etac (chain_mono RS mp) 1),
-	(atac 1),
-	(rtac disjI1 1),
-	(hyp_subst_tac 1),
-	(rtac refl_less 1),
-	(rtac disjI2 1),
-	(etac (chain_mono RS mp) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (REPEAT (rtac allI 1 )),
+        (rtac (mem_Collect_eq RS ssubst) 1),
+        (rtac (mem_Collect_eq RS ssubst) 1),
+        (strip_tac 1),
+        (etac conjE 1),
+        (REPEAT (etac exE 1)),
+        (REPEAT (hyp_subst_tac 1)),
+        (rtac nat_less_cases 1),
+        (rtac disjI1 1),
+        (etac (chain_mono RS mp) 1),
+        (atac 1),
+        (rtac disjI1 1),
+        (hyp_subst_tac 1),
+        (rtac refl_less 1),
+        (rtac disjI2 1),
+        (etac (chain_mono RS mp) 1),
+        (atac 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* technical lemmas about lub and is_lub                                    *)
@@ -122,38 +122,38 @@
 
 qed_goal "lubI" Porder.thy "(? x. M <<| x) ==> M <<| lub(M)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (lub RS ssubst) 1),
-	(etac selectI3 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (lub RS ssubst) 1),
+        (etac selectI3 1)
+        ]);
 
 qed_goal "lubE" Porder.thy " M <<| lub(M) ==>  ? x. M <<| x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac exI 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac exI 1)
+        ]);
 
 qed_goal "lub_eq" Porder.thy 
-	"(? x. M <<| x)  = M <<| lub(M)"
+        "(? x. M <<| x)  = M <<| lub(M)"
 (fn prems => 
-	[
-	(rtac (lub RS ssubst) 1),
-	(rtac (select_eq_Ex RS subst) 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (lub RS ssubst) 1),
+        (rtac (select_eq_Ex RS subst) 1),
+        (rtac refl 1)
+        ]);
 
 
 qed_goal "thelubI"  Porder.thy " M <<| l ==> lub(M) = l"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1), 
-	(rtac unique_lub 1),
-	(rtac (lub RS ssubst) 1),
-	(etac selectI 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1), 
+        (rtac unique_lub 1),
+        (rtac (lub RS ssubst) 1),
+        (etac selectI 1),
+        (atac 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -161,60 +161,60 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "is_lubE"  Porder.thy [is_lub]
-	"S <<| x  ==> S <| x & (! u. S <| u  --> x << u)"
+        "S <<| x  ==> S <| x & (! u. S <| u  --> x << u)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (atac 1)
+        ]);
 
 qed_goalw "is_lubI"  Porder.thy [is_lub]
-	"S <| x & (! u. S <| u  --> x << u) ==> S <<| x"
+        "S <| x & (! u. S <| u  --> x << u) ==> S <<| x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (atac 1)
+        ]);
 
 qed_goalw "is_chainE" Porder.thy [is_chain] 
  "is_chain(F) ==> ! i. F(i) << F(Suc(i))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(atac 1)]);
+        [
+        (cut_facts_tac prems 1),
+        (atac 1)]);
 
 qed_goalw "is_chainI" Porder.thy [is_chain] 
  "! i. F(i) << F(Suc(i)) ==> is_chain(F) "
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(atac 1)]);
+        [
+        (cut_facts_tac prems 1),
+        (atac 1)]);
 
 (* ------------------------------------------------------------------------ *)
 (* technical lemmas about (least) upper bounds of chains                    *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "ub_rangeE"  Porder.thy [is_ub]
-	"range(S) <| x  ==> ! i. S(i) << x"
+        "range(S) <| x  ==> ! i. S(i) << x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(rtac mp 1),
-	(etac spec 1),
-	(rtac rangeI 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (rtac mp 1),
+        (etac spec 1),
+        (rtac rangeI 1)
+        ]);
 
 qed_goalw "ub_rangeI" Porder.thy [is_ub]
-	"! i. S(i) << x  ==> range(S) <| x"
+        "! i. S(i) << x  ==> range(S) <| x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(strip_tac 1),
-	(etac rangeE 1),
-	(hyp_subst_tac 1),
-	(etac spec 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (strip_tac 1),
+        (etac rangeE 1),
+        (hyp_subst_tac 1),
+        (etac spec 1)
+        ]);
 
 val is_ub_lub = (is_lubE RS conjunct1 RS ub_rangeE RS spec);
 (* range(?S1) <<| ?x1 ==> ?S1(?x) << ?x1                                    *)
@@ -232,28 +232,28 @@
 
 qed_goal "less_void" Porder.thy "((u1::void) << u2) = (u1 = u2)"
 (fn prems =>
-	[
-	(rtac (inst_void_po RS ssubst) 1),
-	(rewrite_goals_tac [less_void_def]),
-	(rtac iffI 1),
-	(rtac injD 1),
-	(atac 2),
-	(rtac inj_inverseI 1),
-	(rtac Rep_Void_inverse 1),
-	(etac arg_cong 1)
-	]);
+        [
+        (rtac (inst_void_po RS ssubst) 1),
+        (rewtac less_void_def),
+        (rtac iffI 1),
+        (rtac injD 1),
+        (atac 2),
+        (rtac inj_inverseI 1),
+        (rtac Rep_Void_inverse 1),
+        (etac arg_cong 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* void is pointed. The least element is UU_void                            *)
 (* ------------------------------------------------------------------------ *)
 
-qed_goal "minimal_void" Porder.thy  	"UU_void << x"
+qed_goal "minimal_void" Porder.thy      "UU_void << x"
 (fn prems =>
-	[
-	(rtac (inst_void_po RS ssubst) 1),
-	(rewrite_goals_tac [less_void_def]),
-	(simp_tac (!simpset addsimps [unique_void]) 1)
-	]);
+        [
+        (rtac (inst_void_po RS ssubst) 1),
+        (rewtac less_void_def),
+        (simp_tac (!simpset addsimps [unique_void]) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* UU_void is the trivial lub of all chains in void                         *)
@@ -261,16 +261,16 @@
 
 qed_goalw "lub_void"  Porder.thy [is_lub] "M <<| UU_void"
 (fn prems =>
-	[
-	(rtac conjI 1),
-	(rewrite_goals_tac [is_ub]),
-	(strip_tac 1),
-	(rtac (inst_void_po RS ssubst) 1),
-	(rewrite_goals_tac [less_void_def]),
-	(simp_tac (!simpset addsimps [unique_void]) 1),
-	(strip_tac 1),
-	(rtac minimal_void 1)
-	]);
+        [
+        (rtac conjI 1),
+        (rewtac is_ub),
+        (strip_tac 1),
+        (rtac (inst_void_po RS ssubst) 1),
+        (rewtac less_void_def),
+        (simp_tac (!simpset addsimps [unique_void]) 1),
+        (strip_tac 1),
+        (rtac minimal_void 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* lub(?M) = UU_void                                                        *)
@@ -283,13 +283,13 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "cpo_void" Porder.thy
-	"is_chain((S::nat=>void)) ==> ? x. range(S) <<| x "
+        "is_chain((S::nat=>void)) ==> ? x. range(S) <<| x "
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("x","UU_void")] exI 1),
-	(rtac lub_void 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("x","UU_void")] exI 1),
+        (rtac lub_void 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* end of prototype lemmas for class pcpo                                   *)
@@ -301,72 +301,72 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "lub_finch1" Porder.thy [max_in_chain_def]
-	"[| is_chain(C) ; max_in_chain i C|] ==> range(C) <<| C(i)"
+        "[| is_chain(C) ; max_in_chain i C|] ==> range(C) <<| C(i)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_lubI 1),
-	(rtac conjI 1),
-	(rtac ub_rangeI 1),
-	(rtac allI 1),
-	(res_inst_tac [("m","i")] nat_less_cases 1),
-	(rtac (antisym_less_inverse RS conjunct2) 1),
-	(etac (disjI1 RS less_or_eq_imp_le RS rev_mp) 1),
-	(etac spec 1),
-	(rtac (antisym_less_inverse RS conjunct2) 1),
-	(etac (disjI2 RS less_or_eq_imp_le RS rev_mp) 1),
-	(etac spec 1),
-	(etac (chain_mono RS mp) 1),
-	(atac 1),
-	(strip_tac 1),
-	(etac (ub_rangeE RS spec) 1)
-	]);	
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_lubI 1),
+        (rtac conjI 1),
+        (rtac ub_rangeI 1),
+        (rtac allI 1),
+        (res_inst_tac [("m","i")] nat_less_cases 1),
+        (rtac (antisym_less_inverse RS conjunct2) 1),
+        (etac (disjI1 RS less_or_eq_imp_le RS rev_mp) 1),
+        (etac spec 1),
+        (rtac (antisym_less_inverse RS conjunct2) 1),
+        (etac (disjI2 RS less_or_eq_imp_le RS rev_mp) 1),
+        (etac spec 1),
+        (etac (chain_mono RS mp) 1),
+        (atac 1),
+        (strip_tac 1),
+        (etac (ub_rangeE RS spec) 1)
+        ]);     
 
 qed_goalw "lub_finch2" Porder.thy [finite_chain_def]
-	"finite_chain(C) ==> range(C) <<| C(@ i. max_in_chain i C)"
+        "finite_chain(C) ==> range(C) <<| C(@ i. max_in_chain i C)"
  (fn prems=>
-	[
-	(cut_facts_tac prems 1),
-	(rtac lub_finch1 1),
-	(etac conjunct1 1),
-	(rtac selectI3 1),
-	(etac conjunct2 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac lub_finch1 1),
+        (etac conjunct1 1),
+        (rtac selectI3 1),
+        (etac conjunct2 1)
+        ]);
 
 
 qed_goal "bin_chain" Porder.thy "x<<y ==> is_chain (%i. if i=0 then x else y)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_chainI 1),
-	(rtac allI 1),
-	(nat_ind_tac "i" 1),
-	(Asm_simp_tac 1),
-	(Asm_simp_tac 1),
-	(rtac refl_less 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_chainI 1),
+        (rtac allI 1),
+        (nat_ind_tac "i" 1),
+        (Asm_simp_tac 1),
+        (Asm_simp_tac 1),
+        (rtac refl_less 1)
+        ]);
 
 qed_goalw "bin_chainmax" Porder.thy [max_in_chain_def,le_def]
-	"x<<y ==> max_in_chain (Suc 0) (%i. if (i=0) then x else y)"
+        "x<<y ==> max_in_chain (Suc 0) (%i. if (i=0) then x else y)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac allI 1),
-	(nat_ind_tac "j" 1),
-	(Asm_simp_tac 1),
-	(Asm_simp_tac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac allI 1),
+        (nat_ind_tac "j" 1),
+        (Asm_simp_tac 1),
+        (Asm_simp_tac 1)
+        ]);
 
 qed_goal "lub_bin_chain" Porder.thy 
-	"x << y ==> range(%i. if (i=0) then x else y) <<| y"
+        "x << y ==> range(%i. if (i=0) then x else y) <<| y"
 (fn prems=>
-	[ (cut_facts_tac prems 1),
-	(res_inst_tac [("s","if (Suc 0) = 0 then x else y")] subst 1),
-	(rtac lub_finch1 2),
-	(etac bin_chain 2),
-	(etac bin_chainmax 2),
-	(Simp_tac  1)
-	]);
+        [ (cut_facts_tac prems 1),
+        (res_inst_tac [("s","if (Suc 0) = 0 then x else y")] subst 1),
+        (rtac lub_finch1 2),
+        (etac bin_chain 2),
+        (etac bin_chainmax 2),
+        (Simp_tac  1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* the maximal element in a chain is its lub                                *)
@@ -375,17 +375,17 @@
 qed_goal "lub_chain_maxelem" Porder.thy
 "[|? i.Y(i)=c;!i.Y(i)<<c|] ==> lub(range(Y)) = c"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac thelubI 1),
-	(rtac is_lubI 1),
-	(rtac conjI 1),
-	(etac ub_rangeI 1),
-	(strip_tac 1),
-	(etac exE 1),
-	(hyp_subst_tac 1),
-	(etac (ub_rangeE RS spec) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac thelubI 1),
+        (rtac is_lubI 1),
+        (rtac conjI 1),
+        (etac ub_rangeI 1),
+        (strip_tac 1),
+        (etac exE 1),
+        (hyp_subst_tac 1),
+        (etac (ub_rangeE RS spec) 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* the lub of a constant chain is the constant                              *)
@@ -393,15 +393,15 @@
 
 qed_goal "lub_const" Porder.thy "range(%x.c) <<| c"
  (fn prems =>
-	[
-	(rtac is_lubI 1),
-	(rtac conjI 1),
-	(rtac ub_rangeI 1),
-	(strip_tac 1),
-	(rtac refl_less 1),
-	(strip_tac 1),
-	(etac (ub_rangeE RS spec) 1)
-	]);
+        [
+        (rtac is_lubI 1),
+        (rtac conjI 1),
+        (rtac ub_rangeI 1),
+        (strip_tac 1),
+        (rtac refl_less 1),
+        (strip_tac 1),
+        (etac (ub_rangeE RS spec) 1)
+        ]);
 
 
 
--- a/src/HOLCF/ROOT.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/ROOT.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,7 +1,7 @@
-(*  Title:	HOLCF/ROOT
+(*  Title:      HOLCF/ROOT
     ID:         $Id$
-    Author: 	Franz Regensburger
-    Copyright	1993 Technische Universitaet Muenchen
+    Author:     Franz Regensburger
+    Copyright   1993 Technische Universitaet Muenchen
 
 ROOT file for the conservative extension of HOL by the LCF logic.
 Should be executed in subdirectory HOLCF.
@@ -40,4 +40,4 @@
 
 print_depth 100;  
 
-val HOLCF_build_completed = ();	(*indicate successful build*)
+val HOLCF_build_completed = (); (*indicate successful build*)
--- a/src/HOLCF/Sprod0.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Sprod0.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/sprod0.thy
+(*  Title:      HOLCF/sprod0.thy
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993  Technische Universitaet Muenchen
 
 Lemmas for theory sprod0.thy
@@ -13,20 +13,20 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "SprodI" Sprod0.thy [Sprod_def]
-	"(Spair_Rep a b):Sprod"
+        "(Spair_Rep a b):Sprod"
 (fn prems =>
-	[
-	(EVERY1 [rtac CollectI, rtac exI,rtac exI, rtac refl])
-	]);
+        [
+        (EVERY1 [rtac CollectI, rtac exI,rtac exI, rtac refl])
+        ]);
 
 
 qed_goal "inj_onto_Abs_Sprod" Sprod0.thy 
-	"inj_onto Abs_Sprod Sprod"
+        "inj_onto Abs_Sprod Sprod"
 (fn prems =>
-	[
-	(rtac inj_onto_inverseI 1),
-	(etac Abs_Sprod_inverse 1)
-	]);
+        [
+        (rtac inj_onto_inverseI 1),
+        (etac Abs_Sprod_inverse 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -37,27 +37,27 @@
 qed_goalw "strict_Spair_Rep" Sprod0.thy [Spair_Rep_def]
  "(a=UU | b=UU) ==> (Spair_Rep a b) = (Spair_Rep UU UU)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac ext 1),
-	(rtac ext 1),
-	(rtac iffI 1),
-	(fast_tac HOL_cs 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac ext 1),
+        (rtac ext 1),
+        (rtac iffI 1),
+        (fast_tac HOL_cs 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 qed_goalw "defined_Spair_Rep_rev" Sprod0.thy [Spair_Rep_def]
  "(Spair_Rep a b) = (Spair_Rep UU UU) ==> (a=UU | b=UU)"
  (fn prems =>
-	[
-	(res_inst_tac [("Q","a=UU|b=UU")] classical2 1),
-	(atac 1),
-	(rtac disjI1 1),
-	(rtac ((hd prems) RS fun_cong RS fun_cong RS iffD2 RS mp RS 
-	conjunct1 RS sym) 1),
-	(fast_tac HOL_cs 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (res_inst_tac [("Q","a=UU|b=UU")] classical2 1),
+        (atac 1),
+        (rtac disjI1 1),
+        (rtac ((hd prems) RS fun_cong RS fun_cong RS iffD2 RS mp RS 
+        conjunct1 RS sym) 1),
+        (fast_tac HOL_cs 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -67,26 +67,26 @@
 qed_goalw "inject_Spair_Rep" Sprod0.thy [Spair_Rep_def]
 "[|~aa=UU ; ~ba=UU ; Spair_Rep a b = Spair_Rep aa ba |] ==> a=aa & b=ba"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac ((nth_elem (2,prems)) RS fun_cong  RS fun_cong 
-		RS iffD1 RS mp) 1),
-	(fast_tac HOL_cs 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac ((nth_elem (2,prems)) RS fun_cong  RS fun_cong 
+                RS iffD1 RS mp) 1),
+        (fast_tac HOL_cs 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 
 qed_goalw "inject_Ispair" Sprod0.thy [Ispair_def]
-	"[|~aa=UU ; ~ba=UU ; Ispair a b = Ispair aa ba |] ==> a=aa & b=ba"
+        "[|~aa=UU ; ~ba=UU ; Ispair a b = Ispair aa ba |] ==> a=aa & b=ba"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac inject_Spair_Rep 1),
-	(atac 1),
-	(etac (inj_onto_Abs_Sprod  RS inj_ontoD) 1),
-	(rtac SprodI 1),
-	(rtac SprodI 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac inject_Spair_Rep 1),
+        (atac 1),
+        (etac (inj_onto_Abs_Sprod  RS inj_ontoD) 1),
+        (rtac SprodI 1),
+        (rtac SprodI 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -96,62 +96,62 @@
 qed_goalw "strict_Ispair" Sprod0.thy [Ispair_def] 
  "(a=UU | b=UU) ==> Ispair a b = Ispair UU UU"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac (strict_Spair_Rep RS arg_cong) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac (strict_Spair_Rep RS arg_cong) 1)
+        ]);
 
 qed_goalw "strict_Ispair1" Sprod0.thy [Ispair_def]
-	"Ispair UU b  = Ispair UU UU"
+        "Ispair UU b  = Ispair UU UU"
 (fn prems =>
-	[
-	(rtac (strict_Spair_Rep RS arg_cong) 1),
-	(rtac disjI1 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (strict_Spair_Rep RS arg_cong) 1),
+        (rtac disjI1 1),
+        (rtac refl 1)
+        ]);
 
 qed_goalw "strict_Ispair2" Sprod0.thy [Ispair_def]
-	"Ispair a UU = Ispair UU UU"
+        "Ispair a UU = Ispair UU UU"
 (fn prems =>
-	[
-	(rtac (strict_Spair_Rep RS arg_cong) 1),
-	(rtac disjI2 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (strict_Spair_Rep RS arg_cong) 1),
+        (rtac disjI2 1),
+        (rtac refl 1)
+        ]);
 
 qed_goal "strict_Ispair_rev" Sprod0.thy 
-	"~Ispair x y = Ispair UU UU ==> ~x=UU & ~y=UU"
+        "~Ispair x y = Ispair UU UU ==> ~x=UU & ~y=UU"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (de_morgan1 RS ssubst) 1),
-	(etac contrapos 1),
-	(etac strict_Ispair 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (de_morgan1 RS ssubst) 1),
+        (etac contrapos 1),
+        (etac strict_Ispair 1)
+        ]);
 
 qed_goalw "defined_Ispair_rev" Sprod0.thy [Ispair_def]
-	"Ispair a b  = Ispair UU UU ==> (a = UU | b = UU)"
+        "Ispair a b  = Ispair UU UU ==> (a = UU | b = UU)"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac defined_Spair_Rep_rev 1),
-	(rtac (inj_onto_Abs_Sprod  RS inj_ontoD) 1),
-	(atac 1),
-	(rtac SprodI 1),
-	(rtac SprodI 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac defined_Spair_Rep_rev 1),
+        (rtac (inj_onto_Abs_Sprod  RS inj_ontoD) 1),
+        (atac 1),
+        (rtac SprodI 1),
+        (rtac SprodI 1)
+        ]);
 
 qed_goal "defined_Ispair" Sprod0.thy  
 "[|a~=UU; b~=UU|] ==> (Ispair a b) ~= (Ispair UU UU)" 
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac contrapos 1),
-	(etac defined_Ispair_rev 2),
-	(rtac (de_morgan1 RS iffD1) 1),
-	(etac conjI 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac contrapos 1),
+        (etac defined_Ispair_rev 2),
+        (rtac (de_morgan1 RS iffD1) 1),
+        (etac conjI 1),
+        (atac 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -159,27 +159,27 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "Exh_Sprod" Sprod0.thy [Ispair_def]
-	"z=Ispair UU UU | (? a b. z=Ispair a b & a~=UU & b~=UU)"
+        "z=Ispair UU UU | (? a b. z=Ispair a b & a~=UU & b~=UU)"
 (fn prems =>
-	[
-	(rtac (rewrite_rule [Sprod_def] Rep_Sprod RS CollectE) 1),
-	(etac exE 1),
-	(etac exE 1),
-	(rtac (excluded_middle RS disjE) 1),
-	(rtac disjI2 1),
-	(rtac exI 1),
-	(rtac exI 1),
-	(rtac conjI 1),
-	(rtac (Rep_Sprod_inverse RS sym RS trans) 1),
-	(etac arg_cong 1),
-	(rtac (de_morgan1 RS ssubst) 1),
-	(atac 1),
-	(rtac disjI1 1),
-	(rtac (Rep_Sprod_inverse RS sym RS trans) 1),
-	(res_inst_tac [("f","Abs_Sprod")] arg_cong 1),
-	(etac trans 1),
-	(etac strict_Spair_Rep 1)
-	]);
+        [
+        (rtac (rewrite_rule [Sprod_def] Rep_Sprod RS CollectE) 1),
+        (etac exE 1),
+        (etac exE 1),
+        (rtac (excluded_middle RS disjE) 1),
+        (rtac disjI2 1),
+        (rtac exI 1),
+        (rtac exI 1),
+        (rtac conjI 1),
+        (rtac (Rep_Sprod_inverse RS sym RS trans) 1),
+        (etac arg_cong 1),
+        (rtac (de_morgan1 RS ssubst) 1),
+        (atac 1),
+        (rtac disjI1 1),
+        (rtac (Rep_Sprod_inverse RS sym RS trans) 1),
+        (res_inst_tac [("f","Abs_Sprod")] arg_cong 1),
+        (etac trans 1),
+        (etac strict_Spair_Rep 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* general elimination rule for strict product                              *)
@@ -188,17 +188,17 @@
 qed_goal "IsprodE" Sprod0.thy
 "[|p=Ispair UU UU ==> Q ;!!x y. [|p=Ispair x y; x~=UU ; y~=UU|] ==> Q|] ==> Q"
 (fn prems =>
-	[
-	(rtac (Exh_Sprod RS disjE) 1),
-	(etac (hd prems) 1),
-	(etac exE 1),
-	(etac exE 1),
-	(etac conjE 1),
-	(etac conjE 1),
-	(etac (hd (tl prems)) 1),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (rtac (Exh_Sprod RS disjE) 1),
+        (etac (hd prems) 1),
+        (etac exE 1),
+        (etac exE 1),
+        (etac conjE 1),
+        (etac conjE 1),
+        (etac (hd (tl prems)) 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -206,134 +206,134 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "strict_Isfst" Sprod0.thy [Isfst_def] 
-	"p=Ispair UU UU ==> Isfst p = UU"
+        "p=Ispair UU UU ==> Isfst p = UU"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac  select_equality 1),
-	(rtac conjI 1),
-	(fast_tac HOL_cs  1),
-	(strip_tac 1),
-	(res_inst_tac [("P","Ispair UU UU = Ispair a b")] notE 1),
-	(rtac not_sym 1),
-	(rtac defined_Ispair 1),
-	(REPEAT (fast_tac HOL_cs  1))
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac  select_equality 1),
+        (rtac conjI 1),
+        (fast_tac HOL_cs  1),
+        (strip_tac 1),
+        (res_inst_tac [("P","Ispair UU UU = Ispair a b")] notE 1),
+        (rtac not_sym 1),
+        (rtac defined_Ispair 1),
+        (REPEAT (fast_tac HOL_cs  1))
+        ]);
 
 
 qed_goal "strict_Isfst1" Sprod0.thy
-	"Isfst(Ispair UU y) = UU"
+        "Isfst(Ispair UU y) = UU"
 (fn prems =>
-	[
-	(rtac (strict_Ispair1 RS ssubst) 1),
-	(rtac strict_Isfst 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (strict_Ispair1 RS ssubst) 1),
+        (rtac strict_Isfst 1),
+        (rtac refl 1)
+        ]);
 
 qed_goal "strict_Isfst2" Sprod0.thy
-	"Isfst(Ispair x UU) = UU"
+        "Isfst(Ispair x UU) = UU"
 (fn prems =>
-	[
-	(rtac (strict_Ispair2 RS ssubst) 1),
-	(rtac strict_Isfst 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (strict_Ispair2 RS ssubst) 1),
+        (rtac strict_Isfst 1),
+        (rtac refl 1)
+        ]);
 
 
 qed_goalw "strict_Issnd" Sprod0.thy [Issnd_def] 
-	"p=Ispair UU UU ==>Issnd p=UU"
+        "p=Ispair UU UU ==>Issnd p=UU"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac  select_equality 1),
-	(rtac conjI 1),
-	(fast_tac HOL_cs  1),
-	(strip_tac 1),
-	(res_inst_tac [("P","Ispair UU UU = Ispair a b")] notE 1),
-	(rtac not_sym 1),
-	(rtac defined_Ispair 1),
-	(REPEAT (fast_tac HOL_cs  1))
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac  select_equality 1),
+        (rtac conjI 1),
+        (fast_tac HOL_cs  1),
+        (strip_tac 1),
+        (res_inst_tac [("P","Ispair UU UU = Ispair a b")] notE 1),
+        (rtac not_sym 1),
+        (rtac defined_Ispair 1),
+        (REPEAT (fast_tac HOL_cs  1))
+        ]);
 
 qed_goal "strict_Issnd1" Sprod0.thy
-	"Issnd(Ispair UU y) = UU"
+        "Issnd(Ispair UU y) = UU"
 (fn prems =>
-	[
-	(rtac (strict_Ispair1 RS ssubst) 1),
-	(rtac strict_Issnd 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (strict_Ispair1 RS ssubst) 1),
+        (rtac strict_Issnd 1),
+        (rtac refl 1)
+        ]);
 
 qed_goal "strict_Issnd2" Sprod0.thy
-	"Issnd(Ispair x UU) = UU"
+        "Issnd(Ispair x UU) = UU"
 (fn prems =>
-	[
-	(rtac (strict_Ispair2 RS ssubst) 1),
-	(rtac strict_Issnd 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (strict_Ispair2 RS ssubst) 1),
+        (rtac strict_Issnd 1),
+        (rtac refl 1)
+        ]);
 
 qed_goalw "Isfst" Sprod0.thy [Isfst_def]
-	"[|x~=UU ;y~=UU |] ==> Isfst(Ispair x y) = x"
+        "[|x~=UU ;y~=UU |] ==> Isfst(Ispair x y) = x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac  select_equality 1),
-	(rtac conjI 1),
-	(strip_tac 1),
-	(res_inst_tac [("P","Ispair x y = Ispair UU UU")] notE 1),
-	(etac defined_Ispair 1),
-	(atac 1),
-	(atac 1),
-	(strip_tac 1),
-	(rtac (inject_Ispair RS conjunct1) 1),
-	(fast_tac HOL_cs  3),
-	(fast_tac HOL_cs  1),
-	(fast_tac HOL_cs  1),
-	(fast_tac HOL_cs  1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac  select_equality 1),
+        (rtac conjI 1),
+        (strip_tac 1),
+        (res_inst_tac [("P","Ispair x y = Ispair UU UU")] notE 1),
+        (etac defined_Ispair 1),
+        (atac 1),
+        (atac 1),
+        (strip_tac 1),
+        (rtac (inject_Ispair RS conjunct1) 1),
+        (fast_tac HOL_cs  3),
+        (fast_tac HOL_cs  1),
+        (fast_tac HOL_cs  1),
+        (fast_tac HOL_cs  1)
+        ]);
 
 qed_goalw "Issnd" Sprod0.thy [Issnd_def]
-	"[|x~=UU ;y~=UU |] ==> Issnd(Ispair x y) = y"
+        "[|x~=UU ;y~=UU |] ==> Issnd(Ispair x y) = y"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac  select_equality 1),
-	(rtac conjI 1),
-	(strip_tac 1),
-	(res_inst_tac [("P","Ispair x y = Ispair UU UU")] notE 1),
-	(etac defined_Ispair 1),
-	(atac 1),
-	(atac 1),
-	(strip_tac 1),
-	(rtac (inject_Ispair RS conjunct2) 1),
-	(fast_tac HOL_cs  3),
-	(fast_tac HOL_cs  1),
-	(fast_tac HOL_cs  1),
-	(fast_tac HOL_cs  1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac  select_equality 1),
+        (rtac conjI 1),
+        (strip_tac 1),
+        (res_inst_tac [("P","Ispair x y = Ispair UU UU")] notE 1),
+        (etac defined_Ispair 1),
+        (atac 1),
+        (atac 1),
+        (strip_tac 1),
+        (rtac (inject_Ispair RS conjunct2) 1),
+        (fast_tac HOL_cs  3),
+        (fast_tac HOL_cs  1),
+        (fast_tac HOL_cs  1),
+        (fast_tac HOL_cs  1)
+        ]);
 
 qed_goal "Isfst2" Sprod0.thy "y~=UU ==>Isfst(Ispair x y)=x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("Q","x=UU")] (excluded_middle RS disjE) 1),
-	(etac Isfst 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(rtac strict_Isfst1 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("Q","x=UU")] (excluded_middle RS disjE) 1),
+        (etac Isfst 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (rtac strict_Isfst1 1)
+        ]);
 
 qed_goal "Issnd2" Sprod0.thy "~x=UU ==>Issnd(Ispair x y)=y"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("Q","y=UU")] (excluded_middle RS disjE) 1),
-	(etac Issnd 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(rtac strict_Issnd2 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("Q","y=UU")] (excluded_middle RS disjE) 1),
+        (etac Issnd 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (rtac strict_Issnd2 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -346,17 +346,17 @@
                  Isfst2,Issnd2];
 
 qed_goal "defined_IsfstIssnd" Sprod0.thy 
-	"p~=Ispair UU UU ==> Isfst p ~= UU & Issnd p ~= UU"
+        "p~=Ispair UU UU ==> Isfst p ~= UU & Issnd p ~= UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("p","p")] IsprodE 1),
-	(contr_tac 1),
-	(hyp_subst_tac 1),
-	(rtac conjI 1),
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("p","p")] IsprodE 1),
+        (contr_tac 1),
+        (hyp_subst_tac 1),
+        (rtac conjI 1),
         (asm_simp_tac Sprod0_ss 1),
         (asm_simp_tac Sprod0_ss 1)
-	]);
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -364,13 +364,13 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "surjective_pairing_Sprod" Sprod0.thy 
-	"z = Ispair(Isfst z)(Issnd z)"
+        "z = Ispair(Isfst z)(Issnd z)"
 (fn prems =>
-	[
-	(res_inst_tac [("z1","z")] (Exh_Sprod RS disjE) 1),
+        [
+        (res_inst_tac [("z1","z")] (Exh_Sprod RS disjE) 1),
         (asm_simp_tac Sprod0_ss 1),
-	(etac exE 1),
-	(etac exE 1),
+        (etac exE 1),
+        (etac exE 1),
         (asm_simp_tac Sprod0_ss 1)
-	]);
+        ]);
 
--- a/src/HOLCF/Sprod1.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Sprod1.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/sprod1.ML
+(*  Title:      HOLCF/sprod1.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993  Technische Universitaet Muenchen
 
 Lemmas for theory sprod1.thy
@@ -14,77 +14,77 @@
 
 
 qed_goalw "less_sprod1a" Sprod1.thy [less_sprod_def]
-	"p1=Ispair UU UU ==> less_sprod p1 p2"
+        "p1=Ispair UU UU ==> less_sprod p1 p2"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
+        [
+        (cut_facts_tac prems 1),
         (asm_simp_tac HOL_ss 1)
-	]);
+        ]);
 
 qed_goalw "less_sprod1b" Sprod1.thy [less_sprod_def]
  "p1~=Ispair UU UU ==> \
 \ less_sprod p1 p2 = ( Isfst p1 << Isfst p2 & Issnd p1 << Issnd p2)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
+        [
+        (cut_facts_tac prems 1),
         (asm_simp_tac HOL_ss 1)
-	]);
+        ]);
 
 qed_goal "less_sprod2a" Sprod1.thy
-	"less_sprod(Ispair x y)(Ispair UU UU) ==> x = UU | y = UU"
+        "less_sprod(Ispair x y)(Ispair UU UU) ==> x = UU | y = UU"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (excluded_middle RS disjE) 1),
-	(atac 2),
-	(rtac disjI1 1),
-	(rtac antisym_less 1),
-	(rtac minimal 2),
-	(res_inst_tac [("s","Isfst(Ispair x y)"),("t","x")] subst 1),
-	(rtac Isfst 1),
-	(fast_tac HOL_cs 1),
-	(fast_tac HOL_cs 1),
-	(res_inst_tac [("s","Isfst(Ispair UU UU)"),("t","UU")] subst 1),
+        [
+        (cut_facts_tac prems 1),
+        (rtac (excluded_middle RS disjE) 1),
+        (atac 2),
+        (rtac disjI1 1),
+        (rtac antisym_less 1),
+        (rtac minimal 2),
+        (res_inst_tac [("s","Isfst(Ispair x y)"),("t","x")] subst 1),
+        (rtac Isfst 1),
+        (fast_tac HOL_cs 1),
+        (fast_tac HOL_cs 1),
+        (res_inst_tac [("s","Isfst(Ispair UU UU)"),("t","UU")] subst 1),
         (simp_tac Sprod0_ss 1),
-	(rtac (defined_Ispair RS less_sprod1b RS iffD1 RS conjunct1) 1),
-	(REPEAT (fast_tac HOL_cs 1))
-	]);
+        (rtac (defined_Ispair RS less_sprod1b RS iffD1 RS conjunct1) 1),
+        (REPEAT (fast_tac HOL_cs 1))
+        ]);
 
 qed_goal "less_sprod2b" Sprod1.thy
  "less_sprod p (Ispair UU UU) ==> p = Ispair UU UU"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("p","p")] IsprodE 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(rtac strict_Ispair 1),
-	(etac less_sprod2a 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("p","p")] IsprodE 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (rtac strict_Ispair 1),
+        (etac less_sprod2a 1)
+        ]);
 
 qed_goal "less_sprod2c" Sprod1.thy 
  "[|less_sprod(Ispair xa ya)(Ispair x y);\
 \  xa ~= UU ; ya ~= UU; x ~= UU ;  y ~= UU |] ==> xa << x & ya << y"
 (fn prems =>
-	[
-	(rtac conjI 1),
-	(res_inst_tac [("s","Isfst(Ispair xa ya)"),("t","xa")] subst 1),
+        [
+        (rtac conjI 1),
+        (res_inst_tac [("s","Isfst(Ispair xa ya)"),("t","xa")] subst 1),
         (simp_tac (Sprod0_ss addsimps prems)1),
-	(res_inst_tac [("s","Isfst(Ispair x y)"),("t","x")] subst 1),
+        (res_inst_tac [("s","Isfst(Ispair x y)"),("t","x")] subst 1),
         (simp_tac (Sprod0_ss addsimps prems)1),
-	(rtac (defined_Ispair RS less_sprod1b RS iffD1 RS conjunct1) 1),
-	(resolve_tac prems 1),
-	(resolve_tac prems 1),
+        (rtac (defined_Ispair RS less_sprod1b RS iffD1 RS conjunct1) 1),
+        (resolve_tac prems 1),
+        (resolve_tac prems 1),
         (simp_tac (Sprod0_ss addsimps prems)1),
-	(res_inst_tac [("s","Issnd(Ispair xa ya)"),("t","ya")] subst 1),
+        (res_inst_tac [("s","Issnd(Ispair xa ya)"),("t","ya")] subst 1),
         (simp_tac (Sprod0_ss addsimps prems)1),
- 	(res_inst_tac [("s","Issnd(Ispair x y)"),("t","y")] subst 1),
+        (res_inst_tac [("s","Issnd(Ispair x y)"),("t","y")] subst 1),
         (simp_tac (Sprod0_ss addsimps prems)1),
- 	(rtac (defined_Ispair RS less_sprod1b RS iffD1 RS conjunct2) 1),
-	(resolve_tac prems 1),
-	(resolve_tac prems 1),
+        (rtac (defined_Ispair RS less_sprod1b RS iffD1 RS conjunct2) 1),
+        (resolve_tac prems 1),
+        (resolve_tac prems 1),
         (simp_tac (Sprod0_ss addsimps prems)1)
- 	]);
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* less_sprod is a partial order on Sprod                                   *)
@@ -92,85 +92,85 @@
 
 qed_goal "refl_less_sprod" Sprod1.thy "less_sprod p p"
 (fn prems =>
-	[
-	(res_inst_tac [("p","p")] IsprodE 1),
-	(etac less_sprod1a 1),
-	(hyp_subst_tac 1),
-	(rtac (less_sprod1b RS ssubst) 1),
-	(rtac defined_Ispair 1),
-	(REPEAT (fast_tac (HOL_cs addIs [refl_less]) 1))
-	]);
+        [
+        (res_inst_tac [("p","p")] IsprodE 1),
+        (etac less_sprod1a 1),
+        (hyp_subst_tac 1),
+        (rtac (less_sprod1b RS ssubst) 1),
+        (rtac defined_Ispair 1),
+        (REPEAT (fast_tac (HOL_cs addIs [refl_less]) 1))
+        ]);
 
 
 qed_goal "antisym_less_sprod" Sprod1.thy 
  "[|less_sprod p1 p2;less_sprod p2 p1|] ==> p1=p2"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("p","p1")] IsprodE 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","p2")] IsprodE 1),
-	(hyp_subst_tac 1),
-	(rtac refl 1),
-	(hyp_subst_tac 1),
-	(rtac (strict_Ispair RS sym) 1),
-	(etac less_sprod2a 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","p2")] IsprodE 1),
-	(hyp_subst_tac 1),
-	(rtac (strict_Ispair) 1),
-	(etac less_sprod2a 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("x1","x"),("y1","xa"),("x","y"),("y","ya")] (arg_cong RS cong) 1),
-	(rtac antisym_less 1),
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("p","p1")] IsprodE 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","p2")] IsprodE 1),
+        (hyp_subst_tac 1),
+        (rtac refl 1),
+        (hyp_subst_tac 1),
+        (rtac (strict_Ispair RS sym) 1),
+        (etac less_sprod2a 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","p2")] IsprodE 1),
+        (hyp_subst_tac 1),
+        (rtac (strict_Ispair) 1),
+        (etac less_sprod2a 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("x1","x"),("y1","xa"),("x","y"),("y","ya")] (arg_cong RS cong) 1),
+        (rtac antisym_less 1),
         (asm_simp_tac (HOL_ss addsimps [less_sprod2c RS conjunct1]) 1),
         (asm_simp_tac (HOL_ss addsimps [less_sprod2c RS conjunct1]) 1),
-	(rtac antisym_less 1),
+        (rtac antisym_less 1),
         (asm_simp_tac (HOL_ss addsimps [less_sprod2c RS conjunct2]) 1),
         (asm_simp_tac (HOL_ss addsimps [less_sprod2c RS conjunct2]) 1)
-	]);
+        ]);
 
 qed_goal "trans_less_sprod" Sprod1.thy 
  "[|less_sprod (p1::'a**'b) p2;less_sprod p2 p3|] ==> less_sprod p1 p3"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("p","p1")] IsprodE 1),
-	(etac less_sprod1a 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","p3")] IsprodE 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("s","p2"),("t","Ispair (UU::'a)(UU::'b)")] subst 1),
-	(etac less_sprod2b 1),
-	(atac 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("Q","p2=Ispair(UU::'a)(UU::'b)")]
-		 (excluded_middle RS disjE) 1),
-	(rtac (defined_Ispair RS less_sprod1b RS ssubst) 1),
-	(REPEAT (atac 1)),
-	(rtac conjI 1),
-	(res_inst_tac [("y","Isfst(p2)")] trans_less 1),
-	(rtac conjunct1 1),
-	(rtac (less_sprod1b RS subst) 1),
-	(rtac defined_Ispair 1),
-	(REPEAT (atac 1)),
-	(rtac conjunct1 1),
-	(rtac (less_sprod1b RS subst) 1),
-	(REPEAT (atac 1)),
-	(res_inst_tac [("y","Issnd(p2)")] trans_less 1),
-	(rtac conjunct2 1),
-	(rtac (less_sprod1b RS subst) 1),
-	(rtac defined_Ispair 1),
-	(REPEAT (atac 1)),
-	(rtac conjunct2 1),
-	(rtac (less_sprod1b RS subst) 1),
-	(REPEAT (atac 1)),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("s","Ispair(UU::'a)(UU::'b)"),("t","Ispair x y")] 
-		subst 1),
-	(etac (less_sprod2b RS sym) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("p","p1")] IsprodE 1),
+        (etac less_sprod1a 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","p3")] IsprodE 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("s","p2"),("t","Ispair (UU::'a)(UU::'b)")] subst 1),
+        (etac less_sprod2b 1),
+        (atac 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("Q","p2=Ispair(UU::'a)(UU::'b)")]
+                 (excluded_middle RS disjE) 1),
+        (rtac (defined_Ispair RS less_sprod1b RS ssubst) 1),
+        (REPEAT (atac 1)),
+        (rtac conjI 1),
+        (res_inst_tac [("y","Isfst(p2)")] trans_less 1),
+        (rtac conjunct1 1),
+        (rtac (less_sprod1b RS subst) 1),
+        (rtac defined_Ispair 1),
+        (REPEAT (atac 1)),
+        (rtac conjunct1 1),
+        (rtac (less_sprod1b RS subst) 1),
+        (REPEAT (atac 1)),
+        (res_inst_tac [("y","Issnd(p2)")] trans_less 1),
+        (rtac conjunct2 1),
+        (rtac (less_sprod1b RS subst) 1),
+        (rtac defined_Ispair 1),
+        (REPEAT (atac 1)),
+        (rtac conjunct2 1),
+        (rtac (less_sprod1b RS subst) 1),
+        (REPEAT (atac 1)),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("s","Ispair(UU::'a)(UU::'b)"),("t","Ispair x y")] 
+                subst 1),
+        (etac (less_sprod2b RS sym) 1),
+        (atac 1)
+        ]);
 
 
 
--- a/src/HOLCF/Sprod2.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Sprod2.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/sprod2.ML
+(*  Title:      HOLCF/sprod2.ML
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for sprod2.thy
@@ -14,47 +14,47 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "less_sprod3a" Sprod2.thy 
-	"p1=Ispair UU UU ==> p1 << p2"
+        "p1=Ispair UU UU ==> p1 << p2"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (inst_sprod_po RS ssubst) 1),
-	(etac less_sprod1a 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (inst_sprod_po RS ssubst) 1),
+        (etac less_sprod1a 1)
+        ]);
 
 
 qed_goal "less_sprod3b" Sprod2.thy
  "p1~=Ispair UU UU ==>\
-\	(p1<<p2) = (Isfst(p1)<<Isfst(p2) & Issnd(p1)<<Issnd(p2))" 
+\       (p1<<p2) = (Isfst(p1)<<Isfst(p2) & Issnd(p1)<<Issnd(p2))" 
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (inst_sprod_po RS ssubst) 1),
-	(etac less_sprod1b 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (inst_sprod_po RS ssubst) 1),
+        (etac less_sprod1b 1)
+        ]);
 
 qed_goal "less_sprod4b" Sprod2.thy 
-	"p << Ispair UU UU ==> p = Ispair UU UU"
+        "p << Ispair UU UU ==> p = Ispair UU UU"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac less_sprod2b 1),
-	(etac (inst_sprod_po RS subst) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac less_sprod2b 1),
+        (etac (inst_sprod_po RS subst) 1)
+        ]);
 
 val less_sprod4a = (less_sprod4b RS defined_Ispair_rev);
 (* Ispair ?a ?b << Ispair UU UU ==> ?a = UU | ?b = UU *)
 
 qed_goal "less_sprod4c" Sprod2.thy
  "[|Ispair xa ya << Ispair x y; xa~=UU; ya~=UU; x~=UU; y~=UU|] ==>\
-\		xa<<x & ya << y"
+\               xa<<x & ya << y"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac less_sprod2c 1),
-	(etac (inst_sprod_po RS subst) 1),
-	(REPEAT (atac 1))
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac less_sprod2c 1),
+        (etac (inst_sprod_po RS subst) 1),
+        (REPEAT (atac 1))
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* type sprod is pointed                                                    *)
@@ -62,10 +62,10 @@
 
 qed_goal "minimal_sprod" Sprod2.thy  "Ispair UU UU << p"
 (fn prems =>
-	[
-	(rtac less_sprod3a 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac less_sprod3a 1),
+        (rtac refl 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* Ispair is monotone in both arguments                                     *)
@@ -73,93 +73,93 @@
 
 qed_goalw "monofun_Ispair1" Sprod2.thy [monofun] "monofun(Ispair)"
 (fn prems =>
-	[
-	(strip_tac 1),
-	(rtac (less_fun RS iffD2) 1),
-	(strip_tac 1),
-	(res_inst_tac [("Q",
-	" Ispair y xa = Ispair UU UU")] (excluded_middle RS disjE) 1),
-	(res_inst_tac [("Q",
-	" Ispair x xa = Ispair UU UU")] (excluded_middle RS disjE) 1),
-	(rtac (less_sprod3b RS iffD2) 1),
-	(atac 1),
-	(rtac conjI 1),
-	(rtac (Isfst RS ssubst) 1),
-	(etac (strict_Ispair_rev RS conjunct1) 1),
-	(etac (strict_Ispair_rev RS conjunct2) 1),
-	(rtac (Isfst RS ssubst) 1),
-	(etac (strict_Ispair_rev RS conjunct1) 1),
-	(etac (strict_Ispair_rev RS conjunct2) 1),
-	(atac 1),
-	(rtac (Issnd RS ssubst) 1),
-	(etac (strict_Ispair_rev RS conjunct1) 1),
-	(etac (strict_Ispair_rev RS conjunct2) 1),
-	(rtac (Issnd RS ssubst) 1),
-	(etac (strict_Ispair_rev RS conjunct1) 1),
-	(etac (strict_Ispair_rev RS conjunct2) 1),
-	(rtac refl_less 1),
-	(etac less_sprod3a 1),
-	(res_inst_tac [("Q",
-	" Ispair x xa  = Ispair UU UU")] (excluded_middle RS disjE) 1),
-	(etac less_sprod3a 2),
-	(res_inst_tac [("P","Ispair y xa = Ispair UU UU")] notE 1),
-	(atac 2),
-	(rtac defined_Ispair 1),
-	(etac notUU_I 1),
-	(etac (strict_Ispair_rev RS  conjunct1) 1),
-	(etac (strict_Ispair_rev RS  conjunct2) 1)
-	]);
+        [
+        (strip_tac 1),
+        (rtac (less_fun RS iffD2) 1),
+        (strip_tac 1),
+        (res_inst_tac [("Q",
+        " Ispair y xa = Ispair UU UU")] (excluded_middle RS disjE) 1),
+        (res_inst_tac [("Q",
+        " Ispair x xa = Ispair UU UU")] (excluded_middle RS disjE) 1),
+        (rtac (less_sprod3b RS iffD2) 1),
+        (atac 1),
+        (rtac conjI 1),
+        (rtac (Isfst RS ssubst) 1),
+        (etac (strict_Ispair_rev RS conjunct1) 1),
+        (etac (strict_Ispair_rev RS conjunct2) 1),
+        (rtac (Isfst RS ssubst) 1),
+        (etac (strict_Ispair_rev RS conjunct1) 1),
+        (etac (strict_Ispair_rev RS conjunct2) 1),
+        (atac 1),
+        (rtac (Issnd RS ssubst) 1),
+        (etac (strict_Ispair_rev RS conjunct1) 1),
+        (etac (strict_Ispair_rev RS conjunct2) 1),
+        (rtac (Issnd RS ssubst) 1),
+        (etac (strict_Ispair_rev RS conjunct1) 1),
+        (etac (strict_Ispair_rev RS conjunct2) 1),
+        (rtac refl_less 1),
+        (etac less_sprod3a 1),
+        (res_inst_tac [("Q",
+        " Ispair x xa  = Ispair UU UU")] (excluded_middle RS disjE) 1),
+        (etac less_sprod3a 2),
+        (res_inst_tac [("P","Ispair y xa = Ispair UU UU")] notE 1),
+        (atac 2),
+        (rtac defined_Ispair 1),
+        (etac notUU_I 1),
+        (etac (strict_Ispair_rev RS  conjunct1) 1),
+        (etac (strict_Ispair_rev RS  conjunct2) 1)
+        ]);
 
 
 qed_goalw "monofun_Ispair2" Sprod2.thy [monofun] "monofun(Ispair(x))"
 (fn prems =>
-	[
-	(strip_tac 1),
-	(res_inst_tac [("Q",
-	" Ispair x y = Ispair UU UU")] (excluded_middle RS disjE) 1),
-	(res_inst_tac [("Q",
-	" Ispair x xa = Ispair UU UU")] (excluded_middle RS disjE) 1),
-	(rtac (less_sprod3b RS iffD2) 1),
-	(atac 1),
-	(rtac conjI 1),
-	(rtac (Isfst RS ssubst) 1),
-	(etac (strict_Ispair_rev RS conjunct1) 1),
-	(etac (strict_Ispair_rev RS conjunct2) 1),
-	(rtac (Isfst RS ssubst) 1),
-	(etac (strict_Ispair_rev RS conjunct1) 1),
-	(etac (strict_Ispair_rev RS conjunct2) 1),
-	(rtac refl_less 1),
-	(rtac (Issnd RS ssubst) 1),
-	(etac (strict_Ispair_rev RS conjunct1) 1),
-	(etac (strict_Ispair_rev RS conjunct2) 1),
-	(rtac (Issnd RS ssubst) 1),
-	(etac (strict_Ispair_rev RS conjunct1) 1),
-	(etac (strict_Ispair_rev RS conjunct2) 1),
-	(atac 1),
-	(etac less_sprod3a 1),
-	(res_inst_tac [("Q",
-	" Ispair x xa = Ispair UU UU")] (excluded_middle RS disjE) 1),
-	(etac less_sprod3a 2),
-	(res_inst_tac [("P","Ispair x y = Ispair UU UU")] notE 1),
-	(atac 2),
-	(rtac defined_Ispair 1),
-	(etac (strict_Ispair_rev RS  conjunct1) 1),
-	(etac notUU_I 1),
-	(etac (strict_Ispair_rev RS  conjunct2) 1)
-	]);
+        [
+        (strip_tac 1),
+        (res_inst_tac [("Q",
+        " Ispair x y = Ispair UU UU")] (excluded_middle RS disjE) 1),
+        (res_inst_tac [("Q",
+        " Ispair x xa = Ispair UU UU")] (excluded_middle RS disjE) 1),
+        (rtac (less_sprod3b RS iffD2) 1),
+        (atac 1),
+        (rtac conjI 1),
+        (rtac (Isfst RS ssubst) 1),
+        (etac (strict_Ispair_rev RS conjunct1) 1),
+        (etac (strict_Ispair_rev RS conjunct2) 1),
+        (rtac (Isfst RS ssubst) 1),
+        (etac (strict_Ispair_rev RS conjunct1) 1),
+        (etac (strict_Ispair_rev RS conjunct2) 1),
+        (rtac refl_less 1),
+        (rtac (Issnd RS ssubst) 1),
+        (etac (strict_Ispair_rev RS conjunct1) 1),
+        (etac (strict_Ispair_rev RS conjunct2) 1),
+        (rtac (Issnd RS ssubst) 1),
+        (etac (strict_Ispair_rev RS conjunct1) 1),
+        (etac (strict_Ispair_rev RS conjunct2) 1),
+        (atac 1),
+        (etac less_sprod3a 1),
+        (res_inst_tac [("Q",
+        " Ispair x xa = Ispair UU UU")] (excluded_middle RS disjE) 1),
+        (etac less_sprod3a 2),
+        (res_inst_tac [("P","Ispair x y = Ispair UU UU")] notE 1),
+        (atac 2),
+        (rtac defined_Ispair 1),
+        (etac (strict_Ispair_rev RS  conjunct1) 1),
+        (etac notUU_I 1),
+        (etac (strict_Ispair_rev RS  conjunct2) 1)
+        ]);
 
 qed_goal " monofun_Ispair" Sprod2.thy 
  "[|x1<<x2; y1<<y2|] ==> Ispair x1 y1 << Ispair x2 y2"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac trans_less 1),
-	(rtac (monofun_Ispair1 RS monofunE RS spec RS spec RS mp RS 
-	(less_fun RS iffD1 RS spec)) 1),
-	(rtac (monofun_Ispair2 RS monofunE RS spec RS spec RS mp) 2),
-	(atac 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac trans_less 1),
+        (rtac (monofun_Ispair1 RS monofunE RS spec RS spec RS mp RS 
+        (less_fun RS iffD1 RS spec)) 1),
+        (rtac (monofun_Ispair2 RS monofunE RS spec RS spec RS mp) 2),
+        (atac 1),
+        (atac 1)
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -168,57 +168,57 @@
 
 qed_goalw " monofun_Isfst" Sprod2.thy [monofun] "monofun(Isfst)"
 (fn prems =>
-	[
-	(strip_tac 1),
-	(res_inst_tac [("p","x")] IsprodE 1),
-	(hyp_subst_tac 1),
-	(rtac trans_less 1),
-	(rtac minimal 2),
-	(rtac (strict_Isfst1 RS ssubst) 1),
-	(rtac refl_less 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","y")] IsprodE 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("t","Isfst(Ispair xa ya)")] subst 1),
-	(rtac refl_less 2),
-	(etac (less_sprod4b RS sym RS arg_cong) 1),
-	(hyp_subst_tac 1),
-	(rtac (Isfst RS ssubst) 1),
-	(atac 1),
-	(atac 1),
-	(rtac (Isfst RS ssubst) 1),
-	(atac 1),
-	(atac 1),
-	(etac (less_sprod4c RS  conjunct1) 1),
-	(REPEAT (atac 1))
-	]);
+        [
+        (strip_tac 1),
+        (res_inst_tac [("p","x")] IsprodE 1),
+        (hyp_subst_tac 1),
+        (rtac trans_less 1),
+        (rtac minimal 2),
+        (rtac (strict_Isfst1 RS ssubst) 1),
+        (rtac refl_less 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","y")] IsprodE 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("t","Isfst(Ispair xa ya)")] subst 1),
+        (rtac refl_less 2),
+        (etac (less_sprod4b RS sym RS arg_cong) 1),
+        (hyp_subst_tac 1),
+        (rtac (Isfst RS ssubst) 1),
+        (atac 1),
+        (atac 1),
+        (rtac (Isfst RS ssubst) 1),
+        (atac 1),
+        (atac 1),
+        (etac (less_sprod4c RS  conjunct1) 1),
+        (REPEAT (atac 1))
+        ]);
 
 qed_goalw "monofun_Issnd" Sprod2.thy [monofun] "monofun(Issnd)"
 (fn prems =>
-	[
-	(strip_tac 1),
-	(res_inst_tac [("p","x")] IsprodE 1),
-	(hyp_subst_tac 1),
-	(rtac trans_less 1),
-	(rtac minimal 2),
-	(rtac (strict_Issnd1 RS ssubst) 1),
-	(rtac refl_less 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("p","y")] IsprodE 1),
-	(hyp_subst_tac 1),
-	(res_inst_tac [("t","Issnd(Ispair xa ya)")] subst 1),
-	(rtac refl_less 2),
-	(etac (less_sprod4b RS sym RS arg_cong) 1),
-	(hyp_subst_tac 1),
-	(rtac (Issnd RS ssubst) 1),
-	(atac 1),
-	(atac 1),
-	(rtac (Issnd RS ssubst) 1),
-	(atac 1),
-	(atac 1),
-	(etac (less_sprod4c RS  conjunct2) 1),
-	(REPEAT (atac 1))
-	]);
+        [
+        (strip_tac 1),
+        (res_inst_tac [("p","x")] IsprodE 1),
+        (hyp_subst_tac 1),
+        (rtac trans_less 1),
+        (rtac minimal 2),
+        (rtac (strict_Issnd1 RS ssubst) 1),
+        (rtac refl_less 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("p","y")] IsprodE 1),
+        (hyp_subst_tac 1),
+        (res_inst_tac [("t","Issnd(Ispair xa ya)")] subst 1),
+        (rtac refl_less 2),
+        (etac (less_sprod4b RS sym RS arg_cong) 1),
+        (hyp_subst_tac 1),
+        (rtac (Issnd RS ssubst) 1),
+        (atac 1),
+        (atac 1),
+        (rtac (Issnd RS ssubst) 1),
+        (atac 1),
+        (atac 1),
+        (etac (less_sprod4c RS  conjunct2) 1),
+        (REPEAT (atac 1))
+        ]);
 
 
 (* ------------------------------------------------------------------------ *)
@@ -229,40 +229,40 @@
 "[|is_chain(S)|] ==> range(S) <<| \
 \ Ispair (lub(range(%i.Isfst(S i)))) (lub(range(%i.Issnd(S i))))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac is_lubI 1),
-	(rtac conjI 1),
-	(rtac ub_rangeI 1),
-	(rtac allI 1),
-	(res_inst_tac [("t","S(i)")] (surjective_pairing_Sprod RS ssubst) 1),
-	(rtac monofun_Ispair 1),
-	(rtac is_ub_thelub 1),
-	(etac (monofun_Isfst RS ch2ch_monofun) 1),
-	(rtac is_ub_thelub 1),
-	(etac (monofun_Issnd RS ch2ch_monofun) 1),
-	(strip_tac 1),
-	(res_inst_tac [("t","u")] (surjective_pairing_Sprod RS ssubst) 1),
-	(rtac monofun_Ispair 1),
-	(rtac is_lub_thelub 1),
-	(etac (monofun_Isfst RS ch2ch_monofun) 1),
-	(etac (monofun_Isfst RS ub2ub_monofun) 1),
-	(rtac is_lub_thelub 1),
-	(etac (monofun_Issnd RS ch2ch_monofun) 1),
-	(etac (monofun_Issnd RS ub2ub_monofun) 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac is_lubI 1),
+        (rtac conjI 1),
+        (rtac ub_rangeI 1),
+        (rtac allI 1),
+        (res_inst_tac [("t","S(i)")] (surjective_pairing_Sprod RS ssubst) 1),
+        (rtac monofun_Ispair 1),
+        (rtac is_ub_thelub 1),
+        (etac (monofun_Isfst RS ch2ch_monofun) 1),
+        (rtac is_ub_thelub 1),
+        (etac (monofun_Issnd RS ch2ch_monofun) 1),
+        (strip_tac 1),
+        (res_inst_tac [("t","u")] (surjective_pairing_Sprod RS ssubst) 1),
+        (rtac monofun_Ispair 1),
+        (rtac is_lub_thelub 1),
+        (etac (monofun_Isfst RS ch2ch_monofun) 1),
+        (etac (monofun_Isfst RS ub2ub_monofun) 1),
+        (rtac is_lub_thelub 1),
+        (etac (monofun_Issnd RS ch2ch_monofun) 1),
+        (etac (monofun_Issnd RS ub2ub_monofun) 1)
+        ]);
 
 val thelub_sprod = (lub_sprod RS thelubI);
 
 
 qed_goal "cpo_sprod" Sprod2.thy 
-	"is_chain(S::nat=>'a**'b)==>? x.range(S)<<| x"
+        "is_chain(S::nat=>'a**'b)==>? x.range(S)<<| x"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac exI 1),
-	(etac lub_sprod 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac exI 1),
+        (etac lub_sprod 1)
+        ]);
 
 
 
--- a/src/HOLCF/Sprod3.ML	Mon Jan 29 14:16:13 1996 +0100
+++ b/src/HOLCF/Sprod3.ML	Tue Jan 30 13:42:57 1996 +0100
@@ -1,6 +1,6 @@
-(*  Title: 	HOLCF/sprod3.thy
+(*  Title:      HOLCF/sprod3.thy
     ID:         $Id$
-    Author: 	Franz Regensburger
+    Author:     Franz Regensburger
     Copyright   1993 Technische Universitaet Muenchen
 
 Lemmas for Sprod3.thy 
@@ -18,36 +18,36 @@
 \ Ispair (lub(range(%i. Isfst(Ispair(Y i) x)))) \
 \        (lub(range(%i. Issnd(Ispair(Y i) x))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("f1","Ispair")] (arg_cong RS cong) 1),
-	(rtac lub_equal 1),
-	(atac 1),
-	(rtac (monofun_Isfst RS ch2ch_monofun) 1),
-	(rtac ch2ch_fun 1),
-	(rtac (monofun_Ispair1 RS ch2ch_monofun) 1),
-	(atac 1),
-	(rtac allI 1),
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("f1","Ispair")] (arg_cong RS cong) 1),
+        (rtac lub_equal 1),
+        (atac 1),
+        (rtac (monofun_Isfst RS ch2ch_monofun) 1),
+        (rtac ch2ch_fun 1),
+        (rtac (monofun_Ispair1 RS ch2ch_monofun) 1),
+        (atac 1),
+        (rtac allI 1),
         (asm_simp_tac Sprod0_ss 1),
-	(rtac sym 1),
-	(rtac lub_chain_maxelem 1),
-	(res_inst_tac [("P","%j.~Y(j)=UU")] exE 1),
-	(rtac (notall2ex RS iffD1) 1),
-	(res_inst_tac [("Q","lub(range(Y)) = UU")] contrapos 1),
-	(atac 1),
-	(rtac chain_UU_I_inverse 1),
-	(atac 1),
-	(rtac exI 1),
-	(etac Issnd2 1),
-	(rtac allI 1),
-	(res_inst_tac [("Q","Y(i)=UU")] (excluded_middle RS disjE) 1),
+        (rtac sym 1),
+        (rtac lub_chain_maxelem 1),
+        (res_inst_tac [("P","%j.~Y(j)=UU")] exE 1),
+        (rtac (notall2ex RS iffD1) 1),
+        (res_inst_tac [("Q","lub(range(Y)) = UU")] contrapos 1),
+        (atac 1),
+        (rtac chain_UU_I_inverse 1),
+        (atac 1),
+        (rtac exI 1),
+        (etac Issnd2 1),
+        (rtac allI 1),
+        (res_inst_tac [("Q","Y(i)=UU")] (excluded_middle RS disjE) 1),
         (asm_simp_tac Sprod0_ss 1),
         (rtac refl_less 1),
-	(res_inst_tac [("s","UU"),("t","Y(i)")] subst 1),
-	(etac sym 1),
+        (res_inst_tac [("s","UU"),("t","Y(i)")] subst 1),
+        (etac sym 1),
         (asm_simp_tac Sprod0_ss  1),
         (rtac minimal 1)
-  	]);
+        ]);
 
 qed_goal "sprod3_lemma2" Sprod3.thy 
 "[| is_chain(Y); x ~= UU; lub(range(Y)) = UU |] ==>\
@@ -55,20 +55,20 @@
 \   Ispair (lub(range(%i. Isfst(Ispair(Y i) x))))\
 \          (lub(range(%i. Issnd(Ispair(Y i) x))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("s","UU"),("t","lub(range(Y))")] ssubst 1),
-	(atac 1),
-	(rtac trans 1),
-	(rtac strict_Ispair1 1),
-	(rtac (strict_Ispair RS sym) 1),
-	(rtac disjI1 1),
-	(rtac chain_UU_I_inverse 1),
-	(rtac allI 1),
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("s","UU"),("t","lub(range(Y))")] ssubst 1),
+        (atac 1),
+        (rtac trans 1),
+        (rtac strict_Ispair1 1),
+        (rtac (strict_Ispair RS sym) 1),
+        (rtac disjI1 1),
+        (rtac chain_UU_I_inverse 1),
+        (rtac allI 1),
         (asm_simp_tac Sprod0_ss  1),
-	(etac (chain_UU_I RS spec) 1),
-	(atac 1)
-	]);
+        (etac (chain_UU_I RS spec) 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "sprod3_lemma3" Sprod3.thy 
@@ -77,45 +77,45 @@
 \          Ispair (lub(range(%i. Isfst(Ispair (Y i) x))))\
 \                 (lub(range(%i. Issnd(Ispair (Y i) x))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("s","UU"),("t","x")] ssubst 1),
-	(atac 1),
-	(rtac trans 1),
-	(rtac strict_Ispair2 1),
-	(rtac (strict_Ispair RS sym) 1),
-	(rtac disjI1 1),
-	(rtac chain_UU_I_inverse 1),
-	(rtac allI 1),
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("s","UU"),("t","x")] ssubst 1),
+        (atac 1),
+        (rtac trans 1),
+        (rtac strict_Ispair2 1),
+        (rtac (strict_Ispair RS sym) 1),
+        (rtac disjI1 1),
+        (rtac chain_UU_I_inverse 1),
+        (rtac allI 1),
         (simp_tac Sprod0_ss  1)
-	]);
+        ]);
 
 
 qed_goal "contlub_Ispair1" Sprod3.thy "contlub(Ispair)"
 (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac (expand_fun_eq RS iffD2) 1),
-	(strip_tac 1),
-	(rtac (lub_fun RS thelubI RS ssubst) 1),
-	(etac (monofun_Ispair1 RS ch2ch_monofun) 1),
-	(rtac trans 1),
-	(rtac (thelub_sprod RS sym) 2),
-	(rtac ch2ch_fun 2),
-	(etac (monofun_Ispair1 RS ch2ch_monofun) 2),
-	(res_inst_tac [("Q","x=UU")] (excluded_middle RS disjE) 1),
-	(res_inst_tac 
-		[("Q","lub(range(Y))=UU")] (excluded_middle RS disjE) 1),
-	(etac sprod3_lemma1 1),
-	(atac 1),
-	(atac 1),
-	(etac sprod3_lemma2 1),
-	(atac 1),
-	(atac 1),
-	(etac sprod3_lemma3 1),
-	(atac 1)
-	]);
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac (expand_fun_eq RS iffD2) 1),
+        (strip_tac 1),
+        (rtac (lub_fun RS thelubI RS ssubst) 1),
+        (etac (monofun_Ispair1 RS ch2ch_monofun) 1),
+        (rtac trans 1),
+        (rtac (thelub_sprod RS sym) 2),
+        (rtac ch2ch_fun 2),
+        (etac (monofun_Ispair1 RS ch2ch_monofun) 2),
+        (res_inst_tac [("Q","x=UU")] (excluded_middle RS disjE) 1),
+        (res_inst_tac 
+                [("Q","lub(range(Y))=UU")] (excluded_middle RS disjE) 1),
+        (etac sprod3_lemma1 1),
+        (atac 1),
+        (atac 1),
+        (etac sprod3_lemma2 1),
+        (atac 1),
+        (atac 1),
+        (etac sprod3_lemma3 1),
+        (atac 1)
+        ]);
 
 qed_goal "sprod3_lemma4" Sprod3.thy 
 "[| is_chain(Y); x ~= UU; lub(range(Y)) ~= UU |] ==>\
@@ -123,35 +123,35 @@
 \         Ispair (lub(range(%i. Isfst (Ispair x (Y i)))))\
 \                (lub(range(%i. Issnd (Ispair x (Y i)))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("f1","Ispair")] (arg_cong RS cong) 1),
-	(rtac sym 1),
-	(rtac lub_chain_maxelem 1),
-	(res_inst_tac [("P","%j.Y(j)~=UU")] exE 1),
-	(rtac (notall2ex RS iffD1) 1),
-	(res_inst_tac [("Q","lub(range(Y)) = UU")] contrapos 1),
-	(atac 1),
-	(rtac chain_UU_I_inverse 1),
-	(atac 1),
-	(rtac exI 1),
-	(etac Isfst2 1),
-	(rtac allI 1),
-	(res_inst_tac [("Q","Y(i)=UU")] (excluded_middle RS disjE) 1),
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("f1","Ispair")] (arg_cong RS cong) 1),
+        (rtac sym 1),
+        (rtac lub_chain_maxelem 1),
+        (res_inst_tac [("P","%j.Y(j)~=UU")] exE 1),
+        (rtac (notall2ex RS iffD1) 1),
+        (res_inst_tac [("Q","lub(range(Y)) = UU")] contrapos 1),
+        (atac 1),
+        (rtac chain_UU_I_inverse 1),
+        (atac 1),
+        (rtac exI 1),
+        (etac Isfst2 1),
+        (rtac allI 1),
+        (res_inst_tac [("Q","Y(i)=UU")] (excluded_middle RS disjE) 1),
         (asm_simp_tac Sprod0_ss 1),
         (rtac refl_less 1),
- 	(res_inst_tac [("s","UU"),("t","Y(i)")] subst 1),
-	(etac sym 1),
+        (res_inst_tac [("s","UU"),("t","Y(i)")] subst 1),
+        (etac sym 1),
         (asm_simp_tac Sprod0_ss  1),
         (rtac minimal 1),
-	(rtac lub_equal 1),
-	(atac 1),
-	(rtac (monofun_Issnd RS ch2ch_monofun) 1),
-	(rtac (monofun_Ispair2 RS ch2ch_monofun) 1),
-	(atac 1),
-	(rtac allI 1),
+        (rtac lub_equal 1),
+        (atac 1),
+        (rtac (monofun_Issnd RS ch2ch_monofun) 1),
+        (rtac (monofun_Ispair2 RS ch2ch_monofun) 1),
+        (atac 1),
+        (rtac allI 1),
         (asm_simp_tac Sprod0_ss 1)
-	]);
+        ]);
 
 qed_goal "sprod3_lemma5" Sprod3.thy 
 "[| is_chain(Y); x ~= UU; lub(range(Y)) = UU |] ==>\
@@ -159,20 +159,20 @@
 \         Ispair (lub(range(%i. Isfst(Ispair x (Y i)))))\
 \                (lub(range(%i. Issnd(Ispair x (Y i)))))"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("s","UU"),("t","lub(range(Y))")] ssubst 1),
-	(atac 1),
-	(rtac trans 1),
-	(rtac strict_Ispair2 1),
-	(rtac (strict_Ispair RS sym) 1),
-	(rtac disjI2 1),
-	(rtac chain_UU_I_inverse 1),
-	(rtac allI 1),
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("s","UU"),("t","lub(range(Y))")] ssubst 1),
+        (atac 1),
+        (rtac trans 1),
+        (rtac strict_Ispair2 1),
+        (rtac (strict_Ispair RS sym) 1),
+        (rtac disjI2 1),
+        (rtac chain_UU_I_inverse 1),
+        (rtac allI 1),
         (asm_simp_tac Sprod0_ss  1),
-	(etac (chain_UU_I RS spec) 1),
-	(atac 1)
-	]);
+        (etac (chain_UU_I RS spec) 1),
+        (atac 1)
+        ]);
 
 qed_goal "sprod3_lemma6" Sprod3.thy 
 "[| is_chain(Y); x = UU |] ==>\
@@ -180,130 +180,130 @@
 \         Ispair (lub(range(%i. Isfst (Ispair x (Y i)))))\
 \                (lub(range(%i. Issnd (Ispair x (Y i)))))"
 (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(res_inst_tac [("s","UU"),("t","x")] ssubst 1),
-	(atac 1),
-	(rtac trans 1),
-	(rtac strict_Ispair1 1),
-	(rtac (strict_Ispair RS sym) 1),
-	(rtac disjI1 1),
-	(rtac chain_UU_I_inverse 1),
-	(rtac allI 1),
+        [
+        (cut_facts_tac prems 1),
+        (res_inst_tac [("s","UU"),("t","x")] ssubst 1),
+        (atac 1),
+        (rtac trans 1),
+        (rtac strict_Ispair1 1),
+        (rtac (strict_Ispair RS sym) 1),
+        (rtac disjI1 1),
+        (rtac chain_UU_I_inverse 1),
+        (rtac allI 1),
         (simp_tac Sprod0_ss  1)
-	]);
+        ]);
 
 qed_goal "contlub_Ispair2" Sprod3.thy "contlub(Ispair(x))"
 (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac trans 1),
-	(rtac (thelub_sprod RS sym) 2),
-	(etac (monofun_Ispair2 RS ch2ch_monofun) 2),
-	(res_inst_tac [("Q","x=UU")] (excluded_middle RS disjE) 1),
-	(res_inst_tac [("Q","lub(range(Y))=UU")] 
-		(excluded_middle RS disjE) 1),
-	(etac sprod3_lemma4 1),
-	(atac 1),
-	(atac 1),
-	(etac sprod3_lemma5 1),
-	(atac 1),
-	(atac 1),
-	(etac sprod3_lemma6 1),
-	(atac 1)
-	]);
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac trans 1),
+        (rtac (thelub_sprod RS sym) 2),
+        (etac (monofun_Ispair2 RS ch2ch_monofun) 2),
+        (res_inst_tac [("Q","x=UU")] (excluded_middle RS disjE) 1),
+        (res_inst_tac [("Q","lub(range(Y))=UU")] 
+                (excluded_middle RS disjE) 1),
+        (etac sprod3_lemma4 1),
+        (atac 1),
+        (atac 1),
+        (etac sprod3_lemma5 1),
+        (atac 1),
+        (atac 1),
+        (etac sprod3_lemma6 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "cont_Ispair1" Sprod3.thy "cont(Ispair)"
 (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_Ispair1 1),
-	(rtac contlub_Ispair1 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_Ispair1 1),
+        (rtac contlub_Ispair1 1)
+        ]);
 
 
 qed_goal "cont_Ispair2" Sprod3.thy "cont(Ispair(x))"
 (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_Ispair2 1),
-	(rtac contlub_Ispair2 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_Ispair2 1),
+        (rtac contlub_Ispair2 1)
+        ]);
 
 qed_goal "contlub_Isfst" Sprod3.thy "contlub(Isfst)"
  (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac (lub_sprod RS thelubI RS ssubst) 1),
-	(atac 1),
-	(res_inst_tac [("Q","lub(range(%i. Issnd(Y(i))))=UU")]	
-		(excluded_middle RS disjE) 1),
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac (lub_sprod RS thelubI RS ssubst) 1),
+        (atac 1),
+        (res_inst_tac [("Q","lub(range(%i. Issnd(Y(i))))=UU")]  
+                (excluded_middle RS disjE) 1),
         (asm_simp_tac Sprod0_ss  1),
-	(res_inst_tac [("s","UU"),("t","lub(range(%i. Issnd(Y(i))))")]
-		ssubst 1),
-	(atac 1),
-	(rtac trans 1),
+        (res_inst_tac [("s","UU"),("t","lub(range(%i. Issnd(Y(i))))")]
+                ssubst 1),
+        (atac 1),
+        (rtac trans 1),
         (asm_simp_tac Sprod0_ss  1),
-	(rtac sym 1),
-	(rtac chain_UU_I_inverse 1),
-	(rtac allI 1),
-	(rtac strict_Isfst 1),
-	(rtac swap 1),
-	(etac (defined_IsfstIssnd RS conjunct2) 2),
-	(rtac notnotI 1),
-	(rtac (chain_UU_I RS spec) 1),
-	(rtac (monofun_Issnd RS ch2ch_monofun) 1),
-	(atac 1),
-	(atac 1)
-	]);
+        (rtac sym 1),
+        (rtac chain_UU_I_inverse 1),
+        (rtac allI 1),
+        (rtac strict_Isfst 1),
+        (rtac swap 1),
+        (etac (defined_IsfstIssnd RS conjunct2) 2),
+        (rtac notnotI 1),
+        (rtac (chain_UU_I RS spec) 1),
+        (rtac (monofun_Issnd RS ch2ch_monofun) 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "contlub_Issnd" Sprod3.thy "contlub(Issnd)"
 (fn prems =>
-	[
-	(rtac contlubI 1),
-	(strip_tac 1),
-	(rtac (lub_sprod RS thelubI RS ssubst) 1),
-	(atac 1),
-	(res_inst_tac [("Q","lub(range(%i. Isfst(Y(i))))=UU")]
-	 (excluded_middle RS disjE) 1),
+        [
+        (rtac contlubI 1),
+        (strip_tac 1),
+        (rtac (lub_sprod RS thelubI RS ssubst) 1),
+        (atac 1),
+        (res_inst_tac [("Q","lub(range(%i. Isfst(Y(i))))=UU")]
+         (excluded_middle RS disjE) 1),
         (asm_simp_tac Sprod0_ss  1),
-	(res_inst_tac [("s","UU"),("t","lub(range(%i. Isfst(Y(i))))")] 
-		ssubst 1),
-	(atac 1),
+        (res_inst_tac [("s","UU"),("t","lub(range(%i. Isfst(Y(i))))")] 
+                ssubst 1),
+        (atac 1),
         (asm_simp_tac Sprod0_ss  1),
-	(rtac sym 1),
-	(rtac chain_UU_I_inverse 1),
-	(rtac allI 1),
-	(rtac strict_Issnd 1),
-	(rtac swap 1),
-	(etac (defined_IsfstIssnd RS conjunct1) 2),
-	(rtac notnotI 1),
-	(rtac (chain_UU_I RS spec) 1),
-	(rtac (monofun_Isfst RS ch2ch_monofun) 1),
-	(atac 1),
-	(atac 1)
-	]);
+        (rtac sym 1),
+        (rtac chain_UU_I_inverse 1),
+        (rtac allI 1),
+        (rtac strict_Issnd 1),
+        (rtac swap 1),
+        (etac (defined_IsfstIssnd RS conjunct1) 2),
+        (rtac notnotI 1),
+        (rtac (chain_UU_I RS spec) 1),
+        (rtac (monofun_Isfst RS ch2ch_monofun) 1),
+        (atac 1),
+        (atac 1)
+        ]);
 
 
 qed_goal "cont_Isfst" Sprod3.thy "cont(Isfst)"
 (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_Isfst 1),
-	(rtac contlub_Isfst 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_Isfst 1),
+        (rtac contlub_Isfst 1)
+        ]);
 
 qed_goal "cont_Issnd" Sprod3.thy "cont(Issnd)"
 (fn prems =>
-	[
-	(rtac monocontlub2cont 1),
-	(rtac monofun_Issnd 1),
-	(rtac contlub_Issnd 1)
-	]);
+        [
+        (rtac monocontlub2cont 1),
+        (rtac monofun_Issnd 1),
+        (rtac contlub_Issnd 1)
+        ]);
 
 (* 
  -------------------------------------------------------------------------- 
@@ -314,310 +314,310 @@
 
 qed_goal "spair_eq" Sprod3.thy "[|x1=x2;y1=y2|] ==> (|x1,y1|) = (|x2,y2|)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 (* ------------------------------------------------------------------------ *)
 (* convert all lemmas to the continuous versions                            *)
 (* ------------------------------------------------------------------------ *)
 
 qed_goalw "beta_cfun_sprod" Sprod3.thy [spair_def]
-	"(LAM x y.Ispair x y)`a`b = Ispair a b"
+        "(LAM x y.Ispair x y)`a`b = Ispair a b"
  (fn prems =>
-	[
-	(rtac (beta_cfun RS ssubst) 1),
-	(cont_tac 1),
-	(rtac cont_Ispair2 1),
-	(rtac cont2cont_CF1L 1),
-	(rtac cont_Ispair1 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_Ispair2 1),
-	(rtac refl 1)
-	]);
+        [
+        (rtac (beta_cfun RS ssubst) 1),
+        (cont_tac 1),
+        (rtac cont_Ispair2 1),
+        (rtac cont2cont_CF1L 1),
+        (rtac cont_Ispair1 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_Ispair2 1),
+        (rtac refl 1)
+        ]);
 
 qed_goalw "inject_spair" Sprod3.thy [spair_def]
-	"[| aa~=UU ; ba~=UU ; (|a,b|)=(|aa,ba|) |] ==> a=aa & b=ba"
+        "[| aa~=UU ; ba~=UU ; (|a,b|)=(|aa,ba|) |] ==> a=aa & b=ba"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(etac inject_Ispair 1),
-	(atac 1),
-	(etac box_equals 1),
-	(rtac beta_cfun_sprod 1),
-	(rtac beta_cfun_sprod 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (etac inject_Ispair 1),
+        (atac 1),
+        (etac box_equals 1),
+        (rtac beta_cfun_sprod 1),
+        (rtac beta_cfun_sprod 1)
+        ]);
 
 qed_goalw "inst_sprod_pcpo2" Sprod3.thy [spair_def] "UU = (|UU,UU|)"
  (fn prems =>
-	[
-	(rtac sym 1),
-	(rtac trans 1),
-	(rtac beta_cfun_sprod 1),
-	(rtac sym 1),
-	(rtac inst_sprod_pcpo 1)
-	]);
+        [
+        (rtac sym 1),
+        (rtac trans 1),
+        (rtac beta_cfun_sprod 1),
+        (rtac sym 1),
+        (rtac inst_sprod_pcpo 1)
+        ]);
 
 qed_goalw "strict_spair" Sprod3.thy [spair_def] 
-	"(a=UU | b=UU) ==> (|a,b|)=UU"
+        "(a=UU | b=UU) ==> (|a,b|)=UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac trans 1),
-	(rtac beta_cfun_sprod 1),
-	(rtac trans 1),
-	(rtac (inst_sprod_pcpo RS sym) 2),
-	(etac strict_Ispair 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac trans 1),
+        (rtac beta_cfun_sprod 1),
+        (rtac trans 1),
+        (rtac (inst_sprod_pcpo RS sym) 2),
+        (etac strict_Ispair 1)
+        ]);
 
 qed_goalw "strict_spair1" Sprod3.thy [spair_def] "(|UU,b|) = UU"
  (fn prems =>
-	[
-	(rtac (beta_cfun_sprod RS ssubst) 1),
-	(rtac trans 1),
-	(rtac (inst_sprod_pcpo RS sym) 2),
-	(rtac strict_Ispair1 1)
-	]);
+        [
+        (rtac (beta_cfun_sprod RS ssubst) 1),
+        (rtac trans 1),
+        (rtac (inst_sprod_pcpo RS sym) 2),
+        (rtac strict_Ispair1 1)
+        ]);
 
 qed_goalw "strict_spair2" Sprod3.thy [spair_def] "(|a,UU|) = UU"
  (fn prems =>
-	[
-	(rtac (beta_cfun_sprod RS ssubst) 1),
-	(rtac trans 1),
-	(rtac (inst_sprod_pcpo RS sym) 2),
-	(rtac strict_Ispair2 1)
-	]);
+        [
+        (rtac (beta_cfun_sprod RS ssubst) 1),
+        (rtac trans 1),
+        (rtac (inst_sprod_pcpo RS sym) 2),
+        (rtac strict_Ispair2 1)
+        ]);
 
 qed_goalw "strict_spair_rev" Sprod3.thy [spair_def]
-	"(|x,y|)~=UU ==> ~x=UU & ~y=UU"
+        "(|x,y|)~=UU ==> ~x=UU & ~y=UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac strict_Ispair_rev 1),
-	(rtac (beta_cfun_sprod RS subst) 1),
-	(rtac (inst_sprod_pcpo RS subst) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac strict_Ispair_rev 1),
+        (rtac (beta_cfun_sprod RS subst) 1),
+        (rtac (inst_sprod_pcpo RS subst) 1),
+        (atac 1)
+        ]);
 
 qed_goalw "defined_spair_rev" Sprod3.thy [spair_def]
  "(|a,b|) = UU ==> (a = UU | b = UU)"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac defined_Ispair_rev 1),
-	(rtac (beta_cfun_sprod RS subst) 1),
-	(rtac (inst_sprod_pcpo RS subst) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac defined_Ispair_rev 1),
+        (rtac (beta_cfun_sprod RS subst) 1),
+        (rtac (inst_sprod_pcpo RS subst) 1),
+        (atac 1)
+        ]);
 
 qed_goalw "defined_spair" Sprod3.thy [spair_def]
-	"[|a~=UU; b~=UU|] ==> (|a,b|) ~= UU"
+        "[|a~=UU; b~=UU|] ==> (|a,b|) ~= UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (beta_cfun_sprod RS ssubst) 1),
-	(rtac (inst_sprod_pcpo RS ssubst) 1),
-	(etac defined_Ispair 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (beta_cfun_sprod RS ssubst) 1),
+        (rtac (inst_sprod_pcpo RS ssubst) 1),
+        (etac defined_Ispair 1),
+        (atac 1)
+        ]);
 
 qed_goalw "Exh_Sprod2" Sprod3.thy [spair_def]
-	"z=UU | (? a b. z=(|a,b|) & a~=UU & b~=UU)"
+        "z=UU | (? a b. z=(|a,b|) & a~=UU & b~=UU)"
  (fn prems =>
-	[
-	(rtac (Exh_Sprod RS disjE) 1),
-	(rtac disjI1 1),
-	(rtac (inst_sprod_pcpo RS ssubst) 1),
-	(atac 1),
-	(rtac disjI2 1),
-	(etac exE 1),
-	(etac exE 1),
-	(rtac exI 1),
-	(rtac exI 1),
-	(rtac conjI 1),
-	(rtac (beta_cfun_sprod RS ssubst) 1),
-	(fast_tac HOL_cs 1),
-	(fast_tac HOL_cs 1)
-	]);
+        [
+        (rtac (Exh_Sprod RS disjE) 1),
+        (rtac disjI1 1),
+        (rtac (inst_sprod_pcpo RS ssubst) 1),
+        (atac 1),
+        (rtac disjI2 1),
+        (etac exE 1),
+        (etac exE 1),
+        (rtac exI 1),
+        (rtac exI 1),
+        (rtac conjI 1),
+        (rtac (beta_cfun_sprod RS ssubst) 1),
+        (fast_tac HOL_cs 1),
+        (fast_tac HOL_cs 1)
+        ]);
 
 
 qed_goalw "sprodE" Sprod3.thy [spair_def]
 "[|p=UU ==> Q;!!x y. [|p=(|x,y|);x~=UU ; y~=UU|] ==> Q|] ==> Q"
 (fn prems =>
-	[
-	(rtac IsprodE 1),
-	(resolve_tac prems 1),
-	(rtac (inst_sprod_pcpo RS ssubst) 1),
-	(atac 1),
-	(resolve_tac prems 1),
-	(atac 2),
-	(atac 2),
-	(rtac (beta_cfun_sprod RS ssubst) 1),
-	(atac 1)
-	]);
+        [
+        (rtac IsprodE 1),
+        (resolve_tac prems 1),
+        (rtac (inst_sprod_pcpo RS ssubst) 1),
+        (atac 1),
+        (resolve_tac prems 1),
+        (atac 2),
+        (atac 2),
+        (rtac (beta_cfun_sprod RS ssubst) 1),
+        (atac 1)
+        ]);
 
 
 qed_goalw "strict_sfst" Sprod3.thy [sfst_def] 
-	"p=UU==>sfst`p=UU"
+        "p=UU==>sfst`p=UU"
  (fn prems =>
-	[
-	(cut_facts_tac prems 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_Isfst 1),
-	(rtac strict_Isfst 1),
-	(rtac (inst_sprod_pcpo RS subst) 1),
-	(atac 1)
-	]);
+        [
+        (cut_facts_tac prems 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_Isfst 1),
+        (rtac strict_Isfst 1),
+        (rtac (inst_sprod_pcpo RS subst) 1),
+        (atac 1)
+        ]);
 
 qed_goalw "strict_sfst1" Sprod3.thy [sfst_def,spair_def] 
-	"sfst`(|UU,y|) = UU"
+        "sfst`(|UU,y|) = UU"
  (fn prems =>
-	[
-	(rtac (beta_cfun_sprod RS ssubst) 1),
-	(rtac (beta_cfun RS ssubst) 1),
-	(rtac cont_Isfst 1),
-	(rtac strict_Isfst1 1)
-	]);
+        [
+        (rtac (beta_cfun_sprod RS ssubst) 1),
+        (rtac (beta_cfun RS ssubst) 1),
+        (rtac cont_Isfst 1),
+        (rtac strict_Isfst1 1)
+        ]);
  
 qed_goalw "strict_sfst2" Sprod3.thy [sfst_def,spair_def] 
-	"sfst`(|x,UU|) = UU"
+        "sfst`(|x,UU|) = UU"
  (fn prems =>
-	[
-	(rtac (beta_cfun_sprod RS ssubst) 1),