src/HOL/Library/Old_SMT/old_z3_proof_tools.ML
changeset 62913 13252110a6fe
parent 61144 5e94dfead1c2
equal deleted inserted replaced
62912:745d31e63c21 62913:13252110a6fe
   343       addsimps @{thms z3div_def} addsimps @{thms z3mod_def}
   343       addsimps @{thms z3div_def} addsimps @{thms z3mod_def}
   344       addsimprocs [@{simproc numeral_divmod}]
   344       addsimprocs [@{simproc numeral_divmod}]
   345       addsimprocs [
   345       addsimprocs [
   346         Simplifier.make_simproc @{context} "fast_int_arith"
   346         Simplifier.make_simproc @{context} "fast_int_arith"
   347          {lhss = [@{term "(m::int) < n"}, @{term "(m::int) \<le> n"}, @{term "(m::int) = n"}],
   347          {lhss = [@{term "(m::int) < n"}, @{term "(m::int) \<le> n"}, @{term "(m::int) = n"}],
   348           proc = K Lin_Arith.simproc, identifier = []},
   348           proc = K Lin_Arith.simproc},
   349         Simplifier.make_simproc @{context} "antisym_le"
   349         Simplifier.make_simproc @{context} "antisym_le"
   350          {lhss = [@{term "(x::'a::order) \<le> y"}],
   350          {lhss = [@{term "(x::'a::order) \<le> y"}],
   351           proc = K prove_antisym_le, identifier = []},
   351           proc = K prove_antisym_le},
   352         Simplifier.make_simproc @{context} "antisym_less"
   352         Simplifier.make_simproc @{context} "antisym_less"
   353          {lhss = [@{term "\<not> (x::'a::linorder) < y"}],
   353          {lhss = [@{term "\<not> (x::'a::linorder) < y"}],
   354           proc = K prove_antisym_less, identifier = []}])
   354           proc = K prove_antisym_less}])
   355 
   355 
   356   structure Simpset = Generic_Data
   356   structure Simpset = Generic_Data
   357   (
   357   (
   358     type T = simpset
   358     type T = simpset
   359     val empty = basic_simpset
   359     val empty = basic_simpset