0 CpxTRS
↳1 NestedDefinedSymbolProof (BOTH BOUNDS(ID, ID), 13 ms)
↳2 CpxTRS
↳3 RcToIrcProof (BOTH BOUNDS(ID, ID), 0 ms)
↳4 CpxTRS
↳5 CpxTrsToCdtProof (BOTH BOUNDS(ID, ID), 0 ms)
↳6 CdtProblem
↳7 CdtLeafRemovalProof (BOTH BOUNDS(ID, ID), 0 ms)
↳8 CdtProblem
↳9 CdtUsableRulesProof (⇔, 0 ms)
↳10 CdtProblem
↳11 CdtRuleRemovalProof (UPPER BOUND(ADD(n^2)), 66 ms)
↳12 CdtProblem
↳13 CdtRuleRemovalProof (UPPER BOUND(ADD(n^3)), 8 ms)
↳14 CdtProblem
↳15 SIsEmptyProof (BOTH BOUNDS(ID, ID), 0 ms)
↳16 BOUNDS(1, 1)
*(x, *(y, z)) → *(otimes(x, y), z)
*(1, y) → y
*(+(x, y), z) → oplus(*(x, z), *(y, z))
*(x, oplus(y, z)) → oplus(*(x, y), *(x, z))
*(x, oplus(y, z)) → oplus(*(x, y), *(x, z))
*(1, y) → y
*(+(x, y), z) → oplus(*(x, z), *(y, z))
As the TRS does not nest defined symbols, we have rc = irc.
*(x, oplus(y, z)) → oplus(*(x, y), *(x, z))
*(1, y) → y
*(+(x, y), z) → oplus(*(x, z), *(y, z))
Tuples:
*(z0, oplus(z1, z2)) → oplus(*(z0, z1), *(z0, z2))
*(1, z0) → z0
*(+(z0, z1), z2) → oplus(*(z0, z2), *(z1, z2))
S tuples:
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
*'(1, z0) → c1
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
K tuples:none
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
*'(1, z0) → c1
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
*
*'
c, c1, c2
*'(1, z0) → c1
Tuples:
*(z0, oplus(z1, z2)) → oplus(*(z0, z1), *(z0, z2))
*(1, z0) → z0
*(+(z0, z1), z2) → oplus(*(z0, z2), *(z1, z2))
S tuples:
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
K tuples:none
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
*
*'
c, c2
*(z0, oplus(z1, z2)) → oplus(*(z0, z1), *(z0, z2))
*(1, z0) → z0
*(+(z0, z1), z2) → oplus(*(z0, z2), *(z1, z2))
S tuples:
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
K tuples:none
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
*'
c, c2
We considered the (Usable) Rules:none
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
The order we found is given by the following interpretation:
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
POL(*'(x1, x2)) = x1 + [2]x1·x2
POL(+(x1, x2)) = [1] + x1 + x2
POL(c(x1, x2)) = x1 + x2
POL(c2(x1, x2)) = x1 + x2
POL(oplus(x1, x2)) = [1] + x1 + x2
S tuples:
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
K tuples:
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
Defined Rule Symbols:none
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
*'
c, c2
We considered the (Usable) Rules:none
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
The order we found is given by the following interpretation:
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
POL(*'(x1, x2)) = x2 + x1·x2 + x1·x22
POL(+(x1, x2)) = [1] + x1 + x2
POL(c(x1, x2)) = x1 + x2
POL(c2(x1, x2)) = x1 + x2
POL(oplus(x1, x2)) = [1] + x1 + x2
S tuples:none
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
Defined Rule Symbols:none
*'(+(z0, z1), z2) → c2(*'(z0, z2), *'(z1, z2))
*'(z0, oplus(z1, z2)) → c(*'(z0, z1), *'(z0, z2))
*'
c, c2