488 Outer_Syntax.local_theory_to_proof @{command_keyword notepad} "begin proof context" |
488 Outer_Syntax.local_theory_to_proof @{command_keyword notepad} "begin proof context" |
489 (Parse.begin >> K Proof.begin_notepad); |
489 (Parse.begin >> K Proof.begin_notepad); |
490 |
490 |
491 val _ = |
491 val _ = |
492 Outer_Syntax.command @{command_keyword have} "state local goal" |
492 Outer_Syntax.command @{command_keyword have} "state local goal" |
493 (Parse_Spec.statement >> (Toplevel.proof' o Proof.have_cmd NONE (K I))); |
493 (Parse_Spec.statement -- Parse.for_fixes >> (fn (stmt, fixes) => |
|
494 Toplevel.proof' (fn int => Proof.have_cmd NONE (K I) fixes stmt int))); |
|
495 |
|
496 val _ = |
|
497 Outer_Syntax.command @{command_keyword show} "state local goal, to refine pending subgoals" |
|
498 (Parse_Spec.statement -- Parse.for_fixes >> (fn (stmt, fixes) => |
|
499 Toplevel.proof' (fn int => Proof.show_cmd NONE (K I) fixes stmt int))); |
494 |
500 |
495 val _ = |
501 val _ = |
496 Outer_Syntax.command @{command_keyword hence} "old-style alias of \"then have\"" |
502 Outer_Syntax.command @{command_keyword hence} "old-style alias of \"then have\"" |
497 (Parse_Spec.statement >> (fn stmt => |
503 (Parse_Spec.statement -- Parse.for_fixes >> (fn (stmt, fixes) => |
498 Toplevel.proof' (fn int => Proof.chain #> Proof.have_cmd NONE (K I) stmt int))); |
504 Toplevel.proof' (fn int => Proof.chain #> Proof.have_cmd NONE (K I) fixes stmt int))); |
499 |
|
500 val _ = |
|
501 Outer_Syntax.command @{command_keyword show} |
|
502 "state local goal, solving current obligation" |
|
503 (Parse_Spec.statement >> (Toplevel.proof' o Proof.show_cmd NONE (K I))); |
|
504 |
505 |
505 val _ = |
506 val _ = |
506 Outer_Syntax.command @{command_keyword thus} "old-style alias of \"then show\"" |
507 Outer_Syntax.command @{command_keyword thus} "old-style alias of \"then show\"" |
507 (Parse_Spec.statement >> (fn stmt => |
508 (Parse_Spec.statement -- Parse.for_fixes >> (fn (stmt, fixes) => |
508 Toplevel.proof' (fn int => Proof.chain #> Proof.show_cmd NONE (K I) stmt int))); |
509 Toplevel.proof' (fn int => Proof.chain #> Proof.show_cmd NONE (K I) fixes stmt int))); |
509 |
510 |
510 |
511 |
511 (* facts *) |
512 (* facts *) |
512 |
513 |
513 val facts = Parse.and_list1 Parse.xthms1; |
514 val facts = Parse.and_list1 Parse.xthms1; |