equal
deleted
inserted
replaced
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}; |