src/HOL/Decision_Procs/ferrack_tac.ML
changeset 55498 cf829d10d1d4
parent 54742 7a86358a3c0b
child 56245 84fc7dfa3cd4
--- a/src/HOL/Decision_Procs/ferrack_tac.ML	Fri Feb 14 21:06:20 2014 +0100
+++ b/src/HOL/Decision_Procs/ferrack_tac.ML	Fri Feb 14 22:03:48 2014 +0100
@@ -4,16 +4,12 @@
 
 signature FERRACK_TAC =
 sig
-  val trace: bool Unsynchronized.ref
   val linr_tac: Proof.context -> bool -> int -> tactic
 end
 
-structure Ferrack_Tac =
+structure Ferrack_Tac: FERRACK_TAC =
 struct
 
-val trace = Unsynchronized.ref false;
-fun trace_msg s = if !trace then tracing s else ();
-
 val ferrack_ss = let val ths = [@{thm real_of_int_inject}, @{thm real_of_int_less_iff}, 
                                 @{thm real_of_int_le_iff}]
              in @{context} delsimps ths addsimps (map (fn th => th RS sym) ths)
@@ -22,23 +18,7 @@
 val binarith = @{thms arith_simps}
 val comp_arith = binarith @ @{thms simp_thms}
 
-val zdvd_int = @{thm zdvd_int};
-val zdiff_int_split = @{thm zdiff_int_split};
-val all_nat = @{thm all_nat};
-val ex_nat = @{thm ex_nat};
-val split_zdiv = @{thm split_zdiv};
-val split_zmod = @{thm split_zmod};
-val mod_div_equality' = @{thm mod_div_equality'};
-val split_div' = @{thm split_div'};
-val Suc_eq_plus1 = @{thm Suc_eq_plus1};
-val imp_le_cong = @{thm imp_le_cong};
-val conj_le_cong = @{thm conj_le_cong};
-val mod_add_left_eq = @{thm mod_add_left_eq} RS sym;
-val mod_add_right_eq = @{thm mod_add_right_eq} RS sym;
-val nat_div_add_eq = @{thm div_add1_eq} RS sym;
-val int_div_add_eq = @{thm zdiv_zadd1_eq} RS sym;
-
-fun prepare_for_linr sg q fm = 
+fun prepare_for_linr q fm = 
   let
     val ps = Logic.strip_params fm
     val hs = map HOLogic.dest_Trueprop (Logic.strip_assums_hyp fm)
@@ -72,7 +52,7 @@
   let
     val thy = Proof_Context.theory_of ctxt
     (* Transform the term*)
-    val (t,np,nh) = prepare_for_linr thy q g
+    val (t,np,nh) = prepare_for_linr q g
     (* Some simpsets for dealing with mod div abs and nat*)
     val simpset0 = put_simpset HOL_basic_ss ctxt addsimps comp_arith
     val ct = cterm_of thy (HOLogic.mk_Trueprop t)
@@ -87,10 +67,8 @@
         Const ("==>", _) $ (Const (@{const_name Trueprop}, _) $ t1) $ _ =>
     let val pth = linr_oracle (ctxt, Envir.eta_long [] t1)
     in 
-          (trace_msg ("calling procedure with term:\n" ^
-             Syntax.string_of_term ctxt t1);
-           ((pth RS iffD2) RS pre_thm,
-            assm_tac (i + 1) THEN (if q then I else TRY) (rtac TrueI i)))
+       ((pth RS iffD2) RS pre_thm,
+        assm_tac (i + 1) THEN (if q then I else TRY) (rtac TrueI i))
     end
       | _ => (pre_thm, assm_tac i)
   in rtac ((mp_step nh o spec_step np) th) i THEN tac end);