YES Problem 1: (VAR v_NonEmpty:S m:S n:S) (RULES ack_in(0,n:S) -> ack_out(s(n:S)) ack_in(s(m:S),0) -> u11(ack_in(m:S,s(0))) ack_in(s(m:S),s(n:S)) -> u21(ack_in(s(m:S),n:S),m:S) u11(ack_out(n:S)) -> ack_out(n:S) u21(ack_out(n:S),m:S) -> u22(ack_in(m:S,n:S)) u22(ack_out(n:S)) -> ack_out(n:S) ) Problem 1: Innermost Equivalent Processor: -> Rules: ack_in(0,n:S) -> ack_out(s(n:S)) ack_in(s(m:S),0) -> u11(ack_in(m:S,s(0))) ack_in(s(m:S),s(n:S)) -> u21(ack_in(s(m:S),n:S),m:S) u11(ack_out(n:S)) -> ack_out(n:S) u21(ack_out(n:S),m:S) -> u22(ack_in(m:S,n:S)) u22(ack_out(n:S)) -> ack_out(n:S) -> The term rewriting system is non-overlaping or locally confluent overlay system. Therefore, innermost termination implies termination. Problem 1: Dependency Pairs Processor: -> Pairs: ACK_IN(s(m:S),0) -> ACK_IN(m:S,s(0)) ACK_IN(s(m:S),0) -> U11(ack_in(m:S,s(0))) ACK_IN(s(m:S),s(n:S)) -> ACK_IN(s(m:S),n:S) ACK_IN(s(m:S),s(n:S)) -> U21(ack_in(s(m:S),n:S),m:S) U21(ack_out(n:S),m:S) -> ACK_IN(m:S,n:S) U21(ack_out(n:S),m:S) -> U22(ack_in(m:S,n:S)) -> Rules: ack_in(0,n:S) -> ack_out(s(n:S)) ack_in(s(m:S),0) -> u11(ack_in(m:S,s(0))) ack_in(s(m:S),s(n:S)) -> u21(ack_in(s(m:S),n:S),m:S) u11(ack_out(n:S)) -> ack_out(n:S) u21(ack_out(n:S),m:S) -> u22(ack_in(m:S,n:S)) u22(ack_out(n:S)) -> ack_out(n:S) Problem 1: SCC Processor: -> Pairs: ACK_IN(s(m:S),0) -> ACK_IN(m:S,s(0)) ACK_IN(s(m:S),0) -> U11(ack_in(m:S,s(0))) ACK_IN(s(m:S),s(n:S)) -> ACK_IN(s(m:S),n:S) ACK_IN(s(m:S),s(n:S)) -> U21(ack_in(s(m:S),n:S),m:S) U21(ack_out(n:S),m:S) -> ACK_IN(m:S,n:S) U21(ack_out(n:S),m:S) -> U22(ack_in(m:S,n:S)) -> Rules: ack_in(0,n:S) -> ack_out(s(n:S)) ack_in(s(m:S),0) -> u11(ack_in(m:S,s(0))) ack_in(s(m:S),s(n:S)) -> u21(ack_in(s(m:S),n:S),m:S) u11(ack_out(n:S)) -> ack_out(n:S) u21(ack_out(n:S),m:S) -> u22(ack_in(m:S,n:S)) u22(ack_out(n:S)) -> ack_out(n:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACK_IN(s(m:S),0) -> ACK_IN(m:S,s(0)) ACK_IN(s(m:S),s(n:S)) -> ACK_IN(s(m:S),n:S) ACK_IN(s(m:S),s(n:S)) -> U21(ack_in(s(m:S),n:S),m:S) U21(ack_out(n:S),m:S) -> ACK_IN(m:S,n:S) ->->-> Rules: ack_in(0,n:S) -> ack_out(s(n:S)) ack_in(s(m:S),0) -> u11(ack_in(m:S,s(0))) ack_in(s(m:S),s(n:S)) -> u21(ack_in(s(m:S),n:S),m:S) u11(ack_out(n:S)) -> ack_out(n:S) u21(ack_out(n:S),m:S) -> u22(ack_in(m:S,n:S)) u22(ack_out(n:S)) -> ack_out(n:S) Problem 1: Subterm Processor: -> Pairs: ACK_IN(s(m:S),0) -> ACK_IN(m:S,s(0)) ACK_IN(s(m:S),s(n:S)) -> ACK_IN(s(m:S),n:S) ACK_IN(s(m:S),s(n:S)) -> U21(ack_in(s(m:S),n:S),m:S) U21(ack_out(n:S),m:S) -> ACK_IN(m:S,n:S) -> Rules: ack_in(0,n:S) -> ack_out(s(n:S)) ack_in(s(m:S),0) -> u11(ack_in(m:S,s(0))) ack_in(s(m:S),s(n:S)) -> u21(ack_in(s(m:S),n:S),m:S) u11(ack_out(n:S)) -> ack_out(n:S) u21(ack_out(n:S),m:S) -> u22(ack_in(m:S,n:S)) u22(ack_out(n:S)) -> ack_out(n:S) ->Projection: pi(ACK_IN) = 1 pi(U21) = 2 Problem 1: SCC Processor: -> Pairs: ACK_IN(s(m:S),s(n:S)) -> ACK_IN(s(m:S),n:S) U21(ack_out(n:S),m:S) -> ACK_IN(m:S,n:S) -> Rules: ack_in(0,n:S) -> ack_out(s(n:S)) ack_in(s(m:S),0) -> u11(ack_in(m:S,s(0))) ack_in(s(m:S),s(n:S)) -> u21(ack_in(s(m:S),n:S),m:S) u11(ack_out(n:S)) -> ack_out(n:S) u21(ack_out(n:S),m:S) -> u22(ack_in(m:S,n:S)) u22(ack_out(n:S)) -> ack_out(n:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACK_IN(s(m:S),s(n:S)) -> ACK_IN(s(m:S),n:S) ->->-> Rules: ack_in(0,n:S) -> ack_out(s(n:S)) ack_in(s(m:S),0) -> u11(ack_in(m:S,s(0))) ack_in(s(m:S),s(n:S)) -> u21(ack_in(s(m:S),n:S),m:S) u11(ack_out(n:S)) -> ack_out(n:S) u21(ack_out(n:S),m:S) -> u22(ack_in(m:S,n:S)) u22(ack_out(n:S)) -> ack_out(n:S) Problem 1: Subterm Processor: -> Pairs: ACK_IN(s(m:S),s(n:S)) -> ACK_IN(s(m:S),n:S) -> Rules: ack_in(0,n:S) -> ack_out(s(n:S)) ack_in(s(m:S),0) -> u11(ack_in(m:S,s(0))) ack_in(s(m:S),s(n:S)) -> u21(ack_in(s(m:S),n:S),m:S) u11(ack_out(n:S)) -> ack_out(n:S) u21(ack_out(n:S),m:S) -> u22(ack_in(m:S,n:S)) u22(ack_out(n:S)) -> ack_out(n:S) ->Projection: pi(ACK_IN) = 2 Problem 1: SCC Processor: -> Pairs: Empty -> Rules: ack_in(0,n:S) -> ack_out(s(n:S)) ack_in(s(m:S),0) -> u11(ack_in(m:S,s(0))) ack_in(s(m:S),s(n:S)) -> u21(ack_in(s(m:S),n:S),m:S) u11(ack_out(n:S)) -> ack_out(n:S) u21(ack_out(n:S),m:S) -> u22(ack_in(m:S,n:S)) u22(ack_out(n:S)) -> ack_out(n:S) ->Strongly Connected Components: There is no strongly connected component The problem is finite.