MAYBE TRS: { app(app(f, 0()), n) -> app(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n), 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()} DP: Strict: { app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n), app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil()), app#(app(f, 0()), n) -> app#(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), app#(app(f, 0()), n) -> app#(map(), f), app#(app(f, 0()), n) -> app#(cons(), 0()), 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))} Weak: { app(app(f, 0()), n) -> app(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n), 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()} EDG: {(app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(cons(), app(f, x)), app(app(map(), f), xs)), app#(app(f, 0()), n) -> app#(cons(), 0())) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(cons(), app(f, x)), app(app(map(), f), xs)), app#(app(f, 0()), n) -> app#(map(), f)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(cons(), app(f, x)), app(app(map(), f), xs)), app#(app(f, 0()), n) -> app#(hd(), app(app(map(), f), app(app(cons(), 0()), nil())))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(cons(), app(f, x)), app(app(map(), f), xs)), app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil())) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(cons(), app(f, x)), app(app(map(), f), xs)), app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil()))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(cons(), app(f, x)), app(app(map(), f), xs)), app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n)) (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(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#(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#(f, x)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(f, 0()), n) -> app#(cons(), 0())) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(f, 0()), n) -> app#(map(), f)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(f, 0()), n) -> app#(hd(), app(app(map(), f), app(app(cons(), 0()), nil())))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil())) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil()))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x), app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n)) (app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil()), app#(app(f, 0()), n) -> app#(cons(), 0())) (app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil()), app#(app(f, 0()), n) -> app#(map(), f)) (app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil()), app#(app(f, 0()), n) -> app#(hd(), app(app(map(), f), app(app(cons(), 0()), nil())))) (app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil()), app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil())) (app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil()), app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil()))) (app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil()), app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n)) (app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n), app#(app(f, 0()), n) -> app#(cons(), 0())) (app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n), app#(app(f, 0()), n) -> app#(map(), f)) (app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n), app#(app(f, 0()), n) -> app#(hd(), app(app(map(), f), app(app(cons(), 0()), nil())))) (app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n), app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil())) (app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n), app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil()))) (app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n), app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil()))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil())) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(f, 0()), n) -> app#(hd(), app(app(map(), f), app(app(cons(), 0()), nil())))) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(f, 0()), n) -> app#(map(), f)) (app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs), app#(app(f, 0()), n) -> app#(cons(), 0())) (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(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n)) (app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil()))) (app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil())) (app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(f, 0()), n) -> app#(hd(), app(app(map(), f), app(app(cons(), 0()), nil())))) (app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(f, 0()), n) -> app#(map(), f)) (app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(f, 0()), n) -> app#(cons(), 0())) (app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(f, x)) (app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(map(), f), xs)) (app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(app(cons(), app(f, x)), app(app(map(), f), xs))) (app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(map(), f), app(app(cons(), x), xs)) -> app#(cons(), app(f, x)))} SCCS: Scc: { app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n), app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil()), 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))} SCC: Strict: { app#(app(f, 0()), n) -> app#(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n), app#(app(f, 0()), n) -> app#(app(map(), f), app(app(cons(), 0()), nil())), app#(app(f, 0()), n) -> app#(app(cons(), 0()), nil()), 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))} Weak: { app(app(f, 0()), n) -> app(app(hd(), app(app(map(), f), app(app(cons(), 0()), nil()))), n), 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()} Fail