doc-src/TutorialI/Misc/document/prime_def.tex
author wenzelm
Thu, 24 Jan 2002 22:42:14 +0100
changeset 12847 afa356dbcb15
parent 11866 fbd097aec213
child 13758 ee898d32de21
permissions -rw-r--r--
fixed subgoal_tac; fails on non-existent subgoal;
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}%
11866
fbd097aec213 updated;
wenzelm
parents: 11457
diff changeset
     4
\isamarkupfalse%
fbd097aec213 updated;
wenzelm
parents: 11457
diff changeset
     5
\isamarkupfalse%
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
     6
%
8749
2665170f104a Adding generated files
nipkow
parents:
diff changeset
     7
\begin{isamarkuptext}%
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
     8
\begin{warn}
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
     9
A common mistake when writing definitions is to introduce extra free
11456
7eb63f63e6c6 revisions and indexing
paulson
parents: 10267
diff changeset
    10
variables on the right-hand side.  Consider the following, flawed definition
7eb63f63e6c6 revisions and indexing
paulson
parents: 10267
diff changeset
    11
(where \isa{dvd} means ``divides''):
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    12
\begin{isabelle}%
10187
0376cccd9118 *** empty log message ***
nipkow
parents: 9924
diff changeset
    13
\ \ \ \ \ {\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
    14
\end{isabelle}
11457
279da0358aa9 additional revisions to chapters 1, 2
paulson
parents: 11456
diff changeset
    15
\par\noindent\hangindent=0pt
8749
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    16
Isabelle rejects this ``definition'' because of the extra \isa{m} on the
11456
7eb63f63e6c6 revisions and indexing
paulson
parents: 10267
diff changeset
    17
right-hand side, which would introduce an inconsistency (why?). 
7eb63f63e6c6 revisions and indexing
paulson
parents: 10267
diff changeset
    18
The correct version is
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    19
\begin{isabelle}%
10187
0376cccd9118 *** empty log message ***
nipkow
parents: 9924
diff changeset
    20
\ \ \ \ \ {\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
    21
\end{isabelle}
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    22
\end{warn}%
8749
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    23
\end{isamarkuptext}%
11866
fbd097aec213 updated;
wenzelm
parents: 11457
diff changeset
    24
\isamarkuptrue%
fbd097aec213 updated;
wenzelm
parents: 11457
diff changeset
    25
\isamarkupfalse%
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    26
\end{isabellebody}%
9145
9f7b8de5bfaf updated;
wenzelm
parents: 8749
diff changeset
    27
%%% Local Variables:
9f7b8de5bfaf updated;
wenzelm
parents: 8749
diff changeset
    28
%%% mode: latex
9f7b8de5bfaf updated;
wenzelm
parents: 8749
diff changeset
    29
%%% TeX-master: "root"
9f7b8de5bfaf updated;
wenzelm
parents: 8749
diff changeset
    30
%%% End: