doc-src/TutorialI/Misc/document/prime_def.tex
author paulson
Thu, 26 Jul 2001 18:23:38 +0200
changeset 11457 279da0358aa9
parent 11456 7eb63f63e6c6
child 11866 fbd097aec213
permissions -rw-r--r--
additional revisions to chapters 1, 2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9722
a5f86aed785b *** empty log message ***
nipkow
parents: 9721
diff changeset
     1
%
a5f86aed785b *** empty log message ***
nipkow
parents: 9721
diff changeset
     2
\begin{isabellebody}%
10267
325ead6d9457 updated;
wenzelm
parents: 10187
diff changeset
     3
\def\isabellecontext{prime{\isacharunderscore}def}%
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
     4
%
8749
2665170f104a Adding generated files
nipkow
parents:
diff changeset
     5
\begin{isamarkuptext}%
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
     6
\begin{warn}
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
     7
A common mistake when writing definitions is to introduce extra free
11456
7eb63f63e6c6 revisions and indexing
paulson
parents: 10267
diff changeset
     8
variables on the right-hand side.  Consider the following, flawed definition
7eb63f63e6c6 revisions and indexing
paulson
parents: 10267
diff changeset
     9
(where \isa{dvd} means ``divides''):
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    10
\begin{isabelle}%
10187
0376cccd9118 *** empty log message ***
nipkow
parents: 9924
diff changeset
    11
\ \ \ \ \ {\isachardoublequote}prime\ p\ {\isasymequiv}\ {\isadigit{1}}\ {\isacharless}\ p\ {\isasymand}\ {\isacharparenleft}m\ dvd\ p\ {\isasymlongrightarrow}\ m\ {\isacharequal}\ {\isadigit{1}}\ {\isasymor}\ m\ {\isacharequal}\ p{\isacharparenright}{\isachardoublequote}%
9924
3370f6aa3200 updated;
wenzelm
parents: 9844
diff changeset
    12
\end{isabelle}
11457
279da0358aa9 additional revisions to chapters 1, 2
paulson
parents: 11456
diff changeset
    13
\par\noindent\hangindent=0pt
8749
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    14
Isabelle rejects this ``definition'' because of the extra \isa{m} on the
11456
7eb63f63e6c6 revisions and indexing
paulson
parents: 10267
diff changeset
    15
right-hand side, which would introduce an inconsistency (why?). 
7eb63f63e6c6 revisions and indexing
paulson
parents: 10267
diff changeset
    16
The correct version is
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    17
\begin{isabelle}%
10187
0376cccd9118 *** empty log message ***
nipkow
parents: 9924
diff changeset
    18
\ \ \ \ \ {\isachardoublequote}prime\ p\ {\isasymequiv}\ {\isadigit{1}}\ {\isacharless}\ p\ {\isasymand}\ {\isacharparenleft}{\isasymforall}m{\isachardot}\ m\ dvd\ p\ {\isasymlongrightarrow}\ m\ {\isacharequal}\ {\isadigit{1}}\ {\isasymor}\ m\ {\isacharequal}\ p{\isacharparenright}{\isachardoublequote}%
9924
3370f6aa3200 updated;
wenzelm
parents: 9844
diff changeset
    19
\end{isabelle}
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    20
\end{warn}%
8749
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    21
\end{isamarkuptext}%
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    22
\end{isabellebody}%
9145
9f7b8de5bfaf updated;
wenzelm
parents: 8749
diff changeset
    23
%%% Local Variables:
9f7b8de5bfaf updated;
wenzelm
parents: 8749
diff changeset
    24
%%% mode: latex
9f7b8de5bfaf updated;
wenzelm
parents: 8749
diff changeset
    25
%%% TeX-master: "root"
9f7b8de5bfaf updated;
wenzelm
parents: 8749
diff changeset
    26
%%% End: