The rewrite relation of the following TRS is considered.
|
originates from |
|
|
originates from |
|
le#(s(z0),s(z1)) |
→ |
c2(le#(z0,z1)) |
(17) |
|
originates from |
le(s(z0),s(z1)) |
→ |
le(z0,z1) |
(16) |
|
|
originates from |
|
minus#(s(z0),z1) |
→ |
c4(if_minus#(le(s(z0),z1),s(z0),z1),le#(s(z0),z1)) |
(21) |
|
originates from |
minus(s(z0),z1) |
→ |
if_minus(le(s(z0),z1),s(z0),z1) |
(20) |
|
if_minus#(true,s(z0),z1) |
→ |
c5 |
(23) |
|
originates from |
if_minus(true,s(z0),z1) |
→ |
0 |
(22) |
|
if_minus#(false,s(z0),z1) |
→ |
c6(minus#(z0,z1)) |
(25) |
|
originates from |
if_minus(false,s(z0),z1) |
→ |
s(minus(z0,z1)) |
(24) |
|
|
originates from |
|
quot#(s(z0),s(z1)) |
→ |
c8(quot#(minus(z0,z1),s(z1)),minus#(z0,z1)) |
(29) |
|
originates from |
quot(s(z0),s(z1)) |
→ |
s(quot(minus(z0,z1),s(z1))) |
(28) |
|
|
originates from |
|
log#(s(s(z0))) |
→ |
c10(log#(s(quot(z0,s(s(0))))),quot#(z0,s(s(0)))) |
(32) |
|
originates from |
log(s(s(z0))) |
→ |
s(log(s(quot(z0,s(s(0)))))) |
(31) |
|
Moreover, we add the following terms to the innermost strategy.
le#(0,z0) |
→ |
c |
(13) |
le#(s(z0),0) |
→ |
c1 |
(15) |
le#(s(z0),s(z1)) |
→ |
c2(le#(z0,z1)) |
(17) |
minus#(0,z0) |
→ |
c3 |
(19) |
minus#(s(z0),z1) |
→ |
c4(if_minus#(le(s(z0),z1),s(z0),z1),le#(s(z0),z1)) |
(21) |
if_minus#(true,s(z0),z1) |
→ |
c5 |
(23) |
if_minus#(false,s(z0),z1) |
→ |
c6(minus#(z0,z1)) |
(25) |
quot#(0,s(z0)) |
→ |
c7 |
(27) |
quot#(s(z0),s(z1)) |
→ |
c8(quot#(minus(z0,z1),s(z1)),minus#(z0,z1)) |
(29) |
log#(s(0)) |
→ |
c9 |
(30) |
log#(s(s(z0))) |
→ |
c10(log#(s(quot(z0,s(s(0))))),quot#(z0,s(s(0)))) |
(32) |
le#(0,z0) |
→ |
c |
(13) |
le#(s(z0),0) |
→ |
c1 |
(15) |
le#(s(z0),s(z1)) |
→ |
c2(le#(z0,z1)) |
(17) |
minus#(0,z0) |
→ |
c3 |
(19) |
minus#(s(z0),z1) |
→ |
c4(if_minus#(le(s(z0),z1),s(z0),z1),le#(s(z0),z1)) |
(21) |
if_minus#(true,s(z0),z1) |
→ |
c5 |
(23) |
if_minus#(false,s(z0),z1) |
→ |
c6(minus#(z0,z1)) |
(25) |
quot#(0,s(z0)) |
→ |
c7 |
(27) |
quot#(s(z0),s(z1)) |
→ |
c8(quot#(minus(z0,z1),s(z1)),minus#(z0,z1)) |
(29) |
log#(s(0)) |
→ |
c9 |
(30) |
log#(s(s(z0))) |
→ |
c10(log#(s(quot(z0,s(s(0))))),quot#(z0,s(s(0)))) |
(32) |
minus(s(z0),z1) |
→ |
if_minus(le(s(z0),z1),s(z0),z1) |
(20) |
quot(s(z0),s(z1)) |
→ |
s(quot(minus(z0,z1),s(z1))) |
(28) |
if_minus(false,s(z0),z1) |
→ |
s(minus(z0,z1)) |
(24) |
if_minus(true,s(z0),z1) |
→ |
0 |
(22) |
minus(0,z0) |
→ |
0 |
(18) |
quot(0,s(z0)) |
→ |
0 |
(26) |
le#(0,z0) |
→ |
c |
(13) |
le#(s(z0),0) |
→ |
c1 |
(15) |
le#(s(z0),s(z1)) |
→ |
c2(le#(z0,z1)) |
(17) |
minus#(0,z0) |
→ |
c3 |
(19) |
minus#(s(z0),z1) |
→ |
c4(if_minus#(le(s(z0),z1),s(z0),z1),le#(s(z0),z1)) |
(21) |
if_minus#(true,s(z0),z1) |
→ |
c5 |
(23) |
if_minus#(false,s(z0),z1) |
→ |
c6(minus#(z0,z1)) |
(25) |
quot#(0,s(z0)) |
→ |
c7 |
(27) |
quot#(s(z0),s(z1)) |
→ |
c8(quot#(minus(z0,z1),s(z1)),minus#(z0,z1)) |
(29) |
log#(s(0)) |
→ |
c9 |
(30) |
log#(s(s(z0))) |
→ |
c10(log#(s(quot(z0,s(s(0))))),quot#(z0,s(s(0)))) |
(32) |
minus(s(z0),z1) |
→ |
if_minus(le(s(z0),z1),s(z0),z1) |
(20) |
quot(s(z0),s(z1)) |
→ |
s(quot(minus(z0,z1),s(z1))) |
(28) |
if_minus(false,s(z0),z1) |
→ |
s(minus(z0,z1)) |
(24) |
if_minus(true,s(z0),z1) |
→ |
0 |
(22) |
minus(0,z0) |
→ |
0 |
(18) |
quot(0,s(z0)) |
→ |
0 |
(26) |
le#(0,z0) |
→ |
c |
(13) |
le#(s(z0),0) |
→ |
c1 |
(15) |
le#(s(z0),s(z1)) |
→ |
c2(le#(z0,z1)) |
(17) |
minus#(0,z0) |
→ |
c3 |
(19) |
minus#(s(z0),z1) |
→ |
c4(if_minus#(le(s(z0),z1),s(z0),z1),le#(s(z0),z1)) |
(21) |
if_minus#(true,s(z0),z1) |
→ |
c5 |
(23) |
if_minus#(false,s(z0),z1) |
→ |
c6(minus#(z0,z1)) |
(25) |
quot#(0,s(z0)) |
→ |
c7 |
(27) |
quot#(s(z0),s(z1)) |
→ |
c8(quot#(minus(z0,z1),s(z1)),minus#(z0,z1)) |
(29) |
log#(s(0)) |
→ |
c9 |
(30) |
log#(s(s(z0))) |
→ |
c10(log#(s(quot(z0,s(s(0))))),quot#(z0,s(s(0)))) |
(32) |
minus(s(z0),z1) |
→ |
if_minus(le(s(z0),z1),s(z0),z1) |
(20) |
quot(s(z0),s(z1)) |
→ |
s(quot(minus(z0,z1),s(z1))) |
(28) |
if_minus(false,s(z0),z1) |
→ |
s(minus(z0,z1)) |
(24) |
if_minus(true,s(z0),z1) |
→ |
0 |
(22) |
minus(0,z0) |
→ |
0 |
(18) |
quot(0,s(z0)) |
→ |
0 |
(26) |
le#(0,z0) |
→ |
c |
(13) |
le#(s(z0),0) |
→ |
c1 |
(15) |
le#(s(z0),s(z1)) |
→ |
c2(le#(z0,z1)) |
(17) |
minus#(0,z0) |
→ |
c3 |
(19) |
minus#(s(z0),z1) |
→ |
c4(if_minus#(le(s(z0),z1),s(z0),z1),le#(s(z0),z1)) |
(21) |
if_minus#(true,s(z0),z1) |
→ |
c5 |
(23) |
if_minus#(false,s(z0),z1) |
→ |
c6(minus#(z0,z1)) |
(25) |
quot#(0,s(z0)) |
→ |
c7 |
(27) |
quot#(s(z0),s(z1)) |
→ |
c8(quot#(minus(z0,z1),s(z1)),minus#(z0,z1)) |
(29) |
log#(s(0)) |
→ |
c9 |
(30) |
log#(s(s(z0))) |
→ |
c10(log#(s(quot(z0,s(s(0))))),quot#(z0,s(s(0)))) |
(32) |
minus(s(z0),z1) |
→ |
if_minus(le(s(z0),z1),s(z0),z1) |
(20) |
quot(s(z0),s(z1)) |
→ |
s(quot(minus(z0,z1),s(z1))) |
(28) |
if_minus(false,s(z0),z1) |
→ |
s(minus(z0,z1)) |
(24) |
if_minus(true,s(z0),z1) |
→ |
0 |
(22) |
minus(0,z0) |
→ |
0 |
(18) |
quot(0,s(z0)) |
→ |
0 |
(26) |
le#(0,z0) |
→ |
c |
(13) |
le#(s(z0),0) |
→ |
c1 |
(15) |
le#(s(z0),s(z1)) |
→ |
c2(le#(z0,z1)) |
(17) |
minus#(0,z0) |
→ |
c3 |
(19) |
minus#(s(z0),z1) |
→ |
c4(if_minus#(le(s(z0),z1),s(z0),z1),le#(s(z0),z1)) |
(21) |
if_minus#(true,s(z0),z1) |
→ |
c5 |
(23) |
if_minus#(false,s(z0),z1) |
→ |
c6(minus#(z0,z1)) |
(25) |
quot#(0,s(z0)) |
→ |
c7 |
(27) |
quot#(s(z0),s(z1)) |
→ |
c8(quot#(minus(z0,z1),s(z1)),minus#(z0,z1)) |
(29) |
log#(s(0)) |
→ |
c9 |
(30) |
log#(s(s(z0))) |
→ |
c10(log#(s(quot(z0,s(s(0))))),quot#(z0,s(s(0)))) |
(32) |
minus(s(z0),z1) |
→ |
if_minus(le(s(z0),z1),s(z0),z1) |
(20) |
quot(s(z0),s(z1)) |
→ |
s(quot(minus(z0,z1),s(z1))) |
(28) |
if_minus(false,s(z0),z1) |
→ |
s(minus(z0,z1)) |
(24) |
if_minus(true,s(z0),z1) |
→ |
0 |
(22) |
minus(0,z0) |
→ |
0 |
(18) |
quot(0,s(z0)) |
→ |
0 |
(26) |
le#(0,z0) |
→ |
c |
(13) |
le#(s(z0),0) |
→ |
c1 |
(15) |
le#(s(z0),s(z1)) |
→ |
c2(le#(z0,z1)) |
(17) |
minus#(0,z0) |
→ |
c3 |
(19) |
minus#(s(z0),z1) |
→ |
c4(if_minus#(le(s(z0),z1),s(z0),z1),le#(s(z0),z1)) |
(21) |
if_minus#(true,s(z0),z1) |
→ |
c5 |
(23) |
if_minus#(false,s(z0),z1) |
→ |
c6(minus#(z0,z1)) |
(25) |
quot#(0,s(z0)) |
→ |
c7 |
(27) |
quot#(s(z0),s(z1)) |
→ |
c8(quot#(minus(z0,z1),s(z1)),minus#(z0,z1)) |
(29) |
log#(s(0)) |
→ |
c9 |
(30) |
log#(s(s(z0))) |
→ |
c10(log#(s(quot(z0,s(s(0))))),quot#(z0,s(s(0)))) |
(32) |
minus(s(z0),z1) |
→ |
if_minus(le(s(z0),z1),s(z0),z1) |
(20) |
quot(s(z0),s(z1)) |
→ |
s(quot(minus(z0,z1),s(z1))) |
(28) |
if_minus(false,s(z0),z1) |
→ |
s(minus(z0,z1)) |
(24) |
if_minus(true,s(z0),z1) |
→ |
0 |
(22) |
minus(0,z0) |
→ |
0 |
(18) |
quot(0,s(z0)) |
→ |
0 |
(26) |
le#(0,z0) |
→ |
c |
(13) |
le#(s(z0),0) |
→ |
c1 |
(15) |
le#(s(z0),s(z1)) |
→ |
c2(le#(z0,z1)) |
(17) |
minus#(0,z0) |
→ |
c3 |
(19) |
minus#(s(z0),z1) |
→ |
c4(if_minus#(le(s(z0),z1),s(z0),z1),le#(s(z0),z1)) |
(21) |
if_minus#(true,s(z0),z1) |
→ |
c5 |
(23) |
if_minus#(false,s(z0),z1) |
→ |
c6(minus#(z0,z1)) |
(25) |
quot#(0,s(z0)) |
→ |
c7 |
(27) |
quot#(s(z0),s(z1)) |
→ |
c8(quot#(minus(z0,z1),s(z1)),minus#(z0,z1)) |
(29) |
log#(s(0)) |
→ |
c9 |
(30) |
log#(s(s(z0))) |
→ |
c10(log#(s(quot(z0,s(s(0))))),quot#(z0,s(s(0)))) |
(32) |
minus(s(z0),z1) |
→ |
if_minus(le(s(z0),z1),s(z0),z1) |
(20) |
quot(s(z0),s(z1)) |
→ |
s(quot(minus(z0,z1),s(z1))) |
(28) |
if_minus(false,s(z0),z1) |
→ |
s(minus(z0,z1)) |
(24) |
if_minus(true,s(z0),z1) |
→ |
0 |
(22) |
minus(0,z0) |
→ |
0 |
(18) |
quot(0,s(z0)) |
→ |
0 |
(26) |
le#(0,z0) |
→ |
c |
(13) |
le#(s(z0),0) |
→ |
c1 |
(15) |
le#(s(z0),s(z1)) |
→ |
c2(le#(z0,z1)) |
(17) |
minus#(0,z0) |
→ |
c3 |
(19) |
minus#(s(z0),z1) |
→ |
c4(if_minus#(le(s(z0),z1),s(z0),z1),le#(s(z0),z1)) |
(21) |
if_minus#(true,s(z0),z1) |
→ |
c5 |
(23) |
if_minus#(false,s(z0),z1) |
→ |
c6(minus#(z0,z1)) |
(25) |
quot#(0,s(z0)) |
→ |
c7 |
(27) |
quot#(s(z0),s(z1)) |
→ |
c8(quot#(minus(z0,z1),s(z1)),minus#(z0,z1)) |
(29) |
log#(s(0)) |
→ |
c9 |
(30) |
log#(s(s(z0))) |
→ |
c10(log#(s(quot(z0,s(s(0))))),quot#(z0,s(s(0)))) |
(32) |
minus(s(z0),z1) |
→ |
if_minus(le(s(z0),z1),s(z0),z1) |
(20) |
quot(s(z0),s(z1)) |
→ |
s(quot(minus(z0,z1),s(z1))) |
(28) |
le(s(z0),s(z1)) |
→ |
le(z0,z1) |
(16) |
if_minus(false,s(z0),z1) |
→ |
s(minus(z0,z1)) |
(24) |
le(s(z0),0) |
→ |
false |
(14) |
le(0,z0) |
→ |
true |
(12) |
if_minus(true,s(z0),z1) |
→ |
0 |
(22) |
minus(0,z0) |
→ |
0 |
(18) |
quot(0,s(z0)) |
→ |
0 |
(26) |
There are no rules in the TRS R. Hence, R/S has complexity O(1).