YES Problem: 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),nil()) -> true() app(app(forall(),p),app(app(cons(),x),xs)) -> app(app(and(),app(p,x)),app(app(forall(),p),xs)) app(app(forsome(),p),nil()) -> false() app(app(forsome(),p),app(app(cons(),x),xs)) -> app(app(or(),app(p,x)),app(app(forsome(),p),xs)) Proof: DP Processor: DPs: 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#(app(and(),app(p,x)),app(app(forall(),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#(or(),app(p,x)) app#(app(forsome(),p),app(app(cons(),x),xs)) -> app#(app(or(),app(p,x)),app(app(forsome(),p),xs)) 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),nil()) -> true() app(app(forall(),p),app(app(cons(),x),xs)) -> app(app(and(),app(p,x)),app(app(forall(),p),xs)) app(app(forsome(),p),nil()) -> false() app(app(forsome(),p),app(app(cons(),x),xs)) -> app(app(or(),app(p,x)),app(app(forsome(),p),xs)) EDG Processor: DPs: 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#(app(and(),app(p,x)),app(app(forall(),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#(or(),app(p,x)) app#(app(forsome(),p),app(app(cons(),x),xs)) -> app#(app(or(),app(p,x)),app(app(forsome(),p),xs)) 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),nil()) -> true() app(app(forall(),p),app(app(cons(),x),xs)) -> app(app(and(),app(p,x)),app(app(forall(),p),xs)) app(app(forsome(),p),nil()) -> false() app(app(forsome(),p),app(app(cons(),x),xs)) -> app(app(or(),app(p,x)),app(app(forsome(),p),xs)) graph: 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#(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#(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(or(),app(p,x)),app(app(forsome(),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(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(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(and(),app(p,x)),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) 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(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(or(),app(p,x)),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#(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#(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#(and(),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#(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#(p,x) 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(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(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#(p,x) 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#(p,x) -> app#(app(forsome(),p),app(app(cons(),x),xs)) -> app#(app(or(),app(p,x)),app(app(forsome(),p),xs)) SCC Processor: #sccs: 1 #rules: 4 #arcs: 24/64 DPs: 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(forall(),p),app(app(cons(),x),xs)) -> app#(p,x) app#(app(forall(),p),app(app(cons(),x),xs)) -> app#(app(forall(),p),xs) 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),nil()) -> true() app(app(forall(),p),app(app(cons(),x),xs)) -> app(app(and(),app(p,x)),app(app(forall(),p),xs)) app(app(forsome(),p),nil()) -> false() app(app(forsome(),p),app(app(cons(),x),xs)) -> app(app(or(),app(p,x)),app(app(forsome(),p),xs)) Subterm Criterion Processor: simple projection: pi(app#) = 1 problem: DPs: 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),nil()) -> true() app(app(forall(),p),app(app(cons(),x),xs)) -> app(app(and(),app(p,x)),app(app(forall(),p),xs)) app(app(forsome(),p),nil()) -> false() app(app(forsome(),p),app(app(cons(),x),xs)) -> app(app(or(),app(p,x)),app(app(forsome(),p),xs)) Qed