src/Pure/Isar/isar_output.ML
changeset 10350 813a4e8f1276
parent 10323 b52d32a11476
child 10360 807992b67edd
equal deleted inserted replaced
10349:78434c9a54fd 10350:813a4e8f1276
   290   Sign.pretty_term (ProofContext.sign_of ctxt) (ProofContext.extern_skolem ctxt t);
   290   Sign.pretty_term (ProofContext.sign_of ctxt) (ProofContext.extern_skolem ctxt t);
   291 
   291 
   292 fun pretty_thm ctxt thms =
   292 fun pretty_thm ctxt thms =
   293   Pretty.chunks (map (pretty_term ctxt o #prop o Thm.rep_thm) thms);
   293   Pretty.chunks (map (pretty_term ctxt o #prop o Thm.rep_thm) thms);
   294 
   294 
   295 fun pretty_goals state _ _ =
   295 fun pretty_goals state print_goal _ _ =
   296   Pretty.chunks (Proof.pretty_goals (Toplevel.proof_of state handle Toplevel.UNDEF =>
   296   Pretty.chunks (Proof.pretty_goals (Toplevel.proof_of state
   297     error "No proof state"));
   297                                      handle Toplevel.UNDEF
   298 
   298                                         => error "No proof state")
       
   299                                     print_goal);
   299 
   300 
   300 fun output_with pretty src ctxt x =
   301 fun output_with pretty src ctxt x =
   301   let
   302   let
   302     val prt = pretty ctxt x;      (*always pretty!*)
   303     val prt = pretty ctxt x;      (*always pretty!*)
   303     val prt' = if ! source then pretty_source src else prt;
   304     val prt' = if ! source then pretty_source src else prt;
   310   ("thm", args Attrib.local_thms (output_with pretty_thm)),
   311   ("thm", args Attrib.local_thms (output_with pretty_thm)),
   311   ("prop", args Args.local_prop (output_with pretty_term)),
   312   ("prop", args Args.local_prop (output_with pretty_term)),
   312   ("term", args Args.local_term (output_with pretty_term)),
   313   ("term", args Args.local_term (output_with pretty_term)),
   313   ("typ", args Args.local_typ_no_norm (output_with pretty_typ)),
   314   ("typ", args Args.local_typ_no_norm (output_with pretty_typ)),
   314   ("goals", fn src => fn state =>
   315   ("goals", fn src => fn state =>
   315       args (Scan.succeed ()) (output_with (pretty_goals state)) src state)];
   316       args (Scan.succeed ()) (output_with (pretty_goals state true)) src state),
   316 
   317   ("subgoals", fn src => fn state =>
   317 end;
   318       args (Scan.succeed ()) (output_with (pretty_goals state false)) src state)];
   318 
   319 
   319 end;
   320 end;
       
   321 
       
   322 end;