YES Problem 1: (VAR x y) (THEORY (AC plus times)) (RULES 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S ) Problem 1: Dependency Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: PLUS(0(x),0(y)) -> 0#(plus(x,y)) PLUS(0(x),0(y)) -> PLUS(x,y) PLUS(0(x),1(y)) -> PLUS(x,y) PLUS(plus(0(x),0(y)),x2) -> 0#(plus(x,y)) PLUS(plus(0(x),0(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> 0#(1(plus(plus(x,y),S))) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> 0#(1(plus(plus(x,y),S))) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) TIMES(times(x,0(y)),x2) -> 0#(times(x,y)) TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,0(y)),x2) -> TIMES(x,y) TIMES(times(x,1(y)),x2) -> 0#(times(x,y)) TIMES(times(x,1(y)),x2) -> PLUS(x,0(times(x,y))) TIMES(times(x,1(y)),x2) -> TIMES(plus(x,0(times(x,y))),x2) TIMES(times(x,1(y)),x2) -> TIMES(x,y) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> 0#(times(x,y)) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> 0#(times(x,y)) TIMES(x,1(y)) -> PLUS(x,0(times(x,y))) TIMES(x,1(y)) -> TIMES(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: PLUS(0(x),0(y)) -> 0#(plus(x,y)) PLUS(0(x),0(y)) -> PLUS(x,y) PLUS(0(x),1(y)) -> PLUS(x,y) PLUS(plus(0(x),0(y)),x2) -> 0#(plus(x,y)) PLUS(plus(0(x),0(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> 0#(1(plus(plus(x,y),S))) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> 0#(1(plus(plus(x,y),S))) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) TIMES(times(x,0(y)),x2) -> 0#(times(x,y)) TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,0(y)),x2) -> TIMES(x,y) TIMES(times(x,1(y)),x2) -> 0#(times(x,y)) TIMES(times(x,1(y)),x2) -> PLUS(x,0(times(x,y))) TIMES(times(x,1(y)),x2) -> TIMES(plus(x,0(times(x,y))),x2) TIMES(times(x,1(y)),x2) -> TIMES(x,y) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> 0#(times(x,y)) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> 0#(times(x,y)) TIMES(x,1(y)) -> PLUS(x,0(times(x,y))) TIMES(x,1(y)) -> TIMES(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(0(x),0(y)) -> PLUS(x,y) PLUS(0(x),1(y)) -> PLUS(x,y) PLUS(plus(0(x),0(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->->Cycle: ->->-> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,0(y)),x2) -> TIMES(x,y) TIMES(times(x,1(y)),x2) -> TIMES(plus(x,0(times(x,y))),x2) TIMES(times(x,1(y)),x2) -> TIMES(x,y) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> TIMES(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) TIMES(times(x2,x3),x4) -> TIMES(x2,times(x3,x4)) TIMES(x2,x3) -> TIMES(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) The problem is decomposed in 2 subproblems. Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(0(x),0(y)) -> PLUS(x,y) PLUS(0(x),1(y)) -> PLUS(x,y) PLUS(plus(0(x),0(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 1 [plus](X1,X2) = X1 + X2 + 1 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(0(x),1(y)) -> PLUS(x,y) PLUS(plus(0(x),0(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(0(x),1(y)) -> PLUS(x,y) PLUS(plus(0(x),0(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(0(x),1(y)) -> PLUS(x,y) PLUS(plus(0(x),0(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [plus](X1,X2) = X1 + X2 + 2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(0(x),0(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(0(x),0(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(0(x),0(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 1 [plus](X1,X2) = X1 + X2 + 1 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(0(x),0(y)),x2) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [plus](X1,X2) = X1 + X2 + 2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(0(x),1(y)),x2) -> PLUS(1(plus(x,y)),x2) PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 1 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 1 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(0(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [plus](X1,X2) = X1 + X2 + 2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(1(x),1(y)),x2) -> PLUS(0(1(plus(plus(x,y),S))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [plus](X1,X2) = X1 + X2 + 1 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(1(x),1(y)),x2) -> PLUS(plus(x,y),S) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 2 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [plus](X1,X2) = X1 + X2 + 2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(plus(x,S),x2) -> PLUS(x,x2) PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 2 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [plus](X1,X2) = X1 + X2 + 2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(1(x),1(y)) -> PLUS(plus(x,y),S) PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [plus](X1,X2) = X1 + X2 + 2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(1(x),1(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) PLUS(plus(x2,x3),x4) -> PLUS(x2,plus(x3,x4)) PLUS(x2,x3) -> PLUS(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: PLUS(1(x),1(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x -> SRules: PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [plus](X1,X2) = X1 + X2 + 1 [times](X1,X2) = 0 [1](X) = X + 1 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x2,x3),x4) = PLUS(x2,plus(x3,x4)) PLUS(x2,x3) = PLUS(x3,x2) -> Pairs: Empty -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,0(y)),x2) -> TIMES(x,y) TIMES(times(x,1(y)),x2) -> TIMES(plus(x,0(times(x,y))),x2) TIMES(times(x,1(y)),x2) -> TIMES(x,y) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> TIMES(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X + 1 [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.2: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,1(y)),x2) -> TIMES(plus(x,0(times(x,y))),x2) TIMES(times(x,1(y)),x2) -> TIMES(x,y) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> TIMES(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,1(y)),x2) -> TIMES(plus(x,0(times(x,y))),x2) TIMES(times(x,1(y)),x2) -> TIMES(x,y) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> TIMES(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) TIMES(times(x2,x3),x4) -> TIMES(x2,times(x3,x4)) TIMES(x2,x3) -> TIMES(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.2: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,1(y)),x2) -> TIMES(plus(x,0(times(x,y))),x2) TIMES(times(x,1(y)),x2) -> TIMES(x,y) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> TIMES(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 1 [0#](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.2: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,1(y)),x2) -> TIMES(x,y) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> TIMES(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,1(y)),x2) -> TIMES(x,y) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> TIMES(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) TIMES(times(x2,x3),x4) -> TIMES(x2,times(x3,x4)) TIMES(x2,x3) -> TIMES(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.2: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,1(y)),x2) -> TIMES(x,y) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> TIMES(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X + 1 [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.2: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> TIMES(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> TIMES(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) TIMES(times(x2,x3),x4) -> TIMES(x2,times(x3,x4)) TIMES(x2,x3) -> TIMES(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.2: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,0(y)) -> TIMES(x,y) TIMES(x,1(y)) -> TIMES(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X + 1 [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.2: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,1(y)) -> TIMES(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,1(y)) -> TIMES(x,y) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) TIMES(times(x2,x3),x4) -> TIMES(x2,times(x3,x4)) TIMES(x2,x3) -> TIMES(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.2: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,S),x2) -> TIMES(S,x2) TIMES(x,1(y)) -> TIMES(x,y) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X [plus](X1,X2) = X1 + X2 + 1 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.2: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,S),x2) -> TIMES(S,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,S),x2) -> TIMES(S,x2) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) TIMES(times(x2,x3),x4) -> TIMES(x2,times(x3,x4)) TIMES(x2,x3) -> TIMES(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.2: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,0(y)),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(x,S),x2) -> TIMES(S,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1 + X2 + 1 [1](X) = 1 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1 + X2 Problem 1.2: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,S),x2) -> TIMES(S,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(x,S),x2) -> TIMES(S,x2) -> FAxioms: plus(plus(x2,x3),x4) -> plus(x2,plus(x3,x4)) plus(x2,x3) -> plus(x3,x2) times(times(x2,x3),x4) -> times(x2,times(x3,x4)) times(x2,x3) -> times(x3,x2) TIMES(times(x2,x3),x4) -> TIMES(x2,times(x3,x4)) TIMES(x2,x3) -> TIMES(x3,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) ->->-> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.2: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(x,S),x2) -> TIMES(S,x2) -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Usable Equations: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = 2 [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1 + X2 + 2 [1](X) = 2 [S] = 0 [0#](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = 2.X1 + 2.X2 Problem 1.2: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: Empty -> EAxioms: plus(plus(x2,x3),x4) = plus(x2,plus(x3,x4)) plus(x2,x3) = plus(x3,x2) times(times(x2,x3),x4) = times(x2,times(x3,x4)) times(x2,x3) = times(x3,x2) -> Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(1(x),1(y)) -> 0(1(plus(plus(x,y),S))) plus(x,S) -> x times(x,0(y)) -> 0(times(x,y)) times(x,1(y)) -> plus(x,0(times(x,y))) times(x,S) -> S -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: There is no strongly connected component The problem is finite.