src/HOL/Integ/presburger.ML
changeset 15661 9ef583b08647
parent 15620 8ccdc8bc66a2
child 16836 45a3dc4688bc
equal deleted inserted replaced
15660:255055554c67 15661:9ef583b08647
    71   | add_term_typed_consts (Abs (_, _, t), cs) = add_term_typed_consts (t, cs)
    71   | add_term_typed_consts (Abs (_, _, t), cs) = add_term_typed_consts (t, cs)
    72   | add_term_typed_consts (_, cs) = cs;
    72   | add_term_typed_consts (_, cs) = cs;
    73 
    73 
    74 fun term_typed_consts t = add_term_typed_consts(t,[]);
    74 fun term_typed_consts t = add_term_typed_consts(t,[]);
    75 
    75 
    76 (* SOME Types*)
    76 (* Some Types*)
    77 val bT = HOLogic.boolT;
    77 val bT = HOLogic.boolT;
    78 val bitT = HOLogic.bitT;
    78 val bitT = HOLogic.bitT;
    79 val iT = HOLogic.intT;
    79 val iT = HOLogic.intT;
    80 val binT = HOLogic.binT;
    80 val binT = HOLogic.binT;
    81 val nT = HOLogic.natT;
    81 val nT = HOLogic.natT;
   247     val sg = sign_of_thm st
   247     val sg = sign_of_thm st
   248     (* The Abstraction step *)
   248     (* The Abstraction step *)
   249     val g' = if a then abstract_pres sg g else g
   249     val g' = if a then abstract_pres sg g else g
   250     (* Transform the term*)
   250     (* Transform the term*)
   251     val (t,np,nh) = prepare_for_presburger sg q g'
   251     val (t,np,nh) = prepare_for_presburger sg q g'
   252     (* SOME simpsets for dealing with mod div abs and nat*)
   252     (* Some simpsets for dealing with mod div abs and nat*)
   253     val simpset0 = HOL_basic_ss
   253     val simpset0 = HOL_basic_ss
   254       addsimps [mod_div_equality', Suc_plus1]
   254       addsimps [mod_div_equality', Suc_plus1]
   255       addsplits [split_zdiv, split_zmod, split_div', split_min, split_max]
   255       addsplits [split_zdiv, split_zmod, split_div', split_min, split_max]
   256     (* Simp rules for changing (n::int) to int n *)
   256     (* Simp rules for changing (n::int) to int n *)
   257     val simpset1 = HOL_basic_ss
   257     val simpset1 = HOL_basic_ss