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