equal
deleted
inserted
replaced
921 declare power_minus_Dig0 [simp] |
921 declare power_minus_Dig0 [simp] |
922 declare power_minus_Dig1 [simp] |
922 declare power_minus_Dig1 [simp] |
923 |
923 |
924 declare Suc_of_num [simp] |
924 declare Suc_of_num [simp] |
925 |
925 |
926 thm numeral |
|
927 |
|
928 |
926 |
929 subsection {* Simplification Procedures *} |
927 subsection {* Simplification Procedures *} |
930 |
928 |
931 subsubsection {* Reorientation of equalities *} |
929 subsubsection {* Reorientation of equalities *} |
932 |
930 |
933 setup {* |
931 setup {* |
934 ReorientProc.add |
932 Reorient_Proc.add |
935 (fn Const(@{const_name of_num}, _) $ _ => true |
933 (fn Const(@{const_name of_num}, _) $ _ => true |
936 | Const(@{const_name uminus}, _) $ |
934 | Const(@{const_name uminus}, _) $ |
937 (Const(@{const_name of_num}, _) $ _) => true |
935 (Const(@{const_name of_num}, _) $ _) => true |
938 | _ => false) |
936 | _ => false) |
939 *} |
937 *} |
940 |
938 |
941 simproc_setup reorient_num ("of_num n = x" | "- of_num m = y") = ReorientProc.proc |
939 simproc_setup reorient_num ("of_num n = x" | "- of_num m = y") = Reorient_Proc.proc |
|
940 |
942 |
941 |
943 subsubsection {* Constant folding for multiplication in semirings *} |
942 subsubsection {* Constant folding for multiplication in semirings *} |
944 |
943 |
945 context semiring_numeral |
944 context semiring_numeral |
946 begin |
945 begin |