YES 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(and(), x), app(app(or(), y), z)) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app(app(and(), app(app(or(), y), z)), x) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), 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(), app(not(), app(app(and(), x), y)) -> app(app(or(), app(not(), x)), app(not(), y)), app(not(), app(app(or(), x), y)) -> app(app(and(), app(not(), x)), app(not(), y)), app(not(), app(not(), x)) -> x} 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(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app#(app(and(), x), app(app(or(), y), z)) -> app#(or(), app(app(and(), x), y)), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app#(app(and(), app(app(or(), y), z)), x) -> app#(and(), x), app#(app(and(), app(app(or(), y), z)), x) -> app#(or(), app(app(and(), x), 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)), app#(not(), app(app(and(), x), y)) -> app#(app(or(), app(not(), x)), app(not(), y)), app#(not(), app(app(and(), x), y)) -> app#(not(), x), app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(and(), x), y)) -> app#(or(), app(not(), x)), app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y)), app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(and(), app(not(), 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(and(), x), app(app(or(), y), z)) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app(app(and(), app(app(or(), y), z)), x) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), 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(), app(not(), app(app(and(), x), y)) -> app(app(or(), app(not(), x)), app(not(), y)), app(not(), app(app(or(), x), y)) -> app(app(and(), app(not(), x)), app(not(), y)), app(not(), app(not(), x)) -> x} EDG: { (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(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#(filter(), f)) (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#(app(app(app(filter2(), app(f, x)), f), x), xs), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(filter(), f)) (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#(cons(), x)) (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(app(filter2(), app(f, x)), f), x), xs), app#(app(app(app(filter2(), true()), f), x), xs) -> app#(app(cons(), x), app(app(filter(), f), xs))) (app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(and(), app(not(), x))) (app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), y)) (app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), x)) (app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y))) (app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(and(), x), y)) -> app#(or(), app(not(), x))) (app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(and(), x), y)) -> app#(not(), y)) (app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(and(), x), y)) -> app#(not(), x)) (app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(and(), x), y)) -> app#(app(or(), app(not(), x)), app(not(), y))) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(or(), app(app(and(), x), y))) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(and(), x)) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z)) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y)) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z), app#(app(and(), x), app(app(or(), y), z)) -> app#(or(), app(app(and(), x), y))) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z)) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(or(), x), y)) -> app#(and(), app(not(), x))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(or(), x), y)) -> app#(not(), x)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(and(), x), y)) -> app#(or(), app(not(), x))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(and(), x), y)) -> app#(not(), y)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(and(), x), y)) -> app#(not(), x)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(and(), x), y)) -> app#(app(or(), app(not(), x)), app(not(), y))) (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(and(), app(app(or(), y), z)), x) -> app#(or(), app(app(and(), x), y))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), app(app(or(), y), z)), x) -> app#(and(), x)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), x), app(app(or(), y), z)) -> app#(or(), app(app(and(), x), y))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z)) (app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y)) (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(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(or(), app(app(and(), x), y))) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(and(), x)) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z)) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y)) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y), app#(app(and(), x), app(app(or(), y), z)) -> app#(or(), app(app(and(), x), y))) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z)) (app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y)) (app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(and(), app(not(), x))) (app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)) (app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), x)) (app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y))) (app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(and(), x), y)) -> app#(or(), app(not(), x))) (app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(and(), x), y)) -> app#(not(), y)) (app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(and(), x), y)) -> app#(not(), x)) (app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(and(), x), y)) -> app#(app(or(), app(not(), x)), app(not(), y))) (app#(not(), app(app(and(), x), y)) -> app#(not(), x), app#(not(), app(app(and(), x), y)) -> app#(app(or(), app(not(), x)), app(not(), y))) (app#(not(), app(app(and(), x), y)) -> app#(not(), x), app#(not(), app(app(and(), x), y)) -> app#(not(), x)) (app#(not(), app(app(and(), x), y)) -> app#(not(), x), app#(not(), app(app(and(), x), y)) -> app#(not(), y)) (app#(not(), app(app(and(), x), y)) -> app#(not(), x), app#(not(), app(app(and(), x), y)) -> app#(or(), app(not(), x))) (app#(not(), app(app(and(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y))) (app#(not(), app(app(and(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), x)) (app#(not(), app(app(and(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)) (app#(not(), app(app(and(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(and(), app(not(), x))) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y)) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z)) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y), app#(app(and(), x), app(app(or(), y), z)) -> app#(or(), app(app(and(), x), y))) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y)) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z)) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(and(), x)) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(or(), app(app(and(), x), y))) (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(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), x), app(app(or(), y), z)) -> app#(or(), app(app(and(), x), y))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), app(app(or(), y), z)), x) -> app#(and(), x)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(and(), app(app(or(), y), z)), x) -> app#(or(), app(app(and(), x), 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(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(and(), x), y)) -> app#(app(or(), app(not(), x)), app(not(), y))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(and(), x), y)) -> app#(not(), x)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(and(), x), y)) -> app#(not(), y)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(and(), x), y)) -> app#(or(), app(not(), x))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(or(), x), y)) -> app#(not(), x)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(not(), app(app(or(), x), y)) -> app#(and(), app(not(), x))) (app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y)), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y)) (app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y)), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z)) (app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y)), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y)), app#(app(and(), x), app(app(or(), y), z)) -> app#(or(), app(app(and(), x), y))) (app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y)), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y)) (app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y)), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z)) (app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y)), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y)), app#(app(and(), app(app(or(), y), z)), x) -> app#(and(), x)) (app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y)), app#(app(and(), app(app(or(), y), z)), x) -> app#(or(), app(app(and(), x), y))) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y)) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z)) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z), app#(app(and(), x), app(app(or(), y), z)) -> app#(or(), app(app(and(), x), y))) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y)) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), z)) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(or(), app(app(and(), x), y)), app(app(and(), x), z))) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(and(), x)) (app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(or(), app(app(and(), x), y))) (app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(and(), x), y)) -> app#(app(or(), app(not(), x)), app(not(), y))) (app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(and(), x), y)) -> app#(not(), x)) (app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(and(), x), y)) -> app#(not(), y)) (app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(and(), x), y)) -> app#(or(), app(not(), x))) (app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(app(and(), app(not(), x)), app(not(), y))) (app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), x)) (app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), y)) (app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(and(), app(not(), 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(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))) } SCCS: Scc: {app#(not(), app(app(and(), x), y)) -> app#(not(), x), app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)} Scc: {app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), 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), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(f, x)), f), x), xs)} SCC: Strict: {app#(not(), app(app(and(), x), y)) -> app#(not(), x), app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)} 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(and(), x), app(app(or(), y), z)) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app(app(and(), app(app(or(), y), z)), x) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), 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(), app(not(), app(app(and(), x), y)) -> app(app(or(), app(not(), x)), app(not(), y)), app(not(), app(app(or(), x), y)) -> app(app(and(), app(not(), x)), app(not(), y)), app(not(), app(not(), x)) -> x} SPSC: Simple Projection: pi(app#) = 1 Strict: {app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)} EDG: {(app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), y)) (app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), x)) (app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(and(), x), y)) -> app#(not(), y)) (app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(and(), x), y)) -> app#(not(), y)) (app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), x)) (app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)) (app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(and(), x), y)) -> app#(not(), y)) (app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), x)) (app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), y))} SCCS: Scc: {app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)} SCC: Strict: {app#(not(), app(app(and(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)} 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(and(), x), app(app(or(), y), z)) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app(app(and(), app(app(or(), y), z)), x) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), 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(), app(not(), app(app(and(), x), y)) -> app(app(or(), app(not(), x)), app(not(), y)), app(not(), app(app(or(), x), y)) -> app(app(and(), app(not(), x)), app(not(), y)), app(not(), app(not(), x)) -> x} SPSC: Simple Projection: pi(app#) = 1 Strict: {app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)} EDG: {(app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)) (app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), x)) (app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), x)) (app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), y))} SCCS: Scc: {app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)} SCC: Strict: {app#(not(), app(app(or(), x), y)) -> app#(not(), x), app#(not(), app(app(or(), x), y)) -> app#(not(), y)} 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(and(), x), app(app(or(), y), z)) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app(app(and(), app(app(or(), y), z)), x) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), 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(), app(not(), app(app(and(), x), y)) -> app(app(or(), app(not(), x)), app(not(), y)), app(not(), app(app(or(), x), y)) -> app(app(and(), app(not(), x)), app(not(), y)), app(not(), app(not(), x)) -> x} SPSC: Simple Projection: pi(app#) = 1 Strict: {app#(not(), app(app(or(), x), y)) -> app#(not(), y)} EDG: {(app#(not(), app(app(or(), x), y)) -> app#(not(), y), app#(not(), app(app(or(), x), y)) -> app#(not(), y))} SCCS: Scc: {app#(not(), app(app(or(), x), y)) -> app#(not(), y)} SCC: Strict: {app#(not(), app(app(or(), x), y)) -> app#(not(), y)} 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(and(), x), app(app(or(), y), z)) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app(app(and(), app(app(or(), y), z)), x) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), 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(), app(not(), app(app(and(), x), y)) -> app(app(or(), app(not(), x)), app(not(), y)), app(not(), app(app(or(), x), y)) -> app(app(and(), app(not(), x)), app(not(), y)), app(not(), app(not(), x)) -> x} SPSC: Simple Projection: pi(app#) = 1 Strict: {} Qed SCC: Strict: {app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), y), app#(app(and(), x), app(app(or(), y), z)) -> app#(app(and(), x), z), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), y), app#(app(and(), app(app(or(), y), z)), x) -> app#(app(and(), x), 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(and(), x), app(app(or(), y), z)) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app(app(and(), app(app(or(), y), z)), x) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), 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(), app(not(), app(app(and(), x), y)) -> app(app(or(), app(not(), x)), app(not(), y)), app(not(), app(app(or(), x), y)) -> app(app(and(), app(not(), x)), app(not(), y)), app(not(), app(not(), x)) -> x} UR: {} BOUND: Bound: match(-raise)-bounded by 1 Automaton: { or_0() -> 2* and_1() -> 3* and_0() -> 1* app#_1(4, 2) -> 1* app#_1(4, 1) -> 1* app#_0(2, 2) -> 1* app#_0(2, 1) -> 1* app#_0(1, 2) -> 1* app#_0(1, 1) -> 1* app_1(3, 2) -> 4* app_1(3, 1) -> 4* app_0(2, 2) -> 1* app_0(2, 1) -> 1* app_0(1, 2) -> 1* app_0(1, 1) -> 1*} Strict: {} Qed 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), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(f, x)), f), x), xs)} 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(and(), x), app(app(or(), y), z)) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app(app(and(), app(app(or(), y), z)), x) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), 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(), app(not(), app(app(and(), x), y)) -> app(app(or(), app(not(), x)), app(not(), y)), app(not(), app(app(or(), x), y)) -> app(app(and(), app(not(), x)), app(not(), y)), app(not(), app(not(), x)) -> x} 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#(app(map(), f), xs), 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)} 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#(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#(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(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(app(filter2(), app(f, x)), f), x), xs), app#(app(app(app(filter2(), false()), 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(), 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(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(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(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#(app(app(app(filter2(), app(f, x)), f), x), xs))} SCCS: Scc: {app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs)} 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), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(f, x)), f), x), xs)} SCC: Strict: {app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs)} 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(and(), x), app(app(or(), y), z)) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app(app(and(), app(app(or(), y), z)), x) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), 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(), app(not(), app(app(and(), x), y)) -> app(app(or(), app(not(), x)), app(not(), y)), app(not(), app(app(or(), x), y)) -> app(app(and(), app(not(), x)), app(not(), y)), app(not(), app(not(), x)) -> x} SPSC: Simple Projection: pi(app#) = 1 Strict: {} Qed 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), app#(app(filter(), f), app(app(cons(), x), xs)) -> app#(app(app(app(filter2(), app(f, x)), f), x), xs)} 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(and(), x), app(app(or(), y), z)) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app(app(and(), app(app(or(), y), z)), x) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), 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(), app(not(), app(app(and(), x), y)) -> app(app(or(), app(not(), x)), app(not(), y)), app(not(), app(app(or(), x), y)) -> app(app(and(), app(not(), x)), app(not(), y)), app(not(), app(not(), x)) -> x} 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#(app(app(app(filter2(), app(f, x)), f), x), xs)} EDG: {(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(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(app(filter2(), app(f, x)), f), x), xs), app#(app(app(app(filter2(), false()), f), x), xs) -> app#(app(filter(), f), 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(app(filter2(), app(f, x)), f), x), xs))} 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#(app(app(app(filter2(), app(f, x)), f), x), xs)} 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#(app(app(app(filter2(), app(f, x)), f), x), xs)} 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(and(), x), app(app(or(), y), z)) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), z)), app(app(and(), app(app(or(), y), z)), x) -> app(app(or(), app(app(and(), x), y)), app(app(and(), x), 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(), app(not(), app(app(and(), x), y)) -> app(app(or(), app(not(), x)), app(not(), y)), app(not(), app(app(or(), x), y)) -> app(app(and(), app(not(), x)), app(not(), y)), app(not(), app(not(), x)) -> x} 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