src/Pure/Isar/isar_syn.ML
changeset 6742 6b5cb872d997
parent 6735 e5138b3dbd3b
child 6755 9f830d69a46d
equal deleted inserted replaced
6741:540fc00ec32b 6742:6b5cb872d997
    27   OuterSyntax.command "end" "end current excursion" K.thy_end
    27   OuterSyntax.command "end" "end current excursion" K.thy_end
    28     (Scan.succeed (Toplevel.print o Toplevel.exit));
    28     (Scan.succeed (Toplevel.print o Toplevel.exit));
    29 
    29 
    30 val kill_excursionP =
    30 val kill_excursionP =
    31   OuterSyntax.command "kill" "kill current excursion" K.control
    31   OuterSyntax.command "kill" "kill current excursion" K.control
    32     (Scan.succeed (Toplevel.print o Toplevel.kill));
    32     (Scan.succeed (Toplevel.print o IsarCmd.kill_theory));
    33 
    33 
    34 val contextP =
    34 val contextP =
    35   OuterSyntax.improper_command "context" "switch theory context" K.thy_begin
    35   OuterSyntax.improper_command "context" "switch theory context" K.thy_begin
    36     (P.name >> (Toplevel.print oo IsarThy.context));
    36     (P.name >> (Toplevel.print oo IsarThy.context));
    37 
    37 
   318     (Scan.succeed (Toplevel.print o Toplevel.proof IsarThy.next_block));
   318     (Scan.succeed (Toplevel.print o Toplevel.proof IsarThy.next_block));
   319 
   319 
   320 
   320 
   321 (* end proof *)
   321 (* end proof *)
   322 
   322 
   323 val kill_proofP =
       
   324   OuterSyntax.improper_command "kill_proof" "abort current proof" K.control
       
   325     (Scan.succeed (Toplevel.print o Toplevel.proof_to_theory IsarThy.kill_proof));
       
   326 
       
   327 val qed_withP =
   323 val qed_withP =
   328   OuterSyntax.improper_command "qed_with" "conclude proof, may patch name and attributes"
   324   OuterSyntax.improper_command "qed_with" "conclude proof, may patch name and attributes"
   329     K.qed_block
   325     K.qed_block
   330     (Scan.option P.name -- Scan.option P.attribs -- Scan.option (P.method -- P.interest)
   326     (Scan.option P.name -- Scan.option P.attribs -- Scan.option (P.method -- P.interest)
   331       >> (uncurry IsarThy.global_qed_with));
   327       >> (uncurry IsarThy.global_qed_with));
   361   OuterSyntax.command "proof" "backward proof" K.prf_block
   357   OuterSyntax.command "proof" "backward proof" K.prf_block
   362     (P.interest -- Scan.option (P.method -- P.interest)
   358     (P.interest -- Scan.option (P.method -- P.interest)
   363       >> (Toplevel.print oo (Toplevel.proof o IsarThy.proof)));
   359       >> (Toplevel.print oo (Toplevel.proof o IsarThy.proof)));
   364 
   360 
   365 
   361 
   366 (* proof history *)
   362 (* proof navigation *)
       
   363 
       
   364 val backP =
       
   365   OuterSyntax.improper_command "back" "backtracking of proof command" K.prf_script
       
   366     (Scan.succeed (Toplevel.print o Toplevel.proof ProofHistory.back));
       
   367 
       
   368 val prevP =
       
   369   OuterSyntax.improper_command "prev" "previous proof state" K.control
       
   370     (Scan.succeed (Toplevel.print o Toplevel.proof ProofHistory.prev));
       
   371 
       
   372 val upP =
       
   373   OuterSyntax.improper_command "up" "upper proof state" K.control
       
   374     (Scan.succeed (Toplevel.print o Toplevel.proof ProofHistory.up));
       
   375 
       
   376 val topP =
       
   377   OuterSyntax.improper_command "top" "to initial proof state" K.control
       
   378     (Scan.succeed (Toplevel.print o Toplevel.proof ProofHistory.top));
       
   379 
       
   380 
       
   381 (* history *)
   367 
   382 
   368 val cannot_undoP =
   383 val cannot_undoP =
   369   OuterSyntax.improper_command "cannot_undo" "report 'cannot undo' error message" K.control
   384   OuterSyntax.improper_command "cannot_undo" "report 'cannot undo' error message" K.control
   370     (P.name >> (Toplevel.print oo IsarCmd.cannot_undo));
   385     (P.name >> (Toplevel.print oo IsarCmd.cannot_undo));
   371 
   386 
   372 val clear_undoP =
   387 val clear_undoP =
   373   OuterSyntax.improper_command "clear_undo" "clear undo information" K.control
   388   OuterSyntax.improper_command "clear_undo" "clear undo information" K.control
   374     (Scan.succeed (Toplevel.print o IsarCmd.clear_undo));
   389     (Scan.succeed (Toplevel.print o IsarCmd.clear_undo));
   375 
   390 
       
   391 val redoP =
       
   392   OuterSyntax.improper_command "redo" "redo last command" K.control
       
   393     (Scan.succeed (Toplevel.print o IsarCmd.redo));
       
   394 
       
   395 val undos_proofP =
       
   396   OuterSyntax.improper_command "undos_proof" "undo last proof commands" K.control
       
   397     (P.nat >> (Toplevel.print oo IsarCmd.undos_proof));
       
   398 
       
   399 val kill_proofP =
       
   400   OuterSyntax.improper_command "kill_proof" "undo current proof" K.control
       
   401     (Scan.succeed (Toplevel.print o IsarCmd.kill_proof));
       
   402 
   376 val undoP =
   403 val undoP =
   377   OuterSyntax.improper_command "undo" "undo last command" K.control
   404   OuterSyntax.improper_command "undo" "undo last command" K.control
   378     (Scan.succeed (Toplevel.print o IsarCmd.undo));
   405     (Scan.succeed (Toplevel.print o IsarCmd.undo));
   379 
       
   380 val redoP =
       
   381   OuterSyntax.improper_command "redo" "redo last command" K.control
       
   382     (Scan.succeed (Toplevel.print o IsarCmd.redo));
       
   383 
       
   384 val undosP =
       
   385   OuterSyntax.improper_command "undos" "undo last commands" K.control
       
   386     (P.nat >> (fn n => Toplevel.print o IsarCmd.undos n));
       
   387 
       
   388 val backP =
       
   389   OuterSyntax.improper_command "back" "backtracking of proof command" K.prf_script
       
   390     (Scan.succeed (Toplevel.print o Toplevel.proof ProofHistory.back));
       
   391 
       
   392 val prevP =
       
   393   OuterSyntax.improper_command "prev" "previous proof state" K.control
       
   394     (Scan.succeed (Toplevel.print o Toplevel.proof ProofHistory.prev));
       
   395 
       
   396 val upP =
       
   397   OuterSyntax.improper_command "up" "upper proof state" K.control
       
   398     (Scan.succeed (Toplevel.print o Toplevel.proof ProofHistory.up));
       
   399 
       
   400 val topP =
       
   401   OuterSyntax.improper_command "top" "to initial proof state" K.control
       
   402     (Scan.succeed (Toplevel.print o Toplevel.proof ProofHistory.top));
       
   403 
   406 
   404 
   407 
   405 
   408 
   406 (** diagnostic commands (for interactive mode only) **)
   409 (** diagnostic commands (for interactive mode only) **)
   407 
   410 
   526   setupP, parse_ast_translationP, parse_translationP,
   529   setupP, parse_ast_translationP, parse_translationP,
   527   print_translationP, typed_print_translationP,
   530   print_translationP, typed_print_translationP,
   528   print_ast_translationP, token_translationP, oracleP,
   531   print_ast_translationP, token_translationP, oracleP,
   529   (*proof commands*)
   532   (*proof commands*)
   530   theoremP, lemmaP, showP, haveP, thusP, henceP, assumeP, fixP, letP,
   533   theoremP, lemmaP, showP, haveP, thusP, henceP, assumeP, fixP, letP,
   531   thenP, fromP, factsP, beginP, endP, nextP, kill_proofP, qed_withP,
   534   thenP, fromP, factsP, beginP, endP, nextP, qed_withP, qedP,
   532   qedP, terminal_proofP, immediate_proofP, default_proofP, refineP,
   535   terminal_proofP, immediate_proofP, default_proofP, refineP,
   533   then_refineP, proofP, cannot_undoP, clear_undoP, undoP, redoP,
   536   then_refineP, proofP, backP, prevP, upP, topP, cannot_undoP,
   534   undosP, backP, prevP, upP, topP,
   537   clear_undoP, redoP, undos_proofP, kill_proofP, undoP,
   535   (*diagnostic commands*)
   538   (*diagnostic commands*)
   536   print_commandsP, print_theoryP, print_syntaxP, print_attributesP,
   539   print_commandsP, print_theoryP, print_syntaxP, print_attributesP,
   537   print_methodsP, print_theoremsP, print_bindsP, print_lthmsP,
   540   print_methodsP, print_theoremsP, print_bindsP, print_lthmsP,
   538   print_thmsP, print_propP, print_termP, print_typeP,
   541   print_thmsP, print_propP, print_termP, print_typeP,
   539   (*system commands*)
   542   (*system commands*)