equal
deleted
inserted
replaced
2145 shyps = shyps', |
2145 shyps = shyps', |
2146 hyps = union_term(hyps,hypst), |
2146 hyps = union_term(hyps,hypst), |
2147 prop = prop', |
2147 prop = prop', |
2148 maxidx = maxidx'}; |
2148 maxidx = maxidx'}; |
2149 val unit = trace_thm false "Applying congruence rule:" thm'; |
2149 val unit = trace_thm false "Applying congruence rule:" thm'; |
2150 fun err() = error("Failed congruence proof!") |
2150 fun err(msg,thm) = (prthm false msg thm; error("Failed congruence proof!")) |
2151 |
2151 |
2152 in case prover thm' of |
2152 in case prover thm' of |
2153 None => err() |
2153 None => err("Could not prove",thm') |
2154 | Some(thm2) => (case check_conv(thm2,prop',ders) of |
2154 | Some(thm2) => (case check_conv(thm2,prop',ders) of |
2155 None => err() | Some trec => trec) |
2155 None => err("Should not have proved",thm2) | Some trec => trec) |
2156 end; |
2156 end; |
2157 |
2157 |
2158 fun bottomc ((simprem,useprem,mutsimp),prover,sign_ref,maxidx) = |
2158 fun bottomc ((simprem,useprem,mutsimp),prover,sign_ref,maxidx) = |
2159 let |
2159 let |
2160 fun botc fail skel mss trec = |
2160 fun botc fail skel mss trec = |