equal
deleted
inserted
replaced
1100 fun Seq_Finite_induct_tac ctxt i = |
1100 fun Seq_Finite_induct_tac ctxt i = |
1101 eresolve_tac ctxt @{thms Seq_Finite_ind} i |
1101 eresolve_tac ctxt @{thms Seq_Finite_ind} i |
1102 THEN (REPEAT_DETERM (CHANGED (asm_simp_tac ctxt i))); |
1102 THEN (REPEAT_DETERM (CHANGED (asm_simp_tac ctxt i))); |
1103 |
1103 |
1104 fun pair_tac ctxt s = |
1104 fun pair_tac ctxt s = |
1105 Rule_Insts.res_inst_tac ctxt [((("p", 0), Position.none), s)] [] @{thm PairE} |
1105 Rule_Insts.res_inst_tac ctxt [((("y", 0), Position.none), s)] [] @{thm PairE} |
1106 THEN' hyp_subst_tac ctxt THEN' asm_full_simp_tac ctxt; |
1106 THEN' hyp_subst_tac ctxt THEN' asm_full_simp_tac ctxt; |
1107 |
1107 |
1108 (* induction on a sequence of pairs with pairsplitting and simplification *) |
1108 (* induction on a sequence of pairs with pairsplitting and simplification *) |
1109 fun pair_induct_tac ctxt s rws i = |
1109 fun pair_induct_tac ctxt s rws i = |
1110 Rule_Insts.res_inst_tac ctxt [((("x", 0), Position.none), s)] [] @{thm Seq_induct} i |
1110 Rule_Insts.res_inst_tac ctxt [((("x", 0), Position.none), s)] [] @{thm Seq_induct} i |