ProgTutorial/Package/Ind_Code.thy
changeset 394 0019ebf76e10
parent 375 92f7328dc5cc
child 401 36d61044f9bf
--- a/ProgTutorial/Package/Ind_Code.thy	Wed Nov 18 14:06:01 2009 +0100
+++ b/ProgTutorial/Package/Ind_Code.thy	Thu Nov 19 14:11:50 2009 +0100
@@ -21,27 +21,27 @@
 
   and then ``register'' the definition inside a local theory. 
   To do the latter, we use the following wrapper for the function
-  @{ML_ind  define in LocalTheory}. The wrapper takes a predicate name, a syntax
+  @{ML_ind define in Local_Theory}. The wrapper takes a predicate name, a syntax
   annotation and a term representing the right-hand side of the definition.
 *}
 
 ML %linenosgray{*fun make_defn ((predname, mx), trm) lthy =
 let 
   val arg = ((predname, mx), (Attrib.empty_binding, trm))
-  val ((_, (_ , thm)), lthy') = LocalTheory.define Thm.internalK arg lthy
+  val ((_, (_ , thm)), lthy') = Local_Theory.define "" arg lthy
 in 
   (thm, lthy') 
 end*}
 
 text {*
   It returns the definition (as a theorem) and the local theory in which the
-  definition has been made. In Line 4, @{ML_ind  internalK in Thm} is a flag
+  definition has been made. In Line 4, the string @{ML "\"\""} is a flag
   attached to the theorem (other possibile flags are @{ML_ind  definitionK in Thm}
-  and @{ML_ind  axiomK in Thm}).\footnote{\bf FIXME: move to theorem section.} 
+  and @{ML_ind theoremK in Thm}).\footnote{\bf FIXME: move to theorem section.} 
   These flags just classify theorems and have no
   significant meaning, except for tools that, for example, find theorems in
   the theorem database.\footnote{FIXME: put in the section about theorems.} We
-  also use @{ML_ind  empty_binding in Attrib} in Line 3, since the definitions for
+  also use @{ML_ind empty_binding in Attrib} in Line 3, since the definitions for
   our inductive predicates are not meant to be seen by the user and therefore
   do not need to have any theorem attributes. A testcase for this function is
 *}
@@ -961,7 +961,7 @@
   We have produced various theorems (definitions, induction principles and
   introduction rules), but apart from the definitions, we have not yet 
   registered them with the theorem database. This is what the functions 
-  @{ML_ind  note in LocalTheory} does. 
+  @{ML_ind  note in Local_Theory} does. 
 
 
   For convenience, we use the following 
@@ -969,8 +969,7 @@
 *}
 
 ML{*fun note_many qname ((name, attrs), thms) = 
-  LocalTheory.note Thm.theoremK 
-    ((Binding.qualify false qname name, attrs), thms) 
+  Local_Theory.note ((Binding.qualify false qname name, attrs), thms) 
 
 fun note_single1 qname ((name, attrs), thm) = 
   note_many qname ((name, attrs), [thm])