src/HOL/Integ/IntArith.thy
changeset 22997 d4f3b015b50b
parent 22801 caffcb450ef4
child 23057 68b152e8ea86
equal deleted inserted replaced
22996:5f82c5f8478e 22997:d4f3b015b50b
     5 
     5 
     6 header {* Integer arithmetic *}
     6 header {* Integer arithmetic *}
     7 
     7 
     8 theory IntArith
     8 theory IntArith
     9 imports Numeral "../Wellfounded_Relations"
     9 imports Numeral "../Wellfounded_Relations"
    10 uses ("int_arith1.ML")
    10 uses "~~/src/Provers/Arith/assoc_fold.ML" ("int_arith1.ML")
    11 begin
    11 begin
    12 
    12 
    13 text{*Duplicate: can't understand why it's necessary*}
    13 text{*Duplicate: can't understand why it's necessary*}
    14 declare numeral_0_eq_0 [simp]
    14 declare numeral_0_eq_0 [simp]
    15 
    15 
   100  min_def[of "number_of u" "0::int", standard, simp]
   100  min_def[of "number_of u" "0::int", standard, simp]
   101  max_def[of "1::int" "number_of v", standard, simp]
   101  max_def[of "1::int" "number_of v", standard, simp]
   102  min_def[of "1::int" "number_of v", standard, simp]
   102  min_def[of "1::int" "number_of v", standard, simp]
   103  max_def[of "number_of u" "1::int", standard, simp]
   103  max_def[of "number_of u" "1::int", standard, simp]
   104  min_def[of "number_of u" "1::int", standard, simp]
   104  min_def[of "number_of u" "1::int", standard, simp]
   105 
       
   106 
   105 
   107 use "int_arith1.ML"
   106 use "int_arith1.ML"
   108 setup int_arith_setup
   107 setup int_arith_setup
   109 
   108 
   110 
   109 
   392  apply (simp add: mult_commute [of m]) 
   391  apply (simp add: mult_commute [of m]) 
   393  apply (frule pos_zmult_eq_1_iff_lemma, auto) 
   392  apply (frule pos_zmult_eq_1_iff_lemma, auto) 
   394 done
   393 done
   395 
   394 
   396 
   395 
   397 subsection {* Legavy ML bindings *}
   396 subsection {* Legacy ML bindings *}
   398 
   397 
   399 ML {*
   398 ML {*
   400 val of_int_number_of_eq = @{thm of_int_number_of_eq};
   399 val of_int_number_of_eq = @{thm of_int_number_of_eq};
   401 val nat_0 = @{thm nat_0};
   400 val nat_0 = @{thm nat_0};
   402 val nat_1 = @{thm nat_1};
   401 val nat_1 = @{thm nat_1};