YES Problem 1: (VAR x xs y) (THEORY (AC plus)) (RULES S(cons(x,xs)) -> plus(x,S(xs)) S(nil) -> 0 int(0,0) -> cons(0,nil) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),0) -> nil int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) sum(x,y) -> S(int(x,y)) ) Problem 1: Reduction Order Processor: -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) S(nil) -> 0 int(0,0) -> cons(0,nil) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),0) -> nil int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) sum(x,y) -> S(int(x,y)) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [S](X) = X [int](X1,X2) = 2.X1 + 2.X2 + 2 [intlist](X) = X [plus](X1,X2) = X1 + X2 [sum](X1,X2) = 2.X1 + 2.X2 + 2 [0] = 0 [cons](X1,X2) = 2.X1 + X2 [nil] = 2 [s](X) = X Problem 1: Reduction Order Processor: -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,0) -> cons(0,nil) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),0) -> nil int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) sum(x,y) -> S(int(x,y)) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [S](X) = X + 1 [int](X1,X2) = 2.X1 + 2.X2 + 1 [intlist](X) = X [plus](X1,X2) = X1 + X2 [sum](X1,X2) = 2.X1 + 2.X2 + 2 [0] = 0 [cons](X1,X2) = 2.X1 + X2 [nil] = 0 [s](X) = X Problem 1: Reduction Order Processor: -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),0) -> nil int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) sum(x,y) -> S(int(x,y)) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [S](X) = X [int](X1,X2) = 2.X1 + 2.X2 + 1 [intlist](X) = X [plus](X1,X2) = X1 + X2 [sum](X1,X2) = 2.X1 + 2.X2 + 2 [0] = 0 [cons](X1,X2) = 2.X1 + X2 [nil] = 0 [s](X) = X Problem 1: Reduction Order Processor: -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) sum(x,y) -> S(int(x,y)) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [S](X) = X [int](X1,X2) = 2.X1 + 2.X2 [intlist](X) = X [plus](X1,X2) = X1 + X2 [sum](X1,X2) = 2.X1 + 2.X2 + 1 [0] = 0 [cons](X1,X2) = 2.X1 + X2 [nil] = 1 [s](X) = X Problem 1: Dependency Pairs Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) -> Pairs: S#(cons(x,xs)) -> S#(xs) S#(cons(x,xs)) -> PLUS(x,S(xs)) INT(0,s(y)) -> INT(s(0),s(y)) INT(s(x),s(y)) -> INT(x,y) INT(s(x),s(y)) -> INTLIST(int(x,y)) INTLIST(cons(x,y)) -> INTLIST(y) PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(x,s(y)),x3) -> PLUS(x,y) PLUS(x,s(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) Problem 1: SCC Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) -> Pairs: S#(cons(x,xs)) -> S#(xs) S#(cons(x,xs)) -> PLUS(x,S(xs)) INT(0,s(y)) -> INT(s(0),s(y)) INT(s(x),s(y)) -> INT(x,y) INT(s(x),s(y)) -> INTLIST(int(x,y)) INTLIST(cons(x,y)) -> INTLIST(y) PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(x,s(y)),x3) -> PLUS(x,y) PLUS(x,s(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(x,s(y)),x3) -> PLUS(x,y) PLUS(x,s(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) PLUS(plus(x3,x4),x5) -> PLUS(x3,plus(x4,x5)) PLUS(x3,x4) -> PLUS(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) ->->-> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->->Cycle: ->->-> Pairs: INTLIST(cons(x,y)) -> INTLIST(y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) ->->-> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: Empty ->->Cycle: ->->-> Pairs: INT(0,s(y)) -> INT(s(0),s(y)) INT(s(x),s(y)) -> INT(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) ->->-> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: Empty ->->Cycle: ->->-> Pairs: S#(cons(x,xs)) -> S#(xs) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) ->->-> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: Empty The problem is decomposed in 4 subproblems. Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) -> Pairs: PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(x,s(y)),x3) -> PLUS(x,y) PLUS(x,s(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> Usable Rules: plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [S](X) = 0 [int](X1,X2) = 0 [intlist](X) = 0 [plus](X1,X2) = X1 + X2 + 2 [sum](X1,X2) = 0 [0] = 2 [cons](X1,X2) = 0 [nil] = 0 [s](X) = X + 2 [S#](X) = 0 [INT](X1,X2) = 0 [INTLIST](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) -> Pairs: PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(x,s(y)),x3) -> PLUS(x,y) PLUS(x,s(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(x,s(y)),x3) -> PLUS(x,y) PLUS(x,s(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) PLUS(plus(x3,x4),x5) -> PLUS(x3,plus(x4,x5)) PLUS(x3,x4) -> PLUS(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) ->->-> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) -> Pairs: PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(x,s(y)),x3) -> PLUS(x,y) PLUS(x,s(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> Usable Rules: plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [S](X) = 0 [int](X1,X2) = 0 [intlist](X) = 0 [plus](X1,X2) = X1 + X2 + 2 [sum](X1,X2) = 0 [0] = 0 [cons](X1,X2) = 0 [nil] = 0 [s](X) = X + 2 [S#](X) = 0 [INT](X1,X2) = 0 [INTLIST](X) = 0 [PLUS](X1,X2) = X1 + X2 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) -> Pairs: PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(x,s(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(x,s(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) PLUS(plus(x3,x4),x5) -> PLUS(x3,plus(x4,x5)) PLUS(x3,x4) -> PLUS(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) ->->-> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) -> Pairs: PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(x,s(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> Usable Rules: plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [S](X) = 0 [int](X1,X2) = 0 [intlist](X) = 0 [plus](X1,X2) = X1 + X2 + 2 [sum](X1,X2) = 0 [0] = 0 [cons](X1,X2) = 0 [nil] = 0 [s](X) = X + 2 [S#](X) = 0 [INT](X1,X2) = 0 [INTLIST](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) -> Pairs: PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(x,s(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(x,s(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) PLUS(plus(x3,x4),x5) -> PLUS(x3,plus(x4,x5)) PLUS(x3,x4) -> PLUS(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) ->->-> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) -> Pairs: PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) PLUS(x,s(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> Usable Rules: plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [S](X) = 0 [int](X1,X2) = 0 [intlist](X) = 0 [plus](X1,X2) = X1 + X2 + 2 [sum](X1,X2) = 0 [0] = 0 [cons](X1,X2) = 0 [nil] = 0 [s](X) = X + 2 [S#](X) = 0 [INT](X1,X2) = 0 [INTLIST](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) -> Pairs: PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) PLUS(plus(x3,x4),x5) -> PLUS(x3,plus(x4,x5)) PLUS(x3,x4) -> PLUS(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) ->->-> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) -> Pairs: PLUS(plus(x,s(y)),x3) -> PLUS(s(plus(x,y)),x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> Usable Rules: plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [S](X) = 0 [int](X1,X2) = 0 [intlist](X) = 0 [plus](X1,X2) = X1 + X2 + 2 [sum](X1,X2) = 0 [0] = 0 [cons](X1,X2) = 0 [nil] = 0 [s](X) = 2 [S#](X) = 0 [INT](X1,X2) = 0 [INTLIST](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) -> Pairs: Empty -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> FAxioms: Empty -> Pairs: INTLIST(cons(x,y)) -> INTLIST(y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: Empty ->Projection: pi(INTLIST) = [1] Problem 1.2: SCC Processor: -> FAxioms: Empty -> Pairs: Empty -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: Empty ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Subterm Processor: -> FAxioms: Empty -> Pairs: INT(0,s(y)) -> INT(s(0),s(y)) INT(s(x),s(y)) -> INT(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: Empty ->Projection: pi(INT) = [2] Problem 1.3: SCC Processor: -> FAxioms: Empty -> Pairs: INT(0,s(y)) -> INT(s(0),s(y)) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: Empty ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.4: Subterm Processor: -> FAxioms: Empty -> Pairs: S#(cons(x,xs)) -> S#(xs) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: Empty ->Projection: pi(S#) = [1] Problem 1.4: SCC Processor: -> FAxioms: Empty -> Pairs: Empty -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: S(cons(x,xs)) -> plus(x,S(xs)) int(0,s(y)) -> cons(0,int(s(0),s(y))) int(s(x),s(y)) -> intlist(int(x,y)) intlist(cons(x,y)) -> cons(s(x),intlist(y)) intlist(nil) -> nil plus(x,0) -> x plus(x,s(y)) -> s(plus(x,y)) -> SRules: Empty ->Strongly Connected Components: There is no strongly connected component The problem is finite.