doc-src/TutorialI/Misc/appendix.thy
author chaieb
Wed, 19 May 2004 11:23:59 +0200
changeset 14758 af3b71a46a1c
parent 12332 aea72a834c85
child 16417 9bc16273c2d4
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
theory appendix = Main:;
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     3
(*>*)
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     4
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     5
text{*
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     6
\begin{table}[htbp]
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     7
\begin{center}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     8
\begin{tabular}{lll}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
     9
Constant & Type & Syntax \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    10
\hline
12332
aea72a834c85 *** empty log message ***
nipkow
parents: 10994
diff changeset
    11
@{text 0} & @{text "'a::zero"} \\
aea72a834c85 *** empty log message ***
nipkow
parents: 10994
diff changeset
    12
@{text 1} & @{text "'a::one"} \\
10994
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    13
@{text"+"} & @{text "('a::plus) \<Rightarrow> 'a \<Rightarrow> 'a"} & (infixl 65) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    14
@{text"-"} & @{text "('a::minus) \<Rightarrow> 'a \<Rightarrow> 'a"} &  (infixl 65) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    15
@{text"-"} & @{text "('a::minus) \<Rightarrow> 'a"} \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    16
@{text"*"} & @{text "('a::times) \<Rightarrow> 'a \<Rightarrow> 'a"} & (infixl 70) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    17
@{text div} & @{text "('a::div) \<Rightarrow> 'a \<Rightarrow> 'a"} & (infixl 70) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    18
@{text mod} & @{text "('a::div) \<Rightarrow> 'a \<Rightarrow> 'a"} & (infixl 70) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    19
@{text dvd} & @{text "('a::times) \<Rightarrow> 'a \<Rightarrow> bool"} & (infixl 50) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    20
@{text"/"}  & @{text "('a::inverse) \<Rightarrow> 'a \<Rightarrow> 'a"} & (infixl 70) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    21
@{text"^"} & @{text "('a::power) \<Rightarrow> nat \<Rightarrow> 'a"} & (infixr 80) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    22
@{term abs} &  @{text "('a::minus) \<Rightarrow> 'a"} & ${\mid} x {\mid}$\\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    23
@{text"\<le>"} & @{text "('a::ord) \<Rightarrow> 'a \<Rightarrow> bool"} & (infixl 50) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    24
@{text"<"} & @{text "('a::ord) \<Rightarrow> 'a \<Rightarrow> bool"} & (infixl 50) \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    25
@{term min} &  @{text "('a::ord) \<Rightarrow> 'a \<Rightarrow> 'a"} \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    26
@{term max} &  @{text "('a::ord) \<Rightarrow> 'a \<Rightarrow> 'a"} \\
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    27
@{term Least} & @{text "('a::ord \<Rightarrow> bool) \<Rightarrow> 'a"} &
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    28
@{text LEAST}$~x.~P$
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    29
\end{tabular}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    30
\caption{Overloaded Constants in HOL}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    31
\label{tab:overloading}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    32
\end{center}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    33
\end{table}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    34
*}
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    35
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    36
(*<*)
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    37
end
9429f2e7d16a *** empty log message ***
nipkow
parents:
diff changeset
    38
(*>*)