src/HOL/Nat.thy
changeset 59582 0fbed69ff081
parent 59000 6eb0725503fc
child 59815 cce82e360c2f
equal deleted inserted replaced
59580:cbc38731d42f 59582:0fbed69ff081
  1627 ML_file "Tools/lin_arith.ML"
  1627 ML_file "Tools/lin_arith.ML"
  1628 setup {* Lin_Arith.global_setup *}
  1628 setup {* Lin_Arith.global_setup *}
  1629 declaration {* K Lin_Arith.setup *}
  1629 declaration {* K Lin_Arith.setup *}
  1630 
  1630 
  1631 simproc_setup fast_arith_nat ("(m::nat) < n" | "(m::nat) <= n" | "(m::nat) = n") =
  1631 simproc_setup fast_arith_nat ("(m::nat) < n" | "(m::nat) <= n" | "(m::nat) = n") =
  1632   {* fn _ => fn ss => fn ct => Lin_Arith.simproc ss (term_of ct) *}
  1632   {* fn _ => fn ss => fn ct => Lin_Arith.simproc ss (Thm.term_of ct) *}
  1633 (* Because of this simproc, the arithmetic solver is really only
  1633 (* Because of this simproc, the arithmetic solver is really only
  1634 useful to detect inconsistencies among the premises for subgoals which are
  1634 useful to detect inconsistencies among the premises for subgoals which are
  1635 *not* themselves (in)equalities, because the latter activate
  1635 *not* themselves (in)equalities, because the latter activate
  1636 fast_nat_arith_simproc anyway. However, it seems cheaper to activate the
  1636 fast_nat_arith_simproc anyway. However, it seems cheaper to activate the
  1637 solver all the time rather than add the additional check. *)
  1637 solver all the time rather than add the additional check. *)