R
↳Removing Redundant Rules
app(app(int, 0), 0) -> app(app(cons, 0), nil)
app(app(int, app(s, x)), 0) -> nil
was used.
POL(intlist) = 0 POL(0) = 0 POL(cons) = 0 POL(int) = 1 POL(nil) = 0 POL(s) = 0 POL(app(x1, x2)) = x1 + x2
R
↳RRRPolo
→TRS2
↳Dependency Pair Analysis
APP(app(int, app(s, x)), app(s, y)) -> APP(intlist, app(app(int, x), y))
APP(app(int, app(s, x)), app(s, y)) -> APP(app(int, x), y)
APP(app(int, app(s, x)), app(s, y)) -> APP(int, x)
APP(intlist, app(app(cons, x), y)) -> APP(app(cons, app(s, x)), app(intlist, y))
APP(intlist, app(app(cons, x), y)) -> APP(cons, app(s, x))
APP(intlist, app(app(cons, x), y)) -> APP(s, x)
APP(intlist, app(app(cons, x), y)) -> APP(intlist, y)
APP(app(int, 0), app(s, y)) -> APP(app(cons, 0), app(app(int, app(s, 0)), app(s, y)))
APP(app(int, 0), app(s, y)) -> APP(cons, 0)
APP(app(int, 0), app(s, y)) -> APP(app(int, app(s, 0)), app(s, y))
APP(app(int, 0), app(s, y)) -> APP(int, app(s, 0))
APP(app(int, 0), app(s, y)) -> APP(s, 0)
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
APP(intlist, app(app(cons, x), y)) -> APP(intlist, y)
app(intlist, nil) -> nil
app(app(int, app(s, x)), app(s, y)) -> app(intlist, app(app(int, x), y))
app(intlist, app(app(cons, x), y)) -> app(app(cons, app(s, x)), app(intlist, y))
app(app(int, 0), app(s, y)) -> app(app(cons, 0), app(app(int, app(s, 0)), app(s, y)))
innermost
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
...
→DP Problem 3
↳A-Transformation
→DP Problem 2
↳UsableRules
APP(intlist, app(app(cons, x), y)) -> APP(intlist, y)
none
innermost
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
...
→DP Problem 4
↳Size-Change Principle
→DP Problem 2
↳UsableRules
INTLIST(cons(x, y)) -> INTLIST(y)
none
innermost
|
|
trivial
cons(x1, x2) -> cons(x1, x2)
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
APP(app(int, 0), app(s, y)) -> APP(app(int, app(s, 0)), app(s, y))
APP(app(int, app(s, x)), app(s, y)) -> APP(app(int, x), y)
app(intlist, nil) -> nil
app(app(int, app(s, x)), app(s, y)) -> app(intlist, app(app(int, x), y))
app(intlist, app(app(cons, x), y)) -> app(app(cons, app(s, x)), app(intlist, y))
app(app(int, 0), app(s, y)) -> app(app(cons, 0), app(app(int, app(s, 0)), app(s, y)))
innermost
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 5
↳A-Transformation
APP(app(int, 0), app(s, y)) -> APP(app(int, app(s, 0)), app(s, y))
APP(app(int, app(s, x)), app(s, y)) -> APP(app(int, x), y)
none
innermost
R
↳RRRPolo
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 6
↳Size-Change Principle
INT(0, s(y)) -> INT(s(0), s(y))
INT(s(x), s(y)) -> INT(x, y)
none
innermost
|
|
|
|
|
|
trivial
s(x1) -> s(x1)