doc-src/TutorialI/document/Numbers.tex
author wenzelm
Thu, 26 Jul 2012 17:16:02 +0200
changeset 48519 5deda0549f97
parent 47183 doc-src/TutorialI/Types/document/Numbers.tex@f760e15343bc
child 48611 b34ff75c23a7
permissions -rw-r--r--
simplified Tutorial sessions; moved original version of generated .tex sources;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
     1
%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
     2
\begin{isabellebody}%
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
     3
\def\isabellecontext{Numbers}%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
     4
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
     5
\isadelimtheory
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
     6
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
     7
\endisadelimtheory
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
     8
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
     9
\isatagtheory
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
    10
\isacommand{theory}\isamarkupfalse%
27376
ffe9b958bada adjusted import
haftmann
parents: 25056
diff changeset
    11
\ Numbers\isanewline
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    12
\isakeyword{imports}\ Complex{\isaliteral{5F}{\isacharunderscore}}Main\isanewline
27376
ffe9b958bada adjusted import
haftmann
parents: 25056
diff changeset
    13
\isakeyword{begin}%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    14
\endisatagtheory
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    15
{\isafoldtheory}%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    16
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    17
\isadelimtheory
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
    18
\isanewline
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    19
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    20
\endisadelimtheory
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    21
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    22
\isadelimML
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    23
\isanewline
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    24
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    25
\endisadelimML
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    26
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    27
\isatagML
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
    28
\isacommand{ML}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    29
\ {\isaliteral{22}{\isachardoublequoteopen}}Pretty{\isaliteral{2E}{\isachardot}}margin{\isaliteral{5F}{\isacharunderscore}}default\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3D}{\isacharequal}}\ {\isadigit{6}}{\isadigit{4}}{\isaliteral{22}{\isachardoublequoteclose}}%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    30
\endisatagML
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    31
{\isafoldML}%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    32
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    33
\isadelimML
38767
d8da44a8dd25 proper context for various Thy_Output options, via official configuration options in ML and Isar;
wenzelm
parents: 37216
diff changeset
    34
\isanewline
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    35
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    36
\endisadelimML
38767
d8da44a8dd25 proper context for various Thy_Output options, via official configuration options in ML and Isar;
wenzelm
parents: 37216
diff changeset
    37
\isacommand{declare}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    38
\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5B}{\isacharbrackleft}}thy{\isaliteral{5F}{\isacharunderscore}}output{\isaliteral{5F}{\isacharunderscore}}indent\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{0}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{5D}{\isacharbrackright}}%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    39
\begin{isamarkuptext}%
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
    40
numeric literals; default simprules; can re-orient%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    41
\end{isamarkuptext}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
    42
\isamarkuptrue%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
    43
\isacommand{lemma}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    44
\ {\isaliteral{22}{\isachardoublequoteopen}}{\isadigit{2}}\ {\isaliteral{2A}{\isacharasterisk}}\ m\ {\isaliteral{3D}{\isacharequal}}\ m\ {\isaliteral{2B}{\isacharplus}}\ m{\isaliteral{22}{\isachardoublequoteclose}}%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    45
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    46
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    47
\endisadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    48
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    49
\isatagproof
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
    50
%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
    51
\begin{isamarkuptxt}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
    52
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    53
\ {\isadigit{1}}{\isaliteral{2E}{\isachardot}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{2}}{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ m\ {\isaliteral{3D}{\isacharequal}}\ m\ {\isaliteral{2B}{\isacharplus}}\ m%
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
    54
\end{isabelle}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
    55
\end{isamarkuptxt}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
    56
\isamarkuptrue%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
    57
\isacommand{oops}\isamarkupfalse%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
    58
%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    59
\endisatagproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    60
{\isafoldproof}%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    61
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    62
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    63
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    64
\endisadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
    65
\isanewline
15481
fc075ae929e4 the new subst tactic, by Lucas Dixon
paulson
parents: 15364
diff changeset
    66
\isanewline
44048
64f574163ca2 removed old recdef and types usage
nipkow
parents: 40406
diff changeset
    67
\isacommand{fun}\isamarkupfalse%
64f574163ca2 removed old recdef and types usage
nipkow
parents: 40406
diff changeset
    68
\ h\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ {\isaliteral{22}{\isachardoublequoteopen}}nat\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ nat{\isaliteral{22}{\isachardoublequoteclose}}\ \isakeyword{where}\isanewline
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    69
{\isaliteral{22}{\isachardoublequoteopen}}h\ i\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}if\ i\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{3}}\ then\ {\isadigit{2}}\ else\ i{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequoteclose}}%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    70
\begin{isamarkuptext}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    71
\isa{h\ {\isadigit{3}}\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{2}}}
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    72
\isa{h\ i\ {\isaliteral{3D}{\isacharequal}}\ i}%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    73
\end{isamarkuptext}%
11866
fbd097aec213 updated;
wenzelm
parents: 11708
diff changeset
    74
\isamarkuptrue%
10878
b254d5ad6dd4 auto update
paulson
parents: 10790
diff changeset
    75
%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    76
\begin{isamarkuptext}%
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    77
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    78
Numeral{\isadigit{1}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{1}}{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{29}{\isacharparenright}}%
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
    79
\end{isabelle}
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    80
\rulename{numeral_1_eq_1}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
    81
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    82
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    83
{\isadigit{2}}\ {\isaliteral{2B}{\isacharplus}}\ n\ {\isaliteral{3D}{\isacharequal}}\ Suc\ {\isaliteral{28}{\isacharparenleft}}Suc\ n{\isaliteral{29}{\isacharparenright}}%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    84
\end{isabelle}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
    85
\rulename{add_2_eq_Suc}
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    86
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    87
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    88
n\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{2}}\ {\isaliteral{3D}{\isacharequal}}\ Suc\ {\isaliteral{28}{\isacharparenleft}}Suc\ n{\isaliteral{29}{\isacharparenright}}%
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
    89
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
    90
\rulename{add_2_eq_Suc'}
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
    91
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    92
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    93
a\ {\isaliteral{2B}{\isacharplus}}\ b\ {\isaliteral{2B}{\isacharplus}}\ c\ {\isaliteral{3D}{\isacharequal}}\ a\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{28}{\isacharparenleft}}b\ {\isaliteral{2B}{\isacharplus}}\ c{\isaliteral{29}{\isacharparenright}}%
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
    94
\end{isabelle}
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    95
\rulename{add_assoc}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
    96
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
    97
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
    98
