MAYBE Time: 1.181837 TRS: {app(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), 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(g(), 0()), 1()) -> 0(), app(app(g(), 0()), 1()) -> 1(), 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(h(), app(app(g(), x), y)) -> app(h(), x)} DP: DP: {app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), 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(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#(h(), app(app(g(), x), y)) -> app#(h(), x)} TRS: {app(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), 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(g(), 0()), 1()) -> 0(), app(app(g(), 0()), 1()) -> 1(), 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(h(), app(app(g(), x), y)) -> app(h(), x)} EDG: { (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app#(h(), app(app(g(), x), y)) -> app#(h(), 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#(filter2(), 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#(app(filter2(), app(fun, x)), fun)) (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#(app(app(filter2(), app(fun, x)), 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#(app(app(app(filter2(), app(fun, x)), fun), x), xs)) (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(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(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(cons(), app(fun, x)), 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#(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#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), 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#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), 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#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x)), app#(h(), app(app(g(), x), y)) -> app#(h(), 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#(filter2(), 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#(app(filter2(), app(fun, x)), fun)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), 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#(filter2(), 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#(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#(filter2(), 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#(filter2(), 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#(filter2(), 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#(filter2(), 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#(filter2(), 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#(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#(filter2(), 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#(filter2(), 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#(filter2(), 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#(filter2(), app(fun, x)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(h(), app(app(g(), x), y)) -> app#(h(), 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(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(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(h(), app(app(g(), x), y)) -> app#(h(), 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#(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(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), 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#(app(cons(), app(fun, x)), app(app(map(), 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#(app(map(), 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(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(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), 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(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), 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(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(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(h(), app(app(g(), x), y)) -> app#(h(), 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#(filter2(), 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(filter2(), app(fun, x)), fun)) (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(app(app(filter2(), app(fun, x)), fun), x), xs), 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(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#(app(app(app(filter2(), app(fun, x)), fun), x), 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#(app(app(app(filter2(), app(fun, x)), fun), x), xs), 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#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (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(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(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), 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(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), 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#(app(filter2(), app(fun, x)), fun)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun), 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#(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#(filter(), fun), 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(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), 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#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (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(), true()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (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(), true()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun), 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(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun), 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#(filter(), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun), app#(h(), app(app(g(), x), y)) -> app#(h(), 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#(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#(app(filter2(), app(fun, x)), fun)) (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#(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#(app(app(app(filter2(), app(fun, x)), fun), x), xs)) (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(filter2(), app(fun, x)), fun), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), 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#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (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#(app(map(), fun), xs)) (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#(app(filter2(), app(fun, x)), fun), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (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(filter2(), app(fun, x)), fun), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (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#(cons(), x)) (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#(app(filter2(), app(fun, x)), fun), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), 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(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), 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#(app(filter2(), app(fun, x)), fun)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), 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#(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#(cons(), x), 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(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), 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#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (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#(cons(), x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), app#(app(app(app(filter2(), false()), 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(), true()), fun), x), xs) -> app#(cons(), x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), 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#(app(cons(), x), app(app(filter(), fun), xs))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs))) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x))) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs)) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x)) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun)) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), 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(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), 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#(filter(), fun), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(filter2(), false()), 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(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (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(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), 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#(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#(filter(), fun), 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#(filter(), fun), 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#(filter(), fun), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (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(cons(), x), 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(app(filter2(), app(fun, x)), fun), x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (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#(filter(), fun)) (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(filter2(), app(fun, x)), fun), x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (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(app(filter2(), app(fun, x)), 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#(app(app(filter2(), app(fun, x)), 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#(app(app(filter2(), app(fun, x)), 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#(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(filter2(), app(fun, x)), 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(app(filter2(), app(fun, x)), 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#(app(filter2(), app(fun, x)), fun)) (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#(filter2(), app(fun, x))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), 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#(app(map(), fun), xs), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), 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#(app(map(), fun), xs), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (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(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#(app(map(), fun), xs), 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#(app(map(), fun), xs), 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#(app(map(), fun), xs), 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#(app(map(), 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#(app(map(), fun), xs), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), 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#(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#(app(filter(), fun), xs), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (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(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (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#(app(filter(), fun), xs), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), 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(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), 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(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#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (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(cons(), x), app(app(filter(), 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(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), 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#(cons(), 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#(cons(), 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#(cons(), 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#(cons(), 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#(cons(), 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#(cons(), 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#(cons(), 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#(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#(cons(), 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#(cons(), 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#(cons(), 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#(cons(), 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#(cons(), app(fun, x)), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (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(cons(), x), app(app(filter(), fun), xs))) (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#(app(cons(), x), 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#(app(cons(), x), app(app(filter(), fun), xs)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (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(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#(filter(), fun)) (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(cons(), x), app(app(filter(), fun), xs)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (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#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (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#(cons(), app(fun, x))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), 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(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(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(cons(), x), 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(cons(), x), app(app(filter(), fun), xs)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs)), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), 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(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) } EDG: { (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(h(), app(app(g(), x), y)) -> app#(h(), 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(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(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), 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#(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#(h(), app(app(g(), x), y)) -> app#(h(), x), app#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x), app#(h(), app(app(g(), x), y)) -> app#(h(), 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(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), 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(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#(h(), app(app(g(), x), y)) -> app#(h(), x)) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(f(), app(app(g(), x), y)), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(f(), app(app(g(), x), y))) (app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)), app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(h(), x)) } STATUS: arrows: 0.857143 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)} Scc: {app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))} Scc: {app#(h(), app(app(g(), x), y)) -> app#(h(), x)} SCC (5): 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)} Weak: {app(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), 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(g(), 0()), 1()) -> 0(), app(app(g(), 0()), 1()) -> 1(), 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(h(), app(app(g(), x), y)) -> app(h(), x)} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [app](x0, x1) = x0 + x1, [f] = 1, [g] = 1, [h] = 0, [0] = 1, [1] = 1, [nil] = 0, [map] = 0, [cons] = 1, [filter] = 0, [filter2] = 0, [true] = 0, [false] = 0, [app#](x0, x1) = x0 Strict: app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x) 1 + 1x + 0fun + 1xs >= 0 + 1x + 0fun app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs) 1 + 1x + 0fun + 1xs >= 0 + 0fun + 1xs app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x) 1 + 1x + 0fun + 1xs >= 0 + 1x + 0fun app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs) 0 + 0x + 0fun + 1xs >= 0 + 0fun + 1xs app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs) 0 + 0x + 0fun + 1xs >= 0 + 0fun + 1xs Weak: app(h(), app(app(g(), x), y)) -> app(h(), x) 1 + 1x + 1y >= 0 + 1x app(app(filter(), fun), nil()) -> nil() 0 + 1fun >= 0 app(app(filter(), fun), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(fun, x)), fun), x), xs) 1 + 1x + 1fun + 1xs >= 0 + 2x + 2fun + 1xs app(app(map(), fun), nil()) -> nil() 0 + 1fun >= 0 app(app(map(), fun), app(app(cons(), x), xs)) -> app(app(cons(), app(fun, x)), app(app(map(), fun), xs)) 1 + 1x + 1fun + 1xs >= 1 + 1x + 2fun + 1xs app(app(g(), 0()), 1()) -> 1() 3 >= 1 app(app(g(), 0()), 1()) -> 0() 3 >= 1 app(app(app(app(filter2(), false()), fun), x), xs) -> app(app(filter(), fun), xs) 0 + 1x + 1fun + 1xs >= 0 + 1fun + 1xs app(app(app(app(filter2(), true()), fun), x), xs) -> app(app(cons(), x), app(app(filter(), fun), xs)) 0 + 1x + 1fun + 1xs >= 1 + 1x + 1fun + 1xs app(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)) 4 + 1x + 1y + 1z >= 4 + 4x + 3y SCCS (0): SCC (1): Strict: {app#(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app#(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x))} Weak: {app(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), 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(g(), 0()), 1()) -> 0(), app(app(g(), 0()), 1()) -> 1(), 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(h(), app(app(g(), x), y)) -> app(h(), x)} Fail SCC (1): Strict: {app#(h(), app(app(g(), x), y)) -> app#(h(), x)} Weak: {app(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), 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(g(), 0()), 1()) -> 0(), app(app(g(), 0()), 1()) -> 1(), 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(h(), app(app(g(), x), y)) -> app(h(), x)} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [app](x0, x1) = x0 + x1, [f] = 0, [g] = 1, [h] = 0, [0] = 1, [1] = 0, [nil] = 0, [map] = 0, [cons] = 0, [filter] = 0, [filter2] = 0, [true] = 0, [false] = 0, [app#](x0, x1) = x0 + 1 Strict: app#(h(), app(app(g(), x), y)) -> app#(h(), x) 2 + 1x + 1y >= 1 + 1x Weak: app(h(), app(app(g(), x), y)) -> app(h(), x) 1 + 1x + 1y >= 0 + 1x app(app(filter(), fun), nil()) -> nil() 0 + 1fun >= 0 app(app(filter(), fun), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(fun, x)), fun), x), xs) 0 + 1x + 1fun + 1xs >= 0 + 2x + 2fun + 1xs app(app(map(), fun), nil()) -> nil() 0 + 1fun >= 0 app(app(map(), fun), app(app(cons(), x), xs)) -> app(app(cons(), app(fun, x)), app(app(map(), fun), xs)) 0 + 1x + 1fun + 1xs >= 0 + 1x + 2fun + 1xs app(app(g(), 0()), 1()) -> 1() 2 >= 0 app(app(g(), 0()), 1()) -> 0() 2 >= 1 app(app(app(app(filter2(), false()), fun), x), xs) -> app(app(filter(), fun), xs) 0 + 1x + 1fun + 1xs >= 0 + 1fun + 1xs app(app(app(app(filter2(), true()), fun), x), xs) -> app(app(cons(), x), app(app(filter(), fun), xs)) 0 + 1x + 1fun + 1xs >= 0 + 1x + 1fun + 1xs app(app(app(app(f(), 0()), 1()), app(app(g(), x), y)), z) -> app(app(app(app(f(), app(app(g(), x), y)), app(app(g(), x), y)), app(app(g(), x), y)), app(h(), x)) 2 + 1x + 1y + 1z >= 3 + 4x + 3y Qed