YES Problem 1: (VAR x y z) (THEORY (AC plus times)) (RULES div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) ) Problem 1: Dependency Pairs Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) TIMES(times(x3,x4),x5) = TIMES(x3,times(x4,x5)) TIMES(x3,x4) = TIMES(x4,x3) -> Pairs: DIV(div(x,y),z) -> DIV(x,times(y,z)) DIV(div(x,y),z) -> TIMES(y,z) DIV(x,y) -> QUOT(x,y,y) PLUS(plus(0,y),x3) -> PLUS(y,x3) PLUS(plus(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(s(x),y),x3) -> PLUS(x,y) PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(s(x),y) -> PLUS(x,y) QUOT(s(x),s(y),z) -> QUOT(x,y,z) QUOT(x,0,s(z)) -> DIV(x,s(z)) TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(times(s(0),y),x3) -> TIMES(y,x3) TIMES(times(s(x),y),x3) -> PLUS(y,times(x,y)) TIMES(times(s(x),y),x3) -> TIMES(plus(y,times(x,y)),x3) TIMES(times(s(x),y),x3) -> TIMES(x,y) TIMES(s(x),y) -> PLUS(y,times(x,y)) TIMES(s(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) Problem 1: SCC Processor: -> FAxioms: PLUS(plus(x3,x4),x5) = PLUS(x3,plus(x4,x5)) PLUS(x3,x4) = PLUS(x4,x3) TIMES(times(x3,x4),x5) = TIMES(x3,times(x4,x5)) TIMES(x3,x4) = TIMES(x4,x3) -> Pairs: DIV(div(x,y),z) -> DIV(x,times(y,z)) DIV(div(x,y),z) -> TIMES(y,z) DIV(x,y) -> QUOT(x,y,y) PLUS(plus(0,y),x3) -> PLUS(y,x3) PLUS(plus(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(s(x),y),x3) -> PLUS(x,y) PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(s(x),y) -> PLUS(x,y) QUOT(s(x),s(y),z) -> QUOT(x,y,z) QUOT(x,0,s(z)) -> DIV(x,s(z)) TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(times(s(0),y),x3) -> TIMES(y,x3) TIMES(times(s(x),y),x3) -> PLUS(y,times(x,y)) TIMES(times(s(x),y),x3) -> TIMES(plus(y,times(x,y)),x3) TIMES(times(s(x),y),x3) -> TIMES(x,y) TIMES(s(x),y) -> PLUS(y,times(x,y)) TIMES(s(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(0,y),x3) -> PLUS(y,x3) PLUS(plus(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(s(x),y),x3) -> PLUS(x,y) PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(s(x),y) -> PLUS(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(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) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: PLUS(plus(x3,x4),x5) -> PLUS(x3,x4) PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->->Cycle: ->->-> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(times(s(0),y),x3) -> TIMES(y,x3) TIMES(times(s(x),y),x3) -> TIMES(plus(y,times(x,y)),x3) TIMES(times(s(x),y),x3) -> TIMES(x,y) TIMES(s(x),y) -> TIMES(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(x4,x3) TIMES(times(x3,x4),x5) -> TIMES(x3,times(x4,x5)) TIMES(x3,x4) -> TIMES(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) ->->Cycle: ->->-> Pairs: DIV(div(x,y),z) -> DIV(x,times(y,z)) DIV(x,y) -> QUOT(x,y,y) QUOT(s(x),s(y),z) -> QUOT(x,y,z) QUOT(x,0,s(z)) -> DIV(x,s(z)) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: Empty The problem is decomposed in 3 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(0,y),x3) -> PLUS(y,x3) PLUS(plus(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(s(x),y),x3) -> PLUS(x,y) PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(s(x),y) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> Usable Rules: plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x -> 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: [div](X1,X2) = 0 [plus](X1,X2) = X1 + X2 [quot](X1,X2,X3) = 0 [times](X1,X2) = 0 [0] = 2 [s](X) = X [DIV](X1,X2) = 0 [PLUS](X1,X2) = X1 + X2 [QUOT](X1,X2,X3) = 0 [TIMES](X1,X2) = 0 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(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(s(x),y),x3) -> PLUS(x,y) PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(s(x),y) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(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(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(s(x),y),x3) -> PLUS(x,y) PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(s(x),y) -> PLUS(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(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) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(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(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(s(x),y),x3) -> PLUS(x,y) PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(s(x),y) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> Usable Rules: plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x -> 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: [div](X1,X2) = 0 [plus](X1,X2) = X1 + X2 + 2 [quot](X1,X2,X3) = 0 [times](X1,X2) = 0 [0] = 0 [s](X) = X + 2 [DIV](X1,X2) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [QUOT](X1,X2,X3) = 0 [TIMES](X1,X2) = 0 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(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(s(x),y) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(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(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(s(x),y) -> PLUS(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(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) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(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(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(plus(x,0),x3) -> PLUS(x,x3) PLUS(s(x),y) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> Usable Rules: plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x -> 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: [div](X1,X2) = 0 [plus](X1,X2) = X1 + X2 + 2 [quot](X1,X2,X3) = 0 [times](X1,X2) = 0 [0] = 2 [s](X) = X + 2 [DIV](X1,X2) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [QUOT](X1,X2,X3) = 0 [TIMES](X1,X2) = 0 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(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(s(x),y) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(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(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(s(x),y) -> PLUS(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(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) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(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(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(s(x),y) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> Usable Rules: plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x -> 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: [div](X1,X2) = 0 [plus](X1,X2) = X1 + X2 + 1 [quot](X1,X2,X3) = 0 [times](X1,X2) = 0 [0] = 0 [s](X) = X + 2 [DIV](X1,X2) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [QUOT](X1,X2,X3) = 0 [TIMES](X1,X2) = 0 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(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(s(x),y) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(s(x),y) -> PLUS(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(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) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(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(s(x),y),x3) -> PLUS(s(plus(x,y)),x3) PLUS(s(x),y) -> PLUS(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> Usable Rules: plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x -> SRules: PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [div](X1,X2) = 0 [plus](X1,X2) = X1 + X2 + 2 [quot](X1,X2,X3) = 0 [times](X1,X2) = 0 [0] = 0 [s](X) = X + 2 [DIV](X1,X2) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [QUOT](X1,X2,X3) = 0 [TIMES](X1,X2) = 0 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(s(x),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) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(s(x),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) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(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) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(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(s(x),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) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> Usable Rules: plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x -> SRules: PLUS(x3,plus(x4,x5)) -> PLUS(x4,x5) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [div](X1,X2) = 0 [plus](X1,X2) = X1 + X2 + 2 [quot](X1,X2,X3) = 0 [times](X1,X2) = 0 [0] = 0 [s](X) = 2 [DIV](X1,X2) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [QUOT](X1,X2,X3) = 0 [TIMES](X1,X2) = 0 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) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(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: Reduction Pairs Processor: -> FAxioms: TIMES(times(x3,x4),x5) = TIMES(x3,times(x4,x5)) TIMES(x3,x4) = TIMES(x4,x3) -> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(times(s(0),y),x3) -> TIMES(y,x3) TIMES(times(s(x),y),x3) -> TIMES(plus(y,times(x,y)),x3) TIMES(times(s(x),y),x3) -> TIMES(x,y) TIMES(s(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> Usable Rules: plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [div](X1,X2) = 0 [plus](X1,X2) = X1 + X2 + 1 [quot](X1,X2,X3) = 0 [times](X1,X2) = X1.X2 + X1 + X2 [0] = 1 [s](X) = X + 1 [DIV](X1,X2) = 0 [PLUS](X1,X2) = 0 [QUOT](X1,X2,X3) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.2: SCC Processor: -> FAxioms: TIMES(times(x3,x4),x5) = TIMES(x3,times(x4,x5)) TIMES(x3,x4) = TIMES(x4,x3) -> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(times(s(x),y),x3) -> TIMES(plus(y,times(x,y)),x3) TIMES(times(s(x),y),x3) -> TIMES(x,y) TIMES(s(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(times(s(x),y),x3) -> TIMES(plus(y,times(x,y)),x3) TIMES(times(s(x),y),x3) -> TIMES(x,y) TIMES(s(x),y) -> TIMES(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(x4,x3) TIMES(times(x3,x4),x5) -> TIMES(x3,times(x4,x5)) TIMES(x3,x4) -> TIMES(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) Problem 1.2: Reduction Pairs Processor: -> FAxioms: TIMES(times(x3,x4),x5) = TIMES(x3,times(x4,x5)) TIMES(x3,x4) = TIMES(x4,x3) -> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(times(s(x),y),x3) -> TIMES(plus(y,times(x,y)),x3) TIMES(times(s(x),y),x3) -> TIMES(x,y) TIMES(s(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> Usable Rules: plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [div](X1,X2) = 0 [plus](X1,X2) = X1 + X2 [quot](X1,X2,X3) = 0 [times](X1,X2) = X1.X2 + X1 + X2 [0] = 1 [s](X) = X + 1 [DIV](X1,X2) = 0 [PLUS](X1,X2) = 0 [QUOT](X1,X2,X3) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.2: SCC Processor: -> FAxioms: TIMES(times(x3,x4),x5) = TIMES(x3,times(x4,x5)) TIMES(x3,x4) = TIMES(x4,x3) -> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(times(s(x),y),x3) -> TIMES(x,y) TIMES(s(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(times(s(x),y),x3) -> TIMES(x,y) TIMES(s(x),y) -> TIMES(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(x4,x3) TIMES(times(x3,x4),x5) -> TIMES(x3,times(x4,x5)) TIMES(x3,x4) -> TIMES(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) Problem 1.2: Reduction Pairs Processor: -> FAxioms: TIMES(times(x3,x4),x5) = TIMES(x3,times(x4,x5)) TIMES(x3,x4) = TIMES(x4,x3) -> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(times(s(x),y),x3) -> TIMES(x,y) TIMES(s(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> Usable Rules: plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [div](X1,X2) = 0 [plus](X1,X2) = X1 + X2 + 1 [quot](X1,X2,X3) = 0 [times](X1,X2) = X1.X2 + X1 + X2 [0] = 1 [s](X) = X + 1 [DIV](X1,X2) = 0 [PLUS](X1,X2) = 0 [QUOT](X1,X2,X3) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.2: SCC Processor: -> FAxioms: TIMES(times(x3,x4),x5) = TIMES(x3,times(x4,x5)) TIMES(x3,x4) = TIMES(x4,x3) -> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(s(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(s(x),y) -> TIMES(x,y) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(x4,x3) TIMES(times(x3,x4),x5) -> TIMES(x3,times(x4,x5)) TIMES(x3,x4) -> TIMES(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) Problem 1.2: Reduction Pairs Processor: -> FAxioms: TIMES(times(x3,x4),x5) = TIMES(x3,times(x4,x5)) TIMES(x3,x4) = TIMES(x4,x3) -> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) TIMES(s(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> Usable Rules: plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [div](X1,X2) = 0 [plus](X1,X2) = X1 + X2 + 1 [quot](X1,X2,X3) = 0 [times](X1,X2) = X1.X2 + X1 + X2 [0] = 1 [s](X) = X + 1 [DIV](X1,X2) = 0 [PLUS](X1,X2) = 0 [QUOT](X1,X2,X3) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.2: SCC Processor: -> FAxioms: TIMES(times(x3,x4),x5) = TIMES(x3,times(x4,x5)) TIMES(x3,x4) = TIMES(x4,x3) -> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(x4,x3) TIMES(times(x3,x4),x5) -> TIMES(x3,times(x4,x5)) TIMES(x3,x4) -> TIMES(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) Problem 1.2: Reduction Pairs Processor: -> FAxioms: TIMES(times(x3,x4),x5) = TIMES(x3,times(x4,x5)) TIMES(x3,x4) = TIMES(x4,x3) -> Pairs: TIMES(times(0,y),x3) -> TIMES(0,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Usable Equations: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> Usable Rules: plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) ->Interpretation type: Simple mixed ->Coefficients: All rationals ->Dimension: 1 ->Bound: 3 ->Interpretation: [div](X1,X2) = 0 [plus](X1,X2) = X1 + X2 + 3 [quot](X1,X2,X3) = 0 [times](X1,X2) = 3/2.X1.X2 + 3/2.X1 + 3/2.X2 + 1/2 [0] = 3/2 [s](X) = X + 2 [DIV](X1,X2) = 0 [PLUS](X1,X2) = 0 [QUOT](X1,X2,X3) = 0 [TIMES](X1,X2) = 1/2.X1.X2 + 1/2.X1 + 1/2.X2 Problem 1.2: SCC Processor: -> FAxioms: TIMES(times(x3,x4),x5) = TIMES(x3,times(x4,x5)) TIMES(x3,x4) = TIMES(x4,x3) -> Pairs: Empty -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: TIMES(times(x3,x4),x5) -> TIMES(x3,x4) TIMES(x3,times(x4,x5)) -> TIMES(x4,x5) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Subterm Processor: -> FAxioms: Empty -> Pairs: DIV(div(x,y),z) -> DIV(x,times(y,z)) DIV(x,y) -> QUOT(x,y,y) QUOT(s(x),s(y),z) -> QUOT(x,y,z) QUOT(x,0,s(z)) -> DIV(x,s(z)) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: Empty ->Projection: pi(DIV) = [1] pi(QUOT) = [1] Problem 1.3: SCC Processor: -> FAxioms: Empty -> Pairs: DIV(x,y) -> QUOT(x,y,y) QUOT(x,0,s(z)) -> DIV(x,s(z)) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: Empty ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: DIV(x,y) -> QUOT(x,y,y) QUOT(x,0,s(z)) -> DIV(x,s(z)) -> FAxioms: plus(plus(x3,x4),x5) -> plus(x3,plus(x4,x5)) plus(x3,x4) -> plus(x4,x3) times(times(x3,x4),x5) -> times(x3,times(x4,x5)) times(x3,x4) -> times(x4,x3) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) ->->-> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: Empty Problem 1.3: Reduction Pairs Processor: -> FAxioms: Empty -> Pairs: DIV(x,y) -> QUOT(x,y,y) QUOT(x,0,s(z)) -> DIV(x,s(z)) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Usable Equations: Empty -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> Usable Rules: Empty -> SRules: Empty ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [div](X1,X2) = 0 [plus](X1,X2) = 0 [quot](X1,X2,X3) = 0 [times](X1,X2) = 0 [0] = 2 [s](X) = 0 [DIV](X1,X2) = 2.X2 + 1 [PLUS](X1,X2) = 0 [QUOT](X1,X2,X3) = X2 + X3 [TIMES](X1,X2) = 0 Problem 1.3: SCC Processor: -> FAxioms: Empty -> Pairs: QUOT(x,0,s(z)) -> DIV(x,s(z)) -> EAxioms: plus(plus(x3,x4),x5) = plus(x3,plus(x4,x5)) plus(x3,x4) = plus(x4,x3) times(times(x3,x4),x5) = times(x3,times(x4,x5)) times(x3,x4) = times(x4,x3) -> Rules: div(div(x,y),z) -> div(x,times(y,z)) div(0,y) -> 0 div(x,y) -> quot(x,y,y) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,0) -> x quot(0,s(y),z) -> 0 quot(s(x),s(y),z) -> quot(x,y,z) quot(x,0,s(z)) -> s(div(x,s(z))) times(0,y) -> 0 times(s(0),y) -> y times(s(x),y) -> plus(y,times(x,y)) -> SRules: Empty ->Strongly Connected Components: There is no strongly connected component The problem is finite.