doc-src/TutorialI/Misc/document/Plus.tex
author chaieb
Wed, 19 May 2004 11:23:59 +0200
changeset 14758 af3b71a46a1c
parent 13791 3b6ff7ceaf27
child 15614 b098158a3f39
permissions -rw-r--r--
A new implementation for presburger arithmetic following the one suggested in technical report Chaieb Amine and Tobias Nipkow. It is generic an smaller. the tactic has also changed and allows the abstaction over fuction occurences whose type is nat or int.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13305
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
     1
%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
     2
\begin{isabellebody}%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
     3
\def\isabellecontext{Plus}%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
     4
\isamarkupfalse%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
     5
%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
     6
\begin{isamarkuptext}%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
     7
\noindent Define the following addition function%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
     8
\end{isamarkuptext}%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
     9
\isamarkuptrue%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    10
\isacommand{consts}\ plus\ {\isacharcolon}{\isacharcolon}\ {\isachardoublequote}nat\ {\isasymRightarrow}\ nat\ {\isasymRightarrow}\ nat{\isachardoublequote}\isanewline
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    11
\isamarkupfalse%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    12
\isacommand{primrec}\isanewline
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    13
{\isachardoublequote}plus\ m\ {\isadigit{0}}\ {\isacharequal}\ m{\isachardoublequote}\isanewline
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    14
{\isachardoublequote}plus\ m\ {\isacharparenleft}Suc\ n{\isacharparenright}\ {\isacharequal}\ plus\ {\isacharparenleft}Suc\ m{\isacharparenright}\ n{\isachardoublequote}\isamarkupfalse%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    15
%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    16
\begin{isamarkuptext}%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    17
\noindent and prove%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    18
\end{isamarkuptext}%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    19
\isamarkuptrue%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    20
\isamarkupfalse%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    21
\isamarkupfalse%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    22
\isamarkupfalse%
13791
3b6ff7ceaf27 *** empty log message ***
nipkow
parents: 13778
diff changeset
    23
\isacommand{lemma}\ {\isachardoublequote}plus\ m\ n\ {\isacharequal}\ m{\isacharplus}n{\isachardoublequote}\isamarkupfalse%
13778
61272514e3b5 auto-update
paulson
parents: 13758
diff changeset
    24
\isamarkupfalse%
13305
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    25
\isamarkupfalse%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    26
\end{isabellebody}%
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    27
%%% Local Variables:
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    28
%%% mode: latex
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    29
%%% TeX-master: "root"
f88d0c363582 *** empty log message ***
nipkow
parents:
diff changeset
    30
%%% End: