Tuned and corrected ideal_tac for algebra.
authorchaieb
Mon, 21 Jul 2008 13:37:14 +0200
changeset 27671 f938cd3fa820
parent 27670 3b5425dead98
child 27672 558ceab467e1
Tuned and corrected ideal_tac for algebra.
src/HOL/Tools/Groebner_Basis/groebner.ML
--- a/src/HOL/Tools/Groebner_Basis/groebner.ML	Mon Jul 21 13:37:10 2008 +0200
+++ b/src/HOL/Tools/Groebner_Basis/groebner.ML	Mon Jul 21 13:37:14 2008 +0200
@@ -965,7 +965,7 @@
 
 fun ring_tac add_ths del_ths ctxt =
   ObjectLogic.full_atomize_tac
-  THEN' simp_tac (fst (NormalizerData.get ctxt) delsimps del_ths addsimps add_ths)
+  THEN' asm_full_simp_tac (Simplifier.context ctxt (fst (NormalizerData.get ctxt)) delsimps del_ths addsimps add_ths)
   THEN' CSUBGOAL (fn (p, i) =>
     rtac (let val form = (ObjectLogic.dest_judgment p)
           in case get_ring_ideal_convs ctxt form of
@@ -984,6 +984,9 @@
    | exitac (SOME y) = rtac (instantiate' [SOME (ctyp_of_term y)] [NONE,SOME y] exI) 1
 in 
 fun ideal_tac add_ths del_ths ctxt = 
+  asm_full_simp_tac 
+   (Simplifier.context ctxt (fst (NormalizerData.get ctxt)) delsimps del_ths addsimps add_ths) 
+ THEN'
  CSUBGOAL (fn (p, i) =>
   case get_ring_ideal_convs ctxt p of
    NONE => no_tac
@@ -1000,8 +1003,11 @@
     in EVERY (rev ws) THEN Method.insert_tac prems 1 
         THEN ring_tac add_ths del_ths ctxt 1
    end
-  in full_simp_tac (#poly_eq_ss thy) i 
-     THEN clarify_tac HOL_cs i 
+  in  
+     clarify_tac @{claset} i 
+     THEN ObjectLogic.full_atomize_tac i 
+     THEN asm_full_simp_tac (Simplifier.context ctxt (#poly_eq_ss thy)) i 
+     THEN clarify_tac @{claset} i 
      THEN (REPEAT (CONVERSION (#unwind_conv thy) i))
      THEN SUBPROOF poly_exists_tac ctxt i
   end