equal
deleted
inserted
replaced
381 (* |> (fn thm => (tracing (makestring thm); thm))*) |
381 (* |> (fn thm => (tracing (makestring thm); thm))*) |
382 end |
382 end |
383 |
383 |
384 val res = Conjunction.intr_balanced (map_index project branches) |
384 val res = Conjunction.intr_balanced (map_index project branches) |
385 |> fold_rev implies_intr (map cprop_of newgoals @ steps) |
385 |> fold_rev implies_intr (map cprop_of newgoals @ steps) |
386 |> (fn thm => Thm.generalize ([], [Rn]) (Thm.maxidx_of thm + 1) thm) |
386 |> Drule.generalize ([], [Rn]) |
387 |
387 |
388 val nbranches = length branches |
388 val nbranches = length branches |
389 val npres = length pres |
389 val npres = length pres |
390 in |
390 in |
391 Thm.compose_no_flatten false (res, length newgoals) i |
391 Thm.compose_no_flatten false (res, length newgoals) i |