YES Problem 1: (VAR v_NonEmpty:S l:S l1:S l2:S x:S) (RULES append(l1:S,l2:S) -> ifappend(l1:S,l2:S,l1:S) hd(cons(x:S,l:S)) -> x:S ifappend(l1:S,l2:S,cons(x:S,l:S)) -> cons(x:S,append(l:S,l2:S)) ifappend(l1:S,l2:S,nil) -> l2:S is_empty(cons(x:S,l:S)) -> ffalse is_empty(nil) -> ttrue tl(cons(x:S,l:S)) -> l:S ) Problem 1: Innermost Equivalent Processor: -> Rules: append(l1:S,l2:S) -> ifappend(l1:S,l2:S,l1:S) hd(cons(x:S,l:S)) -> x:S ifappend(l1:S,l2:S,cons(x:S,l:S)) -> cons(x:S,append(l:S,l2:S)) ifappend(l1:S,l2:S,nil) -> l2:S is_empty(cons(x:S,l:S)) -> ffalse is_empty(nil) -> ttrue tl(cons(x:S,l:S)) -> l:S -> The term rewriting system is non-overlaping or locally confluent overlay system. Therefore, innermost termination implies termination. Problem 1: Dependency Pairs Processor: -> Pairs: APPEND(l1:S,l2:S) -> IFAPPEND(l1:S,l2:S,l1:S) IFAPPEND(l1:S,l2:S,cons(x:S,l:S)) -> APPEND(l:S,l2:S) -> Rules: append(l1:S,l2:S) -> ifappend(l1:S,l2:S,l1:S) hd(cons(x:S,l:S)) -> x:S ifappend(l1:S,l2:S,cons(x:S,l:S)) -> cons(x:S,append(l:S,l2:S)) ifappend(l1:S,l2:S,nil) -> l2:S is_empty(cons(x:S,l:S)) -> ffalse is_empty(nil) -> ttrue tl(cons(x:S,l:S)) -> l:S Problem 1: SCC Processor: -> Pairs: APPEND(l1:S,l2:S) -> IFAPPEND(l1:S,l2:S,l1:S) IFAPPEND(l1:S,l2:S,cons(x:S,l:S)) -> APPEND(l:S,l2:S) -> Rules: append(l1:S,l2:S) -> ifappend(l1:S,l2:S,l1:S) hd(cons(x:S,l:S)) -> x:S ifappend(l1:S,l2:S,cons(x:S,l:S)) -> cons(x:S,append(l:S,l2:S)) ifappend(l1:S,l2:S,nil) -> l2:S is_empty(cons(x:S,l:S)) -> ffalse is_empty(nil) -> ttrue tl(cons(x:S,l:S)) -> l:S ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: APPEND(l1:S,l2:S) -> IFAPPEND(l1:S,l2:S,l1:S) IFAPPEND(l1:S,l2:S,cons(x:S,l:S)) -> APPEND(l:S,l2:S) ->->-> Rules: append(l1:S,l2:S) -> ifappend(l1:S,l2:S,l1:S) hd(cons(x:S,l:S)) -> x:S ifappend(l1:S,l2:S,cons(x:S,l:S)) -> cons(x:S,append(l:S,l2:S)) ifappend(l1:S,l2:S,nil) -> l2:S is_empty(cons(x:S,l:S)) -> ffalse is_empty(nil) -> ttrue tl(cons(x:S,l:S)) -> l:S Problem 1: Subterm Processor: -> Pairs: APPEND(l1:S,l2:S) -> IFAPPEND(l1:S,l2:S,l1:S) IFAPPEND(l1:S,l2:S,cons(x:S,l:S)) -> APPEND(l:S,l2:S) -> Rules: append(l1:S,l2:S) -> ifappend(l1:S,l2:S,l1:S) hd(cons(x:S,l:S)) -> x:S ifappend(l1:S,l2:S,cons(x:S,l:S)) -> cons(x:S,append(l:S,l2:S)) ifappend(l1:S,l2:S,nil) -> l2:S is_empty(cons(x:S,l:S)) -> ffalse is_empty(nil) -> ttrue tl(cons(x:S,l:S)) -> l:S ->Projection: pi(APPEND) = 1 pi(IFAPPEND) = 3 Problem 1: SCC Processor: -> Pairs: APPEND(l1:S,l2:S) -> IFAPPEND(l1:S,l2:S,l1:S) -> Rules: append(l1:S,l2:S) -> ifappend(l1:S,l2:S,l1:S) hd(cons(x:S,l:S)) -> x:S ifappend(l1:S,l2:S,cons(x:S,l:S)) -> cons(x:S,append(l:S,l2:S)) ifappend(l1:S,l2:S,nil) -> l2:S is_empty(cons(x:S,l:S)) -> ffalse is_empty(nil) -> ttrue tl(cons(x:S,l:S)) -> l:S ->Strongly Connected Components: There is no strongly connected component The problem is finite.