a\ {\isaliteral{2B}{\isacharplus}}\ b\ {\isaliteral{3D}{\isacharequal}}\ b\ {\isaliteral{2B}{\isacharplus}}\ a%
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
    99
\end{isabelle}
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   100
\rulename{add_commute}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   101
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   102
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   103
b\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{28}{\isacharparenleft}}a\ {\isaliteral{2B}{\isacharplus}}\ c{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ a\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{28}{\isacharparenleft}}b\ {\isaliteral{2B}{\isacharplus}}\ c{\isaliteral{29}{\isacharparenright}}%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   104
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   105
\rulename{add_left_commute}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   106
49109fe3e919 auto generated
paulson
parents:
diff changeset
   107
these form add_ac; similarly there is mult_ac%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   108
\end{isamarkuptext}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   109
\isamarkuptrue%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   110
\isacommand{lemma}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   111
\ {\isaliteral{22}{\isachardoublequoteopen}}Suc{\isaliteral{28}{\isacharparenleft}}i\ {\isaliteral{2B}{\isacharplus}}\ j{\isaliteral{2A}{\isacharasterisk}}l{\isaliteral{2A}{\isacharasterisk}}k\ {\isaliteral{2B}{\isacharplus}}\ m{\isaliteral{2A}{\isacharasterisk}}n{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ f\ {\isaliteral{28}{\isacharparenleft}}n{\isaliteral{2A}{\isacharasterisk}}m\ {\isaliteral{2B}{\isacharplus}}\ i\ {\isaliteral{2B}{\isacharplus}}\ k{\isaliteral{2A}{\isacharasterisk}}j{\isaliteral{2A}{\isacharasterisk}}l{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequoteclose}}%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   112
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   113
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   114
\endisadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   115
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   116
\isatagproof
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   117
%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   118
\begin{isamarkuptxt}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   119
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   120
\ {\isadigit{1}}{\isaliteral{2E}{\isachardot}}\ Suc\ {\isaliteral{28}{\isacharparenleft}}i\ {\isaliteral{2B}{\isacharplus}}\ j\ {\isaliteral{2A}{\isacharasterisk}}\ l\ {\isaliteral{2A}{\isacharasterisk}}\ k\ {\isaliteral{2B}{\isacharplus}}\ m\ {\isaliteral{2A}{\isacharasterisk}}\ n{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ f\ {\isaliteral{28}{\isacharparenleft}}n\ {\isaliteral{2A}{\isacharasterisk}}\ m\ {\isaliteral{2B}{\isacharplus}}\ i\ {\isaliteral{2B}{\isacharplus}}\ k\ {\isaliteral{2A}{\isacharasterisk}}\ j\ {\isaliteral{2A}{\isacharasterisk}}\ l{\isaliteral{29}{\isacharparenright}}%
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   121
\end{isabelle}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   122
\end{isamarkuptxt}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   123
\isamarkuptrue%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   124
\isacommand{apply}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   125
\ {\isaliteral{28}{\isacharparenleft}}simp\ add{\isaliteral{3A}{\isacharcolon}}\ add{\isaliteral{5F}{\isacharunderscore}}ac\ mult{\isaliteral{5F}{\isacharunderscore}}ac{\isaliteral{29}{\isacharparenright}}%
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   126
\begin{isamarkuptxt}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   127
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   128
\ {\isadigit{1}}{\isaliteral{2E}{\isachardot}}\ Suc\ {\isaliteral{28}{\isacharparenleft}}i\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{28}{\isacharparenleft}}m\ {\isaliteral{2A}{\isacharasterisk}}\ n\ {\isaliteral{2B}{\isacharplus}}\ j\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}k\ {\isaliteral{2A}{\isacharasterisk}}\ l{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   129
\isaindent{\ {\isadigit{1}}{\isaliteral{2E}{\isachardot}}\ }f\ {\isaliteral{28}{\isacharparenleft}}i\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{28}{\isacharparenleft}}m\ {\isaliteral{2A}{\isacharasterisk}}\ n\ {\isaliteral{2B}{\isacharplus}}\ j\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}k\ {\isaliteral{2A}{\isacharasterisk}}\ l{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}%
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   130
\end{isabelle}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   131
\end{isamarkuptxt}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   132
\isamarkuptrue%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   133
\isacommand{oops}\isamarkupfalse%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   134
%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   135
\endisatagproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   136
{\isafoldproof}%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   137
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   138
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   139
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   140
\endisadelimproof
11866
fbd097aec213 updated;
wenzelm
parents: 11708
diff changeset
   141
%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   142
\begin{isamarkuptext}%
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   143
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   144
m\ {\isaliteral{5C3C6C653E}{\isasymle}}\ n\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ m\ div\ k\ {\isaliteral{5C3C6C653E}{\isasymle}}\ n\ div\ k%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   145
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   146
\rulename{div_le_mono}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   147
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   148
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   149
{\isaliteral{28}{\isacharparenleft}}m\ {\isaliteral{2D}{\isacharminus}}\ n{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ k\ {\isaliteral{3D}{\isacharequal}}\ m\ {\isaliteral{2A}{\isacharasterisk}}\ k\ {\isaliteral{2D}{\isacharminus}}\ n\ {\isaliteral{2A}{\isacharasterisk}}\ k%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   150
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   151
\rulename{diff_mult_distrib}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   152
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   153
\begin{isabelle}%
47183
f760e15343bc removed references to obsolete theorems
huffman
parents: 44048
diff changeset
   154
a\ mod\ b\ {\isaliteral{2A}{\isacharasterisk}}\ c\ {\isaliteral{3D}{\isacharequal}}\ a\ {\isaliteral{2A}{\isacharasterisk}}\ c\ mod\ {\isaliteral{28}{\isacharparenleft}}b\ {\isaliteral{2A}{\isacharasterisk}}\ c{\isaliteral{29}{\isacharparenright}}%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   155
\end{isabelle}
47183
f760e15343bc removed references to obsolete theorems
huffman
parents: 44048
diff changeset
   156
\rulename{mult_mod_left}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   157
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   158
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   159
P\ {\isaliteral{28}{\isacharparenleft}}a\ {\isaliteral{2D}{\isacharminus}}\ b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{28}{\isacharparenleft}}a\ {\isaliteral{3C}{\isacharless}}\ b\ {\isaliteral{5C3C6C6F6E6772696768746172726F773E}{\isasymlongrightarrow}}\ P\ {\isadigit{0}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C616E643E}{\isasymand}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5C3C666F72616C6C3E}{\isasymforall}}d{\isaliteral{2E}{\isachardot}}\ a\ {\isaliteral{3D}{\isacharequal}}\ b\ {\isaliteral{2B}{\isacharplus}}\ d\ {\isaliteral{5C3C6C6F6E6772696768746172726F773E}{\isasymlongrightarrow}}\ P\ d{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}%
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   160
\end{isabelle}
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   161
\rulename{nat_diff_split}%
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   162
\end{isamarkuptext}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   163
\isamarkuptrue%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   164
\isacommand{lemma}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   165
\ {\isaliteral{22}{\isachardoublequoteopen}}{\isaliteral{28}{\isacharparenleft}}n\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}n\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ n\ {\isaliteral{2A}{\isacharasterisk}}\ n\ {\isaliteral{2D}{\isacharminus}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{1}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}nat{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequoteclose}}\isanewline
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   166
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   167
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   168
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   169
\endisadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   170
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   171
\isatagproof
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   172
\isacommand{apply}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   173
\ {\isaliteral{28}{\isacharparenleft}}clarsimp\ split{\isaliteral{3A}{\isacharcolon}}\ nat{\isaliteral{5F}{\isacharunderscore}}diff{\isaliteral{5F}{\isacharunderscore}}split\ iff\ del{\isaliteral{3A}{\isacharcolon}}\ less{\isaliteral{5F}{\isacharunderscore}}Suc{\isadigit{0}}{\isaliteral{29}{\isacharparenright}}\isanewline
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   174
\ %
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   175
\isamarkupcmt{\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   176
\ {\isadigit{1}}{\isaliteral{2E}{\isachardot}}\ {\isaliteral{5C3C416E643E}{\isasymAnd}}d{\isaliteral{2E}{\isachardot}}\ {\isaliteral{5C3C6C6272616B6B3E}{\isasymlbrakk}}n\ {\isaliteral{3C}{\isacharless}}\ Suc\ {\isadigit{0}}{\isaliteral{3B}{\isacharsemicolon}}\ n\ {\isaliteral{2A}{\isacharasterisk}}\ n\ {\isaliteral{3D}{\isacharequal}}\ Suc\ d{\isaliteral{5C3C726272616B6B3E}{\isasymrbrakk}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ d\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{0}}%
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   177
\end{isabelle}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   178
}
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   179
\isanewline
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   180
\isacommand{apply}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   181
\ {\isaliteral{28}{\isacharparenleft}}subgoal{\isaliteral{5F}{\isacharunderscore}}tac\ {\isaliteral{22}{\isachardoublequoteopen}}n{\isaliteral{3D}{\isacharequal}}{\isadigit{0}}{\isaliteral{22}{\isachardoublequoteclose}}{\isaliteral{2C}{\isacharcomma}}\ force{\isaliteral{2C}{\isacharcomma}}\ arith{\isaliteral{29}{\isacharparenright}}\isanewline
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   182
\isacommand{done}\isamarkupfalse%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   183
%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   184
\endisatagproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   185
{\isafoldproof}%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   186
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   187
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   188
\isanewline
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   189
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   190
\endisadelimproof
12156
d2758965362e new-style numerals without leading #, along with generic 0 and 1
paulson
parents: 11870
diff changeset
   191
\isanewline
d2758965362e new-style numerals without leading #, along with generic 0 and 1
paulson
parents: 11870
diff changeset
   192
\isanewline
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   193
\isacommand{lemma}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   194
\ {\isaliteral{22}{\isachardoublequoteopen}}{\isaliteral{28}{\isacharparenleft}}n\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}n\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ n\ {\isaliteral{2A}{\isacharasterisk}}\ n\ {\isaliteral{2D}{\isacharminus}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{4}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}nat{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequoteclose}}\isanewline
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   195
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   196
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   197
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   198
\endisadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   199
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   200
\isatagproof
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   201
\isacommand{apply}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   202
\ {\isaliteral{28}{\isacharparenleft}}simp\ split{\isaliteral{3A}{\isacharcolon}}\ nat{\isaliteral{5F}{\isacharunderscore}}diff{\isaliteral{5F}{\isacharunderscore}}split{\isaliteral{2C}{\isacharcomma}}\ clarify{\isaliteral{29}{\isacharparenright}}\isanewline
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   203
\ %
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   204
\isamarkupcmt{\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   205
\ {\isadigit{1}}{\isaliteral{2E}{\isachardot}}\ {\isaliteral{5C3C416E643E}{\isasymAnd}}d{\isaliteral{2E}{\isachardot}}\ {\isaliteral{5C3C6C6272616B6B3E}{\isasymlbrakk}}n\ {\isaliteral{3C}{\isacharless}}\ {\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\ n\ {\isaliteral{2A}{\isacharasterisk}}\ n\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{4}}\ {\isaliteral{2B}{\isacharplus}}\ d{\isaliteral{5C3C726272616B6B3E}{\isasymrbrakk}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ d\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{0}}%
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   206
\end{isabelle}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   207
}
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   208
\isanewline
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   209
\isacommand{apply}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   210
\ {\isaliteral{28}{\isacharparenleft}}subgoal{\isaliteral{5F}{\isacharunderscore}}tac\ {\isaliteral{22}{\isachardoublequoteopen}}n{\isaliteral{3D}{\isacharequal}}{\isadigit{0}}\ {\isaliteral{7C}{\isacharbar}}\ n{\isaliteral{3D}{\isacharequal}}{\isadigit{1}}{\isaliteral{22}{\isachardoublequoteclose}}{\isaliteral{2C}{\isacharcomma}}\ force{\isaliteral{2C}{\isacharcomma}}\ arith{\isaliteral{29}{\isacharparenright}}\isanewline
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   211
\isacommand{done}\isamarkupfalse%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   212
%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   213
\endisatagproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   214
{\isafoldproof}%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   215
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   216
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   217
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   218
\endisadelimproof
11866
fbd097aec213 updated;
wenzelm
parents: 11708
diff changeset
   219
%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   220
\begin{isamarkuptext}%
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   221
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   222
m\ mod\ n\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}if\ m\ {\isaliteral{3C}{\isacharless}}\ n\ then\ m\ else\ {\isaliteral{28}{\isacharparenleft}}m\ {\isaliteral{2D}{\isacharminus}}\ n{\isaliteral{29}{\isacharparenright}}\ mod\ n{\isaliteral{29}{\isacharparenright}}%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   223
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   224
\rulename{mod_if}
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   225
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   226
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   227
a\ div\ b\ {\isaliteral{2A}{\isacharasterisk}}\ b\ {\isaliteral{2B}{\isacharplus}}\ a\ mod\ b\ {\isaliteral{3D}{\isacharequal}}\ a%
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   228
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   229
\rulename{mod_div_equality}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   230
49109fe3e919 auto generated
paulson
parents:
diff changeset
   231
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   232
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   233
a\ {\isaliteral{2A}{\isacharasterisk}}\ b\ div\ c\ {\isaliteral{3D}{\isacharequal}}\ a\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}b\ div\ c{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2B}{\isacharplus}}\ a\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}b\ mod\ c{\isaliteral{29}{\isacharparenright}}\ div\ c%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   234
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   235
\rulename{div_mult1_eq}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   236
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   237
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   238
a\ {\isaliteral{2A}{\isacharasterisk}}\ b\ mod\ c\ {\isaliteral{3D}{\isacharequal}}\ a\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}b\ mod\ c{\isaliteral{29}{\isacharparenright}}\ mod\ c%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   239
\end{isabelle}
30224
79136ce06bdb removed and renamed redundant lemmas
nipkow
parents: 30200
diff changeset
   240
\rulename{mod_mult_right_eq}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   241
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   242
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   243
a\ div\ {\isaliteral{28}{\isacharparenleft}}b\ {\isaliteral{2A}{\isacharasterisk}}\ c{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ a\ div\ b\ div\ c%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   244
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   245
\rulename{div_mult2_eq}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   246
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   247
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   248
a\ mod\ {\isaliteral{28}{\isacharparenleft}}b\ {\isaliteral{2A}{\isacharasterisk}}\ c{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ b\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}a\ div\ b\ mod\ c{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2B}{\isacharplus}}\ a\ mod\ b%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   249
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   250
\rulename{mod_mult2_eq}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   251
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   252
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   253
c\ {\isaliteral{5C3C6E6F7465713E}{\isasymnoteq}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ c\ {\isaliteral{2A}{\isacharasterisk}}\ a\ div\ {\isaliteral{28}{\isacharparenleft}}c\ {\isaliteral{2A}{\isacharasterisk}}\ b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ a\ div\ b%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   254
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   255
\rulename{div_mult_mult1}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   256
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   257
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   258
a\ div\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{29}{\isacharparenright}}%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   259
\end{isabelle}
27658
674496eb5965 (adjusted)
haftmann
parents: 27376
diff changeset
   260
\rulename{div_by_0}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   261
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   262
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   263
a\ mod\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ a%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   264
\end{isabelle}
27658
674496eb5965 (adjusted)
haftmann
parents: 27376
diff changeset
   265
\rulename{mod_by_0}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   266
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   267
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   268
{\isaliteral{5C3C6C6272616B6B3E}{\isasymlbrakk}}m\ dvd\ n{\isaliteral{3B}{\isacharsemicolon}}\ n\ dvd\ m{\isaliteral{5C3C726272616B6B3E}{\isasymrbrakk}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ m\ {\isaliteral{3D}{\isacharequal}}\ n%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   269
\end{isabelle}
33750
0a0d6d79d984 anti_sym -> antisym
nipkow
parents: 32836
diff changeset
   270
\rulename{dvd_antisym}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   271
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   272
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   273
{\isaliteral{5C3C6C6272616B6B3E}{\isasymlbrakk}}a\ dvd\ b{\isaliteral{3B}{\isacharsemicolon}}\ a\ dvd\ c{\isaliteral{5C3C726272616B6B3E}{\isasymrbrakk}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ a\ dvd\ b\ {\isaliteral{2B}{\isacharplus}}\ c%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   274
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   275
\rulename{dvd_add}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   276
49109fe3e919 auto generated
paulson
parents:
diff changeset
   277
For the integers, I'd list a few theorems that somehow involve negative 
13758
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   278
numbers.%
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   279
\end{isamarkuptext}%
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   280
\isamarkuptrue%
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   281
%
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   282
\begin{isamarkuptext}%
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   283
Division, remainder of negatives
49109fe3e919 auto generated
paulson
parents:
diff changeset
   284
49109fe3e919 auto generated
paulson
parents:
diff changeset
   285
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   286
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   287
{\isadigit{0}}\ {\isaliteral{3C}{\isacharless}}\ b\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ {\isadigit{0}}\ {\isaliteral{5C3C6C653E}{\isasymle}}\ a\ mod\ b%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   288
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   289
\rulename{pos_mod_sign}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   290
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   291
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   292
{\isadigit{0}}\ {\isaliteral{3C}{\isacharless}}\ b\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ a\ mod\ b\ {\isaliteral{3C}{\isacharless}}\ b%
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   293
\end{isabelle}
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   294
\rulename{pos_mod_bound}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   295
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   296
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   297
b\ {\isaliteral{3C}{\isacharless}}\ {\isadigit{0}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ a\ mod\ b\ {\isaliteral{5C3C6C653E}{\isasymle}}\ {\isadigit{0}}%
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   298
\end{isabelle}
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   299
\rulename{neg_mod_sign}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   300
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   301
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   302
b\ {\isaliteral{3C}{\isacharless}}\ {\isadigit{0}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ b\ {\isaliteral{3C}{\isacharless}}\ a\ mod\ b%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   303
\end{isabelle}
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   304
\rulename{neg_mod_bound}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   305
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   306
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   307
{\isaliteral{28}{\isacharparenleft}}a\ {\isaliteral{2B}{\isacharplus}}\ b{\isaliteral{29}{\isacharparenright}}\ div\ c\ {\isaliteral{3D}{\isacharequal}}\ a\ div\ c\ {\isaliteral{2B}{\isacharplus}}\ b\ div\ c\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{28}{\isacharparenleft}}a\ mod\ c\ {\isaliteral{2B}{\isacharplus}}\ b\ mod\ c{\isaliteral{29}{\isacharparenright}}\ div\ c%
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   308
\end{isabelle}
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   309
\rulename{zdiv_zadd1_eq}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   310
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   311
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   312
{\isaliteral{28}{\isacharparenleft}}a\ {\isaliteral{2B}{\isacharplus}}\ b{\isaliteral{29}{\isacharparenright}}\ mod\ c\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}a\ mod\ c\ {\isaliteral{2B}{\isacharplus}}\ b\ mod\ c{\isaliteral{29}{\isacharparenright}}\ mod\ c%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   313
\end{isabelle}
30224
79136ce06bdb removed and renamed redundant lemmas
nipkow
parents: 30200
diff changeset
   314
\rulename{mod_add_eq}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   315
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   316
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   317
a\ {\isaliteral{2A}{\isacharasterisk}}\ b\ div\ c\ {\isaliteral{3D}{\isacharequal}}\ a\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}b\ div\ c{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2B}{\isacharplus}}\ a\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}b\ mod\ c{\isaliteral{29}{\isacharparenright}}\ div\ c%
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   318
\end{isabelle}
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   319
\rulename{zdiv_zmult1_eq}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   320
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   321
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   322
a\ {\isaliteral{2A}{\isacharasterisk}}\ b\ mod\ c\ {\isaliteral{3D}{\isacharequal}}\ a\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}b\ mod\ c{\isaliteral{29}{\isacharparenright}}\ mod\ c%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   323
\end{isabelle}
47183
f760e15343bc removed references to obsolete theorems
huffman
parents: 44048
diff changeset
   324
\rulename{mod_mult_right_eq}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   325
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   326
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   327
{\isadigit{0}}\ {\isaliteral{3C}{\isacharless}}\ c\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ a\ div\ {\isaliteral{28}{\isacharparenleft}}b\ {\isaliteral{2A}{\isacharasterisk}}\ c{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ a\ div\ b\ div\ c%
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   328
\end{isabelle}
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   329
\rulename{zdiv_zmult2_eq}
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   330
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   331
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   332
{\isadigit{0}}\ {\isaliteral{3C}{\isacharless}}\ c\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ a\ mod\ {\isaliteral{28}{\isacharparenleft}}b\ {\isaliteral{2A}{\isacharasterisk}}\ c{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ b\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}a\ div\ b\ mod\ c{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2B}{\isacharplus}}\ a\ mod\ b%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   333
\end{isabelle}
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   334
\rulename{zmod_zmult2_eq}%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   335
\end{isamarkuptext}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   336
\isamarkuptrue%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   337
\isacommand{lemma}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   338
\ {\isaliteral{22}{\isachardoublequoteopen}}abs\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{2B}{\isacharplus}}y{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C6C653E}{\isasymle}}\ abs\ x\ {\isaliteral{2B}{\isacharplus}}\ abs\ {\isaliteral{28}{\isacharparenleft}}y\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ int{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequoteclose}}\isanewline
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   339
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   340
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   341
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   342
\endisadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   343
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   344
\isatagproof
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   345
\isacommand{by}\isamarkupfalse%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   346
\ arith%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   347
\endisatagproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   348
{\isafoldproof}%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   349
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   350
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   351
\isanewline
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   352
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   353
\endisadelimproof
15481
fc075ae929e4 the new subst tactic, by Lucas Dixon
paulson
parents: 15364
diff changeset
   354
\isanewline
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   355
\isacommand{lemma}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   356
\ {\isaliteral{22}{\isachardoublequoteopen}}abs\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{2}}{\isaliteral{2A}{\isacharasterisk}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{2}}\ {\isaliteral{2A}{\isacharasterisk}}\ abs\ {\isaliteral{28}{\isacharparenleft}}x\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ int{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequoteclose}}\isanewline
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   357
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   358
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   359
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   360
\endisadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   361
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   362
\isatagproof
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   363
\isacommand{by}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   364
\ {\isaliteral{28}{\isacharparenleft}}simp\ add{\isaliteral{3A}{\isacharcolon}}\ abs{\isaliteral{5F}{\isacharunderscore}}if{\isaliteral{29}{\isacharparenright}}%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   365
\endisatagproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   366
{\isafoldproof}%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   367
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   368
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   369
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   370
\endisadelimproof
11866
fbd097aec213 updated;
wenzelm
parents: 11708
diff changeset
   371
