MAYBE Time: 0.057427 TRS: { app(app(app(app(filter2(), true()), fun), x), xs) -> app(app(cons(), x), app(app(filter(), fun), xs)), app(app(app(app(filter2(), false()), fun), x), xs) -> app(app(filter(), fun), xs), app(app(app(if(), true()), x), y) -> x, app(app(app(if(), false()), x), y) -> y, app(app(g(), x), app(c(), y)) -> app(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app(app(g(), app(s(), x)), app(s(), y)) -> app(app(app(if(), app(f(), x)), app(s(), x)), app(s(), y)), app(app(map(), fun), app(app(cons(), x), xs)) -> app(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app(app(map(), fun), nil()) -> nil(), app(app(filter(), fun), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(fun, x)), fun), x), xs), app(app(filter(), fun), nil()) -> nil(), app(f(), app(s(), x)) -> app(f(), x), app(f(), 0()) -> true(), app(f(), 1()) -> false()} DP: DP: { app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y), app#(app(g(), x), app(c(), y)) -> app#(s(), app(c(), y)), app#(app(g(), x), app(c(), y)) -> app#(g(), app(s(), app(c(), y))), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(app(app(if(), app(f(), x)), app(s(), x)), app(s(), y)), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(app(if(), app(f(), x)), app(s(), x)), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(f(), x), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(if(), app(f(), x)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x)), app#(f(), app(s(), x)) -> app#(f(), x)} TRS: { app(app(app(app(filter2(), true()), fun), x), xs) -> app(app(cons(), x), app(app(filter(), fun), xs)), app(app(app(app(filter2(), false()), fun), x), xs) -> app(app(filter(), fun), xs), app(app(app(if(), true()), x), y) -> x, app(app(app(if(), false()), x), y) -> y, app(app(g(), x), app(c(), y)) -> app(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app(app(g(), app(s(), x)), app(s(), y)) -> app(app(app(if(), app(f(), x)), app(s(), x)), app(s(), y)), app(app(map(), fun), app(app(cons(), x), xs)) -> app(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app(app(map(), fun), nil()) -> nil(), app(app(filter(), fun), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(fun, x)), fun), x), xs), app(app(filter(), fun), nil()) -> nil(), app(f(), app(s(), x)) -> app(f(), x), app(f(), 0()) -> true(), app(f(), 1()) -> false()} EDG: { (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(f(), app(s(), x)) -> app#(f(), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(if(), app(f(), x))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(f(), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(app(if(), app(f(), x)), app(s(), x))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(app(app(if(), app(f(), x)), app(s(), x)), app(s(), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), x), app(c(), y)) -> app#(g(), app(s(), app(c(), y)))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), x), app(c(), y)) -> app#(s(), app(c(), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs))) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun)) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x)) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs)) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs))) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(if(), app(f(), x))) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(f(), x)) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(app(if(), app(f(), x)), app(s(), x))) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(app(app(if(), app(f(), x)), app(s(), x)), app(s(), y))) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y), app#(app(g(), x), app(c(), y)) -> app#(g(), app(s(), app(c(), y)))) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y), app#(app(g(), x), app(c(), y)) -> app#(s(), app(c(), y))) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y), app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y)) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y), app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y))) (app#(app(g(), app(s(), x)), app(s(), y)) -> app#(f(), x), app#(f(), app(s(), x)) -> app#(f(), x)) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y))) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y)) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app#(app(g(), x), app(c(), y)) -> app#(s(), app(c(), y))) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app#(app(g(), x), app(c(), y)) -> app#(g(), app(s(), app(c(), y)))) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(app(app(if(), app(f(), x)), app(s(), x)), app(s(), y))) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(app(if(), app(f(), x)), app(s(), x))) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(f(), x)) (app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(if(), app(f(), x))) (app#(f(), app(s(), x)) -> app#(f(), x), app#(f(), app(s(), x)) -> app#(f(), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), x), app(c(), y)) -> app#(s(), app(c(), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), x), app(c(), y)) -> app#(g(), app(s(), app(c(), y)))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(app(app(if(), app(f(), x)), app(s(), x)), app(s(), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(app(if(), app(f(), x)), app(s(), x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(f(), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(g(), app(s(), x)), app(s(), y)) -> app#(if(), app(f(), x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(f(), app(s(), x)) -> app#(f(), x)) } STATUS: arrows: 0.850694 SCCS (3): Scc: { app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs)} Scc: {app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y)} Scc: {app#(f(), app(s(), x)) -> app#(f(), x)} SCC (6): Strict: { app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs)} Weak: { app(app(app(app(filter2(), true()), fun), x), xs) -> app(app(cons(), x), app(app(filter(), fun), xs)), app(app(app(app(filter2(), false()), fun), x), xs) -> app(app(filter(), fun), xs), app(app(app(if(), true()), x), y) -> x, app(app(app(if(), false()), x), y) -> y, app(app(g(), x), app(c(), y)) -> app(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app(app(g(), app(s(), x)), app(s(), y)) -> app(app(app(if(), app(f(), x)), app(s(), x)), app(s(), y)), app(app(map(), fun), app(app(cons(), x), xs)) -> app(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app(app(map(), fun), nil()) -> nil(), app(app(filter(), fun), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(fun, x)), fun), x), xs), app(app(filter(), fun), nil()) -> nil(), app(f(), app(s(), x)) -> app(f(), x), app(f(), 0()) -> true(), app(f(), 1()) -> false()} Open SCC (2): Strict: {app#(app(g(), x), app(c(), y)) -> app#(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app#(app(g(), x), app(c(), y)) -> app#(app(g(), app(s(), app(c(), y))), y)} Weak: { app(app(app(app(filter2(), true()), fun), x), xs) -> app(app(cons(), x), app(app(filter(), fun), xs)), app(app(app(app(filter2(), false()), fun), x), xs) -> app(app(filter(), fun), xs), app(app(app(if(), true()), x), y) -> x, app(app(app(if(), false()), x), y) -> y, app(app(g(), x), app(c(), y)) -> app(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app(app(g(), app(s(), x)), app(s(), y)) -> app(app(app(if(), app(f(), x)), app(s(), x)), app(s(), y)), app(app(map(), fun), app(app(cons(), x), xs)) -> app(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app(app(map(), fun), nil()) -> nil(), app(app(filter(), fun), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(fun, x)), fun), x), xs), app(app(filter(), fun), nil()) -> nil(), app(f(), app(s(), x)) -> app(f(), x), app(f(), 0()) -> true(), app(f(), 1()) -> false()} Open SCC (1): Strict: {app#(f(), app(s(), x)) -> app#(f(), x)} Weak: { app(app(app(app(filter2(), true()), fun), x), xs) -> app(app(cons(), x), app(app(filter(), fun), xs)), app(app(app(app(filter2(), false()), fun), x), xs) -> app(app(filter(), fun), xs), app(app(app(if(), true()), x), y) -> x, app(app(app(if(), false()), x), y) -> y, app(app(g(), x), app(c(), y)) -> app(app(g(), x), app(app(g(), app(s(), app(c(), y))), y)), app(app(g(), app(s(), x)), app(s(), y)) -> app(app(app(if(), app(f(), x)), app(s(), x)), app(s(), y)), app(app(map(), fun), app(app(cons(), x), xs)) -> app(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app(app(map(), fun), nil()) -> nil(), app(app(filter(), fun), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(fun, x)), fun), x), xs), app(app(filter(), fun), nil()) -> nil(), app(f(), app(s(), x)) -> app(f(), x), app(f(), 0()) -> true(), app(f(), 1()) -> false()} Open