equal
deleted
inserted
replaced
490 fun deriv_rule2 f |
490 fun deriv_rule2 f |
491 (Deriv {promises = ps1, body = PBody {oracles = oras1, thms = thms1, proof = prf1}}) |
491 (Deriv {promises = ps1, body = PBody {oracles = oras1, thms = thms1, proof = prf1}}) |
492 (Deriv {promises = ps2, body = PBody {oracles = oras2, thms = thms2, proof = prf2}}) = |
492 (Deriv {promises = ps2, body = PBody {oracles = oras2, thms = thms2, proof = prf2}}) = |
493 let |
493 let |
494 val ps = Ord_List.union promise_ord ps1 ps2; |
494 val ps = Ord_List.union promise_ord ps1 ps2; |
495 val oras = Proofterm.merge_oracles oras1 oras2; |
495 val oras = Proofterm.unions_oracles [oras1, oras2]; |
496 val thms = Proofterm.merge_thms thms1 thms2; |
496 val thms = Proofterm.unions_thms [thms1, thms2]; |
497 val prf = |
497 val prf = |
498 (case ! Proofterm.proofs of |
498 (case ! Proofterm.proofs of |
499 2 => f prf1 prf2 |
499 2 => f prf1 prf2 |
500 | 1 => MinProof |
500 | 1 => MinProof |
501 | 0 => MinProof |
501 | 0 => MinProof |