equal
deleted
inserted
replaced
14 consts |
14 consts |
15 pred :: nat => nat |
15 pred :: nat => nat |
16 div, mod :: [nat, nat] => nat (infixl 70) |
16 div, mod :: [nat, nat] => nat (infixl 70) |
17 |
17 |
18 defs |
18 defs |
19 pred_def "pred(m) == nat_rec 0 (%n r.n) m" |
19 pred_def "pred(m) == case m of 0 => 0 | Suc n => n" |
20 add_def "m+n == nat_rec n (%u v. Suc(v)) m" |
20 add_def "m+n == nat_rec n (%u v. Suc(v)) m" |
21 diff_def "m-n == nat_rec m (%u v. pred(v)) n" |
21 diff_def "m-n == nat_rec m (%u v. pred(v)) n" |
22 mult_def "m*n == nat_rec 0 (%u v. n + v) m" |
22 mult_def "m*n == nat_rec 0 (%u v. n + v) m" |
23 |
23 |
24 mod_def "m mod n == wfrec (trancl pred_nat) |
24 mod_def "m mod n == wfrec (trancl pred_nat) |