63 val generic_theory: (generic_theory -> generic_theory) -> transition -> transition |
63 val generic_theory: (generic_theory -> generic_theory) -> transition -> transition |
64 val theory': (bool -> theory -> theory) -> transition -> transition |
64 val theory': (bool -> theory -> theory) -> transition -> transition |
65 val begin_local_theory: bool -> (theory -> local_theory) -> transition -> transition |
65 val begin_local_theory: bool -> (theory -> local_theory) -> transition -> transition |
66 val end_local_theory: transition -> transition |
66 val end_local_theory: transition -> transition |
67 val local_theory: xstring option -> (local_theory -> local_theory) -> transition -> transition |
67 val local_theory: xstring option -> (local_theory -> local_theory) -> transition -> transition |
68 val present_local_theory: xstring option -> (bool -> node -> unit) -> transition -> transition |
68 val present_local_theory: xstring option -> (node -> unit) -> transition -> transition |
69 val local_theory_to_proof': xstring option -> (bool -> local_theory -> Proof.state) -> |
69 val local_theory_to_proof': xstring option -> (bool -> local_theory -> Proof.state) -> |
70 transition -> transition |
70 transition -> transition |
71 val local_theory_to_proof: xstring option -> (local_theory -> Proof.state) -> |
71 val local_theory_to_proof: xstring option -> (local_theory -> Proof.state) -> |
72 transition -> transition |
72 transition -> transition |
73 val theory_to_proof: (theory -> Proof.state) -> transition -> transition |
73 val theory_to_proof: (theory -> Proof.state) -> transition -> transition |
74 val end_proof: (bool -> Proof.state -> Proof.context) -> transition -> transition |
74 val end_proof: (bool -> Proof.state -> Proof.context) -> transition -> transition |
75 val forget_proof: transition -> transition |
75 val forget_proof: transition -> transition |
76 val present_proof: (bool -> node -> unit) -> transition -> transition |
76 val present_proof: (node -> unit) -> transition -> transition |
77 val proofs': (bool -> Proof.state -> Proof.state Seq.seq) -> transition -> transition |
77 val proofs': (bool -> Proof.state -> Proof.state Seq.seq) -> transition -> transition |
78 val proof': (bool -> Proof.state -> Proof.state) -> transition -> transition |
78 val proof': (bool -> Proof.state -> Proof.state) -> transition -> transition |
79 val proofs: (Proof.state -> Proof.state Seq.seq) -> transition -> transition |
79 val proofs: (Proof.state -> Proof.state Seq.seq) -> transition -> transition |
80 val proof: (Proof.state -> Proof.state) -> transition -> transition |
80 val proof: (Proof.state -> Proof.state) -> transition -> transition |
81 val actual_proof: (ProofNode.T -> ProofNode.T) -> transition -> transition |
81 val actual_proof: (ProofNode.T -> ProofNode.T) -> transition -> transition |
501 (fn Theory (gthy, _) => |
501 (fn Theory (gthy, _) => |
502 let |
502 let |
503 val finish = loc_finish loc gthy; |
503 val finish = loc_finish loc gthy; |
504 val lthy' = f (loc_begin loc gthy); |
504 val lthy' = f (loc_begin loc gthy); |
505 in Theory (finish lthy', SOME lthy') end |
505 in Theory (finish lthy', SOME lthy') end |
506 | _ => raise UNDEF) #> tap (g int)); |
506 | _ => raise UNDEF) #> tap g); |
507 |
507 |
508 in |
508 in |
509 |
509 |
510 fun local_theory loc f = local_theory_presentation loc f (K I); |
510 fun local_theory loc f = local_theory_presentation loc f (K I); |
511 fun present_local_theory loc g = local_theory_presentation loc I g; |
511 fun present_local_theory loc g = local_theory_presentation loc I g; |
562 val forget_proof = transaction (fn _ => |
562 val forget_proof = transaction (fn _ => |
563 (fn Proof (_, (_, orig_gthy)) => Theory (orig_gthy, NONE) |
563 (fn Proof (_, (_, orig_gthy)) => Theory (orig_gthy, NONE) |
564 | SkipProof (_, (_, orig_gthy)) => Theory (orig_gthy, NONE) |
564 | SkipProof (_, (_, orig_gthy)) => Theory (orig_gthy, NONE) |
565 | _ => raise UNDEF)); |
565 | _ => raise UNDEF)); |
566 |
566 |
567 fun present_proof f = transaction (fn int => |
567 fun present_proof f = transaction (fn _ => |
568 (fn Proof (prf, x) => Proof (ProofNode.apply I prf, x) |
568 (fn Proof (prf, x) => Proof (ProofNode.apply I prf, x) |
569 | skip as SkipProof _ => skip |
569 | skip as SkipProof _ => skip |
570 | _ => raise UNDEF) #> tap (f int)); |
570 | _ => raise UNDEF) #> tap f); |
571 |
571 |
572 fun proofs' f = transaction (fn int => |
572 fun proofs' f = transaction (fn int => |
573 (fn Proof (prf, x) => Proof (ProofNode.applys (f int) prf, x) |
573 (fn Proof (prf, x) => Proof (ProofNode.applys (f int) prf, x) |
574 | skip as SkipProof _ => skip |
574 | skip as SkipProof _ => skip |
575 | _ => raise UNDEF)); |
575 | _ => raise UNDEF)); |