updated to new Isabelle
authorChristian Urban <urbanc@in.tum.de>
Tue, 14 Jun 2011 22:09:40 +0100
changeset 465 886a7c614ced
parent 464 21b5d0145fe4
child 466 26d2f91608ed
updated to new Isabelle
ProgTutorial/Essential.thy
ProgTutorial/Tactical.thy
progtutorial.pdf
--- a/ProgTutorial/Essential.thy	Tue May 17 19:46:53 2011 +0200
+++ b/ProgTutorial/Essential.thy	Tue Jun 14 22:09:40 2011 +0100
@@ -1124,13 +1124,14 @@
   as an introduction rule. Applying it directly can lead to unexpected
   behaviour since the unification has more than one solution. One way round
   this problem is to instantiate the schematic variables @{text "?P"} and
-  @{text "?x"}.  instantiation function for theorems is @{ML_ind instantiate
-  in Drule} from the structure @{ML_struct Drule}. One problem, however, is
+  @{text "?x"}.  instantiation function for theorems is 
+  @{ML_ind instantiate_normalize in Drule} from the structure 
+  @{ML_struct Drule}. One problem, however, is
   that this function expects the instantiations as lists of @{ML_type ctyp}
   and @{ML_type cterm} pairs:
 
   \begin{isabelle}
-  @{ML instantiate in Drule}@{text ":"}
+  @{ML instantiate_normalize in Drule}@{text ":"}
   @{ML_type "(ctyp * ctyp) list * (cterm * cterm) list -> thm -> thm"}
   \end{isabelle}
 
@@ -1183,7 +1184,7 @@
   val trm = @{term \"Trueprop (Q True)\"}
   val inst = matcher_inst @{theory} pat trm 1
 in
-  Drule.instantiate inst @{thm spec}
+  Drule.instantiate_normalize inst @{thm spec}
 end"
   "\<forall>x. Q x \<Longrightarrow> Q True"}
 
--- a/ProgTutorial/Tactical.thy	Tue May 17 19:46:53 2011 +0200
+++ b/ProgTutorial/Tactical.thy	Tue Jun 14 22:09:40 2011 +0100
@@ -876,7 +876,7 @@
   @{thm [source] rule}. For this the function @{ML_ind first_order_match in Thm} 
   matches two @{ML_type cterm}s and produces, in the successful case, a matcher 
   that can be used to instantiate the theorem. The instantiation 
-  can be done with the function @{ML_ind instantiate in Drule}. To automate 
+  can be done with the function @{ML_ind instantiate_normalize in Drule}. To automate 
   this we implement the following function.
 *}
 
@@ -885,7 +885,7 @@
     val concl_pat = Drule.strip_imp_concl (cprop_of thm)
     val insts = Thm.first_order_match (concl_pat, concl)
   in
-    rtac (Drule.instantiate insts thm) 1
+    rtac (Drule.instantiate_normalize insts thm) 1
   end)*}
 
 text {*
Binary file progtutorial.pdf has changed