MAYBE TRS: { app(app(app(app(filter2(), true()), f), x), xs) -> app(app(cons(), x), app(app(filter(), f), xs)), app(app(app(app(filter2(), false()), f), x), xs) -> app(app(filter(), f), xs), app(app(+(), app(app(+(), x), y)), z) -> app(app(+(), x), app(app(+(), y), z)), app(app(*(), x), app(app(+(), y), z)) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(+(), y), z)), x) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(*(), x), y)), z) -> app(app(*(), x), app(app(*(), y), z)), app(app(map(), f), app(app(cons(), x), xs)) -> app(app(cons(), app(f, x)), app(app(map(), f), xs)), app(app(map(), f), nil()) -> nil(), app(app(filter(), f), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(f, x)), f), x), xs), app(app(filter(), f), nil()) -> nil()} DP: Strict: { app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(cons(), x), app(app(filter(), f), xs)), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(cons(), x), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(filter(), f), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(filter(), f), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), x), app(app(+(), y), z)), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), y), z), app#(app(+(), app(app(+(), x), y)), z) -> app#(+(), y), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(+(), app(app(*(), x), y)), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(+(), app(app(*(), x), y)), app#(app(*(), app(app(+(), y), z)), x) -> app#(*(), x), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), app(app(*(), x), y)), z) -> app#(*(), y), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(cons(), app(f, x)), app(app(map(), f), xs)), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(cons(), app(f, x)), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(f, x)), f), x), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(f, x)), f), x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(filter2(), app(f, x)), f), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(filter2(), app(f, x))} Weak: { app(app(app(app(filter2(), true()), f), x), xs) -> app(app(cons(), x), app(app(filter(), f), xs)), app(app(app(app(filter2(), false()), f), x), xs) -> app(app(filter(), f), xs), app(app(+(), app(app(+(), x), y)), z) -> app(app(+(), x), app(app(+(), y), z)), app(app(*(), x), app(app(+(), y), z)) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(+(), y), z)), x) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(*(), x), y)), z) -> app(app(*(), x), app(app(*(), y), z)), app(app(map(), f), app(app(cons(), x), xs)) -> app(app(cons(), app(f, x)), app(app(map(), f), xs)), app(app(map(), f), nil()) -> nil(), app(app(filter(), f), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(f, x)), f), x), xs), app(app(filter(), f), nil()) -> nil()} EDG: { (app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), x), app(app(+(), y), z)), app#(app(+(), app(app(+(), x), y)), z) -> app#(+(), y)) (app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), x), app(app(+(), y), z)), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), y), z)) (app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), x), app(app(+(), y), z)), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), x), app(app(+(), y), z))) (app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(filter2(), app(f, x))) (app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(filter2(), app(f, x)), f)) (app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(f, x)), f), x)) (app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(f, x)), f), x), xs)) (app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), y), z), app#(app(+(), app(app(+(), x), y)), z) -> app#(+(), y)) (app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), y), z), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), y), z)) (app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), y), z), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), x), app(app(+(), y), z))) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), app(app(*(), x), y)), z) -> app#(*(), y)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z))) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(*(), x)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(+(), app(app(*(), x), y))) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(+(), app(app(*(), x), y))) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), app(app(*(), x), y)), z) -> app#(*(), y)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z))) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(*(), x)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(+(), app(app(*(), x), y))) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), x), app(app(+(), y), z)) -> app#(+(), app(app(*(), x), y))) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(filter2(), app(f, x))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(filter2(), app(f, x)), f)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(f, x)), f), x)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(f, x)), f), x), xs)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(cons(), app(f, x))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(cons(), app(f, x)), app(app(map(), f), xs))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(*(), x), y)), z) -> app#(*(), y)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(+(), y), z)), x) -> app#(*(), x)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(+(), y), z)), x) -> app#(+(), app(app(*(), x), y))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), x), app(app(+(), y), z)) -> app#(+(), app(app(*(), x), y))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(+(), app(app(+(), x), y)), z) -> app#(+(), y)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), y), z)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), x), app(app(+(), y), z))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(filter(), f)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(filter(), f)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(cons(), x)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(cons(), x), app(app(filter(), f), xs))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(cons(), x), app(app(filter(), f), xs))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(cons(), x)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(filter(), f)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(filter(), f)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), x), app(app(+(), y), z))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), y), z)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(+(), app(app(+(), x), y)), z) -> app#(+(), y)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), x), app(app(+(), y), z)) -> app#(+(), app(app(*(), x), y))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(+(), y), z)), x) -> app#(+(), app(app(*(), x), y))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(+(), y), z)), x) -> app#(*(), x)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(*(), app(app(*(), x), y)), z) -> app#(*(), y)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(cons(), app(f, x)), app(app(map(), f), xs))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(cons(), app(f, x))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(f, x)), f), x), xs)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(f, x)), f), x)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(filter2(), app(f, x)), f)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(filter2(), app(f, x))) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), x), app(app(+(), y), z)) -> app#(+(), app(app(*(), x), y))) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(+(), app(app(*(), x), y))) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(*(), x)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z))) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), app(app(*(), x), y)), z) -> app#(*(), y)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(+(), app(app(*(), x), y))) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(+(), app(app(*(), x), y))) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(*(), x)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z))) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z), app#(app(*(), app(app(*(), x), y)), z) -> app#(*(), y)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), x), app(app(+(), y), z)) -> app#(+(), app(app(*(), x), y))) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(+(), app(app(*(), x), y))) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(*(), x)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z))) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), app(app(*(), x), y)), z) -> app#(*(), y)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(cons(), app(f, x)), app(app(map(), f), xs))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(cons(), app(f, x))) (app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(f, x)), f), x), xs)) (app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(filter2(), app(f, x)), f), x)) (app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(filter2(), app(f, x)), f)) (app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(filter2(), app(f, x))) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), x), app(app(+(), y), z)) -> app#(+(), app(app(*(), x), y))) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z))) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), app(app(+(), y), z)), x) -> app#(+(), app(app(*(), x), y))) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), app(app(+(), y), z)), x) -> app#(*(), x)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z))) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z)) (app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), app(app(*(), x), y)), z) -> app#(*(), y)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), x), app(app(+(), y), z))) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), y), z)) (app#(app(*(), app(app(+(), y), z)), x) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app#(app(+(), app(app(+(), x), y)), z) -> app#(+(), y)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), x), app(app(+(), y), z))) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), y), z)) (app#(app(*(), x), app(app(+(), y), z)) -> app#(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app#(app(+(), app(app(+(), x), y)), z) -> app#(+(), y)) } SCCS: Scc: {app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z)} Scc: {app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), x), app(app(+(), y), z)), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), y), z)} Scc: { app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)} SCC: Strict: {app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), y), app#(app(*(), x), app(app(+(), y), z)) -> app#(app(*(), x), z), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), y), app#(app(*(), app(app(+(), y), z)), x) -> app#(app(*(), x), z), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), x), app(app(*(), y), z)), app#(app(*(), app(app(*(), x), y)), z) -> app#(app(*(), y), z)} Weak: { app(app(app(app(filter2(), true()), f), x), xs) -> app(app(cons(), x), app(app(filter(), f), xs)), app(app(app(app(filter2(), false()), f), x), xs) -> app(app(filter(), f), xs), app(app(+(), app(app(+(), x), y)), z) -> app(app(+(), x), app(app(+(), y), z)), app(app(*(), x), app(app(+(), y), z)) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(+(), y), z)), x) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(*(), x), y)), z) -> app(app(*(), x), app(app(*(), y), z)), app(app(map(), f), app(app(cons(), x), xs)) -> app(app(cons(), app(f, x)), app(app(map(), f), xs)), app(app(map(), f), nil()) -> nil(), app(app(filter(), f), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(f, x)), f), x), xs), app(app(filter(), f), nil()) -> nil()} Fail SCC: Strict: {app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), x), app(app(+(), y), z)), app#(app(+(), app(app(+(), x), y)), z) -> app#(app(+(), y), z)} Weak: { app(app(app(app(filter2(), true()), f), x), xs) -> app(app(cons(), x), app(app(filter(), f), xs)), app(app(app(app(filter2(), false()), f), x), xs) -> app(app(filter(), f), xs), app(app(+(), app(app(+(), x), y)), z) -> app(app(+(), x), app(app(+(), y), z)), app(app(*(), x), app(app(+(), y), z)) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(+(), y), z)), x) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(*(), x), y)), z) -> app(app(*(), x), app(app(*(), y), z)), app(app(map(), f), app(app(cons(), x), xs)) -> app(app(cons(), app(f, x)), app(app(map(), f), xs)), app(app(map(), f), nil()) -> nil(), app(app(filter(), f), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(f, x)), f), x), xs), app(app(filter(), f), nil()) -> nil()} Fail SCC: Strict: { app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)} Weak: { app(app(app(app(filter2(), true()), f), x), xs) -> app(app(cons(), x), app(app(filter(), f), xs)), app(app(app(app(filter2(), false()), f), x), xs) -> app(app(filter(), f), xs), app(app(+(), app(app(+(), x), y)), z) -> app(app(+(), x), app(app(+(), y), z)), app(app(*(), x), app(app(+(), y), z)) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(+(), y), z)), x) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(*(), x), y)), z) -> app(app(*(), x), app(app(*(), y), z)), app(app(map(), f), app(app(cons(), x), xs)) -> app(app(cons(), app(f, x)), app(app(map(), f), xs)), app(app(map(), f), nil()) -> nil(), app(app(filter(), f), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(f, x)), f), x), xs), app(app(filter(), f), nil()) -> nil()} SPSC: Simple Projection: pi(app#) = 1 Strict: { app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)} EDG: {(app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs)) (app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x))} SCCS: Scc: { app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)} SCC: Strict: { app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)} Weak: { app(app(app(app(filter2(), true()), f), x), xs) -> app(app(cons(), x), app(app(filter(), f), xs)), app(app(app(app(filter2(), false()), f), x), xs) -> app(app(filter(), f), xs), app(app(+(), app(app(+(), x), y)), z) -> app(app(+(), x), app(app(+(), y), z)), app(app(*(), x), app(app(+(), y), z)) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(+(), y), z)), x) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(*(), x), y)), z) -> app(app(*(), x), app(app(*(), y), z)), app(app(map(), f), app(app(cons(), x), xs)) -> app(app(cons(), app(f, x)), app(app(map(), f), xs)), app(app(map(), f), nil()) -> nil(), app(app(filter(), f), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(f, x)), f), x), xs), app(app(filter(), f), nil()) -> nil()} SPSC: Simple Projection: pi(app#) = 1 Strict: { app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)} EDG: {(app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x))} SCCS: Scc: { app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)} SCC: Strict: { app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x)} Weak: { app(app(app(app(filter2(), true()), f), x), xs) -> app(app(cons(), x), app(app(filter(), f), xs)), app(app(app(app(filter2(), false()), f), x), xs) -> app(app(filter(), f), xs), app(app(+(), app(app(+(), x), y)), z) -> app(app(+(), x), app(app(+(), y), z)), app(app(*(), x), app(app(+(), y), z)) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(+(), y), z)), x) -> app(app(+(), app(app(*(), x), y)), app(app(*(), x), z)), app(app(*(), app(app(*(), x), y)), z) -> app(app(*(), x), app(app(*(), y), z)), app(app(map(), f), app(app(cons(), x), xs)) -> app(app(cons(), app(f, x)), app(app(map(), f), xs)), app(app(map(), f), nil()) -> nil(), app(app(filter(), f), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(f, x)), f), x), xs), app(app(filter(), f), nil()) -> nil()} SPSC: Simple Projection: pi(app#) = 1 Strict: { app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(filter(), f), xs), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), xs)} EDG: {} SCCS: Qed