equal
deleted
inserted
replaced
842 simproc_setup fast_arith ("(m::'a::linordered_idom) < n" | |
842 simproc_setup fast_arith ("(m::'a::linordered_idom) < n" | |
843 "(m::'a::linordered_idom) <= n" | |
843 "(m::'a::linordered_idom) <= n" | |
844 "(m::'a::linordered_idom) = n") = |
844 "(m::'a::linordered_idom) = n") = |
845 {* fn _ => fn ss => fn ct => Lin_Arith.simproc ss (term_of ct) *} |
845 {* fn _ => fn ss => fn ct => Lin_Arith.simproc ss (term_of ct) *} |
846 |
846 |
847 setup {* |
|
848 Reorient_Proc.add |
|
849 (fn Const (@{const_name numeral}, _) $ _ => true |
|
850 | Const (@{const_name neg_numeral}, _) $ _ => true |
|
851 | _ => false) |
|
852 *} |
|
853 |
|
854 simproc_setup reorient_numeral |
|
855 ("numeral w = x" | "neg_numeral w = y") = Reorient_Proc.proc |
|
856 |
|
857 |
847 |
858 subsection{*Lemmas About Small Numerals*} |
848 subsection{*Lemmas About Small Numerals*} |
859 |
849 |
860 lemma abs_power_minus_one [simp]: |
850 lemma abs_power_minus_one [simp]: |
861 "abs(-1 ^ n) = (1::'a::linordered_idom)" |
851 "abs(-1 ^ n) = (1::'a::linordered_idom)" |