YES Problem 1: (VAR x y) (THEORY (AC plus times)) (RULES 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) ) 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: MINUS(x,y) -> OPP(y) MINUS(x,y) -> PLUS(opp(y),x) OPP(0(x)) -> 0#(opp(x)) OPP(0(x)) -> OPP(x) OPP(1(x)) -> OPP(x) OPP(j(x)) -> OPP(x) 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(0(x),j(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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> 0#(plus(x,y)) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> 0#(plus(x,y)) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(y)) -> PLUS(x,y) TIMES(0(x),y) -> 0#(times(x,y)) TIMES(0(x),y) -> TIMES(x,y) TIMES(times(0(x),y),x2) -> 0#(times(x,y)) TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(0(x),y),x2) -> TIMES(x,y) TIMES(times(1(x),y),x2) -> 0#(times(x,y)) TIMES(times(1(x),y),x2) -> PLUS(0(times(x,y)),y) TIMES(times(1(x),y),x2) -> TIMES(plus(0(times(x,y)),y),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> 0#(times(x,y)) TIMES(times(j(x),y),x2) -> MINUS(0(times(x,y)),y) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> 0#(times(x,y)) TIMES(1(x),y) -> PLUS(0(times(x,y)),y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> 0#(times(x,y)) TIMES(j(x),y) -> MINUS(0(times(x,y)),y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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: MINUS(x,y) -> OPP(y) MINUS(x,y) -> PLUS(opp(y),x) OPP(0(x)) -> 0#(opp(x)) OPP(0(x)) -> OPP(x) OPP(1(x)) -> OPP(x) OPP(j(x)) -> OPP(x) 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(0(x),j(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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> 0#(plus(x,y)) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> 0#(plus(x,y)) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(y)) -> PLUS(x,y) TIMES(0(x),y) -> 0#(times(x,y)) TIMES(0(x),y) -> TIMES(x,y) TIMES(times(0(x),y),x2) -> 0#(times(x,y)) TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(0(x),y),x2) -> TIMES(x,y) TIMES(times(1(x),y),x2) -> 0#(times(x,y)) TIMES(times(1(x),y),x2) -> PLUS(0(times(x,y)),y) TIMES(times(1(x),y),x2) -> TIMES(plus(0(times(x,y)),y),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> 0#(times(x,y)) TIMES(times(j(x),y),x2) -> MINUS(0(times(x,y)),y) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> 0#(times(x,y)) TIMES(1(x),y) -> PLUS(0(times(x,y)),y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> 0#(times(x,y)) TIMES(j(x),y) -> MINUS(0(times(x,y)),y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(0(x),j(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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->->Cycle: ->->-> Pairs: OPP(0(x)) -> OPP(x) OPP(1(x)) -> OPP(x) OPP(j(x)) -> OPP(x) -> 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) -> 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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: Empty ->->Cycle: ->->-> Pairs: TIMES(0(x),y) -> TIMES(x,y) TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(0(x),y),x2) -> TIMES(x,y) TIMES(times(1(x),y),x2) -> TIMES(plus(0(times(x,y)),y),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) The problem is decomposed in 3 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(0(x),j(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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 + 2 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(0(x),j(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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(0(x),j(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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(0(x),j(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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 + 2 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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),j(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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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),j(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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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),j(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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 + 2 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 + 2 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(0(x),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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),j(y)),x2) -> PLUS(j(plus(x,y)),x2) PLUS(plus(0(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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),j(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x2) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x2) -> PLUS(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),1(y)),x2) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(0(plus(x,y)),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 + 2 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(1(x),j(y)),x2) -> PLUS(x,y) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 + 2 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(x,y) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 + 2 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(1(x),1(y)) -> PLUS(1(S),plus(x,y)) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(1(x),1(y)) -> PLUS(x,y) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(1(x),j(y)) -> PLUS(x,y) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 + 2 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 + 2 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),x2) PLUS(j(x),j(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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),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) 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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(plus(1(S),plus(x,y))),x2) PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),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) -> Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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) = 2 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 + 2 [times](X1,X2) = 0 [1](X) = 2 [S] = 0 [j](X) = 0 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),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) 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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(S,x),x2) -> PLUS(x,x2) PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),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) -> Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 + 2 [times](X1,X2) = 0 [1](X) = 0 [S] = 0 [j](X) = 1 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = X1 + 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(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),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) 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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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(j(x),j(y)),x2) -> PLUS(1(plus(j(S),plus(x,y))),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) -> Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) -> 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) = 2 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 + 2 [times](X1,X2) = 0 [1](X) = 1 [S] = 0 [j](X) = 0 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: PLUS(plus(x2,x3),x4) -> PLUS(x2,x3) PLUS(x2,plus(x3,x4)) -> PLUS(x3,x4) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> FAxioms: Empty -> Pairs: OPP(0(x)) -> OPP(x) OPP(1(x)) -> OPP(x) OPP(j(x)) -> OPP(x) -> 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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: Empty ->Projection: pi(OPP) = [1] Problem 1.2: SCC Processor: -> FAxioms: Empty -> 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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: Empty ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(0(x),y) -> TIMES(x,y) TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(0(x),y),x2) -> TIMES(x,y) TIMES(times(1(x),y),x2) -> TIMES(plus(0(times(x,y)),y),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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 [minus](X1,X2) = X1 + X2 [opp](X) = X [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(0(x),y),x2) -> TIMES(x,y) TIMES(times(1(x),y),x2) -> TIMES(plus(0(times(x,y)),y),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(0(x),y),x2) -> TIMES(x,y) TIMES(times(1(x),y),x2) -> TIMES(plus(0(times(x,y)),y),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(0(x),y),x2) -> TIMES(x,y) TIMES(times(1(x),y),x2) -> TIMES(plus(0(times(x,y)),y),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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 [minus](X1,X2) = X1 + X2 [opp](X) = X [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(1(x),y),x2) -> TIMES(plus(0(times(x,y)),y),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(1(x),y),x2) -> TIMES(plus(0(times(x,y)),y),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(1(x),y),x2) -> TIMES(plus(0(times(x,y)),y),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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 [minus](X1,X2) = X1 + X2 + 1 [opp](X) = X + 1 [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(1(x),y),x2) -> TIMES(x,y) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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 [minus](X1,X2) = X1 + X2 [opp](X) = X [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(minus(0(times(x,y)),y),x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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 [minus](X1,X2) = X1 + X2 [opp](X) = X [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(times(j(x),y),x2) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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 [minus](X1,X2) = X1 + X2 + 1 [opp](X) = X + 1 [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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 [minus](X1,X2) = X1 + X2 [opp](X) = X [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),x2) -> TIMES(S,x2) TIMES(j(x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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 [minus](X1,X2) = X1 + X2 [opp](X) = X [plus](X1,X2) = X1 + X2 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(0(x),y),x2) -> TIMES(0(times(x,y)),x2) TIMES(times(S,x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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) = 1 [minus](X1,X2) = 2.X1 + X2 + 1 [opp](X) = X [plus](X1,X2) = X1 + X2 + 1 [times](X1,X2) = X1 + X2 + 2 [1](X) = 1 [S] = 1 [j](X) = 1 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = 2.X1 + 2.X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(S,x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(S,x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> SRules: TIMES(times(x2,x3),x4) -> TIMES(x2,x3) TIMES(x2,times(x3,x4)) -> TIMES(x3,x4) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x2,x3),x4) = TIMES(x2,times(x3,x4)) TIMES(x2,x3) = TIMES(x3,x2) -> Pairs: TIMES(times(S,x),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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> Usable Rules: 0(S) -> S minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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) = 1 [minus](X1,X2) = X1 + X2 + 2 [opp](X) = X + 1 [plus](X1,X2) = X1 + X2 + 1 [times](X1,X2) = X1 + X2 + 1 [1](X) = 1 [S] = 1 [j](X) = 2 [0#](X) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [TIMES](X1,X2) = 2.X1 + 2.X2 Problem 1.3: 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 minus(x,y) -> plus(opp(y),x) opp(0(x)) -> 0(opp(x)) opp(1(x)) -> j(opp(x)) opp(S) -> S opp(j(x)) -> 1(opp(x)) plus(0(x),0(y)) -> 0(plus(x,y)) plus(0(x),1(y)) -> 1(plus(x,y)) plus(0(x),j(y)) -> j(plus(x,y)) plus(1(x),1(y)) -> j(plus(1(S),plus(x,y))) plus(1(x),j(y)) -> 0(plus(x,y)) plus(S,x) -> x plus(j(x),j(y)) -> 1(plus(j(S),plus(x,y))) times(0(x),y) -> 0(times(x,y)) times(1(x),y) -> plus(0(times(x,y)),y) times(S,x) -> S times(j(x),y) -> minus(0(times(x,y)),y) -> 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.