doc-src/TutorialI/Trie/Trie.thy
changeset 15905 0a4cc9b113c7
parent 12328 7c4ec77a8715
child 16417 9bc16273c2d4
--- a/doc-src/TutorialI/Trie/Trie.thy	Mon May 02 10:56:13 2005 +0200
+++ b/doc-src/TutorialI/Trie/Trie.thy	Mon May 02 11:03:27 2005 +0200
@@ -49,7 +49,7 @@
 
 text{*
 As a first simple property we prove that looking up a string in the empty
-trie @{term"Trie None []"} always returns @{term None}. The proof merely
+trie @{term"Trie None []"} always returns @{const None}. The proof merely
 distinguishes the two cases whether the search string is empty or not:
 *};
 
@@ -76,10 +76,10 @@
 @{term tt} associated with the first letter @{term a} is extracted,
 recursively updated, and then placed in front of the association list.
 The old subtrie associated with @{term a} is still in the association list
-but no longer accessible via @{term assoc}. Clearly, there is room here for
+but no longer accessible via @{const assoc}. Clearly, there is room here for
 optimizations!
 
-Before we start on any proofs about @{term update} we tell the simplifier to
+Before we start on any proofs about @{const update} we tell the simplifier to
 expand all @{text let}s and to split all @{text case}-constructs over
 options:
 *};
@@ -88,11 +88,11 @@
 
 text{*\noindent
 The reason becomes clear when looking (probably after a failed proof
-attempt) at the body of @{term update}: it contains both
+attempt) at the body of @{const update}: it contains both
 @{text let} and a case distinction over type @{text option}.
 
-Our main goal is to prove the correct interaction of @{term update} and
-@{term lookup}:
+Our main goal is to prove the correct interaction of @{const update} and
+@{const lookup}:
 *};
 
 theorem "\<forall>t v bs. lookup (update t as v) bs =
@@ -102,8 +102,8 @@
 Our plan is to induct on @{term as}; hence the remaining variables are
 quantified. From the definitions it is clear that induction on either
 @{term as} or @{term bs} is required. The choice of @{term as} is 
-guided by the intuition that simplification of @{term lookup} might be easier
-if @{term update} has already been simplified, which can only happen if
+guided by the intuition that simplification of @{const lookup} might be easier
+if @{const update} has already been simplified, which can only happen if
 @{term as} is instantiated.
 The start of the proof is conventional:
 *};
@@ -138,7 +138,7 @@
 sense and solves the proof. 
 
 \begin{exercise}
-  Modify @{term update} (and its type) such that it allows both insertion and
+  Modify @{const update} (and its type) such that it allows both insertion and
   deletion of entries with a single function.  Prove the corresponding version 
   of the main theorem above.
   Optimize your function such that it shrinks tries after
@@ -146,10 +146,10 @@
 \end{exercise}
 
 \begin{exercise}
-  Write an improved version of @{term update} that does not suffer from the
+  Write an improved version of @{const update} that does not suffer from the
   space leak (pointed out above) caused by not deleting overwritten entries
   from the association list. Prove the main theorem for your improved
-  @{term update}.
+  @{const update}.
 \end{exercise}
 
 \begin{exercise}