src/Pure/Isar/toplevel.ML
changeset 27859 c1bc9f4df521
parent 27840 e9483ef084cc
child 28095 7eaf0813bdc3
equal deleted inserted replaced
27858:d385b67f8439 27859:c1bc9f4df521
    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));