R
↳Dependency Pair Analysis
APP(app(plus, app(s, x)), y) -> APP(s, app(app(plus, x), y))
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
APP(app(plus, app(s, x)), y) -> APP(plus, x)
APP(app(times, app(s, x)), y) -> APP(app(plus, app(app(times, x), y)), y)
APP(app(times, app(s, x)), y) -> APP(plus, app(app(times, x), y))
APP(app(times, app(s, x)), y) -> APP(app(times, x), y)
APP(app(times, app(s, x)), y) -> APP(times, x)
APP(app(app(curry, g), x), y) -> APP(app(g, x), y)
APP(app(app(curry, g), x), y) -> APP(g, x)
APP(app(map, f), app(app(cons, x), xs)) -> APP(app(cons, app(f, x)), app(app(map, f), xs))
APP(app(map, f), app(app(cons, x), xs)) -> APP(cons, app(f, x))
APP(app(map, f), app(app(cons, x), xs)) -> APP(f, x)
APP(app(map, f), app(app(cons, x), xs)) -> APP(app(map, f), xs)
INC -> APP(map, app(app(curry, plus), app(s, 0)))
INC -> APP(app(curry, plus), app(s, 0))
INC -> APP(curry, plus)
INC -> APP(s, 0)
DOUBLE -> APP(map, app(app(curry, times), app(s, app(s, 0))))
DOUBLE -> APP(app(curry, times), app(s, app(s, 0)))
DOUBLE -> APP(curry, times)
DOUBLE -> APP(s, app(s, 0))
DOUBLE -> APP(s, 0)
R
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(times, 0), y) -> 0
app(app(times, app(s, x)), y) -> app(app(plus, app(app(times, x), y)), y)
app(app(app(curry, g), x), y) -> app(app(g, x), y)
app(app(map, f), nil) -> nil
app(app(map, f), app(app(cons, x), xs)) -> app(app(cons, app(f, x)), app(app(map, f), xs))
inc -> app(map, app(app(curry, plus), app(s, 0)))
double -> app(map, app(app(curry, times), app(s, app(s, 0))))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 4
↳A-Transformation
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
none
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 4
↳ATrans
...
→DP Problem 5
↳Size-Change Principle
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
PLUS(s(x), y) -> PLUS(x, y)
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
→DP Problem 3
↳UsableRules
APP(app(times, app(s, x)), y) -> APP(app(times, x), y)
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(times, 0), y) -> 0
app(app(times, app(s, x)), y) -> app(app(plus, app(app(times, x), y)), y)
app(app(app(curry, g), x), y) -> app(app(g, x), y)
app(app(map, f), nil) -> nil
app(app(map, f), app(app(cons, x), xs)) -> app(app(cons, app(f, x)), app(app(map, f), xs))
inc -> app(map, app(app(curry, plus), app(s, 0)))
double -> app(map, app(app(curry, times), app(s, app(s, 0))))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 6
↳A-Transformation
→DP Problem 3
↳UsableRules
APP(app(times, app(s, x)), y) -> APP(app(times, x), y)
none
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 6
↳ATrans
...
→DP Problem 7
↳Size-Change Principle
→DP Problem 3
↳UsableRules
TIMES(s(x), y) -> TIMES(x, y)
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳Usable Rules (Innermost)
APP(app(map, f), app(app(cons, x), xs)) -> APP(app(map, f), xs)
APP(app(map, f), app(app(cons, x), xs)) -> APP(f, x)
APP(app(app(curry, g), x), y) -> APP(g, x)
APP(app(app(curry, g), x), y) -> APP(app(g, x), y)
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(times, 0), y) -> 0
app(app(times, app(s, x)), y) -> app(app(plus, app(app(times, x), y)), y)
app(app(app(curry, g), x), y) -> app(app(g, x), y)
app(app(map, f), nil) -> nil
app(app(map, f), app(app(cons, x), xs)) -> app(app(cons, app(f, x)), app(app(map, f), xs))
inc -> app(map, app(app(curry, plus), app(s, 0)))
double -> app(map, app(app(curry, times), app(s, app(s, 0))))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 8
↳Polynomial Ordering
APP(app(map, f), app(app(cons, x), xs)) -> APP(app(map, f), xs)
APP(app(map, f), app(app(cons, x), xs)) -> APP(f, x)
APP(app(app(curry, g), x), y) -> APP(g, x)
APP(app(app(curry, g), x), y) -> APP(app(g, x), y)
app(app(map, f), app(app(cons, x), xs)) -> app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(times, 0), y) -> 0
app(app(times, app(s, x)), y) -> app(app(plus, app(app(times, x), y)), y)
app(app(plus, 0), y) -> y
app(app(map, f), nil) -> nil
app(app(app(curry, g), x), y) -> app(app(g, x), y)
innermost
APP(app(map, f), app(app(cons, x), xs)) -> APP(f, x)
APP(app(app(curry, g), x), y) -> APP(g, x)
APP(app(app(curry, g), x), y) -> APP(app(g, x), y)
app(app(map, f), app(app(cons, x), xs)) -> app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(times, 0), y) -> 0
app(app(times, app(s, x)), y) -> app(app(plus, app(app(times, x), y)), y)
app(app(plus, 0), y) -> y
app(app(map, f), nil) -> nil
app(app(app(curry, g), x), y) -> app(app(g, x), y)
POL(plus) = 0 POL(0) = 0 POL(curry) = 1 POL(cons) = 0 POL(times) = 0 POL(map) = 1 POL(nil) = 0 POL(s) = 0 POL(app(x1, x2)) = 1 + x1 + x1·x2 POL(APP(x1, x2)) = x1
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 8
↳Polo
...
→DP Problem 9
↳Usable Rules (Innermost)
APP(app(map, f), app(app(cons, x), xs)) -> APP(app(map, f), xs)
app(app(map, f), app(app(cons, x), xs)) -> app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(times, 0), y) -> 0
app(app(times, app(s, x)), y) -> app(app(plus, app(app(times, x), y)), y)
app(app(plus, 0), y) -> y
app(app(map, f), nil) -> nil
app(app(app(curry, g), x), y) -> app(app(g, x), y)
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 8
↳Polo
...
→DP Problem 10
↳A-Transformation
APP(app(map, f), app(app(cons, x), xs)) -> APP(app(map, f), xs)
none
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 8
↳Polo
...
→DP Problem 11
↳Size-Change Principle
MAP(f, cons(x, xs)) -> MAP(f, xs)
none
innermost
|
|
trivial
cons(x1, x2) -> cons(x1, x2)