
diff -r cc862fd5e0cb -r c6b64fa9f301 ProgTutorial/Package/Ind_General_Scheme.thy
--- a/ProgTutorial/Package/Ind_General_Scheme.thy	Tue Jul 21 12:51:14 2009 +0200
+++ b/ProgTutorial/Package/Ind_General_Scheme.thy	Wed Jul 22 01:10:14 2009 +0200
@@ -62,20 +62,21 @@
   \<Longrightarrow> pred ts"}
   \end{isabelle}
   
-  For the purposes here, we will assume the @{text rules} have
-  this format and omit any code that actually tests this. Therefore ``things'' 
-  can go horribly wrong, if the @{text "rules"} are not of this
-  form.\footnote{FIXME: Exercise to test this format.} The @{text As} and
-  @{text Bs} in a @{text "rule"} stand for formulae not involving the inductive
-  predicates @{text "preds"}; the instances @{text "pred ss"} and @{text "pred
-  ts"} can stand for different predicates, like @{text "pred\<^isub>1 ss"} and 
-  @{text "pred\<^isub>2 ts"}; @{text ss} and @{text ts} are the
-  arguments of these predicates. Every formula left of @{text [quotes]
-  "\<Longrightarrow> pred ts"} is a premise of the rule. The outermost quantified 
-  variables @{text "xs"} are usually omitted in the user's input. The 
-  quantification for the variables @{text "ys"} is local with respect to 
-  one recursive premise and must be given. Some examples of @{text "rule"}s 
-  are
+  For the purposes here, we will assume the @{text rules} have this format and
+  omit any code that actually tests this. Therefore ``things'' can go horribly
+  wrong, if the @{text "rules"} are not of this form.\footnote{FIXME: Exercise
+  to test this format.} The @{text As} and @{text Bs} in a @{text "rule"}
+  stand for formulae not involving the inductive predicates @{text "preds"};
+  the instances @{text "pred ss"} and @{text "pred ts"} can stand for
+  different predicates, like @{text "pred\<^isub>1 ss"} and @{text
+  "pred\<^isub>2 ts"}, in case mutual recursive predicates are defined; the
+  terms @{text ss} and @{text ts} are the arguments of these predicates. Every
+  formula left of @{text [quotes] "\<Longrightarrow> pred ts"} is a premise of the rule. The
+  outermost quantified variables @{text "xs"} are usually omitted in the
+  user's input. The quantification for the variables @{text "ys"} is local
+  with respect to one recursive premise and must be given. Some examples of
+  @{text "rule"}s are
+
 
   @{thm [display] fresh_var[no_vars]}
 
@@ -159,10 +160,10 @@
   @{text [display] "pred ts"}
 
   In the last step we removed some quantifiers and moved the precondition @{text "orules"}  
-  into the assumtion. The @{text "orules"} stand for all introduction rules that are given 
+  into the assumption. The @{text "orules"} stand for all introduction rules that are given 
   by the user. We apply the @{text orule} that corresponds to introduction rule we are 
-  proving. After lifting to the meta-connectives, this introduction rule must necessarily 
-  be of the form 
+  proving. After transforming the object connectives into meta-connectives, this introduction 
+  rule must necessarily be of the form 
 
   @{text [display] "As \<Longrightarrow> (\<And>ys. Bs \<Longrightarrow> pred ss)\<^isup>* \<Longrightarrow> pred ts"}
 




