|
x+0 = x |
|
x+s(y) = s(x+y) |
|
|
|
x*0 = 0 |
|
x*s(y) = (x*y)+x |
|
|
|
dbl(0) = 0 |
|
dbl(s(n)) = s(s(dbl(n))) |
|
|
|
half(0) = 0 |
|
half(s(0)) = 0 |
|
half(s(s(n))) = s(half(n)) |
|
|
|
even(0) = true |
|
even(s(0)) = false |
|
even(s(s(n))) = even(n) |
|
|
|
evenm(0) = true |
|
oddm(0) = false |
|
evenm(s(n)) = oddm(n) |
|
oddm(s(n)) = evenm(n) |
|
|
|
len(nil) = 0 |
|
len(cons(h,t)) = s(len(t)) |
|
|
|
app(nil,a) = a |
|
app(cons(h,a),t) = cons(h,app(a,t)) |
|
|
|
nth(0,l) = l |
|
nth(x,nil) = nil |
|
nth(s(x),cons(h,t)) = nth(x,t) |
|
|
|
rot(0,l)=l |
|
rot(n,nil)=nil |
|
rot(s(n),cons(h,t)) = rot(n,app(t,cons(h,nil))) |
|
|
|
rev(nil) = nil |
|
rev(cons(h,t)) = app(rev(t),cons(h,nil)) |
|
|
|
qrev(nil,l) = l |
|
qrev(cons(h,t),l) = qrev(t,cons(h,l)) |
|
x+y=y+x |
|
x*y=y*x |
|
s(x)+x=s(x+x) |
|
dbl(x)=x+x |
|
len(app(x,y)) = len(app(y,x)) |
|
len(app(x,y)) = len(x)+len(y) |
|
len(app(x,x)) = dbl(len(x)) |
|
even(x+x)=true |
|
evenm(x+x)=true |
|
oddm(s(s(x)))=odd(x) |
|
even(s(x+x)) = false |
|
oddm(s(x+x)) = true |
|
oddm(x+x) = false |
|
len(rot(len(x),x))=len(x) |
|
len(rot(x,app(z,cons(nil,y))))=s(len(rot(x,z))) |
|
len(rev(x))=len(x) |
|
rev(rev(x))=x |
|
len(qrev(x,y))=len(x)+len(y) |
|
qrev(rev(x),nil)=x |
|
nth(i,nth(j,x))=nth(j,nth(i,x)) |
|
nth(i,nth(j,nth(k,x)))=nth(k,nth(j,nth(i,x))) |