doc-src/TutorialI/Misc/document/trace_simp.tex
author wenzelm
Sun, 25 Jun 2000 23:46:39 +0200
changeset 9122 addbea344673
parent 8771 026f37a86ea7
child 9145 9f7b8de5bfaf
permissions -rw-r--r--
added state: 'a * 'b -> 'a * ('a * 'b);
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8749
2665170f104a Adding generated files
nipkow
parents:
diff changeset
     1
\begin{isabelle}%
2665170f104a Adding generated files
nipkow
parents:
diff changeset
     2
%
2665170f104a Adding generated files
nipkow
parents:
diff changeset
     3
\begin{isamarkuptext}%
2665170f104a Adding generated files
nipkow
parents:
diff changeset
     4
Using the simplifier effectively may take a bit of experimentation.  Set the
2665170f104a Adding generated files
nipkow
parents:
diff changeset
     5
\ttindexbold{trace_simp} \rmindex{flag} to get a better idea of what is going
2665170f104a Adding generated files
nipkow
parents:
diff changeset
     6
on:%
2665170f104a Adding generated files
nipkow
parents:
diff changeset
     7
\end{isamarkuptext}%
2665170f104a Adding generated files
nipkow
parents:
diff changeset
     8
\isacommand{ML}~{"}set~trace\_simp{"}\isanewline
2665170f104a Adding generated files
nipkow
parents:
diff changeset
     9
\isacommand{lemma}~{"}rev~[a]~=~[]{"}\isanewline
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    10
\isacommand{apply}(simp)%
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    11
\begin{isamarkuptxt}%
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    12
\noindent
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    13
produces the trace
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    14
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    15
\begin{ttbox}
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    16
Applying instance of rewrite rule:
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    17
rev (?x1 \# ?xs1) == rev ?xs1 @ [?x1]
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    18
Rewriting:
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    19
rev [x] == rev [] @ [x]
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    20
Applying instance of rewrite rule:
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    21
rev [] == []
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    22
Rewriting:
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    23
rev [] == []
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    24
Applying instance of rewrite rule:
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    25
[] @ ?y == ?y
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    26
Rewriting:
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    27
[] @ [x] == [x]
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    28
Applying instance of rewrite rule:
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    29
?x3 \# ?t3 = ?t3 == False
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    30
Rewriting:
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    31
[x] = [] == False
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    32
\end{ttbox}
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    33
8771
026f37a86ea7 *** empty log message ***
nipkow
parents: 8749
diff changeset
    34
In more complicated cases, the trace can be quite lenghty, especially since
8749
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    35
invocations of the simplifier are often nested (e.g.\ when solving conditions
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    36
of rewrite rules). Thus it is advisable to reset it:%
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    37
\end{isamarkuptxt}%
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    38
\isacommand{ML}~{"}reset~trace\_simp{"}\isanewline
2665170f104a Adding generated files
nipkow
parents:
diff changeset
    39
\end{isabelle}%