# HG changeset patch # User wenzelm # Date 1392411828 -3600 # Node ID cf829d10d1d41ece4310a57cc678adc272c77ec3 # Parent c0f8aebfb43dbffa6d199e3fa3c7b2722dda9e1d proper signature; removed dead code; diff -r c0f8aebfb43d -r cf829d10d1d4 src/HOL/Decision_Procs/ferrack_tac.ML --- 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);