src/ZF/arith_data.ML
changeset 70470 54cebc5cd108
parent 69593 3dda49e08b9d
child 74294 ee04dc00bf0a
equal deleted inserted replaced
70469:1b8858f4c393 70470:54cebc5cd108
   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