NO
by Hakusan
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)) |
t0 | = | plus(NUMERAL(0),NUMERAL(y2)) |
→1 | plus(0,NUMERAL(y2)) | |
= | t1 |
t0 | = | plus(NUMERAL(0),NUMERAL(y2)) |
→ε | NUMERAL(plus(0,y2)) | |
= | t1 |
Hakusan