ProgTutorial/Package/Ind_Code.thy
changeset 369 74ba778b09c9
parent 358 9cf3bc448210
child 375 92f7328dc5cc
--- a/ProgTutorial/Package/Ind_Code.thy	Sat Oct 31 11:37:41 2009 +0100
+++ b/ProgTutorial/Package/Ind_Code.thy	Sun Nov 01 10:49:25 2009 +0100
@@ -453,7 +453,7 @@
   the new predicates. In Line 8, we construct the types of these new predicates
   using the given argument types. Next we turn them into terms and subsequently
   certify them (Line 9 and 10). We can now produce the substituted introduction rules 
-  (Line 11) using the function @{ML_ind  subst_free}. Line 14 and 15 just iterate 
+  (Line 11) using the function @{ML_ind subst_free in Term}. Line 14 and 15 just iterate 
   the proofs for all predicates.
   From this we obtain a list of theorems. Finally we need to export the 
   fixed variables @{text "Ps"} to obtain the schematic variables @{text "?Ps"} 
@@ -599,7 +599,7 @@
   differently. In the code below we will therefore separate them into @{text
   "params1"} and @{text params2}, respectively @{text "prems1"} and @{text
   "prems2"}. To do this separation, it is best to open a subproof with the
-  tactic @{ML_ind  SUBPROOF}, since this tactic provides us with the parameters (as
+  tactic @{ML_ind SUBPROOF in Subgoal}, since this tactic provides us with the parameters (as
   list of @{ML_type cterm}s) and the assumptions (as list of @{ML_type thm}s). 
   The problem with @{ML SUBPROOF}, however, is that it always expects us to 
   completely discharge the goal (see Section~\ref{sec:simpletacs}). This is 
@@ -638,7 +638,7 @@
   going in our example, we will print out these values using the printing
   function in Figure~\ref{fig:chopprint}. Since @{ML FOCUS in Subgoal} will
   supply us the @{text "params"} and @{text "prems"} as lists, we can 
-  separate them using the function @{ML_ind  chop}. 
+  separate them using the function @{ML_ind chop in Library}. 
 *}
 
 ML %linenosgray{*fun chop_test_tac preds rules =
@@ -869,7 +869,7 @@
   In Line 4 we use the @{text prems} from the @{ML SUBPROOF} and resolve 
   them with @{text prem}. In the simple cases, that is where the @{text prem} 
   comes from a non-recursive premise of the rule, @{text prems} will be 
-  just the empty list and the function @{ML_ind  MRS} does nothing. Similarly, in the 
+  just the empty list and the function @{ML_ind MRS in Drule} does nothing. Similarly, in the 
   cases where the recursive premises of the rule do not have preconditions. 
   In case there are preconditions, then Line 4 discharges them. After
   that we can proceed as before, i.e., check whether the outermost
@@ -948,7 +948,7 @@
 end*}
 
 text {*
-  The iteration is done with the function @{ML_ind  map_index} since we
+  The iteration is done with the function @{ML_ind map_index in Library} since we
   need the introduction rule together with its number (counted from
   @{text 0}). This completes the code for the functions deriving the
   reasoning infrastructure. It remains to implement some administrative