YES TRS: { app(app(and(), true()), true()) -> true(), app(app(and(), true()), false()) -> false(), app(app(and(), false()), true()) -> false(), app(app(and(), false()), false()) -> false(), app(app(or(), true()), true()) -> true(), app(app(or(), true()), false()) -> true(), app(app(or(), false()), true()) -> true(), app(app(or(), false()), false()) -> false(), app(app(forall(), p), app(app(cons(), x), xs)) -> app(app(and(), app(p, x)), app(app(forall(), p), xs)), app(app(forall(), p), nil()) -> true(), app(app(forsome(), p), app(app(cons(), x), xs)) -> app(app(or(), app(p, x)), app(app(forsome(), p), xs)), app(app(forsome(), p), nil()) -> false()} DP: Strict: { app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(and(), app(p, x)), app(app(forall(), p), xs)), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(and(), app(p, x)), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(or(), app(p, x)), app(app(forsome(), p), xs)), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(or(), app(p, x))} Weak: { app(app(and(), true()), true()) -> true(), app(app(and(), true()), false()) -> false(), app(app(and(), false()), true()) -> false(), app(app(and(), false()), false()) -> false(), app(app(or(), true()), true()) -> true(), app(app(or(), true()), false()) -> true(), app(app(or(), false()), true()) -> true(), app(app(or(), false()), false()) -> false(), app(app(forall(), p), app(app(cons(), x), xs)) -> app(app(and(), app(p, x)), app(app(forall(), p), xs)), app(app(forall(), p), nil()) -> true(), app(app(forsome(), p), app(app(cons(), x), xs)) -> app(app(or(), app(p, x)), app(app(forsome(), p), xs)), app(app(forsome(), p), nil()) -> false()} EDG: {(app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(or(), app(p, x))) (app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs)) (app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(or(), app(p, x)), app(app(forsome(), p), xs))) (app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x)) (app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(or(), app(p, x))) (app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs)) (app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(or(), app(p, x)), app(app(forsome(), p), xs))) (app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x)) (app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(and(), app(p, x))) (app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs)) (app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(and(), app(p, x)), app(app(forall(), p), xs))) (app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x)) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x)) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(and(), app(p, x)), app(app(forall(), p), xs))) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs)) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(and(), app(p, x))) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x)) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(or(), app(p, x)), app(app(forsome(), p), xs))) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs)) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(or(), app(p, x))) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x)) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(and(), app(p, x)), app(app(forall(), p), xs))) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs)) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(and(), app(p, x)))} SCCS: Scc: { app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs)} SCC: Strict: { app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs)} Weak: { app(app(and(), true()), true()) -> true(), app(app(and(), true()), false()) -> false(), app(app(and(), false()), true()) -> false(), app(app(and(), false()), false()) -> false(), app(app(or(), true()), true()) -> true(), app(app(or(), true()), false()) -> true(), app(app(or(), false()), true()) -> true(), app(app(or(), false()), false()) -> false(), app(app(forall(), p), app(app(cons(), x), xs)) -> app(app(and(), app(p, x)), app(app(forall(), p), xs)), app(app(forall(), p), nil()) -> true(), app(app(forsome(), p), app(app(cons(), x), xs)) -> app(app(or(), app(p, x)), app(app(forsome(), p), xs)), app(app(forsome(), p), nil()) -> false()} SPSC: Simple Projection: pi(app#) = 0 Strict: { app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs)} EDG: {(app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs)) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x)) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs)) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs)) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x)) (app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs))} SCCS: Scc: {app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs)} Scc: {app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs)} SCC: Strict: {app#(app(forsome(), p), app(app(cons(), x), xs)) -> app#(app(forsome(), p), xs)} Weak: { app(app(and(), true()), true()) -> true(), app(app(and(), true()), false()) -> false(), app(app(and(), false()), true()) -> false(), app(app(and(), false()), false()) -> false(), app(app(or(), true()), true()) -> true(), app(app(or(), true()), false()) -> true(), app(app(or(), false()), true()) -> true(), app(app(or(), false()), false()) -> false(), app(app(forall(), p), app(app(cons(), x), xs)) -> app(app(and(), app(p, x)), app(app(forall(), p), xs)), app(app(forall(), p), nil()) -> true(), app(app(forsome(), p), app(app(cons(), x), xs)) -> app(app(or(), app(p, x)), app(app(forsome(), p), xs)), app(app(forsome(), p), nil()) -> false()} SPSC: Simple Projection: pi(app#) = 1 Strict: {} Qed SCC: Strict: {app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(p, x), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs)} Weak: { app(app(and(), true()), true()) -> true(), app(app(and(), true()), false()) -> false(), app(app(and(), false()), true()) -> false(), app(app(and(), false()), false()) -> false(), app(app(or(), true()), true()) -> true(), app(app(or(), true()), false()) -> true(), app(app(or(), false()), true()) -> true(), app(app(or(), false()), false()) -> false(), app(app(forall(), p), app(app(cons(), x), xs)) -> app(app(and(), app(p, x)), app(app(forall(), p), xs)), app(app(forall(), p), nil()) -> true(), app(app(forsome(), p), app(app(cons(), x), xs)) -> app(app(or(), app(p, x)), app(app(forsome(), p), xs)), app(app(forsome(), p), nil()) -> false()} SPSC: Simple Projection: pi(app#) = 0 Strict: {app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs)} EDG: {(app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs), app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs))} SCCS: Scc: {app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs)} SCC: Strict: {app#(app(forall(), p), app(app(cons(), x), xs)) -> app#(app(forall(), p), xs)} Weak: { app(app(and(), true()), true()) -> true(), app(app(and(), true()), false()) -> false(), app(app(and(), false()), true()) -> false(), app(app(and(), false()), false()) -> false(), app(app(or(), true()), true()) -> true(), app(app(or(), true()), false()) -> true(), app(app(or(), false()), true()) -> true(), app(app(or(), false()), false()) -> false(), app(app(forall(), p), app(app(cons(), x), xs)) -> app(app(and(), app(p, x)), app(app(forall(), p), xs)), app(app(forall(), p), nil()) -> true(), app(app(forsome(), p), app(app(cons(), x), xs)) -> app(app(or(), app(p, x)), app(app(forsome(), p), xs)), app(app(forsome(), p), nil()) -> false()} SPSC: Simple Projection: pi(app#) = 1 Strict: {} Qed