YES Problem 1: (VAR v_NonEmpty:S p:S x:S xs:S) (RULES app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue ) Problem 1: Innermost Equivalent Processor: -> Rules: app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue -> The term rewriting system is non-overlaping or locally confluent overlay system. Therefore, innermost termination implies termination. Problem 1: Dependency Pairs Processor: -> Pairs: APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forall,p:S),xs:S) APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(and,app(p:S,x:S)) APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(p:S,x:S) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forsome,p:S),xs:S) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(or,app(p:S,x:S)) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(p:S,x:S) -> Rules: app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue Problem 1: SCC Processor: -> Pairs: APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forall,p:S),xs:S) APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(and,app(p:S,x:S)) APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(p:S,x:S) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forsome,p:S),xs:S) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(or,app(p:S,x:S)) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(p:S,x:S) -> Rules: app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forall,p:S),xs:S) APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(p:S,x:S) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forsome,p:S),xs:S) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(p:S,x:S) ->->-> Rules: app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue Problem 1: Subterm Processor: -> Pairs: APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forall,p:S),xs:S) APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(p:S,x:S) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forsome,p:S),xs:S) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(p:S,x:S) -> Rules: app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue ->Projection: pi(APP) = 1 Problem 1: SCC Processor: -> Pairs: APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forall,p:S),xs:S) APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forsome,p:S),xs:S) -> Rules: app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forsome,p:S),xs:S) ->->-> Rules: app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue ->->Cycle: ->->-> Pairs: APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forall,p:S),xs:S) ->->-> Rules: app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue The problem is decomposed in 2 subproblems. Problem 1.1: Subterm Processor: -> Pairs: APP(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forsome,p:S),xs:S) -> Rules: app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue ->Projection: pi(APP) = 2 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: APP(app(forall,p:S),app(app(cons,x:S),xs:S)) -> APP(app(forall,p:S),xs:S) -> Rules: app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue ->Projection: pi(APP) = 2 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: app(app(and,ffalse),ffalse) -> ffalse app(app(and,ffalse),ttrue) -> ffalse app(app(and,ttrue),ffalse) -> ffalse app(app(and,ttrue),ttrue) -> ttrue app(app(forall,p:S),app(app(cons,x:S),xs:S)) -> app(app(and,app(p:S,x:S)),app(app(forall,p:S),xs:S)) app(app(forall,p:S),nil) -> ttrue app(app(forsome,p:S),app(app(cons,x:S),xs:S)) -> app(app(or,app(p:S,x:S)),app(app(forsome,p:S),xs:S)) app(app(forsome,p:S),nil) -> ffalse app(app(or,ffalse),ffalse) -> ffalse app(app(or,ffalse),ttrue) -> ttrue app(app(or,ttrue),ffalse) -> ttrue app(app(or,ttrue),ttrue) -> ttrue ->Strongly Connected Components: There is no strongly connected component The problem is finite.