105
|
1 |
BoolNat = Arith +
|
|
2 |
types bool,nat 0
|
|
3 |
arities bool,nat :: arith
|
|
4 |
consts Suc :: "nat=>nat"
|
|
5 |
rules add0 "0 + n = n::nat"
|
|
6 |
addS "Suc(m)+n = Suc(m+n)"
|
|
7 |
nat1 "1 = Suc(0)"
|
|
8 |
or0l "0 + x = x::bool"
|
|
9 |
or0r "x + 0 = x::bool"
|
|
10 |
or1l "1 + x = 1::bool"
|
|
11 |
or1r "x + 1 = 1::bool"
|
|
12 |
end
|