%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   372
\begin{isamarkuptext}%
13758
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   373
Induction rules for the Integers
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   374
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   375
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   376
{\isaliteral{5C3C6C6272616B6B3E}{\isasymlbrakk}}k\ {\isaliteral{5C3C6C653E}{\isasymle}}\ i{\isaliteral{3B}{\isacharsemicolon}}\ P\ k{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{5C3C416E643E}{\isasymAnd}}i{\isaliteral{2E}{\isachardot}}\ {\isaliteral{5C3C6C6272616B6B3E}{\isasymlbrakk}}k\ {\isaliteral{5C3C6C653E}{\isasymle}}\ i{\isaliteral{3B}{\isacharsemicolon}}\ P\ i{\isaliteral{5C3C726272616B6B3E}{\isasymrbrakk}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ P\ {\isaliteral{28}{\isacharparenleft}}i\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{5C3C726272616B6B3E}{\isasymrbrakk}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ P\ i%
13758
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   377
\end{isabelle}
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   378
\rulename{int_ge_induct}
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   379
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   380
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   381
{\isaliteral{5C3C6C6272616B6B3E}{\isasymlbrakk}}k\ {\isaliteral{3C}{\isacharless}}\ i{\isaliteral{3B}{\isacharsemicolon}}\ P\ {\isaliteral{28}{\isacharparenleft}}k\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{5C3C416E643E}{\isasymAnd}}i{\isaliteral{2E}{\isachardot}}\ {\isaliteral{5C3C6C6272616B6B3E}{\isasymlbrakk}}k\ {\isaliteral{3C}{\isacharless}}\ i{\isaliteral{3B}{\isacharsemicolon}}\ P\ i{\isaliteral{5C3C726272616B6B3E}{\isasymrbrakk}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ P\ {\isaliteral{28}{\isacharparenleft}}i\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{5C3C726272616B6B3E}{\isasymrbrakk}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ P\ i%
13758
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   382
\end{isabelle}
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   383
\rulename{int_gr_induct}
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   384
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   385
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   386
{\isaliteral{5C3C6C6272616B6B3E}{\isasymlbrakk}}i\ {\isaliteral{5C3C6C653E}{\isasymle}}\ k{\isaliteral{3B}{\isacharsemicolon}}\ P\ k{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{5C3C416E643E}{\isasymAnd}}i{\isaliteral{2E}{\isachardot}}\ {\isaliteral{5C3C6C6272616B6B3E}{\isasymlbrakk}}i\ {\isaliteral{5C3C6C653E}{\isasymle}}\ k{\isaliteral{3B}{\isacharsemicolon}}\ P\ i{\isaliteral{5C3C726272616B6B3E}{\isasymrbrakk}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ P\ {\isaliteral{28}{\isacharparenleft}}i\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{5C3C726272616B6B3E}{\isasymrbrakk}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ P\ i%
13758
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   387
\end{isabelle}
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   388
\rulename{int_le_induct}
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   389
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   390
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   391
{\isaliteral{5C3C6C6272616B6B3E}{\isasymlbrakk}}i\ {\isaliteral{3C}{\isacharless}}\ k{\isaliteral{3B}{\isacharsemicolon}}\ P\ {\isaliteral{28}{\isacharparenleft}}k\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{5C3C416E643E}{\isasymAnd}}i{\isaliteral{2E}{\isachardot}}\ {\isaliteral{5C3C6C6272616B6B3E}{\isasymlbrakk}}i\ {\isaliteral{3C}{\isacharless}}\ k{\isaliteral{3B}{\isacharsemicolon}}\ P\ i{\isaliteral{5C3C726272616B6B3E}{\isasymrbrakk}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ P\ {\isaliteral{28}{\isacharparenleft}}i\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{5C3C726272616B6B3E}{\isasymrbrakk}}\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ P\ i%
13758
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   392
\end{isabelle}
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   393
\rulename{int_less_induct}%
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   394
\end{isamarkuptext}%
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   395
\isamarkuptrue%
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   396
%
ee898d32de21 auto-update
paulson
parents: 12844
diff changeset
   397
\begin{isamarkuptext}%
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   398
FIELDS
10776
985066e9495d updated;
wenzelm
parents: 10696
diff changeset
   399
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   400
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   401
x\ {\isaliteral{3C}{\isacharless}}\ y\ {\isaliteral{5C3C4C6F6E6772696768746172726F773E}{\isasymLongrightarrow}}\ {\isaliteral{5C3C6578697374733E}{\isasymexists}}z{\isaliteral{3E}{\isachargreater}}x{\isaliteral{2E}{\isachardot}}\ z\ {\isaliteral{3C}{\isacharless}}\ y%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   402
\end{isabelle}
14295
7f115e5c5de4 more general lemmas for Ring_and_Field
paulson
parents: 14288
diff changeset
   403
\rulename{dense}
10776
985066e9495d updated;
wenzelm
parents: 10696
diff changeset
   404
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   405
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   406
a\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}b\ {\isaliteral{2F}{\isacharslash}}\ c{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ a\ {\isaliteral{2A}{\isacharasterisk}}\ b\ {\isaliteral{2F}{\isacharslash}}\ c%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   407
\end{isabelle}
14288
d149e3cbdb39 Moving some theorems from Real/RealArith0.ML
paulson
parents: 14270
diff changeset
   408
\rulename{times_divide_eq_right}
10776
985066e9495d updated;
wenzelm
parents: 10696
diff changeset
   409
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   410
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   411
b\ {\isaliteral{2F}{\isacharslash}}\ c\ {\isaliteral{2A}{\isacharasterisk}}\ a\ {\isaliteral{3D}{\isacharequal}}\ b\ {\isaliteral{2A}{\isacharasterisk}}\ a\ {\isaliteral{2F}{\isacharslash}}\ c%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   412
\end{isabelle}
14288
d149e3cbdb39 Moving some theorems from Real/RealArith0.ML
paulson
parents: 14270
diff changeset
   413
\rulename{times_divide_eq_left}
10776
985066e9495d updated;
wenzelm
parents: 10696
diff changeset
   414
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   415
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   416
a\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}b\ {\isaliteral{2F}{\isacharslash}}\ c{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ a\ {\isaliteral{2A}{\isacharasterisk}}\ c\ {\isaliteral{2F}{\isacharslash}}\ b%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   417
\end{isabelle}
14288
d149e3cbdb39 Moving some theorems from Real/RealArith0.ML
paulson
parents: 14270
diff changeset
   418
\rulename{divide_divide_eq_right}
10776
985066e9495d updated;
wenzelm
parents: 10696
diff changeset
   419
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   420
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   421
a\ {\isaliteral{2F}{\isacharslash}}\ b\ {\isaliteral{2F}{\isacharslash}}\ c\ {\isaliteral{3D}{\isacharequal}}\ a\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}b\ {\isaliteral{2A}{\isacharasterisk}}\ c{\isaliteral{29}{\isacharparenright}}%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   422
\end{isabelle}
14288
d149e3cbdb39 Moving some theorems from Real/RealArith0.ML
paulson
parents: 14270
diff changeset
   423
\rulename{divide_divide_eq_left}
10776
985066e9495d updated;
wenzelm
parents: 10696
diff changeset
   424
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   425
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   426
{\isaliteral{2D}{\isacharminus}}\ {\isaliteral{28}{\isacharparenleft}}a\ {\isaliteral{2F}{\isacharslash}}\ b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{2D}{\isacharminus}}\ a\ {\isaliteral{2F}{\isacharslash}}\ b%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   427
\end{isabelle}
14295
7f115e5c5de4 more general lemmas for Ring_and_Field
paulson
parents: 14288
diff changeset
   428
\rulename{minus_divide_left}
10776
985066e9495d updated;
wenzelm
parents: 10696
diff changeset
   429
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   430
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   431
{\isaliteral{2D}{\isacharminus}}\ {\isaliteral{28}{\isacharparenleft}}a\ {\isaliteral{2F}{\isacharslash}}\ b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ a\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{2D}{\isacharminus}}\ b%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   432
\end{isabelle}
14295
7f115e5c5de4 more general lemmas for Ring_and_Field
paulson
parents: 14288
diff changeset
   433
\rulename{minus_divide_right}
10776
985066e9495d updated;
wenzelm
parents: 10696
diff changeset
   434
985066e9495d updated;
wenzelm
parents: 10696
diff changeset
   435
This last NOT a simprule
985066e9495d updated;
wenzelm
parents: 10696
diff changeset
   436
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   437
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   438
{\isaliteral{28}{\isacharparenleft}}a\ {\isaliteral{2B}{\isacharplus}}\ b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2F}{\isacharslash}}\ c\ {\isaliteral{3D}{\isacharequal}}\ a\ {\isaliteral{2F}{\isacharslash}}\ c\ {\isaliteral{2B}{\isacharplus}}\ b\ {\isaliteral{2F}{\isacharslash}}\ c%
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   439
\end{isabelle}
14295
7f115e5c5de4 more general lemmas for Ring_and_Field
paulson
parents: 14288
diff changeset
   440
