src/Pure/Isar/isar_cmd.ML
changeset 19268 5a575522fd26
parent 19057 9201b2bb36c2
child 19385 c0f2f8224ea8
equal deleted inserted replaced
19267:fdb4658eab26 19268:5a575522fd26
    62   val find_theorems: int option * (bool * string FindTheorems.criterion) list
    62   val find_theorems: int option * (bool * string FindTheorems.criterion) list
    63     -> Toplevel.transition -> Toplevel.transition
    63     -> Toplevel.transition -> Toplevel.transition
    64   val print_binds: Toplevel.transition -> Toplevel.transition
    64   val print_binds: Toplevel.transition -> Toplevel.transition
    65   val print_lthms: Toplevel.transition -> Toplevel.transition
    65   val print_lthms: Toplevel.transition -> Toplevel.transition
    66   val print_cases: Toplevel.transition -> Toplevel.transition
    66   val print_cases: Toplevel.transition -> Toplevel.transition
       
    67   val print_stmts: string list * (thmref * Attrib.src list) list
       
    68     -> Toplevel.transition -> Toplevel.transition
    67   val print_thms: string list * (thmref * Attrib.src list) list
    69   val print_thms: string list * (thmref * Attrib.src list) list
    68     -> Toplevel.transition -> Toplevel.transition
    70     -> Toplevel.transition -> Toplevel.transition
    69   val print_prfs: bool -> string list * (thmref * Attrib.src list) list option
    71   val print_prfs: bool -> string list * (thmref * Attrib.src list) list option
    70     -> Toplevel.transition -> Toplevel.transition
    72     -> Toplevel.transition -> Toplevel.transition
    71   val print_prop: (string list * string) -> Toplevel.transition -> Toplevel.transition
    73   val print_prop: (string list * string) -> Toplevel.transition -> Toplevel.transition
   291 val print_cases = Toplevel.unknown_proof o Toplevel.keep (fn state =>
   293 val print_cases = Toplevel.unknown_proof o Toplevel.keep (fn state =>
   292   ProofContext.setmp_verbose
   294   ProofContext.setmp_verbose
   293     ProofContext.print_cases (Proof.context_of (Toplevel.proof_of state)));
   295     ProofContext.print_cases (Proof.context_of (Toplevel.proof_of state)));
   294 
   296 
   295 
   297 
   296 (* print theorems / types / terms / props *)
   298 (* print theorems, terms, types etc. *)
       
   299 
       
   300 fun string_of_stmts state ms args = with_modes ms (fn () =>
       
   301   Proof.get_thmss state args
       
   302   |> map (Element.pretty_statement (Proof.context_of state) PureThy.lemmaK)
       
   303   |> Pretty.chunks2 |> Pretty.string_of);
   297 
   304 
   298 fun string_of_thms state ms args = with_modes ms (fn () =>
   305 fun string_of_thms state ms args = with_modes ms (fn () =>
   299   Pretty.string_of (ProofContext.pretty_thms (Proof.context_of state)
   306   Pretty.string_of (ProofContext.pretty_thms (Proof.context_of state)
   300     (Proof.get_thmss state args)));
   307     (Proof.get_thmss state args)));
   301 
   308 
   341   in with_modes ms (fn () => Pretty.string_of (Pretty.quote (ProofContext.pretty_typ ctxt T))) end;
   348   in with_modes ms (fn () => Pretty.string_of (Pretty.quote (ProofContext.pretty_typ ctxt T))) end;
   342 
   349 
   343 fun print_item string_of (x, y) = Toplevel.keep (fn state =>
   350 fun print_item string_of (x, y) = Toplevel.keep (fn state =>
   344   writeln (string_of (Toplevel.enter_forward_proof state) x y));
   351   writeln (string_of (Toplevel.enter_forward_proof state) x y));
   345 
   352 
       
   353 val print_stmts = print_item string_of_stmts;
   346 val print_thms = print_item string_of_thms;
   354 val print_thms = print_item string_of_thms;
   347 fun print_prfs full = print_item (string_of_prfs full);
   355 fun print_prfs full = print_item (string_of_prfs full);
   348 val print_prop = print_item string_of_prop;
   356 val print_prop = print_item string_of_prop;
   349 val print_term = print_item string_of_term;
   357 val print_term = print_item string_of_term;
   350 val print_type = print_item string_of_type;
   358 val print_type = print_item string_of_type;