equal
deleted
inserted
replaced
1 structure Nat = |
|
2 struct |
|
3 |
|
4 datatype nat = Dig1 of nat | Dig0 of nat | One_nat | Zero_nat; |
|
5 |
|
6 fun plus_nat (Dig1 m) (Dig1 n) = Dig0 (plus_nat (plus_nat m n) One_nat) |
|
7 | plus_nat (Dig1 m) (Dig0 n) = Dig1 (plus_nat m n) |
|
8 | plus_nat (Dig0 m) (Dig1 n) = Dig1 (plus_nat m n) |
|
9 | plus_nat (Dig0 m) (Dig0 n) = Dig0 (plus_nat m n) |
|
10 | plus_nat (Dig1 m) One_nat = Dig0 (plus_nat m One_nat) |
|
11 | plus_nat One_nat (Dig1 n) = Dig0 (plus_nat n One_nat) |
|
12 | plus_nat (Dig0 m) One_nat = Dig1 m |
|
13 | plus_nat One_nat (Dig0 n) = Dig1 n |
|
14 | plus_nat m Zero_nat = m |
|
15 | plus_nat Zero_nat n = n; |
|
16 |
|
17 end; (*struct Nat*) |
|