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(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))
innermost
eight new Dependency Pairs are created:
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, app(neq, 0)), app(app(cons, 0), ys)) -> APP(app(app(filtersub, false), app(neq, 0)), app(app(cons, 0), ys))
APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, true), app(neq, 0)), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, 0), ys)) -> APP(app(app(filtersub, true), app(neq, app(s, x'))), app(app(cons, 0), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, app(app(neq, x'), y'')), app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(filter, f'')), app(app(cons, nil), ys)) -> APP(app(app(filtersub, nil), app(filter, f'')), app(app(cons, nil), ys))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys''))), app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(cons, y''), app(app(filter, f''), ys''))), app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(filter, f''), ys'')), app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Narrowing Transformation
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(filter, f''), ys'')), app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(cons, y''), app(app(filter, f''), ys''))), app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys''))), app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(filter, f'')), app(app(cons, nil), ys)) -> APP(app(app(filtersub, nil), app(filter, f'')), app(app(cons, nil), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, app(app(neq, x'), y'')), app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, true), app(neq, 0)), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, 0), ys)) -> APP(app(app(filtersub, true), app(neq, app(s, x'))), app(app(cons, 0), ys))
APP(app(filter, app(neq, 0)), app(app(cons, 0), ys)) -> APP(app(app(filtersub, false), app(neq, 0)), app(app(cons, 0), 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(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))
innermost
eight new Dependency Pairs are created:
APP(app(filter, f), app(app(cons, y), ys)) -> APP(app(filtersub, app(f, y)), f)
APP(app(filter, app(neq, 0)), app(app(cons, 0), ys)) -> APP(app(filtersub, false), app(neq, 0))
APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'')), ys)) -> APP(app(filtersub, true), app(neq, 0))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, 0), ys)) -> APP(app(filtersub, true), app(neq, app(s, x')))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys)) -> APP(app(filtersub, app(app(neq, x'), y'')), app(neq, app(s, x')))
APP(app(filter, app(filter, f'')), app(app(cons, nil), ys)) -> APP(app(filtersub, nil), app(filter, f''))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(filtersub, app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys''))), app(filter, f''))
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(filtersub, app(app(cons, y''), app(app(filter, f''), ys''))), app(app(filtersub, true), f''))
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(filtersub, app(app(filter, f''), ys'')), app(app(filtersub, false), f''))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 3
↳Narrowing Transformation
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(cons, y''), app(app(filter, f''), ys''))), app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys''))), app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(filter, f'')), app(app(cons, nil), ys)) -> APP(app(app(filtersub, nil), app(filter, f'')), app(app(cons, nil), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, app(app(neq, x'), y'')), app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, true), app(neq, 0)), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, 0), ys)) -> APP(app(app(filtersub, true), app(neq, app(s, x'))), app(app(cons, 0), ys))
APP(app(filter, app(neq, 0)), app(app(cons, 0), ys)) -> APP(app(app(filtersub, false), app(neq, 0)), app(app(cons, 0), ys))
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(neq, app(s, x)), app(s, y)) -> APP(app(neq, x), y)
APP(app(filter, f), app(app(cons, y), ys)) -> APP(f, y)
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(filter, f''), ys'')), app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), 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))
innermost
no new Dependency Pairs are created.
APP(app(filter, app(filter, f'')), app(app(cons, nil), ys)) -> APP(app(app(filtersub, nil), app(filter, f'')), app(app(cons, nil), ys))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 4
↳Forward Instantiation Transformation
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(filter, f''), ys'')), app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys''))), app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, app(app(neq, x'), y'')), app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, true), app(neq, 0)), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, 0), ys)) -> APP(app(app(filtersub, true), app(neq, app(s, x'))), app(app(cons, 0), ys))
APP(app(filter, app(neq, 0)), app(app(cons, 0), ys)) -> APP(app(app(filtersub, false), app(neq, 0)), app(app(cons, 0), ys))
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(neq, app(s, x)), app(s, y)) -> APP(app(neq, x), y)
APP(app(filter, f), app(app(cons, y), ys)) -> APP(f, y)
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(cons, y''), app(app(filter, f''), ys''))), app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), 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))
innermost
11 new Dependency Pairs are created:
APP(app(filter, f), app(app(cons, y), ys)) -> APP(f, y)
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(filter, f''), app(app(cons, y''), ys''))
APP(app(filter, app(neq, app(s, x''))), app(app(cons, app(s, y'')), ys)) -> APP(app(neq, app(s, x'')), app(s, y''))
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, true), f''), app(app(cons, y''), ys''))
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, false), f''), app(app(cons, y''), ys''))
APP(app(filter, app(filter, app(neq, 0))), app(app(cons, app(app(cons, 0), ys'')), ys)) -> APP(app(filter, app(neq, 0)), app(app(cons, 0), ys''))
APP(app(filter, app(filter, app(neq, 0))), app(app(cons, app(app(cons, app(s, y'''')), ys'')), ys)) -> APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'''')), ys''))
APP(app(filter, app(filter, app(neq, app(s, x''')))), app(app(cons, app(app(cons, 0), ys'')), ys)) -> APP(app(filter, app(neq, app(s, x'''))), app(app(cons, 0), ys''))
APP(app(filter, app(filter, app(neq, app(s, x''')))), app(app(cons, app(app(cons, app(s, y'''')), ys'')), ys)) -> APP(app(filter, app(neq, app(s, x'''))), app(app(cons, app(s, y'''')), ys''))
APP(app(filter, app(filter, app(filter, f''''))), app(app(cons, app(app(cons, app(app(cons, y''''), ys'''')), ys'')), ys)) -> APP(app(filter, app(filter, f'''')), app(app(cons, app(app(cons, y''''), ys'''')), ys''))
APP(app(filter, app(filter, app(app(filtersub, true), f''''))), app(app(cons, app(app(cons, app(app(cons, y''''), ys'''')), ys'')), ys)) -> APP(app(filter, app(app(filtersub, true), f'''')), app(app(cons, app(app(cons, y''''), ys'''')), ys''))
APP(app(filter, app(filter, app(app(filtersub, false), f''''))), app(app(cons, app(app(cons, app(app(cons, y''''), ys'''')), ys'')), ys)) -> APP(app(filter, app(app(filtersub, false), f'''')), app(app(cons, app(app(cons, y''''), ys'''')), ys''))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 5
↳Argument Filtering and Ordering
APP(app(filter, app(filter, app(app(filtersub, false), f''''))), app(app(cons, app(app(cons, app(app(cons, y''''), ys'''')), ys'')), ys)) -> APP(app(filter, app(app(filtersub, false), f'''')), app(app(cons, app(app(cons, y''''), ys'''')), ys''))
APP(app(filter, app(filter, app(app(filtersub, true), f''''))), app(app(cons, app(app(cons, app(app(cons, y''''), ys'''')), ys'')), ys)) -> APP(app(filter, app(app(filtersub, true), f'''')), app(app(cons, app(app(cons, y''''), ys'''')), ys''))
APP(app(filter, app(filter, app(filter, f''''))), app(app(cons, app(app(cons, app(app(cons, y''''), ys'''')), ys'')), ys)) -> APP(app(filter, app(filter, f'''')), app(app(cons, app(app(cons, y''''), ys'''')), ys''))
APP(app(filter, app(filter, app(neq, app(s, x''')))), app(app(cons, app(app(cons, app(s, y'''')), ys'')), ys)) -> APP(app(filter, app(neq, app(s, x'''))), app(app(cons, app(s, y'''')), ys''))
APP(app(filter, app(filter, app(neq, app(s, x''')))), app(app(cons, app(app(cons, 0), ys'')), ys)) -> APP(app(filter, app(neq, app(s, x'''))), app(app(cons, 0), ys''))
APP(app(filter, app(filter, app(neq, 0))), app(app(cons, app(app(cons, app(s, y'''')), ys'')), ys)) -> APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'''')), ys''))
APP(app(filter, app(filter, app(neq, 0))), app(app(cons, app(app(cons, 0), ys'')), ys)) -> APP(app(filter, app(neq, 0)), app(app(cons, 0), ys''))
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, false), f''), app(app(cons, y''), ys''))
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, true), f''), app(app(cons, y''), ys''))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(filter, f''), app(app(cons, y''), ys''))
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(cons, y''), app(app(filter, f''), ys''))), app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys''))), app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(neq, app(s, x''))), app(app(cons, app(s, y'')), ys)) -> APP(app(neq, app(s, x'')), app(s, y''))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, app(app(neq, x'), y'')), app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, true), app(neq, 0)), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, 0), ys)) -> APP(app(app(filtersub, true), app(neq, app(s, x'))), app(app(cons, 0), ys))
APP(app(filter, app(neq, 0)), app(app(cons, 0), ys)) -> APP(app(app(filtersub, false), app(neq, 0)), app(app(cons, 0), ys))
APP(app(app(filtersub, false), f), app(app(cons, y), ys)) -> APP(app(filter, f), ys)
APP(app(neq, app(s, x)), app(s, y)) -> APP(app(neq, x), y)
APP(app(app(filtersub, true), f), app(app(cons, y), ys)) -> APP(app(filter, f), ys)
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(filter, f''), ys'')), app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), 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))
innermost
APP(app(filter, app(neq, app(s, x''))), app(app(cons, app(s, y'')), ys)) -> APP(app(neq, app(s, x'')), app(s, 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)
{filter, filtersub, cons} > nil
{filter, filtersub, cons} > {neq, true, false}
APP(x1, x2) -> x1
app(x1, x2) -> x1
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 6
↳Argument Filtering and Ordering
APP(app(filter, app(filter, app(app(filtersub, false), f''''))), app(app(cons, app(app(cons, app(app(cons, y''''), ys'''')), ys'')), ys)) -> APP(app(filter, app(app(filtersub, false), f'''')), app(app(cons, app(app(cons, y''''), ys'''')), ys''))
APP(app(filter, app(filter, app(app(filtersub, true), f''''))), app(app(cons, app(app(cons, app(app(cons, y''''), ys'''')), ys'')), ys)) -> APP(app(filter, app(app(filtersub, true), f'''')), app(app(cons, app(app(cons, y''''), ys'''')), ys''))
APP(app(filter, app(filter, app(filter, f''''))), app(app(cons, app(app(cons, app(app(cons, y''''), ys'''')), ys'')), ys)) -> APP(app(filter, app(filter, f'''')), app(app(cons, app(app(cons, y''''), ys'''')), ys''))
APP(app(filter, app(filter, app(neq, app(s, x''')))), app(app(cons, app(app(cons, app(s, y'''')), ys'')), ys)) -> APP(app(filter, app(neq, app(s, x'''))), app(app(cons, app(s, y'''')), ys''))
APP(app(filter, app(filter, app(neq, app(s, x''')))), app(app(cons, app(app(cons, 0), ys'')), ys)) -> APP(app(filter, app(neq, app(s, x'''))), app(app(cons, 0), ys''))
APP(app(filter, app(filter, app(neq, 0))), app(app(cons, app(app(cons, app(s, y'''')), ys'')), ys)) -> APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'''')), ys''))
APP(app(filter, app(filter, app(neq, 0))), app(app(cons, app(app(cons, 0), ys'')), ys)) -> APP(app(filter, app(neq, 0)), app(app(cons, 0), ys''))
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, false), f''), app(app(cons, y''), ys''))
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, true), f''), app(app(cons, y''), ys''))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(filter, f''), app(app(cons, y''), ys''))
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(cons, y''), app(app(filter, f''), ys''))), app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys''))), app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, app(app(neq, x'), y'')), app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, true), app(neq, 0)), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, 0), ys)) -> APP(app(app(filtersub, true), app(neq, app(s, x'))), app(app(cons, 0), ys))
APP(app(filter, app(neq, 0)), app(app(cons, 0), ys)) -> APP(app(app(filtersub, false), app(neq, 0)), app(app(cons, 0), ys))
APP(app(app(filtersub, false), f), app(app(cons, y), ys)) -> APP(app(filter, f), ys)
APP(app(neq, app(s, x)), app(s, y)) -> APP(app(neq, x), y)
APP(app(app(filtersub, true), f), app(app(cons, y), ys)) -> APP(app(filter, f), ys)
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(filter, f''), ys'')), app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), 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))
innermost
APP(app(filter, app(filter, app(app(filtersub, false), f''''))), app(app(cons, app(app(cons, app(app(cons, y''''), ys'''')), ys'')), ys)) -> APP(app(filter, app(app(filtersub, false), f'''')), app(app(cons, app(app(cons, y''''), ys'''')), ys''))
APP(app(filter, app(filter, app(app(filtersub, true), f''''))), app(app(cons, app(app(cons, app(app(cons, y''''), ys'''')), ys'')), ys)) -> APP(app(filter, app(app(filtersub, true), f'''')), app(app(cons, app(app(cons, y''''), ys'''')), ys''))
APP(app(filter, app(filter, app(filter, f''''))), app(app(cons, app(app(cons, app(app(cons, y''''), ys'''')), ys'')), ys)) -> APP(app(filter, app(filter, f'''')), app(app(cons, app(app(cons, y''''), ys'''')), ys''))
APP(app(filter, app(filter, app(neq, app(s, x''')))), app(app(cons, app(app(cons, app(s, y'''')), ys'')), ys)) -> APP(app(filter, app(neq, app(s, x'''))), app(app(cons, app(s, y'''')), ys''))
APP(app(filter, app(filter, app(neq, app(s, x''')))), app(app(cons, app(app(cons, 0), ys'')), ys)) -> APP(app(filter, app(neq, app(s, x'''))), app(app(cons, 0), ys''))
APP(app(filter, app(filter, app(neq, 0))), app(app(cons, app(app(cons, app(s, y'''')), ys'')), ys)) -> APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'''')), ys''))
APP(app(filter, app(filter, app(neq, 0))), app(app(cons, app(app(cons, 0), ys'')), ys)) -> APP(app(filter, app(neq, 0)), app(app(cons, 0), ys''))
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, false), f''), app(app(cons, y''), ys''))
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, true), f''), app(app(cons, y''), ys''))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(filter, 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)
app > true
0 > false
APP(x1, x2) -> x1
app(x1, x2) -> app(x2)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 7
↳Argument Filtering and Ordering
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(cons, y''), app(app(filter, f''), ys''))), app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys''))), app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, app(app(neq, x'), y'')), app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, true), app(neq, 0)), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, 0), ys)) -> APP(app(app(filtersub, true), app(neq, app(s, x'))), app(app(cons, 0), ys))
APP(app(filter, app(neq, 0)), app(app(cons, 0), ys)) -> APP(app(app(filtersub, false), app(neq, 0)), app(app(cons, 0), ys))
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(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(filter, f''), ys'')), app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), 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))
innermost
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(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)
app > true
0 > false
APP(x1, x2) -> APP(x1, x2)
app(x1, x2) -> app(x2)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 8
↳Dependency Graph
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(cons, y''), app(app(filter, f''), ys''))), app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys''))), app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, app(app(neq, x'), y'')), app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, true), app(neq, 0)), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, 0), ys)) -> APP(app(app(filtersub, true), app(neq, app(s, x'))), app(app(cons, 0), ys))
APP(app(filter, app(neq, 0)), app(app(cons, 0), ys)) -> APP(app(app(filtersub, false), app(neq, 0)), app(app(cons, 0), ys))
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(filter, f''), ys'')), app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), 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))
innermost
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 12
↳Remaining Obligation(s)
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(filter, f''), ys'')), app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys''))), app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(cons, y''), app(app(filter, f''), ys''))), app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), 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))
innermost
APP(app(filter, app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, app(app(neq, x'), y'')), app(neq, app(s, x'))), app(app(cons, app(s, y'')), 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))
innermost
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 10
↳Narrowing Transformation
APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, true), app(neq, 0)), app(app(cons, app(s, y'')), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, app(app(neq, x'), y'')), app(neq, app(s, x'))), app(app(cons, app(s, y'')), 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))
innermost
no new Dependency Pairs are created.
APP(app(filter, app(neq, 0)), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, true), app(neq, 0)), app(app(cons, app(s, y'')), ys))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 12
↳Remaining Obligation(s)
APP(app(filter, app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(filter, f''), ys'')), app(app(filtersub, false), f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(app(filtersub, app(f'', y'')), f''), app(app(cons, y''), ys''))), app(filter, f'')), app(app(cons, app(app(cons, y''), ys'')), ys))
APP(app(filter, app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), ys)) -> APP(app(app(filtersub, app(app(cons, y''), app(app(filter, f''), ys''))), app(app(filtersub, true), f'')), app(app(cons, app(app(cons, y''), ys'')), 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))
innermost
APP(app(filter, app(neq, app(s, x'))), app(app(cons, app(s, y'')), ys)) -> APP(app(app(filtersub, app(app(neq, x'), y'')), app(neq, app(s, x'))), app(app(cons, app(s, y'')), 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))
innermost
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 11
↳Narrowing Transformation
APP(app(filter, app(neq, 0)), app(app(cons, 0), ys)) -> APP(app(app(filtersub, false), app(neq, 0)), app(app(cons, 0), ys))
APP(app(filter, app(neq, app(s, x'))), app(app(cons, 0), ys)) -> APP(app(app(filtersub, true), app(neq, app(s, x'))), app(app(cons, 0), 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))
innermost
no new Dependency Pairs are created.
APP(app(filter, app(neq, 0)), app(app(cons, 0), ys)) -> APP(app(app(filtersub, false), app(neq, 0)), app(app(cons, 0), ys))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 13
↳Narrowing Transformation
APP(app(filter, app(neq, app(s, x'))), app(app(cons, 0), ys)) -> APP(app(app(filtersub, true), app(neq, app(s, x'))), app(app(cons, 0), 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))
innermost
no new Dependency Pairs are created.
APP(app(filter, app(neq, app(s, x'))), app(app(cons, 0), ys)) -> APP(app(app(filtersub, true), app(neq, app(s, x'))), app(app(cons, 0), ys))