equal
deleted
inserted
replaced
84 val weaken_sorts: sort list -> cterm -> cterm |
84 val weaken_sorts: sort list -> cterm -> cterm |
85 val extra_shyps: thm -> sort list |
85 val extra_shyps: thm -> sort list |
86 val proof_bodies_of: thm list -> proof_body list |
86 val proof_bodies_of: thm list -> proof_body list |
87 val proof_body_of: thm -> proof_body |
87 val proof_body_of: thm -> proof_body |
88 val proof_of: thm -> proof |
88 val proof_of: thm -> proof |
89 val join_proofs: thm list -> unit |
89 val consolidate: thm -> unit |
90 val peek_status: thm -> {oracle: bool, unfinished: bool, failed: bool} |
90 val peek_status: thm -> {oracle: bool, unfinished: bool, failed: bool} |
91 val future: thm future -> cterm -> thm |
91 val future: thm future -> cterm -> thm |
92 val derivation_closed: thm -> bool |
92 val derivation_closed: thm -> bool |
93 val derivation_name: thm -> string |
93 val derivation_name: thm -> string |
94 val name_derivation: string -> thm -> thm |
94 val name_derivation: string -> thm -> thm |
586 |
586 |
587 fun fulfill_body (th as Thm (Deriv {promises, body}, _)) = |
587 fun fulfill_body (th as Thm (Deriv {promises, body}, _)) = |
588 let val fulfilled_promises = map #1 promises ~~ map fulfill_body (Future.joins (map #2 promises)) |
588 let val fulfilled_promises = map #1 promises ~~ map fulfill_body (Future.joins (map #2 promises)) |
589 in Proofterm.fulfill_norm_proof (theory_of_thm th) fulfilled_promises body end; |
589 in Proofterm.fulfill_norm_proof (theory_of_thm th) fulfilled_promises body end; |
590 |
590 |
591 fun proof_bodies_of thms = |
591 fun proof_bodies_of thms = (join_promises_of thms; map fulfill_body thms); |
592 let |
|
593 val _ = join_promises_of thms; |
|
594 val bodies = map fulfill_body thms; |
|
595 val _ = Proofterm.join_bodies bodies; |
|
596 in bodies end; |
|
597 |
|
598 val proof_body_of = singleton proof_bodies_of; |
592 val proof_body_of = singleton proof_bodies_of; |
599 val proof_of = Proofterm.proof_of o proof_body_of; |
593 val proof_of = Proofterm.proof_of o proof_body_of; |
600 |
594 |
601 val join_proofs = Proofterm.join_bodies o proof_bodies_of; |
595 val consolidate = ignore o proof_bodies_of o single; |
602 |
596 |
603 |
597 |
604 (* derivation status *) |
598 (* derivation status *) |
605 |
599 |
606 fun peek_status (Thm (Deriv {promises, body}, _)) = |
600 fun peek_status (Thm (Deriv {promises, body}, _)) = |