\rulename{add_divide_distrib}%
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   441
\end{isamarkuptext}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   442
\isamarkuptrue%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   443
\isacommand{lemma}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   444
\ {\isaliteral{22}{\isachardoublequoteopen}}{\isadigit{3}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}\ {\isaliteral{3C}{\isacharless}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{7}}{\isaliteral{2F}{\isacharslash}}{\isadigit{8}}\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ real{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequoteclose}}\isanewline
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   445
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   446
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   447
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   448
\endisadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   449
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   450
\isatagproof
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   451
\isacommand{by}\isamarkupfalse%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   452
\ simp%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   453
\endisatagproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   454
{\isafoldproof}%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   455
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   456
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   457
\ \isanewline
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   458
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   459
\endisadelimproof
11174
96a533d300a6 revisions in response to comments by Tobias
paulson
parents: 10950
diff changeset
   460
\isanewline
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   461
\isacommand{lemma}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   462
\ {\isaliteral{22}{\isachardoublequoteopen}}P\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{28}{\isacharparenleft}}{\isadigit{3}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{8}}{\isaliteral{2F}{\isacharslash}}{\isadigit{1}}{\isadigit{5}}\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ real{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequoteclose}}%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   463
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   464
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   465
\endisadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   466
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   467
\isatagproof
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   468
%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   469
\begin{isamarkuptxt}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   470
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   471
\ {\isadigit{1}}{\isaliteral{2E}{\isachardot}}\ P\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{3}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{8}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{1}}{\isadigit{5}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}%
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   472
\end{isabelle}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   473
\end{isamarkuptxt}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   474
\isamarkuptrue%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   475
\isacommand{apply}\isamarkupfalse%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   476
\ simp%
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   477
\begin{isamarkuptxt}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   478
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   479
\ {\isadigit{1}}{\isaliteral{2E}{\isachardot}}\ P\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{2}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{5}}{\isaliteral{29}{\isacharparenright}}%
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   480
\end{isabelle}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   481
\end{isamarkuptxt}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   482
\isamarkuptrue%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   483
\isacommand{oops}\isamarkupfalse%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   484
%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   485
\endisatagproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   486
{\isafoldproof}%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   487
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   488
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   489
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   490
\endisadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   491
\isanewline
15481
fc075ae929e4 the new subst tactic, by Lucas Dixon
paulson
parents: 15364
diff changeset
   492
\isanewline
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   493
\isacommand{lemma}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   494
\ {\isaliteral{22}{\isachardoublequoteopen}}{\isaliteral{28}{\isacharparenleft}}{\isadigit{3}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{8}}{\isaliteral{2F}{\isacharslash}}{\isadigit{1}}{\isadigit{5}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3C}{\isacharless}}\ {\isaliteral{28}{\isacharparenleft}}x\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ real{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequoteclose}}%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   495
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   496
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   497
\endisadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   498
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   499
\isatagproof
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   500
%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   501
\begin{isamarkuptxt}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   502
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   503
\ {\isadigit{1}}{\isaliteral{2E}{\isachardot}}\ {\isadigit{3}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{8}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{1}}{\isadigit{5}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3C}{\isacharless}}\ x%
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   504
\end{isabelle}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   505
\end{isamarkuptxt}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   506
\isamarkuptrue%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   507
\isacommand{apply}\isamarkupfalse%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   508
\ simp%
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   509
\begin{isamarkuptxt}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   510
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   511
\ {\isadigit{1}}{\isaliteral{2E}{\isachardot}}\ {\isadigit{2}}\ {\isaliteral{3C}{\isacharless}}\ x\ {\isaliteral{2A}{\isacharasterisk}}\ {\isadigit{5}}%
16353
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   512
\end{isabelle}%
94e565ded526 updated;
wenzelm
parents: 15772
diff changeset
   513
\end{isamarkuptxt}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   514
\isamarkuptrue%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   515
\isacommand{oops}\isamarkupfalse%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   516
%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   517
\endisatagproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   518
{\isafoldproof}%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   519
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   520
\isadelimproof
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   521
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   522
\endisadelimproof
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   523
%
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   524
\begin{isamarkuptext}%
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   525
Ring and Field
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   526
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   527
Requires a field, or else an ordered ring
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   528
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   529
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   530
{\isaliteral{28}{\isacharparenleft}}a\ {\isaliteral{2A}{\isacharasterisk}}\ b\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}a\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C6F723E}{\isasymor}}\ b\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}%
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   531
\end{isabelle}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   532
\rulename{mult_eq_0_iff}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   533
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   534
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   535
{\isaliteral{28}{\isacharparenleft}}a\ {\isaliteral{2A}{\isacharasterisk}}\ c\ {\isaliteral{3D}{\isacharequal}}\ b\ {\isaliteral{2A}{\isacharasterisk}}\ c{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}c\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C6F723E}{\isasymor}}\ a\ {\isaliteral{3D}{\isacharequal}}\ b{\isaliteral{29}{\isacharparenright}}%
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   536
\end{isabelle}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   537
\rulename{mult_cancel_right}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   538
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   539
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   540
{\isaliteral{28}{\isacharparenleft}}c\ {\isaliteral{2A}{\isacharasterisk}}\ a\ {\isaliteral{3D}{\isacharequal}}\ c\ {\isaliteral{2A}{\isacharasterisk}}\ b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}c\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C6F723E}{\isasymor}}\ a\ {\isaliteral{3D}{\isacharequal}}\ b{\isaliteral{29}{\isacharparenright}}%
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   541
\end{isabelle}
23504
2b2323124e8e changes for type class ring_no_zero_divisors
paulson
parents: 23498
diff changeset
   542
