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