R
↳Dependency Pair Analysis
APP(app(neq, app(s, x)), app(s, y)) -> APP(app(neq, x), y)
APP(app(neq, app(s, x)), app(s, y)) -> APP(neq, x)
APP(app(filter, f), app(app(cons, y), ys)) -> APP(app(app(filtersub, app(f, y)), f), app(app(cons, y), ys))
APP(app(filter, f), app(app(cons, y), ys)) -> APP(app(filtersub, app(f, y)), f)
APP(app(filter, f), app(app(cons, y), ys)) -> APP(filtersub, app(f, y))
APP(app(filter, f), app(app(cons, y), ys)) -> APP(f, y)
APP(app(app(filtersub, true), f), app(app(cons, y), ys)) -> APP(app(cons, y), app(app(filter, f), ys))
APP(app(app(filtersub, true), f), app(app(cons, y), ys)) -> APP(app(filter, f), ys)
APP(app(app(filtersub, true), f), app(app(cons, y), ys)) -> APP(filter, f)
APP(app(app(filtersub, false), f), app(app(cons, y), ys)) -> APP(app(filter, f), ys)
APP(app(app(filtersub, false), f), app(app(cons, y), ys)) -> APP(filter, f)
NONZERO -> APP(filter, app(neq, 0))
NONZERO -> APP(neq, 0)
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
APP(app(app(filtersub, false), f), app(app(cons, y), ys)) -> APP(app(filter, f), ys)
APP(app(app(filtersub, true), f), app(app(cons, y), ys)) -> APP(app(filter, f), ys)
APP(app(app(filtersub, true), f), app(app(cons, y), ys)) -> APP(app(cons, y), app(app(filter, f), ys))
APP(app(filter, f), app(app(cons, y), ys)) -> APP(f, y)
APP(app(filter, f), app(app(cons, y), ys)) -> APP(app(filtersub, app(f, y)), f)
APP(app(filter, f), app(app(cons, y), ys)) -> APP(app(app(filtersub, app(f, y)), f), app(app(cons, y), ys))
APP(app(neq, app(s, x)), app(s, y)) -> APP(app(neq, x), y)
app(app(neq, 0), 0) -> false
app(app(neq, 0), app(s, y)) -> true
app(app(neq, app(s, x)), 0) -> true
app(app(neq, app(s, x)), app(s, y)) -> app(app(neq, x), y)
app(app(filter, f), nil) -> nil
app(app(filter, f), app(app(cons, y), ys)) -> app(app(app(filtersub, app(f, y)), f), app(app(cons, y), ys))
app(app(app(filtersub, true), f), app(app(cons, y), ys)) -> app(app(cons, y), app(app(filter, f), ys))
app(app(app(filtersub, false), f), app(app(cons, y), ys)) -> app(app(filter, f), ys)
nonzero -> app(filter, app(neq, 0))
two new Dependency Pairs are created:
APP(app(app(filtersub, true), f), app(app(cons, y), ys)) -> APP(app(cons, y), app(app(filter, f), ys))
APP(app(app(filtersub, true), f''), app(app(cons, y), nil)) -> APP(app(cons, y), nil)
APP(app(app(filtersub, true), f''), app(app(cons, y), app(app(cons, y''), ys''))) -> APP(app(cons, y), app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys'')))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Remaining Obligation(s)
APP(app(app(filtersub, true), f''), app(app(cons, y), app(app(cons, y''), ys''))) -> APP(app(cons, y), app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys'')))
APP(app(app(filtersub, true), f), app(app(cons, y), ys)) -> APP(app(filter, f), ys)
APP(app(filter, f), app(app(cons, y), ys)) -> APP(f, y)
APP(app(filter, f), app(app(cons, y), ys)) -> APP(app(filtersub, app(f, y)), f)
APP(app(filter, f), app(app(cons, y), ys)) -> APP(app(app(filtersub, app(f, y)), f), app(app(cons, y), ys))
APP(app(neq, app(s, x)), app(s, y)) -> APP(app(neq, x), y)
APP(app(app(filtersub, false), f), app(app(cons, y), ys)) -> APP(app(filter, f), ys)
app(app(neq, 0), 0) -> false
app(app(neq, 0), app(s, y)) -> true
app(app(neq, app(s, x)), 0) -> true
app(app(neq, app(s, x)), app(s, y)) -> app(app(neq, x), y)
app(app(filter, f), nil) -> nil
app(app(filter, f), app(app(cons, y), ys)) -> app(app(app(filtersub, app(f, y)), f), app(app(cons, y), ys))
app(app(app(filtersub, true), f), app(app(cons, y), ys)) -> app(app(cons, y), app(app(filter, f), ys))
app(app(app(filtersub, false), f), app(app(cons, y), ys)) -> app(app(filter, f), ys)
nonzero -> app(filter, app(neq, 0))