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 CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID), 0 ms)
↳8 CdtProblem
↳9 CdtUsableRulesProof (⇔, 0 ms)
↳10 CdtProblem
↳11 CdtNarrowingProof (BOTH BOUNDS(ID, ID), 0 ms)
↳12 CdtProblem
↳13 CdtUsableRulesProof (⇔, 0 ms)
↳14 CdtProblem
↳15 CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)), 0 ms)
↳16 CdtProblem
↳17 SIsEmptyProof (BOTH BOUNDS(ID, ID), 0 ms)
↳18 BOUNDS(1, 1)
-(0, y) → 0
-(x, 0) → x
-(x, s(y)) → if(greater(x, s(y)), s(-(x, p(s(y)))), 0)
p(0) → 0
p(s(x)) → x
The duplicating contexts are:
-([], s(y))
-(x, s([]))
The defined contexts are:
-(x0, [])
p(s([]))
[] just represents basic- or constructor-terms in the following defined contexts:
-(x0, [])
As the TRS is an overlay system and the defined contexts and the duplicating contexts don't overlap, we have rc = irc.
-(0, y) → 0
-(x, 0) → x
-(x, s(y)) → if(greater(x, s(y)), s(-(x, p(s(y)))), 0)
p(0) → 0
p(s(x)) → x
Tuples:
-(0, z0) → 0
-(z0, 0) → z0
-(z0, s(z1)) → if(greater(z0, s(z1)), s(-(z0, p(s(z1)))), 0)
p(0) → 0
p(s(z0)) → z0
S tuples:
-'(0, z0) → c
-'(z0, 0) → c1
-'(z0, s(z1)) → c2(-'(z0, p(s(z1))), P(s(z1)))
P(0) → c3
P(s(z0)) → c4
K tuples:none
-'(0, z0) → c
-'(z0, 0) → c1
-'(z0, s(z1)) → c2(-'(z0, p(s(z1))), P(s(z1)))
P(0) → c3
P(s(z0)) → c4
-, p
-', P
c, c1, c2, c3, c4
-'(0, z0) → c
-'(z0, 0) → c1
P(s(z0)) → c4
P(0) → c3
Tuples:
-(0, z0) → 0
-(z0, 0) → z0
-(z0, s(z1)) → if(greater(z0, s(z1)), s(-(z0, p(s(z1)))), 0)
p(0) → 0
p(s(z0)) → z0
S tuples:
-'(z0, s(z1)) → c2(-'(z0, p(s(z1))), P(s(z1)))
K tuples:none
-'(z0, s(z1)) → c2(-'(z0, p(s(z1))), P(s(z1)))
-, p
-'
c2
Tuples:
-(0, z0) → 0
-(z0, 0) → z0
-(z0, s(z1)) → if(greater(z0, s(z1)), s(-(z0, p(s(z1)))), 0)
p(0) → 0
p(s(z0)) → z0
S tuples:
-'(z0, s(z1)) → c2(-'(z0, p(s(z1))))
K tuples:none
-'(z0, s(z1)) → c2(-'(z0, p(s(z1))))
-, p
-'
c2
-(0, z0) → 0
-(z0, 0) → z0
-(z0, s(z1)) → if(greater(z0, s(z1)), s(-(z0, p(s(z1)))), 0)
p(0) → 0
Tuples:
p(s(z0)) → z0
S tuples:
-'(z0, s(z1)) → c2(-'(z0, p(s(z1))))
K tuples:none
-'(z0, s(z1)) → c2(-'(z0, p(s(z1))))
p
-'
c2
-'(x0, s(z0)) → c2(-'(x0, z0))
Tuples:
p(s(z0)) → z0
S tuples:
-'(x0, s(z0)) → c2(-'(x0, z0))
K tuples:none
-'(x0, s(z0)) → c2(-'(x0, z0))
p
-'
c2
p(s(z0)) → z0
S tuples:
-'(x0, s(z0)) → c2(-'(x0, z0))
K tuples:none
-'(x0, s(z0)) → c2(-'(x0, z0))
-'
c2
We considered the (Usable) Rules:none
-'(x0, s(z0)) → c2(-'(x0, z0))
The order we found is given by the following interpretation:
-'(x0, s(z0)) → c2(-'(x0, z0))
POL(-'(x1, x2)) = x2
POL(c2(x1)) = x1
POL(s(x1)) = [1] + x1
S tuples:none
-'(x0, s(z0)) → c2(-'(x0, z0))
Defined Rule Symbols:none
-'(x0, s(z0)) → c2(-'(x0, z0))
-'
c2