Fixed bug in function rebuild.
--- a/src/Pure/meta_simplifier.ML Sun Jun 10 08:03:35 2001 +0200
+++ b/src/Pure/meta_simplifier.ML Mon Jun 11 19:21:13 2001 +0200
@@ -802,7 +802,12 @@
fun rebuild None = (case rewritec (prover, sign, maxidx) mss
(mk_implies (prem1, conc)) of
None => None
- | Some (thm, _) => Some (None, thm))
+ | Some (thm, _) =>
+ let val (prem, conc) = Drule.dest_implies (rhs_of thm)
+ in (case mut_impc (prems, prem, conc, mss) of
+ None => Some (None, thm)
+ | Some (x, thm') => Some (x, transitive thm thm'))
+ end handle TERM _ => Some (None, thm))
| rebuild (Some thm2) =
let val thm = disch1 thm2
in (case rewritec (prover, sign, maxidx) mss (rhs_of thm) of