equal
deleted
inserted
replaced
1059 [rtac indrule_lemma' 1, |
1059 [rtac indrule_lemma' 1, |
1060 (Old_Datatype_Aux.ind_tac rep_induct [] THEN_ALL_NEW Object_Logic.atomize_prems_tac ctxt) 1, |
1060 (Old_Datatype_Aux.ind_tac rep_induct [] THEN_ALL_NEW Object_Logic.atomize_prems_tac ctxt) 1, |
1061 EVERY (map (fn (prem, r) => (EVERY |
1061 EVERY (map (fn (prem, r) => (EVERY |
1062 [REPEAT (eresolve_tac ctxt Abs_inverse_thms' 1), |
1062 [REPEAT (eresolve_tac ctxt Abs_inverse_thms' 1), |
1063 simp_tac (put_simpset HOL_basic_ss ctxt addsimps [Thm.symmetric r]) 1, |
1063 simp_tac (put_simpset HOL_basic_ss ctxt addsimps [Thm.symmetric r]) 1, |
1064 DEPTH_SOLVE_1 (ares_tac [prem] 1 ORELSE etac allE 1)])) |
1064 DEPTH_SOLVE_1 |
|
1065 (assume_tac ctxt 1 ORELSE resolve_tac ctxt [prem] 1 ORELSE eresolve_tac ctxt [allE] 1)])) |
1065 (prems ~~ constr_defs))]); |
1066 (prems ~~ constr_defs))]); |
1066 |
1067 |
1067 val case_names_induct = Old_Datatype_Data.mk_case_names_induct descr''; |
1068 val case_names_induct = Old_Datatype_Data.mk_case_names_induct descr''; |
1068 |
1069 |
1069 (**** prove that new datatypes have finite support ****) |
1070 (**** prove that new datatypes have finite support ****) |