equal
deleted
inserted
replaced
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} |