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 47367b8920f3fd259
parent 47366 8e8a339e176f
child 47368 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
     1.1 --- a/src/HOL/Tools/Function/function_common.ML	Wed Feb 15 21:38:28 2012 +0100
     1.2 +++ b/src/HOL/Tools/Function/function_common.ML	Wed Feb 15 22:44:31 2012 +0100
     1.3 @@ -120,10 +120,9 @@
     1.4  
     1.5  val get_function = FunctionData.get o Context.Proof;
     1.6  
     1.7 -
     1.8  fun lift_morphism thy f =
     1.9    let
    1.10 -    val term = Drule.term_rule thy f
    1.11 +    fun term t = Thm.term_of (Drule.cterm_rule f (Thm.cterm_of thy t))
    1.12    in
    1.13      Morphism.thm_morphism f $> Morphism.term_morphism term
    1.14      $> Morphism.typ_morphism (Logic.type_map term)
     2.1 --- a/src/Pure/drule.ML	Wed Feb 15 21:38:28 2012 +0100
     2.2 +++ b/src/Pure/drule.ML	Wed Feb 15 22:44:31 2012 +0100
     2.3 @@ -95,7 +95,6 @@
     2.4    val mk_term: cterm -> thm
     2.5    val dest_term: thm -> cterm
     2.6    val cterm_rule: (thm -> thm) -> cterm -> cterm
     2.7 -  val term_rule: theory -> (thm -> thm) -> term -> term
     2.8    val dummy_thm: thm
     2.9    val sort_constraintI: thm
    2.10    val sort_constraint_eq: thm
    2.11 @@ -720,7 +719,6 @@
    2.12    end;
    2.13  
    2.14  fun cterm_rule f = dest_term o f o mk_term;
    2.15 -fun term_rule thy f t = Thm.term_of (cterm_rule f (Thm.cterm_of thy t));
    2.16  
    2.17  val dummy_thm = mk_term (certify Term.dummy_prop);
    2.18