--- 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