YES Problem 1: (VAR v_NonEmpty:S l:S x:S y:S) (RULES *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ) Problem 1: Innermost Equivalent Processor: -> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 -> The term rewriting system is non-overlaping or locally confluent overlay system. Therefore, innermost termination implies termination. Problem 1: Dependency Pairs Processor: -> Pairs: *#(s(x:S),s(y:S)) -> *#(x:S,y:S) *#(s(x:S),s(y:S)) -> +#(*(x:S,y:S),+(x:S,y:S)) *#(s(x:S),s(y:S)) -> +#(x:S,y:S) +#(s(x:S),s(y:S)) -> +#(x:S,y:S) PROD(cons(x:S,l:S)) -> *#(x:S,prod(l:S)) PROD(cons(x:S,l:S)) -> PROD(l:S) SUM(cons(x:S,l:S)) -> +#(x:S,sum(l:S)) SUM(cons(x:S,l:S)) -> SUM(l:S) -> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 Problem 1: SCC Processor: -> Pairs: *#(s(x:S),s(y:S)) -> *#(x:S,y:S) *#(s(x:S),s(y:S)) -> +#(*(x:S,y:S),+(x:S,y:S)) *#(s(x:S),s(y:S)) -> +#(x:S,y:S) +#(s(x:S),s(y:S)) -> +#(x:S,y:S) PROD(cons(x:S,l:S)) -> *#(x:S,prod(l:S)) PROD(cons(x:S,l:S)) -> PROD(l:S) SUM(cons(x:S,l:S)) -> +#(x:S,sum(l:S)) SUM(cons(x:S,l:S)) -> SUM(l:S) -> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: +#(s(x:S),s(y:S)) -> +#(x:S,y:S) ->->-> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ->->Cycle: ->->-> Pairs: SUM(cons(x:S,l:S)) -> SUM(l:S) ->->-> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ->->Cycle: ->->-> Pairs: *#(s(x:S),s(y:S)) -> *#(x:S,y:S) ->->-> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ->->Cycle: ->->-> Pairs: PROD(cons(x:S,l:S)) -> PROD(l:S) ->->-> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 The problem is decomposed in 4 subproblems. Problem 1.1: Subterm Processor: -> Pairs: +#(s(x:S),s(y:S)) -> +#(x:S,y:S) -> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ->Projection: pi(+#) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: SUM(cons(x:S,l:S)) -> SUM(l:S) -> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ->Projection: pi(SUM) = 1 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Subterm Processor: -> Pairs: *#(s(x:S),s(y:S)) -> *#(x:S,y:S) -> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ->Projection: pi(*#) = 1 Problem 1.3: SCC Processor: -> Pairs: Empty -> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.4: Subterm Processor: -> Pairs: PROD(cons(x:S,l:S)) -> PROD(l:S) -> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ->Projection: pi(PROD) = 1 Problem 1.4: SCC Processor: -> Pairs: Empty -> Rules: *(0,x:S) -> 0 *(s(x:S),s(y:S)) -> s(+(*(x:S,y:S),+(x:S,y:S))) *(x:S,0) -> 0 +(0,x:S) -> x:S +(s(x:S),s(y:S)) -> s(s(+(x:S,y:S))) +(x:S,0) -> x:S prod(cons(x:S,l:S)) -> *(x:S,prod(l:S)) prod(nil) -> s(0) sum(cons(x:S,l:S)) -> +(x:S,sum(l:S)) sum(nil) -> 0 ->Strongly Connected Components: There is no strongly connected component The problem is finite.