FSet.thy
changeset 251 c770f36f9459
parent 248 6ed87b3d358c
child 252 e30997c88050
--- a/FSet.thy	Fri Oct 30 16:37:09 2009 +0100
+++ b/FSet.thy	Fri Oct 30 18:31:06 2009 +0100
@@ -316,22 +316,33 @@
 ML {* lift_thm_fset @{context} @{thm list_eq.intros(5)} *}
 ML {* lift_thm_fset @{context} @{thm card1_suc} *}
 ML {* lift_thm_fset @{context} @{thm map_append} *}
-ML {* lift_thm_fset @{context} @{thm eq_r[OF append_assoc]} *}
+ML {* lift_thm_fset @{context} @{thm append_assoc} *}
 
 thm fold1.simps(2)
 thm list.recs(2)
 thm list.cases
 
 
-ML {* val ind_r_a = atomize_thm @{thm list.induct} *}
-(*prove {* build_regularize_goal ind_r_a rty rel @{context}  *}
+ML {* val ind_r_a = atomize_thm @{thm m2} *}
+prove {* build_regularize_goal ind_r_a rty rel @{context}  *}
   ML_prf {*  fun tac ctxt =
-       (asm_full_simp_tac ((Simplifier.context ctxt HOL_ss) addsimps
+     (FIRST' [
+      rtac rel_refl,
+      atac,
+      (rtac @{thm  allI} THEN' dtac @{thm spec}),
+      (fn i => CHANGED (asm_full_simp_tac ((Simplifier.context ctxt HOL_ss) addsimps
         [(@{thm equiv_res_forall} OF [rel_eqv]),
-         (@{thm equiv_res_exists} OF [rel_eqv])])) THEN_ALL_NEW
-         (((rtac @{thm RIGHT_RES_FORALL_REGULAR}) THEN' (RANGE [fn _ => all_tac, atac]) THEN'
-         (MetisTools.metis_tac ctxt [])) ORELSE' (MetisTools.metis_tac ctxt [])); *}
-  apply (tactic {* tac @{context} 1 *})*)
+         (@{thm equiv_res_exists} OF [rel_eqv])]) i)),
+      MetisTools.metis_tac ctxt [],
+      rtac (@{thm eq_rr} OF [rel_refl]),
+      ((rtac @{thm RIGHT_RES_FORALL_REGULAR}) THEN' (RANGE [fn _ => all_tac, atac]))
+    ]);
+ *}
+  apply (tactic {* tac @{context} 1 *}) 
+  apply (tactic {* tac @{context} 1 *}) 
+  apply (tactic {* tac @{context} 1 *}) 
+
+
 ML {* val ind_r_r = regularize ind_r_a rty rel rel_eqv @{context} *}
 ML {*
   val rt = build_repabs_term @{context} ind_r_r consts rty qty