R
↳Overlay and local confluence Check
R
↳OC
→TRS2
↳Dependency Pair Analysis
FAC(s(x)) -> FAC(p(s(x)))
FAC(s(x)) -> P(s(x))
P(s(s(x))) -> P(s(x))
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
P(s(s(x))) -> P(s(x))
fac(s(x)) -> *(fac(p(s(x))), s(x))
p(s(0)) -> 0
p(s(s(x))) -> s(p(s(x)))
innermost
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
...
→DP Problem 3
↳Size-Change Principle
→DP Problem 2
↳UsableRules
P(s(s(x))) -> P(s(x))
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
FAC(s(x)) -> FAC(p(s(x)))
fac(s(x)) -> *(fac(p(s(x))), s(x))
p(s(0)) -> 0
p(s(s(x))) -> s(p(s(x)))
innermost
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 4
↳Modular Removal of Rules
FAC(s(x)) -> FAC(p(s(x)))
p(s(0)) -> 0
p(s(s(x))) -> s(p(s(x)))
innermost
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
p(s(0)) -> 0
p(s(s(x))) -> s(p(s(x)))
POL(0) = 0 POL(FAC(x1)) = 1 + x1 POL(s(x1)) = 1 + x1 POL(p(x1)) = x1
p(s(0)) -> 0
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 5
↳Narrowing Transformation
FAC(s(x)) -> FAC(p(s(x)))
p(s(s(x))) -> s(p(s(x)))
innermost
one new Dependency Pair is created:
FAC(s(x)) -> FAC(p(s(x)))
FAC(s(s(x''))) -> FAC(s(p(s(x''))))
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 6
↳Negative Polynomial Order
FAC(s(s(x''))) -> FAC(s(p(s(x''))))
p(s(s(x))) -> s(p(s(x)))
innermost
FAC(s(s(x''))) -> FAC(s(p(s(x''))))
p(s(s(x))) -> s(p(s(x)))
POL( FAC(x1) ) = max{0, x1 - 1}
POL( s(x1) ) = x1 + 1
POL( p(x1) ) = max{0, x1 - 1}
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 7
↳Dependency Graph
p(s(s(x))) -> s(p(s(x)))
innermost