doc-src/IsarRef/hol.tex
changeset 8692 ef6badee7dd6
parent 8666 6c21e6f91804
child 8710 d90bab9d001b
equal deleted inserted replaced
8691:734a0206e9f9 8692:ef6badee7dd6
   232 about large specifications.
   232 about large specifications.
   233 
   233 
   234 \begin{rail}
   234 \begin{rail}
   235   'cases' ('simplified' ':')? term? rule?  ;
   235   'cases' ('simplified' ':')? term? rule?  ;
   236 
   236 
   237   'induct' ('stripped' ':')? (inst * 'and') rule?
   237   'induct' ('stripped' ':')? (insts * 'and') rule?
   238   ;
   238   ;
   239 
   239 
   240   inst: (term +)
       
   241   ;
       
   242   rule: ('type' | 'set') ':' nameref | 'rule' ':' thmref
   240   rule: ('type' | 'set') ':' nameref | 'rule' ':' thmref
   243   ;
   241   ;
   244 \end{rail}
   242 \end{rail}
   245 
   243 
   246 \begin{descr}
   244 \begin{descr}
   343 \railterm{inducttac}
   341 \railterm{inducttac}
   344 
   342 
   345 \begin{rail}
   343 \begin{rail}
   346   casetac goalspec? term rule?
   344   casetac goalspec? term rule?
   347   ;
   345   ;
   348   inducttac goalspec? (var +) rule?
   346   inducttac goalspec? (insts * 'and') rule?
   349   ;
   347   ;
   350 
   348 
   351   rule: ('rule' ':' thmref)
   349   rule: ('rule' ':' thmref)
   352   ;
   350   ;
   353 \end{rail}
   351 \end{rail}
   354 
   352 
   355 By default, $case_tac$ and $induct_tac$ admit to reason about datatypes only,
   353 By default, $case_tac$ and $induct_tac$ admit to reason about datatypes only,
   356 unless an alternative explicit rule is given.  Also note that named local
   354 unless an alternative explicit rule is given; only variables may be given as
   357 contexts (see \S\ref{sec:cases}) are not provided as would be by the proper
   355 instantiation for $induct_tac$.  Also note that named local contexts (see
   358 $induct$ and $cases$ proof methods (see \S\ref{sec:induct-method-proper}).
   356 \S\ref{sec:cases}) are not provided as would be by the proper $induct$ and
       
   357 $cases$ proof methods (see \S\ref{sec:induct-method-proper}).
   359 
   358 
   360 
   359 
   361 \section{Arithmetic}
   360 \section{Arithmetic}
   362 
   361 
   363 \indexisarmeth{arith}
   362 \indexisarmeth{arith}