doc-src/TutorialI/Misc/document/prime_def.tex
author nipkow
Mon, 09 Oct 2000 19:20:55 +0200
changeset 10178 aecb5bf6f76f
parent 9924 3370f6aa3200
child 10187 0376cccd9118
permissions -rw-r--r--
*** empty log message ***
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}%
9924
3370f6aa3200 updated;
wenzelm
parents: 9844
diff changeset
     3
\def\isabellecontext{prime_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
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
     8
variables on the right-hand side as in the following fictitious definition:
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
     9
\begin{isabelle}%
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    10
\ \ \ \ \ {\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
    11
\end{isabelle}
8749
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    12
where \isa{dvd} means ``divides''.
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    13
Isabelle rejects this ``definition'' because of the extra \isa{m} on the
9458
c613cd06d5cf apply. -> by
nipkow
parents: 9145
diff changeset
    14
right-hand side, which would introduce an inconsistency (why?). What you
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    15
should have written is
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    16
\begin{isabelle}%
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    17
\ \ \ \ \ {\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
    18
\end{isabelle}
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    19
\end{warn}%
8749
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    20
\end{isamarkuptext}%
9844
8016321c7de1 *** empty log message ***
nipkow
parents: 9722
diff changeset
    21
\end{isabellebody}%
9145
9f7b8de5bfaf updated;
wenzelm
parents: 8749
diff changeset
    22
%%% Local Variables:
9f7b8de5bfaf updated;
wenzelm
parents: 8749
diff changeset
    23
%%% mode: latex
9f7b8de5bfaf updated;
wenzelm
parents: 8749
diff changeset
    24
%%% TeX-master: "root"
9f7b8de5bfaf updated;
wenzelm
parents: 8749
diff changeset
    25
%%% End: