diff -r 1dd7f7f98040 -r c770f36f9459 FSet.thy --- 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