doc-src/TutorialI/Misc/document/Tree2.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:
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{Tree{\isadigit{2}}}%
11866
fbd097aec213 updated;
wenzelm
parents: 10267
diff changeset
     4
\isamarkupfalse%
9493
494f8cd34df7 *** empty log message ***
nipkow
parents:
diff changeset
     5
%
494f8cd34df7 *** empty log message ***
nipkow
parents:
diff changeset
     6
\begin{isamarkuptext}%
494f8cd34df7 *** empty log message ***
nipkow
parents:
diff changeset
     7
\noindent In Exercise~\ref{ex:Tree} we defined a function
494f8cd34df7 *** empty log message ***
nipkow
parents:
diff changeset
     8
\isa{flatten} from trees to lists. The straightforward version of
9792
bbefb6ce5cb2 *** empty log message ***
nipkow
parents: 9722
diff changeset
     9
\isa{flatten} is based on \isa{{\isacharat}} and is thus, like \isa{rev},
bbefb6ce5cb2 *** empty log message ***
nipkow
parents: 9722
diff changeset
    10
quadratic. A linear time version of \isa{flatten} again reqires an extra
9493
494f8cd34df7 *** empty log message ***
nipkow
parents:
diff changeset
    11
argument, the accumulator:%
494f8cd34df7 *** empty log message ***
nipkow
parents:
diff changeset
    12
\end{isamarkuptext}%
11866
fbd097aec213 updated;
wenzelm
parents: 10267
diff changeset
    13
\isamarkuptrue%
13791
3b6ff7ceaf27 *** empty log message ***
nipkow
parents: 13778
diff changeset
    14
\isacommand{consts}\ flatten{\isadigit{2}}\ {\isacharcolon}{\isacharcolon}\ {\isachardoublequote}{\isacharprime}a\ tree\ {\isasymRightarrow}\ {\isacharprime}a\ list\ {\isasymRightarrow}\ {\isacharprime}a\ list{\isachardoublequote}\isamarkupfalse%
11866
fbd097aec213 updated;
wenzelm
parents: 10267
diff changeset
    15
\isamarkupfalse%
fbd097aec213 updated;
wenzelm
parents: 10267
diff changeset
    16
%
9493
494f8cd34df7 *** empty log message ***
nipkow
parents:
diff changeset
    17
\begin{isamarkuptext}%
10187
0376cccd9118 *** empty log message ***
nipkow
parents: 9924
diff changeset
    18
\noindent Define \isa{flatten{\isadigit{2}}} and prove%
9493
494f8cd34df7 *** empty log message ***
nipkow
parents:
diff changeset
    19
\end{isamarkuptext}%
11866
fbd097aec213 updated;
wenzelm
parents: 10267
diff changeset
    20
\isamarkuptrue%
fbd097aec213 updated;
wenzelm
parents: 10267
diff changeset
    21
\isamarkupfalse%
fbd097aec213 updated;
wenzelm
parents: 10267
diff changeset
    22
\isamarkupfalse%
fbd097aec213 updated;
wenzelm
parents: 10267
diff changeset
    23
\isamarkupfalse%
13791
3b6ff7ceaf27 *** empty log message ***
nipkow
parents: 13778
diff changeset
    24
\isacommand{lemma}\ {\isachardoublequote}flatten{\isadigit{2}}\ t\ {\isacharbrackleft}{\isacharbrackright}\ {\isacharequal}\ flatten\ t{\isachardoublequote}\isamarkupfalse%
13778
61272514e3b5 auto-update
paulson
parents: 13758
diff changeset
    25
\isamarkupfalse%
11866
fbd097aec213 updated;
wenzelm
parents: 10267
diff changeset
    26
\isamarkupfalse%
fbd097aec213 updated;
wenzelm
parents: 10267
diff changeset
    27
\end{isabellebody}%
9493
494f8cd34df7 *** empty log message ***
nipkow
parents:
diff changeset
    28
%%% Local Variables:
494f8cd34df7 *** empty log message ***
nipkow
parents:
diff changeset
    29
%%% mode: latex
494f8cd34df7 *** empty log message ***
nipkow
parents:
diff changeset
    30
%%% TeX-master: "root"
494f8cd34df7 *** empty log message ***
nipkow
parents:
diff changeset
    31
%%% End: