0 CpxTRS
↳1 NestedDefinedSymbolProof (BOTH BOUNDS(ID, ID), 19 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^1)), 60 ms)
↳12 CdtProblem
↳13 SIsEmptyProof (BOTH BOUNDS(ID, ID), 0 ms)
↳14 BOUNDS(1, 1)
:(:(x, y), z) → :(x, :(y, z))
:(+(x, y), z) → +(:(x, z), :(y, z))
:(z, +(x, f(y))) → :(g(z, y), +(x, a))
:(+(x, y), z) → +(:(x, z), :(y, z))
:(z, +(x, f(y))) → :(g(z, y), +(x, a))
As the TRS does not nest defined symbols, we have rc = irc.
:(+(x, y), z) → +(:(x, z), :(y, z))
:(z, +(x, f(y))) → :(g(z, y), +(x, a))
Tuples:
:(+(z0, z1), z2) → +(:(z0, z2), :(z1, z2))
:(z0, +(z1, f(z2))) → :(g(z0, z2), +(z1, a))
S tuples:
:'(+(z0, z1), z2) → c(:'(z0, z2), :'(z1, z2))
:'(z0, +(z1, f(z2))) → c1(:'(g(z0, z2), +(z1, a)))
K tuples:none
:'(+(z0, z1), z2) → c(:'(z0, z2), :'(z1, z2))
:'(z0, +(z1, f(z2))) → c1(:'(g(z0, z2), +(z1, a)))
:
:'
c, c1
:'(z0, +(z1, f(z2))) → c1(:'(g(z0, z2), +(z1, a)))
Tuples:
:(+(z0, z1), z2) → +(:(z0, z2), :(z1, z2))
:(z0, +(z1, f(z2))) → :(g(z0, z2), +(z1, a))
S tuples:
:'(+(z0, z1), z2) → c(:'(z0, z2), :'(z1, z2))
K tuples:none
:'(+(z0, z1), z2) → c(:'(z0, z2), :'(z1, z2))
:
:'
c
:(+(z0, z1), z2) → +(:(z0, z2), :(z1, z2))
:(z0, +(z1, f(z2))) → :(g(z0, z2), +(z1, a))
S tuples:
:'(+(z0, z1), z2) → c(:'(z0, z2), :'(z1, z2))
K tuples:none
:'(+(z0, z1), z2) → c(:'(z0, z2), :'(z1, z2))
:'
c
We considered the (Usable) Rules:none
:'(+(z0, z1), z2) → c(:'(z0, z2), :'(z1, z2))
The order we found is given by the following interpretation:
:'(+(z0, z1), z2) → c(:'(z0, z2), :'(z1, z2))
POL(+(x1, x2)) = [2] + x1 + x2
POL(:'(x1, x2)) = [2] + [2]x1
POL(c(x1, x2)) = x1 + x2
S tuples:none
:'(+(z0, z1), z2) → c(:'(z0, z2), :'(z1, z2))
Defined Rule Symbols:none
:'(+(z0, z1), z2) → c(:'(z0, z2), :'(z1, z2))
:'
c