The rewrite relation of the following TRS is considered.
|
NUMERAL(0) |
→ |
0 |
|
BIT0(0) |
→ |
0 |
|
SUC(NUMERAL(n)) |
→ |
NUMERAL(SUC(n)) |
|
SUC(0) |
→ |
BIT1(0) |
|
SUC(BIT0(n)) |
→ |
BIT1(n) |
|
SUC(BIT1(n)) |
→ |
BIT0(SUC(n)) |
|
PRE(NUMERAL(n)) |
→ |
NUMERAL(PRE(n)) |
|
PRE(0) |
→ |
0 |
|
PRE(BIT0(n)) |
→ |
if(eq(n,0),0,BIT1(PRE(n))) |
|
PRE(BIT1(n)) |
→ |
BIT0(n) |
|
plus(NUMERAL(m),NUMERAL(n)) |
→ |
NUMERAL(plus(m,n)) |
|
plus(0,0) |
→ |
0 |
|
plus(0,BIT0(n)) |
→ |
BIT0(n) |
|
plus(0,BIT1(n)) |
→ |
BIT1(n) |
|
plus(BIT0(n),0) |
→ |
BIT0(n) |
|
plus(BIT1(n),0) |
→ |
BIT1(n) |
|
plus(BIT0(m),BIT0(n)) |
→ |
BIT0(plus(m,n)) |
|
plus(BIT0(m),BIT1(n)) |
→ |
BIT1(plus(m,n)) |
|
plus(BIT1(m),BIT0(n)) |
→ |
BIT1(plus(m,n)) |
|
plus(BIT1(m),BIT1(n)) |
→ |
BIT0(SUC(plus(m,n))) |
|
mult(NUMERAL(m),NUMERAL(n)) |
→ |
NUMERAL(mult(m,n)) |
|
mult(0,0) |
→ |
0 |
|
mult(0,BIT0(n)) |
→ |
0 |
|
mult(0,BIT1(n)) |
→ |
0 |
|
mult(BIT0(n),0) |
→ |
0 |
|
mult(BIT1(n),0) |
→ |
0 |
|
mult(BIT0(m),BIT0(n)) |
→ |
BIT0(BIT0(mult(m,n))) |
|
mult(BIT0(m),BIT1(n)) |
→ |
plus(BIT0(m),BIT0(BIT0(mult(m,n)))) |
|
mult(BIT1(m),BIT0(n)) |
→ |
plus(BIT0(n),BIT0(BIT0(mult(m,n)))) |
|
mult(BIT1(m),BIT1(n)) |
→ |
plus(plus(BIT1(m),BIT0(n)),BIT0(BIT0(mult(m,n)))) |
|
exp(NUMERAL(m),NUMERAL(n)) |
→ |
NUMERAL(exp(m,n)) |
|
exp(0,0) |
→ |
BIT1(0) |
|
exp(BIT0(m),0) |
→ |
BIT1(0) |
|
exp(BIT1(m),0) |
→ |
BIT1(0) |
|
exp(0,BIT0(n)) |
→ |
mult(exp(0,n),exp(0,n)) |
|
exp(BIT0(m),BIT0(n)) |
→ |
mult(exp(BIT0(m),n),exp(BIT0(m),n)) |
|
exp(BIT1(m),BIT0(n)) |
→ |
mult(exp(BIT1(m),n),exp(BIT1(m),n)) |
|
exp(0,BIT1(n)) |
→ |
0 |
|
exp(BIT0(m),BIT1(n)) |
→ |
mult(mult(BIT0(m),exp(BIT0(m),n)),exp(BIT0(m),n)) |
|
exp(BIT1(m),BIT1(n)) |
→ |
mult(mult(BIT1(m),exp(BIT1(m),n)),exp(BIT1(m),n)) |
|
EVEN(NUMERAL(n)) |
→ |
EVEN(n) |
|
EVEN(0) |
→ |
T |
|
EVEN(BIT0(n)) |
→ |
T |
|
EVEN(BIT1(n)) |
→ |
F |
|
ODD(NUMERAL(n)) |
→ |
ODD(n) |
|
ODD(0) |
→ |
F |
|
ODD(BIT0(n)) |
→ |
F |
|
ODD(BIT1(n)) |
→ |
T |
|
eq(NUMERAL(m),NUMERAL(n)) |
→ |
eq(m,n) |
|
eq(0,0) |
→ |
T |
|
eq(BIT0(n),0) |
→ |
eq(n,0) |
|
eq(BIT1(n),0) |
→ |
F |
|
eq(0,BIT0(n)) |
→ |
eq(0,n) |
|
eq(0,BIT1(n)) |
→ |
F |
|
eq(BIT0(m),BIT0(n)) |
→ |
eq(m,n) |
|
eq(BIT0(m),BIT1(n)) |
→ |
F |
|
eq(BIT1(m),BIT0(n)) |
→ |
F |
|
eq(BIT1(m),BIT1(n)) |
→ |
eq(m,n) |
|
le(NUMERAL(m),NUMERAL(n)) |
→ |
le(m,n) |
|
le(0,0) |
→ |
T |
|
le(BIT0(n),0) |
→ |
le(n,0) |
|
le(BIT1(n),0) |
→ |
F |
|
le(0,BIT0(n)) |
→ |
T |
|
le(0,BIT1(n)) |
→ |
T |
|
le(BIT0(m),BIT0(n)) |
→ |
le(m,n) |
|
le(BIT0(m),BIT1(n)) |
→ |
le(m,n) |
|
le(BIT1(m),BIT0(n)) |
→ |
lt(m,n) |
|
le(BIT1(m),BIT1(n)) |
→ |
le(m,n) |
|
lt(NUMERAL(m),NUMERAL(n)) |
→ |
lt(m,n) |
|
lt(0,0) |
→ |
F |
|
lt(BIT0(n),0) |
→ |
F |
|
lt(BIT1(n),0) |
→ |
F |
|
lt(0,BIT0(n)) |
→ |
lt(0,n) |
|
lt(0,BIT1(n)) |
→ |
T |
|
lt(BIT0(m),BIT0(n)) |
→ |
lt(m,n) |
|
lt(BIT0(m),BIT1(n)) |
→ |
le(m,n) |
|
lt(BIT1(m),BIT0(n)) |
→ |
lt(m,n) |
|
lt(BIT1(m),BIT1(n)) |
→ |
lt(m,n) |
|
ge(NUMERAL(n),NUMERAL(m)) |
→ |
ge(n,m) |
|
ge(0,0) |
→ |
T |
|
ge(0,BIT0(n)) |
→ |
ge(0,n) |
|
ge(0,BIT1(n)) |
→ |
F |
|
ge(BIT0(n),0) |
→ |
T |
|
ge(BIT1(n),0) |
→ |
T |
|
ge(BIT0(n),BIT0(m)) |
→ |
ge(n,m) |
|
ge(BIT1(n),BIT0(m)) |
→ |
ge(n,m) |
|
ge(BIT0(n),BIT1(m)) |
→ |
gt(n,m) |
|
ge(BIT1(n),BIT1(m)) |
→ |
ge(n,m) |
|
gt(NUMERAL(n),NUMERAL(m)) |
→ |
gt(n,m) |
|
gt(0,0) |
→ |
F |
|
gt(0,BIT0(n)) |
→ |
F |
|
gt(0,BIT1(n)) |
→ |
F |
|
gt(BIT0(n),0) |
→ |
gt(n,0) |
|
gt(BIT1(n),0) |
→ |
T |
|
gt(BIT0(n),BIT0(m)) |
→ |
gt(n,m) |
|
gt(BIT1(n),BIT0(m)) |
→ |
ge(n,m) |
|
gt(BIT0(n),BIT1(m)) |
→ |
gt(n,m) |
|
gt(BIT1(n),BIT1(m)) |
→ |
gt(n,m) |
|
minus(NUMERAL(m),NUMERAL(n)) |
→ |
NUMERAL(minus(m,n)) |
|
minus(0,0) |
→ |
0 |
|
minus(0,BIT0(n)) |
→ |
0 |
|
minus(0,BIT1(n)) |
→ |
0 |
|
minus(BIT0(n),0) |
→ |
BIT0(n) |
|
minus(BIT1(n),0) |
→ |
BIT1(n) |
|
minus(BIT0(m),BIT0(n)) |
→ |
BIT0(minus(m,n)) |
|
minus(BIT0(m),BIT1(n)) |
→ |
PRE(BIT0(minus(m,n))) |
|
minus(BIT1(m),BIT0(n)) |
→ |
if(le(n,m),BIT1(minus(m,n)),0) |
|
minus(BIT1(m),BIT1(n)) |
→ |
BIT0(minus(m,n)) |