\rulename{mult_cancel_left}%
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   543
\end{isamarkuptext}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   544
\isamarkuptrue%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   545
%
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   546
\begin{isamarkuptext}%
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   547
effect of show sorts on the above
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   548
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   549
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   550
{\isaliteral{28}{\isacharparenleft}}{\isaliteral{28}{\isacharparenleft}}c{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}ring{\isaliteral{5F}{\isacharunderscore}}no{\isaliteral{5F}{\isacharunderscore}}zero{\isaliteral{5F}{\isacharunderscore}}divisors{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}a{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}ring{\isaliteral{5F}{\isacharunderscore}}no{\isaliteral{5F}{\isacharunderscore}}zero{\isaliteral{5F}{\isacharunderscore}}divisors{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   551
\isaindent{{\isaliteral{28}{\isacharparenleft}}}c\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}b{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}ring{\isaliteral{5F}{\isacharunderscore}}no{\isaliteral{5F}{\isacharunderscore}}zero{\isaliteral{5F}{\isacharunderscore}}divisors{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   552
{\isaliteral{28}{\isacharparenleft}}c\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}{\isaliteral{27}{\isacharprime}}a{\isaliteral{5C3C436F6C6F6E3E}{\isasymColon}}ring{\isaliteral{5F}{\isacharunderscore}}no{\isaliteral{5F}{\isacharunderscore}}zero{\isaliteral{5F}{\isacharunderscore}}divisors{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C6F723E}{\isasymor}}\ a\ {\isaliteral{3D}{\isacharequal}}\ b{\isaliteral{29}{\isacharparenright}}%
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   553
\end{isabelle}
23504
2b2323124e8e changes for type class ring_no_zero_divisors
paulson
parents: 23498
diff changeset
   554
\rulename{mult_cancel_left}%
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   555
\end{isamarkuptext}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   556
\isamarkuptrue%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   557
%
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   558
\begin{isamarkuptext}%
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   559
absolute value
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   560
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   561
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   562
{\isaliteral{5C3C6261723E}{\isasymbar}}a\ {\isaliteral{2A}{\isacharasterisk}}\ b{\isaliteral{5C3C6261723E}{\isasymbar}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5C3C6261723E}{\isasymbar}}a{\isaliteral{5C3C6261723E}{\isasymbar}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{5C3C6261723E}{\isasymbar}}b{\isaliteral{5C3C6261723E}{\isasymbar}}%
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   563
\end{isabelle}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   564
\rulename{abs_mult}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   565
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   566
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   567
{\isaliteral{28}{\isacharparenleft}}{\isaliteral{5C3C6261723E}{\isasymbar}}a{\isaliteral{5C3C6261723E}{\isasymbar}}\ {\isaliteral{5C3C6C653E}{\isasymle}}\ b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}a\ {\isaliteral{5C3C6C653E}{\isasymle}}\ b\ {\isaliteral{5C3C616E643E}{\isasymand}}\ {\isaliteral{2D}{\isacharminus}}\ a\ {\isaliteral{5C3C6C653E}{\isasymle}}\ b{\isaliteral{29}{\isacharparenright}}%
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   568
\end{isabelle}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   569
\rulename{abs_le_iff}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   570
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   571
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   572
{\isaliteral{5C3C6261723E}{\isasymbar}}a\ {\isaliteral{2B}{\isacharplus}}\ b{\isaliteral{5C3C6261723E}{\isasymbar}}\ {\isaliteral{5C3C6C653E}{\isasymle}}\ {\isaliteral{5C3C6261723E}{\isasymbar}}a{\isaliteral{5C3C6261723E}{\isasymbar}}\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{5C3C6261723E}{\isasymbar}}b{\isaliteral{5C3C6261723E}{\isasymbar}}%
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   573
\end{isabelle}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   574
\rulename{abs_triangle_ineq}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   575
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   576
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   577
a\isaliteral{5C3C5E627375703E}{}\isactrlbsup m\ {\isaliteral{2B}{\isacharplus}}\ n\isaliteral{5C3C5E657375703E}{}\isactrlesup \ {\isaliteral{3D}{\isacharequal}}\ a\isaliteral{5C3C5E627375703E}{}\isactrlbsup m\isaliteral{5C3C5E657375703E}{}\isactrlesup \ {\isaliteral{2A}{\isacharasterisk}}\ a\isaliteral{5C3C5E627375703E}{}\isactrlbsup n\isaliteral{5C3C5E657375703E}{}\isactrlesup %
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   578
\end{isabelle}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   579
\rulename{power_add}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   580
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   581
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   582
a\isaliteral{5C3C5E627375703E}{}\isactrlbsup m\ {\isaliteral{2A}{\isacharasterisk}}\ n\isaliteral{5C3C5E657375703E}{}\isactrlesup \ {\isaliteral{3D}{\isacharequal}}\ a\isaliteral{5C3C5E627375703E}{}\isactrlbsup m\isaliteral{5C3C5E657375703E}{}\isactrlesup \isaliteral{5C3C5E627375703E}{}\isactrlbsup n\isaliteral{5C3C5E657375703E}{}\isactrlesup %
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   583
\end{isabelle}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   584
\rulename{power_mult}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   585
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   586
\begin{isabelle}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 38767
diff changeset
   587
{\isaliteral{5C3C6261723E}{\isasymbar}}a\isaliteral{5C3C5E627375703E}{}\isactrlbsup n\isaliteral{5C3C5E657375703E}{}\isactrlesup {\isaliteral{5C3C6261723E}{\isasymbar}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5C3C6261723E}{\isasymbar}}a{\isaliteral{5C3C6261723E}{\isasymbar}}\isaliteral{5C3C5E627375703E}{}\isactrlbsup n\isaliteral{5C3C5E657375703E}{}\isactrlesup %
14400
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   588
\end{isabelle}
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   589
\rulename{power_abs}%
6069098854b9 new numerics section using type classes
paulson
parents: 14387
diff changeset
   590
\end{isamarkuptext}%
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   591
\isamarkuptrue%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   592
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   593
\isadelimtheory
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   594
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   595
\endisadelimtheory
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   596
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   597
\isatagtheory
17175
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   598
\isacommand{end}\isamarkupfalse%
1eced27ee0e1 updated;
wenzelm
parents: 17056
diff changeset
   599
%
17056
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   600
\endisatagtheory
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   601
{\isafoldtheory}%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   602
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   603
\isadelimtheory
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   604
%
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   605
\endisadelimtheory
05fc32a23b8b updated;
wenzelm
parents: 16585
diff changeset
   606
\isanewline
11187
c6e49929e544 auto-update
paulson
parents: 11174
diff changeset
   607
\end{isabellebody}%
10602
49109fe3e919 auto generated
paulson
parents:
diff changeset
   608
%%% Local Variables:
49109fe3e919 auto generated
paulson
parents:
diff changeset
   609
%%% mode: latex
49109fe3e919 auto generated
paulson
parents:
diff changeset
   610
%%% TeX-master: "root"
49109fe3e919 auto generated
paulson
parents:
diff changeset
   611
%%% End: