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 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)
p(s(x)) → x
fac(0) → s(0)
fac(s(x)) → times(s(x), fac(p(s(x))))
The duplicating contexts are:
fac(s([]))
The defined contexts are:
fac([])
p(s([]))
[] just represents basic- or constructor-terms in the following defined contexts:
fac([])
As the TRS is an overlay system and the defined contexts and the duplicating contexts don't overlap, we have rc = irc.
p(s(x)) → x
fac(0) → s(0)
fac(s(x)) → times(s(x), fac(p(s(x))))
Tuples:
p(s(z0)) → z0
fac(0) → s(0)
fac(s(z0)) → times(s(z0), fac(p(s(z0))))
S tuples:
P(s(z0)) → c
FAC(0) → c1
FAC(s(z0)) → c2(FAC(p(s(z0))), P(s(z0)))
K tuples:none
P(s(z0)) → c
FAC(0) → c1
FAC(s(z0)) → c2(FAC(p(s(z0))), P(s(z0)))
p, fac
P, FAC
c, c1, c2
FAC(0) → c1
P(s(z0)) → c
Tuples:
p(s(z0)) → z0
fac(0) → s(0)
fac(s(z0)) → times(s(z0), fac(p(s(z0))))
S tuples:
FAC(s(z0)) → c2(FAC(p(s(z0))), P(s(z0)))
K tuples:none
FAC(s(z0)) → c2(FAC(p(s(z0))), P(s(z0)))
p, fac
FAC
c2
Tuples:
p(s(z0)) → z0
fac(0) → s(0)
fac(s(z0)) → times(s(z0), fac(p(s(z0))))
S tuples:
FAC(s(z0)) → c2(FAC(p(s(z0))))
K tuples:none
FAC(s(z0)) → c2(FAC(p(s(z0))))
p, fac
FAC
c2
fac(0) → s(0)
fac(s(z0)) → times(s(z0), fac(p(s(z0))))
Tuples:
p(s(z0)) → z0
S tuples:
FAC(s(z0)) → c2(FAC(p(s(z0))))
K tuples:none
FAC(s(z0)) → c2(FAC(p(s(z0))))
p
FAC
c2
FAC(s(z0)) → c2(FAC(z0))
Tuples:
p(s(z0)) → z0
S tuples:
FAC(s(z0)) → c2(FAC(z0))
K tuples:none
FAC(s(z0)) → c2(FAC(z0))
p
FAC
c2
p(s(z0)) → z0
S tuples:
FAC(s(z0)) → c2(FAC(z0))
K tuples:none
FAC(s(z0)) → c2(FAC(z0))
FAC
c2
We considered the (Usable) Rules:none
FAC(s(z0)) → c2(FAC(z0))
The order we found is given by the following interpretation:
FAC(s(z0)) → c2(FAC(z0))
POL(FAC(x1)) = x1
POL(c2(x1)) = x1
POL(s(x1)) = [1] + x1
S tuples:none
FAC(s(z0)) → c2(FAC(z0))
Defined Rule Symbols:none
FAC(s(z0)) → c2(FAC(z0))
FAC
c2