updated generated file;
authorwenzelm
Mon, 12 May 2008 23:01:13 +0200
changeset 26876d50ef6b952ba
parent 26875 e18574413bc4
child 26877 c3bb1f397811
updated generated file;
doc-src/IsarAdvanced/Functions/Thy/document/Functions.tex
     1.1 --- a/doc-src/IsarAdvanced/Functions/Thy/document/Functions.tex	Mon May 12 22:11:06 2008 +0200
     1.2 +++ b/doc-src/IsarAdvanced/Functions/Thy/document/Functions.tex	Mon May 12 23:01:13 2008 +0200
     1.3 @@ -318,7 +318,7 @@
     1.4    these are packed together into a tuple, as it happened in the above
     1.5    example.
     1.6  
     1.7 -  The predefined function \isa{measure{\isasymColon}{\isacharparenleft}{\isacharprime}a\ {\isasymRightarrow}\ nat{\isacharparenright}\ {\isasymRightarrow}\ {\isacharparenleft}{\isacharprime}a\ {\isasymtimes}\ {\isacharprime}a{\isacharparenright}\ set} constructs a
     1.8 +  The predefined function \isa{measure{\isasymColon}{\isacharparenleft}{\isacharprime}a\ {\isasymRightarrow}\ nat{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymtimes}\ {\isacharprime}a\ {\isasymRightarrow}\ bool} constructs a
     1.9    wellfounded relation from a mapping into the natural numbers (a
    1.10    \emph{measure function}). 
    1.11  
    1.12 @@ -833,7 +833,7 @@
    1.13  
    1.14    This is an arithmetic triviality, but unfortunately the
    1.15    \isa{arith} method cannot handle this specific form of an
    1.16 -  elimination rule. However, we can use the method \isa{elim{\isacharunderscore}to{\isacharunderscore}cases} to do an ad-hoc conversion to a disjunction of
    1.17 +  elimination rule. However, we can use the method \isa{atomize{\isacharunderscore}elim} to do an ad-hoc conversion to a disjunction of
    1.18    existentials, which can then be soved by the arithmetic decision procedure.
    1.19    Pattern compatibility and termination are automatic as usual.%
    1.20  \end{isamarkuptxt}%
    1.21 @@ -865,7 +865,7 @@
    1.22  %
    1.23  \isatagproof
    1.24  \isacommand{apply}\isamarkupfalse%
    1.25 -\ elim{\isacharunderscore}to{\isacharunderscore}cases\isanewline
    1.26 +\ atomize{\isacharunderscore}elim\isanewline
    1.27  \isacommand{apply}\isamarkupfalse%
    1.28  \ arith\isanewline
    1.29  \isacommand{apply}\isamarkupfalse%
    1.30 @@ -913,7 +913,7 @@
    1.31  %
    1.32  \isatagproof
    1.33  \isacommand{apply}\isamarkupfalse%
    1.34 -\ elim{\isacharunderscore}to{\isacharunderscore}cases\isanewline
    1.35 +\ atomize{\isacharunderscore}elim\isanewline
    1.36  \isacommand{by}\isamarkupfalse%
    1.37  \ arith{\isacharplus}%
    1.38  \endisatagproof
    1.39 @@ -978,7 +978,7 @@
    1.40  %
    1.41  \isatagproof
    1.42  \isacommand{by}\isamarkupfalse%
    1.43 -\ {\isacharparenleft}elim{\isacharunderscore}to{\isacharunderscore}cases{\isacharcomma}\ auto{\isacharcomma}\ arith{\isacharparenright}%
    1.44 +\ {\isacharparenleft}atomize{\isacharunderscore}elim{\isacharcomma}\ auto{\isacharcomma}\ arith{\isacharparenright}%
    1.45  \endisatagproof
    1.46  {\isafoldproof}%
    1.47  %
    1.48 @@ -1792,8 +1792,11 @@
    1.49    list functions \isa{rev} and \isa{map}:%
    1.50  \end{isamarkuptext}%
    1.51  \isamarkuptrue%
    1.52 -\isacommand{lemma}\isamarkupfalse%
    1.53 -\ {\isacharbrackleft}simp{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymin}\ set\ l\ {\isasymLongrightarrow}\ f\ x\ {\isacharless}\ Suc\ {\isacharparenleft}list{\isacharunderscore}size\ f\ l{\isacharparenright}{\isachardoublequoteclose}\isanewline
    1.54 +\isacommand{function}\isamarkupfalse%
    1.55 +\ mirror\ {\isacharcolon}{\isacharcolon}\ {\isachardoublequoteopen}{\isacharprime}a\ tree\ {\isasymRightarrow}\ {\isacharprime}a\ tree{\isachardoublequoteclose}\isanewline
    1.56 +\isakeyword{where}\isanewline
    1.57 +\ \ {\isachardoublequoteopen}mirror\ {\isacharparenleft}Leaf\ n{\isacharparenright}\ {\isacharequal}\ Leaf\ n{\isachardoublequoteclose}\isanewline
    1.58 +{\isacharbar}\ {\isachardoublequoteopen}mirror\ {\isacharparenleft}Branch\ l{\isacharparenright}\ {\isacharequal}\ Branch\ {\isacharparenleft}rev\ {\isacharparenleft}map\ mirror\ l{\isacharparenright}{\isacharparenright}{\isachardoublequoteclose}\isanewline
    1.59  %
    1.60  \isadelimproof
    1.61  %
    1.62 @@ -1801,21 +1804,14 @@
    1.63  %
    1.64  \isatagproof
    1.65  \isacommand{by}\isamarkupfalse%
    1.66 -\ {\isacharparenleft}induct\ l{\isacharparenright}\ auto%
    1.67 +\ pat{\isacharunderscore}completeness\ auto%
    1.68  \endisatagproof
    1.69  {\isafoldproof}%
    1.70  %
    1.71  \isadelimproof
    1.72 -\isanewline
    1.73  %
    1.74  \endisadelimproof
    1.75 -\isanewline
    1.76 -\isanewline
    1.77 -\isacommand{fun}\isamarkupfalse%
    1.78 -\ mirror\ {\isacharcolon}{\isacharcolon}\ {\isachardoublequoteopen}{\isacharprime}a\ tree\ {\isasymRightarrow}\ {\isacharprime}a\ tree{\isachardoublequoteclose}\isanewline
    1.79 -\isakeyword{where}\isanewline
    1.80 -\ \ {\isachardoublequoteopen}mirror\ {\isacharparenleft}Leaf\ n{\isacharparenright}\ {\isacharequal}\ Leaf\ n{\isachardoublequoteclose}\isanewline
    1.81 -{\isacharbar}\ {\isachardoublequoteopen}mirror\ {\isacharparenleft}Branch\ l{\isacharparenright}\ {\isacharequal}\ Branch\ {\isacharparenleft}rev\ {\isacharparenleft}map\ mirror\ l{\isacharparenright}{\isacharparenright}{\isachardoublequoteclose}%
    1.82 +%
    1.83  \begin{isamarkuptext}%
    1.84  \emph{Note: The handling of size functions is currently changing 
    1.85    in the developers version of Isabelle. So this documentation is outdated.}%