equal
deleted
inserted
replaced
24 |
24 |
25 structure Nat_Numeral_Simprocs : NAT_NUMERAL_SIMPROCS = |
25 structure Nat_Numeral_Simprocs : NAT_NUMERAL_SIMPROCS = |
26 struct |
26 struct |
27 |
27 |
28 (*Maps n to #n for n = 1, 2*) |
28 (*Maps n to #n for n = 1, 2*) |
29 val numeral_syms = [@{thm numeral_1_eq_1} RS sym, @{thm numeral_2_eq_2} RS sym]; |
29 val numeral_syms = [@{thm numeral_One} RS sym, @{thm numeral_2_eq_2} RS sym]; |
30 val numeral_sym_ss = |
30 val numeral_sym_ss = |
31 simpset_of (put_simpset HOL_basic_ss @{context} addsimps numeral_syms); |
31 simpset_of (put_simpset HOL_basic_ss @{context} addsimps numeral_syms); |
32 |
32 |
33 (*Utilities*) |
33 (*Utilities*) |
34 |
34 |
57 |
57 |
58 |
58 |
59 (** Other simproc items **) |
59 (** Other simproc items **) |
60 |
60 |
61 val bin_simps = |
61 val bin_simps = |
62 [@{thm numeral_1_eq_1} RS sym, |
62 [@{thm numeral_One} RS sym, |
63 @{thm numeral_plus_numeral}, @{thm add_numeral_left}, |
63 @{thm numeral_plus_numeral}, @{thm add_numeral_left}, |
64 @{thm diff_nat_numeral}, @{thm diff_0_eq_0}, @{thm diff_0}, |
64 @{thm diff_nat_numeral}, @{thm diff_0_eq_0}, @{thm diff_0}, |
65 @{thm numeral_times_numeral}, @{thm mult_numeral_left(1)}, |
65 @{thm numeral_times_numeral}, @{thm mult_numeral_left(1)}, |
66 @{thm if_True}, @{thm if_False}, @{thm not_False_eq_True}, |
66 @{thm if_True}, @{thm if_False}, @{thm not_False_eq_True}, |
67 @{thm nat_0}, @{thm nat_numeral}, @{thm nat_neg_numeral}] @ |
67 @{thm nat_0}, @{thm nat_numeral}, @{thm nat_neg_numeral}] @ |