atomize_term replaces atomize_cterm;
authorwenzelm
Thu Jan 17 21:05:58 2002 +0100 (2002-01-17)
changeset 128074f2983e39a59
parent 12806 1f54c65fca5d
child 12808 a529b4b91888
atomize_term replaces atomize_cterm;
src/Pure/Isar/object_logic.ML
     1.1 --- a/src/Pure/Isar/object_logic.ML	Thu Jan 17 21:05:40 2002 +0100
     1.2 +++ b/src/Pure/Isar/object_logic.ML	Thu Jan 17 21:05:58 2002 +0100
     1.3 @@ -16,7 +16,7 @@
     1.4    val fixed_judgment: Sign.sg -> string -> term
     1.5    val declare_atomize: theory attribute
     1.6    val declare_rulify: theory attribute
     1.7 -  val atomize_cterm: cterm -> cterm
     1.8 +  val atomize_term: Sign.sg -> term -> term
     1.9    val atomize_tac: int -> tactic
    1.10    val atomize_goal: int -> thm -> thm
    1.11    val rulify: thm -> thm
    1.12 @@ -127,12 +127,11 @@
    1.13      (MetaSimplifier.forall_conv
    1.14        (MetaSimplifier.goals_conv (K true) (Tactic.rewrite true rews)))));
    1.15  
    1.16 -fun atomize_cterm ct =
    1.17 -  let val sg = #sign (Thm.rep_cterm ct)
    1.18 -  in Thm.cterm_fun (drop_judgment sg) (Tactic.rewrite_cterm true (get_atomize sg) ct) end;
    1.19 +fun atomize_term sg =
    1.20 +  drop_judgment sg o MetaSimplifier.rewrite_term sg (get_atomize sg);
    1.21  
    1.22  fun atomize_tac i st =
    1.23 -  if Logic.has_meta_prems (#prop (Thm.rep_thm st)) i then
    1.24 +  if Logic.has_meta_prems (Thm.prop_of st) i then
    1.25      (rewrite_prems_tac (get_atomize (Thm.sign_of_thm st)) i) st
    1.26    else all_tac st;
    1.27