R
↳Removing Redundant Rules
app(bits, 0) -> 0
was used.
POL(0) = 0 POL(bits) = 1 POL(s) = 0 POL(half) = 0 POL(app(x1, x2)) = x1 + x2
R
↳RRRPolo
→TRS2
↳Dependency Pair Analysis
APP(half, app(s, app(s, x))) -> APP(s, app(half, x))
APP(half, app(s, app(s, x))) -> APP(half, x)
APP(bits, app(s, x)) -> APP(s, app(bits, app(half, app(s, x))))
APP(bits, app(s, x)) -> APP(bits, app(half, app(s, x)))
APP(bits, app(s, x)) -> APP(half, app(s, x))
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
APP(half, app(s, app(s, x))) -> APP(half, x)
app(half, app(s, app(s, x))) -> app(s, app(half, x))
app(half, 0) -> 0
app(half, app(s, 0)) -> 0
app(bits, app(s, x)) -> app(s, app(bits, app(half, app(s, x))))
innermost
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
...
→DP Problem 3
↳A-Transformation
→DP Problem 2
↳UsableRules
APP(half, app(s, app(s, x))) -> APP(half, x)
none
innermost
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
...
→DP Problem 4
↳Size-Change Principle
→DP Problem 2
↳UsableRules
HALF(s(s(x))) -> HALF(x)
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
APP(bits, app(s, x)) -> APP(bits, app(half, app(s, x)))
app(half, app(s, app(s, x))) -> app(s, app(half, x))
app(half, 0) -> 0
app(half, app(s, 0)) -> 0
app(bits, app(s, x)) -> app(s, app(bits, app(half, app(s, x))))
innermost
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 5
↳A-Transformation
APP(bits, app(s, x)) -> APP(bits, app(half, app(s, x)))
app(half, app(s, app(s, x))) -> app(s, app(half, x))
app(half, 0) -> 0
app(half, app(s, 0)) -> 0
innermost
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 6
↳Modular Removal of Rules
BITS(s(x)) -> BITS(half(s(x)))
half(s(s(x))) -> s(half(x))
half(0) -> 0
half(s(0)) -> 0
innermost
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
POL(BITS(x1)) = 1 + x1 POL(0) = 0 POL(s(x1)) = 1 + x1 POL(half(x1)) = x1
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 7
↳Modular Removal of Rules
BITS(s(x)) -> BITS(half(s(x)))
half(0) -> 0
innermost
POL(BITS(x1)) = x1 POL(s(x1)) = x1 POL(half(x1)) = x1
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 8
↳Dependency Graph
BITS(s(x)) -> BITS(half(s(x)))
none
innermost