equal
deleted
inserted
replaced
128 let val r = length kks in |
128 let val r = length kks in |
129 HEADGOAL (EVERY' [select_prem_tac n (rotate_tac 1) k, rotate_tac ~1, hyp_subst_tac ctxt, |
129 HEADGOAL (EVERY' [select_prem_tac n (rotate_tac 1) k, rotate_tac ~1, hyp_subst_tac ctxt, |
130 REPEAT_DETERM_N m o (dtac meta_spec THEN' rotate_tac ~1)]) THEN |
130 REPEAT_DETERM_N m o (dtac meta_spec THEN' rotate_tac ~1)]) THEN |
131 EVERY [REPEAT_DETERM_N r |
131 EVERY [REPEAT_DETERM_N r |
132 (HEADGOAL (rotate_tac ~1 THEN' dtac meta_mp THEN' rotate_tac 1) THEN prefer_tac 2), |
132 (HEADGOAL (rotate_tac ~1 THEN' dtac meta_mp THEN' rotate_tac 1) THEN prefer_tac 2), |
133 if r > 0 then ALLGOALS Goal.norm_hhf_tac else all_tac, HEADGOAL atac, |
133 if r > 0 then ALLGOALS (Goal.norm_hhf_tac ctxt) else all_tac, HEADGOAL atac, |
134 mk_induct_leverage_prem_prems_tac ctxt nn kks set_maps pre_set_defs] |
134 mk_induct_leverage_prem_prems_tac ctxt nn kks set_maps pre_set_defs] |
135 end; |
135 end; |
136 |
136 |
137 fun mk_induct_tac ctxt nn ns mss kkss ctr_defs ctor_induct' set_maps pre_set_defss = |
137 fun mk_induct_tac ctxt nn ns mss kkss ctr_defs ctor_induct' set_maps pre_set_defss = |
138 let val n = Integer.sum ns in |
138 let val n = Integer.sum ns in |