equal
deleted
inserted
replaced
162 struct |
162 struct |
163 open CancelNumeralsCommon |
163 open CancelNumeralsCommon |
164 val prove_conv = prove_conv "nateq_cancel_numerals" |
164 val prove_conv = prove_conv "nateq_cancel_numerals" |
165 val mk_bal = FOLogic.mk_eq |
165 val mk_bal = FOLogic.mk_eq |
166 val dest_bal = FOLogic.dest_eq |
166 val dest_bal = FOLogic.dest_eq |
167 val bal_add1 = @{thm eq_add_iff} RS @{thm iff_trans} |
167 val bal_add1 = @{thm eq_add_iff [THEN iff_trans]} |
168 val bal_add2 = @{thm eq_add_iff} RS @{thm iff_trans} |
168 val bal_add2 = @{thm eq_add_iff [THEN iff_trans]} |
169 fun trans_tac ctxt = gen_trans_tac ctxt @{thm iff_trans} |
169 fun trans_tac ctxt = gen_trans_tac ctxt @{thm iff_trans} |
170 end; |
170 end; |
171 |
171 |
172 structure EqCancelNumerals = CancelNumeralsFun(EqCancelNumeralsData); |
172 structure EqCancelNumerals = CancelNumeralsFun(EqCancelNumeralsData); |
173 |
173 |
175 struct |
175 struct |
176 open CancelNumeralsCommon |
176 open CancelNumeralsCommon |
177 val prove_conv = prove_conv "natless_cancel_numerals" |
177 val prove_conv = prove_conv "natless_cancel_numerals" |
178 val mk_bal = FOLogic.mk_binrel \<^const_name>\<open>Ordinal.lt\<close> |
178 val mk_bal = FOLogic.mk_binrel \<^const_name>\<open>Ordinal.lt\<close> |
179 val dest_bal = FOLogic.dest_bin \<^const_name>\<open>Ordinal.lt\<close> iT |
179 val dest_bal = FOLogic.dest_bin \<^const_name>\<open>Ordinal.lt\<close> iT |
180 val bal_add1 = @{thm less_add_iff} RS @{thm iff_trans} |
180 val bal_add1 = @{thm less_add_iff [THEN iff_trans]} |
181 val bal_add2 = @{thm less_add_iff} RS @{thm iff_trans} |
181 val bal_add2 = @{thm less_add_iff [THEN iff_trans]} |
182 fun trans_tac ctxt = gen_trans_tac ctxt @{thm iff_trans} |
182 fun trans_tac ctxt = gen_trans_tac ctxt @{thm iff_trans} |
183 end; |
183 end; |
184 |
184 |
185 structure LessCancelNumerals = CancelNumeralsFun(LessCancelNumeralsData); |
185 structure LessCancelNumerals = CancelNumeralsFun(LessCancelNumeralsData); |
186 |
186 |
188 struct |
188 struct |
189 open CancelNumeralsCommon |
189 open CancelNumeralsCommon |
190 val prove_conv = prove_conv "natdiff_cancel_numerals" |
190 val prove_conv = prove_conv "natdiff_cancel_numerals" |
191 val mk_bal = FOLogic.mk_binop \<^const_name>\<open>Arith.diff\<close> |
191 val mk_bal = FOLogic.mk_binop \<^const_name>\<open>Arith.diff\<close> |
192 val dest_bal = FOLogic.dest_bin \<^const_name>\<open>Arith.diff\<close> iT |
192 val dest_bal = FOLogic.dest_bin \<^const_name>\<open>Arith.diff\<close> iT |
193 val bal_add1 = @{thm diff_add_eq} RS @{thm trans} |
193 val bal_add1 = @{thm diff_add_eq [THEN trans]} |
194 val bal_add2 = @{thm diff_add_eq} RS @{thm trans} |
194 val bal_add2 = @{thm diff_add_eq [THEN trans]} |
195 fun trans_tac ctxt = gen_trans_tac ctxt @{thm trans} |
195 fun trans_tac ctxt = gen_trans_tac ctxt @{thm trans} |
196 end; |
196 end; |
197 |
197 |
198 structure DiffCancelNumerals = CancelNumeralsFun(DiffCancelNumeralsData); |
198 structure DiffCancelNumerals = CancelNumeralsFun(DiffCancelNumeralsData); |
199 |
199 |