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