equal
deleted
inserted
replaced
170 let |
170 let |
171 val k = length (filter Datatype_Aux.is_rec_type cargs); |
171 val k = length (filter Datatype_Aux.is_rec_type cargs); |
172 in |
172 in |
173 (EVERY |
173 (EVERY |
174 [DETERM tac, |
174 [DETERM tac, |
175 REPEAT (etac ex1E 1), rtac ex1I 1, |
175 REPEAT (etac @{thm ex1E} 1), rtac @{thm ex1I} 1, |
176 DEPTH_SOLVE_1 (ares_tac [intr] 1), |
176 DEPTH_SOLVE_1 (ares_tac [intr] 1), |
177 REPEAT_DETERM_N k (etac thin_rl 1 THEN rotate_tac 1 1), |
177 REPEAT_DETERM_N k (etac thin_rl 1 THEN rotate_tac 1 1), |
178 etac elim 1, |
178 etac elim 1, |
179 REPEAT_DETERM_N j distinct_tac, |
179 REPEAT_DETERM_N j distinct_tac, |
180 TRY (dresolve_tac inject 1), |
180 TRY (dresolve_tac inject 1), |