doc-src/IsarRef/Thy/HOL_Specific.thy
changeset 30169 9531eaafd781
parent 29560 fa6c5d62adf5
child 30171 5989863ffafc
equal deleted inserted replaced
30168:9a20be5be90b 30169:9531eaafd781
   766   The @{attribute (HOL) arith_split} attribute declares case split
   766   The @{attribute (HOL) arith_split} attribute declares case split
   767   rules to be expanded before the arithmetic procedure is invoked.
   767   rules to be expanded before the arithmetic procedure is invoked.
   768 
   768 
   769   Note that a simpler (but faster) version of arithmetic reasoning is
   769   Note that a simpler (but faster) version of arithmetic reasoning is
   770   already performed by the Simplifier.
   770   already performed by the Simplifier.
       
   771 *}
       
   772 
       
   773 
       
   774 section {* Intuitionistic proof search *}
       
   775 
       
   776 text {*
       
   777   \begin{matharray}{rcl}
       
   778     @{method_def (HOL) "iprover"} & : & @{text method} \\
       
   779   \end{matharray}
       
   780 
       
   781   \begin{rail}
       
   782     'iprover' ('!' ?) (rulemod *)
       
   783     ;
       
   784   \end{rail}
       
   785 
       
   786   The @{method iprover} method performs intuitionistic proof search,
       
   787   depending on specifically declared rules from the context, or given
       
   788   as explicit arguments.  Chained facts are inserted into the goal
       
   789   before commencing proof search; ``@{method iprover}@{text "!"}''
       
   790   means to include the current @{fact prems} as well.
       
   791   
       
   792   Rules need to be classified as @{attribute (Pure) intro},
       
   793   @{attribute (Pure) elim}, or @{attribute (Pure) dest}; here the
       
   794   ``@{text "!"}'' indicator refers to ``safe'' rules, which may be
       
   795   applied aggressively (without considering back-tracking later).
       
   796   Rules declared with ``@{text "?"}'' are ignored in proof search (the
       
   797   single-step @{method rule} method still observes these).  An
       
   798   explicit weight annotation may be given as well; otherwise the
       
   799   number of rule premises will be taken into account here.
   771 *}
   800 *}
   772 
   801 
   773 
   802 
   774 section {* Invoking automated reasoning tools -- The Sledgehammer *}
   803 section {* Invoking automated reasoning tools -- The Sledgehammer *}
   775 
   804