discontinued Drule.term_rule, which tends to cause confusion due to builtin cterm_of (NB: the standard morphisms already provide a separate term component);
authorwenzelm
Wed, 15 Feb 2012 22:44:31 +0100
changeset 46496 b8920f3fd259
parent 46495 8e8a339e176f
child 46497 89ccf66aa73d
discontinued Drule.term_rule, which tends to cause confusion due to builtin cterm_of (NB: the standard morphisms already provide a separate term component);
src/HOL/Tools/Function/function_common.ML
src/Pure/drule.ML
--- a/src/HOL/Tools/Function/function_common.ML	Wed Feb 15 21:38:28 2012 +0100
+++ b/src/HOL/Tools/Function/function_common.ML	Wed Feb 15 22:44:31 2012 +0100
@@ -120,10 +120,9 @@
 
 val get_function = FunctionData.get o Context.Proof;
 
-
 fun lift_morphism thy f =
   let
-    val term = Drule.term_rule thy f
+    fun term t = Thm.term_of (Drule.cterm_rule f (Thm.cterm_of thy t))
   in
     Morphism.thm_morphism f $> Morphism.term_morphism term
     $> Morphism.typ_morphism (Logic.type_map term)
--- a/src/Pure/drule.ML	Wed Feb 15 21:38:28 2012 +0100
+++ b/src/Pure/drule.ML	Wed Feb 15 22:44:31 2012 +0100
@@ -95,7 +95,6 @@
   val mk_term: cterm -> thm
   val dest_term: thm -> cterm
   val cterm_rule: (thm -> thm) -> cterm -> cterm
-  val term_rule: theory -> (thm -> thm) -> term -> term
   val dummy_thm: thm
   val sort_constraintI: thm
   val sort_constraint_eq: thm
@@ -720,7 +719,6 @@
   end;
 
 fun cterm_rule f = dest_term o f o mk_term;
-fun term_rule thy f t = Thm.term_of (cterm_rule f (Thm.cterm_of thy t));
 
 val dummy_thm = mk_term (certify Term.dummy_prop);