doc-src/TutorialI/Misc/trace_simp.thy
author nipkow
Fri, 01 Sep 2000 19:09:44 +0200
changeset 9792 bbefb6ce5cb2
parent 8771 026f37a86ea7
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8745
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     1
(*<*)
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     2
theory trace_simp = Main:;
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     3
(*>*)
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     4
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     5
text{*
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     6
Using the simplifier effectively may take a bit of experimentation.  Set the
9792
bbefb6ce5cb2 *** empty log message ***
nipkow
parents: 8771
diff changeset
     7
\isaindexbold{trace_simp} \rmindex{flag} to get a better idea of what is going
8745
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     8
on:
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     9
*}
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    10
ML "set trace_simp";
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    11
lemma "rev [a] = []";
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    12
apply(simp);
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    13
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    14
txt{*\noindent
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    15
produces the trace
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    16
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    17
\begin{ttbox}
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    18
Applying instance of rewrite rule:
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    19
rev (?x1 \# ?xs1) == rev ?xs1 @ [?x1]
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    20
Rewriting:
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    21
rev [x] == rev [] @ [x]
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    22
Applying instance of rewrite rule:
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    23
rev [] == []
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    24
Rewriting:
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    25
rev [] == []
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    26
Applying instance of rewrite rule:
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    27
[] @ ?y == ?y
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    28
Rewriting:
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    29
[] @ [x] == [x]
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    30
Applying instance of rewrite rule:
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    31
?x3 \# ?t3 = ?t3 == False
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    32
Rewriting:
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    33
[x] = [] == False
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    34
\end{ttbox}
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    35
8771
026f37a86ea7 *** empty log message ***
nipkow
parents: 8745
diff changeset
    36
In more complicated cases, the trace can be quite lenghty, especially since
8745
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    37
invocations of the simplifier are often nested (e.g.\ when solving conditions
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    38
of rewrite rules). Thus it is advisable to reset it:
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    39
*}
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    40
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    41
ML "reset trace_simp";
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    42
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    43
(*<*)
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    44
oops;
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    45
end
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    46
(*>*)