equal
deleted
inserted
replaced
1098 | SOME eqn => |
1098 | SOME eqn => |
1099 let |
1099 let |
1100 val prem' = rhs_of eqn; |
1100 val prem' = rhs_of eqn; |
1101 val tprems = map term_of prems; |
1101 val tprems = map term_of prems; |
1102 val i = 1 + Library.foldl Int.max (~1, map (fn p => |
1102 val i = 1 + Library.foldl Int.max (~1, map (fn p => |
1103 find_index_eq p tprems) (#hyps (rep_thm eqn))); |
1103 find_index (fn q => q aconv p) tprems) (#hyps (rep_thm eqn))); |
1104 val (rrs', asm') = rules_of_prem ss prem' |
1104 val (rrs', asm') = rules_of_prem ss prem' |
1105 in mut_impc prems concl rrss asms (prem' :: prems') |
1105 in mut_impc prems concl rrss asms (prem' :: prems') |
1106 (rrs' :: rrss') (asm' :: asms') (SOME (foldr (disch true) |
1106 (rrs' :: rrss') (asm' :: asms') (SOME (foldr (disch true) |
1107 (Drule.imp_cong_rule eqn (reflexive (Drule.list_implies |
1107 (Drule.imp_cong_rule eqn (reflexive (Drule.list_implies |
1108 (Library.drop (i, prems), concl)))) (Library.take (i, prems))) :: eqns) ss (length prems') ~1 |
1108 (Library.drop (i, prems), concl)))) (Library.take (i, prems))) :: eqns) ss (length prems') ~1 |