0 CpxTRS
↳1 RcToIrcProof (BOTH BOUNDS(ID, ID), 14 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 CdtNarrowingProof (BOTH BOUNDS(ID, ID), 0 ms)
↳10 CdtProblem
↳11 CdtLeafRemovalProof (BOTH BOUNDS(ID, ID), 0 ms)
↳12 CdtProblem
↳13 CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID), 0 ms)
↳14 CdtProblem
↳15 CdtLeafRemovalProof (ComplexityIfPolyImplication, 0 ms)
↳16 CdtProblem
↳17 CdtUsableRulesProof (⇔, 0 ms)
↳18 CdtProblem
↳19 CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)), 0 ms)
↳20 CdtProblem
↳21 SIsEmptyProof (BOTH BOUNDS(ID, ID), 0 ms)
↳22 BOUNDS(1, 1)
+(X, 0) → X
+(X, s(Y)) → s(+(X, Y))
f(0, s(0), X) → f(X, +(X, X), X)
g(X, Y) → X
g(X, Y) → Y
The duplicating contexts are:
f(0, s(0), [])
The defined contexts are:
f(x0, [], x2)
As the TRS is an overlay system and the defined contexts and the duplicating contexts don't overlap, we have rc = irc.
+(X, 0) → X
+(X, s(Y)) → s(+(X, Y))
f(0, s(0), X) → f(X, +(X, X), X)
g(X, Y) → X
g(X, Y) → Y
Tuples:
+(z0, 0) → z0
+(z0, s(z1)) → s(+(z0, z1))
f(0, s(0), z0) → f(z0, +(z0, z0), z0)
g(z0, z1) → z0
g(z0, z1) → z1
S tuples:
+'(z0, 0) → c
+'(z0, s(z1)) → c1(+'(z0, z1))
F(0, s(0), z0) → c2(F(z0, +(z0, z0), z0), +'(z0, z0))
G(z0, z1) → c3
G(z0, z1) → c4
K tuples:none
+'(z0, 0) → c
+'(z0, s(z1)) → c1(+'(z0, z1))
F(0, s(0), z0) → c2(F(z0, +(z0, z0), z0), +'(z0, z0))
G(z0, z1) → c3
G(z0, z1) → c4
+, f, g
+', F, G
c, c1, c2, c3, c4
+'(z0, 0) → c
G(z0, z1) → c4
G(z0, z1) → c3
Tuples:
+(z0, 0) → z0
+(z0, s(z1)) → s(+(z0, z1))
f(0, s(0), z0) → f(z0, +(z0, z0), z0)
g(z0, z1) → z0
g(z0, z1) → z1
S tuples:
+'(z0, s(z1)) → c1(+'(z0, z1))
F(0, s(0), z0) → c2(F(z0, +(z0, z0), z0), +'(z0, z0))
K tuples:none
+'(z0, s(z1)) → c1(+'(z0, z1))
F(0, s(0), z0) → c2(F(z0, +(z0, z0), z0), +'(z0, z0))
+, f, g
+', F
c1, c2
f(0, s(0), z0) → f(z0, +(z0, z0), z0)
g(z0, z1) → z0
g(z0, z1) → z1
Tuples:
+(z0, 0) → z0
+(z0, s(z1)) → s(+(z0, z1))
S tuples:
+'(z0, s(z1)) → c1(+'(z0, z1))
F(0, s(0), z0) → c2(F(z0, +(z0, z0), z0), +'(z0, z0))
K tuples:none
+'(z0, s(z1)) → c1(+'(z0, z1))
F(0, s(0), z0) → c2(F(z0, +(z0, z0), z0), +'(z0, z0))
+
+', F
c1, c2
F(0, s(0), 0) → c2(F(0, 0, 0), +'(0, 0))
F(0, s(0), s(z1)) → c2(F(s(z1), s(+(s(z1), z1)), s(z1)), +'(s(z1), s(z1)))
Tuples:
+(z0, 0) → z0
+(z0, s(z1)) → s(+(z0, z1))
S tuples:
+'(z0, s(z1)) → c1(+'(z0, z1))
F(0, s(0), 0) → c2(F(0, 0, 0), +'(0, 0))
F(0, s(0), s(z1)) → c2(F(s(z1), s(+(s(z1), z1)), s(z1)), +'(s(z1), s(z1)))
K tuples:none
+'(z0, s(z1)) → c1(+'(z0, z1))
F(0, s(0), 0) → c2(F(0, 0, 0), +'(0, 0))
F(0, s(0), s(z1)) → c2(F(s(z1), s(+(s(z1), z1)), s(z1)), +'(s(z1), s(z1)))
+
+', F
c1, c2
F(0, s(0), 0) → c2(F(0, 0, 0), +'(0, 0))
Tuples:
+(z0, 0) → z0
+(z0, s(z1)) → s(+(z0, z1))
S tuples:
+'(z0, s(z1)) → c1(+'(z0, z1))
F(0, s(0), s(z1)) → c2(F(s(z1), s(+(s(z1), z1)), s(z1)), +'(s(z1), s(z1)))
K tuples:none
+'(z0, s(z1)) → c1(+'(z0, z1))
F(0, s(0), s(z1)) → c2(F(s(z1), s(+(s(z1), z1)), s(z1)), +'(s(z1), s(z1)))
+
+', F
c1, c2
Tuples:
+(z0, 0) → z0
+(z0, s(z1)) → s(+(z0, z1))
S tuples:
+'(z0, s(z1)) → c1(+'(z0, z1))
F(0, s(0), s(z1)) → c2(+'(s(z1), s(z1)))
K tuples:none
+'(z0, s(z1)) → c1(+'(z0, z1))
F(0, s(0), s(z1)) → c2(+'(s(z1), s(z1)))
+
+', F
c1, c2
F(0, s(0), s(z1)) → c2(+'(s(z1), s(z1)))
Tuples:
+(z0, 0) → z0
+(z0, s(z1)) → s(+(z0, z1))
S tuples:
+'(z0, s(z1)) → c1(+'(z0, z1))
K tuples:none
+'(z0, s(z1)) → c1(+'(z0, z1))
+
+'
c1
+(z0, 0) → z0
+(z0, s(z1)) → s(+(z0, z1))
S tuples:
+'(z0, s(z1)) → c1(+'(z0, z1))
K tuples:none
+'(z0, s(z1)) → c1(+'(z0, z1))
+'
c1
We considered the (Usable) Rules:none
+'(z0, s(z1)) → c1(+'(z0, z1))
The order we found is given by the following interpretation:
+'(z0, s(z1)) → c1(+'(z0, z1))
POL(+'(x1, x2)) = x2
POL(c1(x1)) = x1
POL(s(x1)) = [1] + x1
S tuples:none
+'(z0, s(z1)) → c1(+'(z0, z1))
Defined Rule Symbols:none
+'(z0, s(z1)) → c1(+'(z0, z1))
+'
c1