equal
deleted
inserted
replaced
473 "op + = (%a b. nat (int a + int b))" |
473 "op + = (%a b. nat (int a + int b))" |
474 "op - = (%a b. nat (int a - int b))" |
474 "op - = (%a b. nat (int a - int b))" |
475 "op * = (%a b. nat (int a * int b))" |
475 "op * = (%a b. nat (int a * int b))" |
476 "op div = (%a b. nat (int a div int b))" |
476 "op div = (%a b. nat (int a div int b))" |
477 "op mod = (%a b. nat (int a mod int b))" |
477 "op mod = (%a b. nat (int a mod int b))" |
478 by (auto intro!: ext simp add: nat_mult_distrib nat_div_distrib |
478 by (fastsimp simp add: nat_mult_distrib nat_div_distrib nat_mod_distrib)+} |
479 nat_mod_distrib)} |
|
480 |
479 |
481 val ints = map mk_meta_eq @{lemma |
480 val ints = map mk_meta_eq @{lemma |
482 "int 0 = 0" |
481 "int 0 = 0" |
483 "int 1 = 1" |
482 "int 1 = 1" |
484 "int (Suc n) = int n + 1" |
483 "int (Suc n) = int n + 1" |