doc-src/TutorialI/Misc/document/appendix.tex
author chaieb
Wed, 19 May 2004 11:23:59 +0200
changeset 14758 af3b71a46a1c
parent 13778 61272514e3b5
child 17056 05fc32a23b8b
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:
10994
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     1
%
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     2
\begin{isabellebody}%
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     3
\def\isabellecontext{appendix}%
11866
fbd097aec213 updated;
wenzelm
parents: 11708
diff changeset
     4
\isamarkupfalse%
10994
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     5
%
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     6
\begin{isamarkuptext}%
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     7
\begin{table}[htbp]
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     8
\begin{center}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     9
\begin{tabular}{lll}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    10
Constant & Type & Syntax \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    11
\hline
12332
aea72a834c85 *** empty log message ***
nipkow
parents: 11866
diff changeset
    12
\isa{{\isadigit{0}}} & \isa{{\isacharprime}a{\isacharcolon}{\isacharcolon}zero} \\
aea72a834c85 *** empty log message ***
nipkow
parents: 11866
diff changeset
    13
\isa{{\isadigit{1}}} & \isa{{\isacharprime}a{\isacharcolon}{\isacharcolon}one} \\
10994
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    14
\isa{{\isacharplus}} & \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}plus{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ {\isacharprime}a} & (infixl 65) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    15
\isa{{\isacharminus}} & \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}minus{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ {\isacharprime}a} &  (infixl 65) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    16
\isa{{\isacharminus}} & \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}minus{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a} \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    17
\isa{{\isacharasterisk}} & \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}times{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ {\isacharprime}a} & (infixl 70) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    18
\isa{div} & \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}div{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ {\isacharprime}a} & (infixl 70) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    19
\isa{mod} & \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}div{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ {\isacharprime}a} & (infixl 70) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    20
\isa{dvd} & \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}times{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ bool} & (infixl 50) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    21
\isa{{\isacharslash}}  & \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}inverse{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ {\isacharprime}a} & (infixl 70) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    22
\isa{{\isacharcircum}} & \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}power{\isacharparenright}\ {\isasymRightarrow}\ nat\ {\isasymRightarrow}\ {\isacharprime}a} & (infixr 80) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    23
\isa{abs} &  \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}minus{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a} & ${\mid} x {\mid}$\\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    24
\isa{{\isasymle}} & \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}ord{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ bool} & (infixl 50) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    25
\isa{{\isacharless}} & \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}ord{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ bool} & (infixl 50) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    26
\isa{min} &  \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}ord{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ {\isacharprime}a} \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    27
\isa{max} &  \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}ord{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ {\isacharprime}a} \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    28
\isa{Least} & \isa{{\isacharparenleft}{\isacharprime}a{\isacharcolon}{\isacharcolon}ord\ {\isasymRightarrow}\ bool{\isacharparenright}\ {\isasymRightarrow}\ {\isacharprime}a} &
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    29
\isa{LEAST}$~x.~P$
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    30
\end{tabular}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    31
\caption{Overloaded Constants in HOL}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    32
\label{tab:overloading}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    33
\end{center}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    34
\end{table}%
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    35
\end{isamarkuptext}%
11866
fbd097aec213 updated;
wenzelm
parents: 11708
diff changeset
    36
\isamarkuptrue%
fbd097aec213 updated;
wenzelm
parents: 11708
diff changeset
    37
\isamarkupfalse%
10994
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    38
\end{isabellebody}%
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    39
%%% Local Variables:
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    40
%%% mode: latex
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    41
%%% TeX-master: "root"
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    42
%%% End: