MAYBE Time: 0.028415 TRS: { app(app(app(app(filter2(), true()), fun), x), xs) -> app(app(cons(), x), app(app(filter(), fun), xs)), app(app(app(app(filter2(), false()), fun), x), xs) -> app(app(filter(), fun), xs), app(app(app(f(), x), y), app(s(), z)) -> app(s(), app(app(app(f(), 0()), 1()), z)), app(app(app(f(), 0()), 1()), x) -> app(app(app(f(), app(s(), x)), x), 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), 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()} DP: DP: { app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs)), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun), app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z), app#(app(app(f(), x), y), app(s(), z)) -> app#(app(f(), 0()), 1()), app#(app(app(f(), x), y), app(s(), z)) -> app#(f(), 0()), app#(app(app(f(), x), y), app(s(), z)) -> app#(s(), app(app(app(f(), 0()), 1()), z)), app#(app(app(f(), 0()), 1()), x) -> app#(app(app(f(), app(s(), x)), x), x), app#(app(app(f(), 0()), 1()), x) -> app#(app(f(), app(s(), x)), x), app#(app(app(f(), 0()), 1()), x) -> app#(f(), app(s(), x)), app#(app(app(f(), 0()), 1()), x) -> app#(s(), x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x)), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))} TRS: { app(app(app(app(filter2(), true()), fun), x), xs) -> app(app(cons(), x), app(app(filter(), fun), xs)), app(app(app(app(filter2(), false()), fun), x), xs) -> app(app(filter(), fun), xs), app(app(app(f(), x), y), app(s(), z)) -> app(s(), app(app(app(f(), 0()), 1()), z)), app(app(app(f(), 0()), 1()), x) -> app(app(app(f(), app(s(), x)), x), 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), 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()} EDG: { (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(f(), 0()), 1()), x) -> app#(s(), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), 0()), 1()), x) -> app#(f(), app(s(), x))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), 0()), 1()), x) -> app#(app(f(), app(s(), x)), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), 0()), 1()), x) -> app#(app(app(f(), app(s(), x)), x), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), x), y), app(s(), z)) -> app#(s(), app(app(app(f(), 0()), 1()), z))) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), x), y), app(s(), z)) -> app#(f(), 0())) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), x), y), app(s(), z)) -> app#(app(f(), 0()), 1())) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs))) (app#(app(app(app(filter2(), 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#(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(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(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#(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(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(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#(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(), 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#(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(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#(filter2(), app(fun, x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(cons(), x), app(app(filter(), fun), xs))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(cons(), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), true()), fun), x), xs) -> app#(filter(), fun)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(app(filter(), fun), xs)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(app(filter2(), false()), fun), x), xs) -> app#(filter(), fun)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), x), y), app(s(), z)) -> app#(app(f(), 0()), 1())) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), x), y), app(s(), z)) -> app#(f(), 0())) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), x), y), app(s(), z)) -> app#(s(), app(app(app(f(), 0()), 1()), z))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), 0()), 1()), x) -> app#(app(app(f(), app(s(), x)), x), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), 0()), 1()), x) -> app#(app(f(), app(s(), x)), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), 0()), 1()), x) -> app#(f(), app(s(), x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(app(f(), 0()), 1()), x) -> app#(s(), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(map(), fun), xs)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(app(cons(), app(fun, x)), app(app(map(), fun), xs))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(cons(), app(fun, x))) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(fun, x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(fun, x)), fun), x), xs)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(fun, x)), fun), x)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(app(filter2(), app(fun, x)), fun)) (app#(app(map(), fun), app(app(cons(), x), xs)) -> app#(fun, x), app#(app(filter(), fun), app(app(cons(), x), xs)) -> app#(filter2(), app(fun, x))) (app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z), app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z)) (app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z), app#(app(app(f(), x), y), app(s(), z)) -> app#(app(f(), 0()), 1())) (app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z), app#(app(app(f(), x), y), app(s(), z)) -> app#(f(), 0())) (app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z), app#(app(app(f(), x), y), app(s(), z)) -> app#(s(), app(app(app(f(), 0()), 1()), z))) (app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z), app#(app(app(f(), 0()), 1()), x) -> app#(app(app(f(), app(s(), x)), x), x)) (app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z), app#(app(app(f(), 0()), 1()), x) -> app#(app(f(), app(s(), x)), x)) (app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z), app#(app(app(f(), 0()), 1()), x) -> app#(f(), app(s(), x))) (app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z), app#(app(app(f(), 0()), 1()), x) -> app#(s(), x)) (app#(app(app(f(), 0()), 1()), x) -> app#(app(app(f(), app(s(), x)), x), x), app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z)) (app#(app(app(f(), 0()), 1()), x) -> app#(app(app(f(), app(s(), x)), x), x), app#(app(app(f(), x), y), app(s(), z)) -> app#(app(f(), 0()), 1())) (app#(app(app(f(), 0()), 1()), x) -> app#(app(app(f(), app(s(), x)), x), x), app#(app(app(f(), x), y), app(s(), z)) -> app#(f(), 0())) (app#(app(app(f(), 0()), 1()), x) -> app#(app(app(f(), app(s(), x)), x), x), app#(app(app(f(), x), y), app(s(), z)) -> app#(s(), app(app(app(f(), 0()), 1()), z))) } STATUS: arrows: 0.863894 SCCS (2): 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(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z), app#(app(app(f(), 0()), 1()), x) -> app#(app(app(f(), app(s(), x)), x), 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(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(f(), x), y), app(s(), z)) -> app(s(), app(app(app(f(), 0()), 1()), z)), app(app(app(f(), 0()), 1()), x) -> app(app(app(f(), app(s(), x)), x), 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), 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()} Open SCC (2): Strict: {app#(app(app(f(), x), y), app(s(), z)) -> app#(app(app(f(), 0()), 1()), z), app#(app(app(f(), 0()), 1()), x) -> app#(app(app(f(), app(s(), x)), x), x)} Weak: { app(app(app(app(filter2(), true()), fun), x), xs) -> app(app(cons(), x), app(app(filter(), fun), xs)), app(app(app(app(filter2(), false()), fun), x), xs) -> app(app(filter(), fun), xs), app(app(app(f(), x), y), app(s(), z)) -> app(s(), app(app(app(f(), 0()), 1()), z)), app(app(app(f(), 0()), 1()), x) -> app(app(app(f(), app(s(), x)), x), 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), 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()} Open