src/Pure/Isar/isar_syn.ML
changeset 6850 da8a4660fb0c
parent 6773 83c09a9684cf
child 6869 850812ed9976
equal deleted inserted replaced
6849:0b660860c0ad 6850:da8a4660fb0c
   290 val assumeP =
   290 val assumeP =
   291   OuterSyntax.command "assume" "assume propositions" K.prf_decl
   291   OuterSyntax.command "assume" "assume propositions" K.prf_decl
   292     ((P.opt_thm_name ":" -- Scan.repeat1 propp >> P.triple1) -- P.marg_comment
   292     ((P.opt_thm_name ":" -- Scan.repeat1 propp >> P.triple1) -- P.marg_comment
   293       >> (Toplevel.print oo (Toplevel.proof o IsarThy.assume)));
   293       >> (Toplevel.print oo (Toplevel.proof o IsarThy.assume)));
   294 
   294 
       
   295 val presumeP =
       
   296   OuterSyntax.command "presume" "assume propositions, to be established later" K.prf_decl
       
   297     ((P.opt_thm_name ":" -- Scan.repeat1 propp >> P.triple1) -- P.marg_comment
       
   298       >> (Toplevel.print oo (Toplevel.proof o IsarThy.presume)));
       
   299 
   295 val fixP =
   300 val fixP =
   296   OuterSyntax.command "fix" "fix variables (Skolem constants)" K.prf_decl
   301   OuterSyntax.command "fix" "fix variables (Skolem constants)" K.prf_decl
   297     (Scan.repeat1 (P.name -- Scan.option (P.$$$ "::" |-- P.typ)) -- P.marg_comment
   302     (Scan.repeat1 (P.name -- Scan.option (P.$$$ "::" |-- P.typ)) -- P.marg_comment
   298       >> (Toplevel.print oo (Toplevel.proof o IsarThy.fix)));
   303       >> (Toplevel.print oo (Toplevel.proof o IsarThy.fix)));
   299 
   304 
   343     (Scan.succeed IsarThy.default_proof);
   348     (Scan.succeed IsarThy.default_proof);
   344 
   349 
   345 
   350 
   346 (* proof steps *)
   351 (* proof steps *)
   347 
   352 
   348 val refineP =
   353 val applyP =
   349   OuterSyntax.improper_command "refine" "unstructured backward proof step, ignoring facts"
   354   OuterSyntax.improper_command "apply" "unstructured backward proof step, ignoring facts"
   350     K.prf_script (P.method >> (Toplevel.print oo (Toplevel.proof o IsarThy.tac)));
   355     K.prf_script (P.method >> (Toplevel.print oo (Toplevel.proof o IsarThy.tac)));
   351 
   356 
   352 val then_refineP =
   357 val then_applyP =
   353   OuterSyntax.improper_command "then_refine" "unstructured backward proof step, using facts"
   358   OuterSyntax.improper_command "then_apply" "unstructured backward proof step, using facts"
   354     K.prf_script (P.method >> (Toplevel.print oo (Toplevel.proof o IsarThy.then_tac)));
   359     K.prf_script (P.method >> (Toplevel.print oo (Toplevel.proof o IsarThy.then_tac)));
   355 
   360 
   356 val proofP =
   361 val proofP =
   357   OuterSyntax.command "proof" "backward proof" K.prf_block
   362   OuterSyntax.command "proof" "backward proof" K.prf_block
   358     (P.interest -- Scan.option (P.method -- P.interest)
   363     (P.interest -- Scan.option (P.method -- P.interest)
   539   constdefsP, theoremsP, lemmasP, globalP, localP, pathP, useP, mlP,
   544   constdefsP, theoremsP, lemmasP, globalP, localP, pathP, useP, mlP,
   540   setupP, parse_ast_translationP, parse_translationP,
   545   setupP, parse_ast_translationP, parse_translationP,
   541   print_translationP, typed_print_translationP,
   546   print_translationP, typed_print_translationP,
   542   print_ast_translationP, token_translationP, oracleP,
   547   print_ast_translationP, token_translationP, oracleP,
   543   (*proof commands*)
   548   (*proof commands*)
   544   theoremP, lemmaP, showP, haveP, thusP, henceP, assumeP, fixP, letP,
   549   theoremP, lemmaP, showP, haveP, thusP, henceP, assumeP, presumeP,
   545   thenP, fromP, noteP, beginP, endP, nextP, qed_withP, qedP,
   550   fixP, letP, thenP, fromP, noteP, beginP, endP, nextP, qed_withP,
   546   terminal_proofP, immediate_proofP, default_proofP, refineP,
   551   qedP, terminal_proofP, immediate_proofP, default_proofP, applyP,
   547   then_refineP, proofP, alsoP, finallyP, backP, prevP, upP, topP,
   552   then_applyP, proofP, alsoP, finallyP, backP, prevP, upP, topP,
   548   cannot_undoP, clear_undoP, redoP, undos_proofP, kill_proofP, undoP,
   553   cannot_undoP, clear_undoP, redoP, undos_proofP, kill_proofP, undoP,
   549   (*diagnostic commands*)
   554   (*diagnostic commands*)
   550   print_commandsP, print_theoryP, print_syntaxP, print_attributesP,
   555   print_commandsP, print_theoryP, print_syntaxP, print_attributesP,
   551   print_methodsP, print_theoremsP, print_bindsP, print_lthmsP,
   556   print_methodsP, print_theoremsP, print_bindsP, print_lthmsP,
   552   print_thmsP, print_propP, print_termP, print_typeP,
   557   print_thmsP, print_propP, print_termP, print_typeP,