Tuned relevant premises selection
authorchaieb
Sat, 05 Jan 2008 23:05:29 +0100
changeset 25843af0c90f54ebe
parent 25842 fdabeed7ccd9
child 25844 8943e72bf92a
Tuned relevant premises selection
src/HOL/Tools/Qelim/presburger.ML
     1.1 --- a/src/HOL/Tools/Qelim/presburger.ML	Sat Jan 05 21:57:18 2008 +0100
     1.2 +++ b/src/HOL/Tools/Qelim/presburger.ML	Sat Jan 05 23:05:29 2008 +0100
     1.3 @@ -68,7 +68,7 @@
     1.4   | _ => can HOLogic.dest_number t orelse can HOLogic.dest_nat t
     1.5  
     1.6   fun ty cts t = 
     1.7 - if not (typ_of (ctyp_of_term t) mem [HOLogic.intT, HOLogic.natT]) then false 
     1.8 + if not (typ_of (ctyp_of_term t) mem [HOLogic.intT, HOLogic.natT, HOLogic.boolT]) then false 
     1.9      else case term_of t of 
    1.10        c$l$r => if c mem [@{term"op *::int => _"}, @{term"op *::nat => _"}] 
    1.11                 then not (isnum l orelse isnum r)
    1.12 @@ -170,6 +170,7 @@
    1.13    THEN_ALL_NEW CONVERSION Thm.eta_long_conversion
    1.14    THEN_ALL_NEW simp_tac ss
    1.15    THEN_ALL_NEW (TRY o generalize_tac (int_nat_terms ctxt))
    1.16 +  THEN_ALL_NEW ObjectLogic.full_atomize_tac
    1.17    THEN_ALL_NEW (TRY o thin_prems_tac (is_relevant ctxt))
    1.18    THEN_ALL_NEW ObjectLogic.full_atomize_tac
    1.19    THEN_ALL_NEW div_mod_tac ctxt