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