R
↳Dependency Pair Analysis
APP(app(max, app(s, x)), app(s, y)) -> APP(app(max, x), y)
APP(app(max, app(s, x)), app(s, y)) -> APP(max, x)
APP(app(min, app(s, x)), app(s, y)) -> APP(app(min, x), y)
APP(app(min, app(s, x)), app(s, y)) -> APP(min, x)
APP(app(app(app(insert, f), g), nil), x) -> APP(app(cons, x), nil)
APP(app(app(app(insert, f), g), nil), x) -> APP(cons, x)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(app(cons, app(app(f, x), h)), app(app(app(app(insert, f), g), t), app(app(g, x), h)))
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(cons, app(app(f, x), h))
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(app(f, x), h)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(f, x)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(app(app(app(insert, f), g), t), app(app(g, x), h))
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(app(app(insert, f), g), t)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(app(g, x), h)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(g, x)
APP(app(app(sort, f), g), app(app(cons, h), t)) -> APP(app(app(app(insert, f), g), app(app(app(sort, f), g), t)), h)
APP(app(app(sort, f), g), app(app(cons, h), t)) -> APP(app(app(insert, f), g), app(app(app(sort, f), g), t))
APP(app(app(sort, f), g), app(app(cons, h), t)) -> APP(app(insert, f), g)
APP(app(app(sort, f), g), app(app(cons, h), t)) -> APP(insert, f)
APP(app(app(sort, f), g), app(app(cons, h), t)) -> APP(app(app(sort, f), g), t)
APP(ascendingsort, l) -> APP(app(app(sort, min), max), l)
APP(ascendingsort, l) -> APP(app(sort, min), max)
APP(ascendingsort, l) -> APP(sort, min)
APP(descendingsort, l) -> APP(app(app(sort, max), min), l)
APP(descendingsort, l) -> APP(app(sort, max), min)
APP(descendingsort, l) -> APP(sort, max)
R
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
→DP Problem 3
↳Nar
APP(app(max, app(s, x)), app(s, y)) -> APP(app(max, x), y)
app(app(max, 0), x) -> x
app(app(max, x), 0) -> x
app(app(max, app(s, x)), app(s, y)) -> app(app(max, x), y)
app(app(min, 0), x) -> 0
app(app(min, x), 0) -> 0
app(app(min, app(s, x)), app(s, y)) -> app(app(min, x), y)
app(app(app(app(insert, f), g), nil), x) -> app(app(cons, x), nil)
app(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> app(app(cons, app(app(f, x), h)), app(app(app(app(insert, f), g), t), app(app(g, x), h)))
app(app(app(sort, f), g), nil) -> nil
app(app(app(sort, f), g), app(app(cons, h), t)) -> app(app(app(app(insert, f), g), app(app(app(sort, f), g), t)), h)
app(ascendingsort, l) -> app(app(app(sort, min), max), l)
app(descendingsort, l) -> app(app(app(sort, max), min), l)
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 4
↳A-Transformation
→DP Problem 2
↳UsableRules
→DP Problem 3
↳Nar
APP(app(max, app(s, x)), app(s, y)) -> APP(app(max, 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
↳Nar
MAX(s(x), s(y)) -> MAX(x, y)
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
→DP Problem 3
↳Nar
APP(app(min, app(s, x)), app(s, y)) -> APP(app(min, x), y)
app(app(max, 0), x) -> x
app(app(max, x), 0) -> x
app(app(max, app(s, x)), app(s, y)) -> app(app(max, x), y)
app(app(min, 0), x) -> 0
app(app(min, x), 0) -> 0
app(app(min, app(s, x)), app(s, y)) -> app(app(min, x), y)
app(app(app(app(insert, f), g), nil), x) -> app(app(cons, x), nil)
app(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> app(app(cons, app(app(f, x), h)), app(app(app(app(insert, f), g), t), app(app(g, x), h)))
app(app(app(sort, f), g), nil) -> nil
app(app(app(sort, f), g), app(app(cons, h), t)) -> app(app(app(app(insert, f), g), app(app(app(sort, f), g), t)), h)
app(ascendingsort, l) -> app(app(app(sort, min), max), l)
app(descendingsort, l) -> app(app(app(sort, max), min), l)
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 6
↳A-Transformation
→DP Problem 3
↳Nar
APP(app(min, app(s, x)), app(s, y)) -> APP(app(min, 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
↳Nar
MIN(s(x), s(y)) -> MIN(x, y)
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳Narrowing Transformation
APP(descendingsort, l) -> APP(app(app(sort, max), min), l)
APP(ascendingsort, l) -> APP(app(app(sort, min), max), l)
APP(app(app(sort, f), g), app(app(cons, h), t)) -> APP(app(app(sort, f), g), t)
APP(app(app(sort, f), g), app(app(cons, h), t)) -> APP(app(app(app(insert, f), g), app(app(app(sort, f), g), t)), h)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(g, x)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(app(g, x), h)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(app(app(app(insert, f), g), t), app(app(g, x), h))
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(f, x)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(app(f, x), h)
app(app(max, 0), x) -> x
app(app(max, x), 0) -> x
app(app(max, app(s, x)), app(s, y)) -> app(app(max, x), y)
app(app(min, 0), x) -> 0
app(app(min, x), 0) -> 0
app(app(min, app(s, x)), app(s, y)) -> app(app(min, x), y)
app(app(app(app(insert, f), g), nil), x) -> app(app(cons, x), nil)
app(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> app(app(cons, app(app(f, x), h)), app(app(app(app(insert, f), g), t), app(app(g, x), h)))
app(app(app(sort, f), g), nil) -> nil
app(app(app(sort, f), g), app(app(cons, h), t)) -> app(app(app(app(insert, f), g), app(app(app(sort, f), g), t)), h)
app(ascendingsort, l) -> app(app(app(sort, min), max), l)
app(descendingsort, l) -> app(app(app(sort, max), min), l)
innermost
two new Dependency Pairs are created:
APP(app(app(sort, f), g), app(app(cons, h), t)) -> APP(app(app(app(insert, f), g), app(app(app(sort, f), g), t)), h)
APP(app(app(sort, f''), g''), app(app(cons, h), nil)) -> APP(app(app(app(insert, f''), g''), nil), h)
APP(app(app(sort, f''), g''), app(app(cons, h), app(app(cons, h''), t''))) -> APP(app(app(app(insert, f''), g''), app(app(app(app(insert, f''), g''), app(app(app(sort, f''), g''), t'')), h'')), h)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳Nar
→DP Problem 8
↳Remaining Obligation(s)
APP(ascendingsort, l) -> APP(app(app(sort, min), max), l)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(g, x)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(app(g, x), h)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(app(app(app(insert, f), g), t), app(app(g, x), h))
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(f, x)
APP(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> APP(app(f, x), h)
APP(app(app(sort, f''), g''), app(app(cons, h), app(app(cons, h''), t''))) -> APP(app(app(app(insert, f''), g''), app(app(app(app(insert, f''), g''), app(app(app(sort, f''), g''), t'')), h'')), h)
APP(app(app(sort, f), g), app(app(cons, h), t)) -> APP(app(app(sort, f), g), t)
APP(descendingsort, l) -> APP(app(app(sort, max), min), l)
app(app(max, 0), x) -> x
app(app(max, x), 0) -> x
app(app(max, app(s, x)), app(s, y)) -> app(app(max, x), y)
app(app(min, 0), x) -> 0
app(app(min, x), 0) -> 0
app(app(min, app(s, x)), app(s, y)) -> app(app(min, x), y)
app(app(app(app(insert, f), g), nil), x) -> app(app(cons, x), nil)
app(app(app(app(insert, f), g), app(app(cons, h), t)), x) -> app(app(cons, app(app(f, x), h)), app(app(app(app(insert, f), g), t), app(app(g, x), h)))
app(app(app(sort, f), g), nil) -> nil
app(app(app(sort, f), g), app(app(cons, h), t)) -> app(app(app(app(insert, f), g), app(app(app(sort, f), g), t)), h)
app(ascendingsort, l) -> app(app(app(sort, min), max), l)
app(descendingsort, l) -> app(app(app(sort, max), min), l)
innermost