YES Problem 1: (VAR u x y z) (THEORY (AC plus times)) (RULES 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: ABS(x) -> IF_ABS(x,x,S) IF_ABS(0(x),y,z) -> IF_ABS(x,y,z) IF_ABS(1(x),y,z) -> IF_ABS(x,y,1(S)) IF_ABS(S,x,j(S)) -> OPP(x) IF_ABS(j(x),y,z) -> IF_ABS(x,y,j(S)) IF_MIN(0(x),y,z,u) -> IF_MIN(x,y,z,u) IF_MIN(1(x),y,z,u) -> IF_MIN(x,y,z,1(S)) IF_MIN(j(x),y,z,u) -> IF_MIN(x,y,z,j(S)) IF_SIGN(0(x),y) -> IF_SIGN(x,y) IF_SIGN(1(x),y) -> IF_SIGN(x,1(S)) IF_SIGN(j(x),y) -> IF_SIGN(x,j(S)) MIN(x,y) -> ABS(x) MIN(x,y) -> ABS(y) MIN(x,y) -> IF_MIN(minus(abs(y),abs(x)),x,y,S) MIN(x,y) -> MINUS(abs(y),abs(x)) MIN'(x,y) -> ABS(1(x)) MIN'(x,y) -> ABS(1(y)) MIN'(x,y) -> IF_MIN(minus(abs(1(y)),abs(1(x))),x,y,S) MIN'(x,y) -> MINUS(abs(1(y)),abs(1(x))) MIN''(x,y) -> ABS(j(x)) MIN''(x,y) -> ABS(j(y)) MIN''(x,y) -> IF_MIN(minus(abs(j(y)),abs(j(x))),x,y,S) MIN''(x,y) -> MINUS(abs(j(y)),abs(j(x))) 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)),x4) -> 0#(plus(x,y)) PLUS(plus(0(x),0(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> 0#(plus(x,y)) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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) SIGN(x) -> IF_SIGN(x,S) TIMES(0(x),y) -> 0#(times(x,y)) TIMES(0(x),y) -> TIMES(x,y) TIMES(times(0(x),y),x4) -> 0#(times(x,y)) TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(0(x),y),x4) -> TIMES(x,y) TIMES(times(1(x),y),x4) -> 0#(times(x,y)) TIMES(times(1(x),y),x4) -> PLUS(0(times(x,y)),y) TIMES(times(1(x),y),x4) -> TIMES(plus(0(times(x,y)),y),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> 0#(times(x,y)) TIMES(times(j(x),y),x4) -> MINUS(0(times(x,y)),y) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) TIMES(times(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) Problem 1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: ABS(x) -> IF_ABS(x,x,S) IF_ABS(0(x),y,z) -> IF_ABS(x,y,z) IF_ABS(1(x),y,z) -> IF_ABS(x,y,1(S)) IF_ABS(S,x,j(S)) -> OPP(x) IF_ABS(j(x),y,z) -> IF_ABS(x,y,j(S)) IF_MIN(0(x),y,z,u) -> IF_MIN(x,y,z,u) IF_MIN(1(x),y,z,u) -> IF_MIN(x,y,z,1(S)) IF_MIN(j(x),y,z,u) -> IF_MIN(x,y,z,j(S)) IF_SIGN(0(x),y) -> IF_SIGN(x,y) IF_SIGN(1(x),y) -> IF_SIGN(x,1(S)) IF_SIGN(j(x),y) -> IF_SIGN(x,j(S)) MIN(x,y) -> ABS(x) MIN(x,y) -> ABS(y) MIN(x,y) -> IF_MIN(minus(abs(y),abs(x)),x,y,S) MIN(x,y) -> MINUS(abs(y),abs(x)) MIN'(x,y) -> ABS(1(x)) MIN'(x,y) -> ABS(1(y)) MIN'(x,y) -> IF_MIN(minus(abs(1(y)),abs(1(x))),x,y,S) MIN'(x,y) -> MINUS(abs(1(y)),abs(1(x))) MIN''(x,y) -> ABS(j(x)) MIN''(x,y) -> ABS(j(y)) MIN''(x,y) -> IF_MIN(minus(abs(j(y)),abs(j(x))),x,y,S) MIN''(x,y) -> MINUS(abs(j(y)),abs(j(x))) 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)),x4) -> 0#(plus(x,y)) PLUS(plus(0(x),0(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> 0#(plus(x,y)) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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) SIGN(x) -> IF_SIGN(x,S) TIMES(0(x),y) -> 0#(times(x,y)) TIMES(0(x),y) -> TIMES(x,y) TIMES(times(0(x),y),x4) -> 0#(times(x,y)) TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(0(x),y),x4) -> TIMES(x,y) TIMES(times(1(x),y),x4) -> 0#(times(x,y)) TIMES(times(1(x),y),x4) -> PLUS(0(times(x,y)),y) TIMES(times(1(x),y),x4) -> TIMES(plus(0(times(x,y)),y),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> 0#(times(x,y)) TIMES(times(j(x),y),x4) -> MINUS(0(times(x,y)),y) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) TIMES(times(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->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)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->->Cycle: ->->-> Pairs: OPP(0(x)) -> OPP(x) OPP(1(x)) -> OPP(x) OPP(j(x)) -> OPP(x) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(0(x),y),x4) -> TIMES(x,y) TIMES(times(1(x),y),x4) -> TIMES(plus(0(times(x,y)),y),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) TIMES(times(x4,x5),x6) -> TIMES(x4,times(x5,x6)) TIMES(x4,x5) -> TIMES(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->->Cycle: ->->-> Pairs: IF_SIGN(0(x),y) -> IF_SIGN(x,y) IF_SIGN(1(x),y) -> IF_SIGN(x,1(S)) IF_SIGN(j(x),y) -> IF_SIGN(x,j(S)) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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: IF_MIN(0(x),y,z,u) -> IF_MIN(x,y,z,u) IF_MIN(1(x),y,z,u) -> IF_MIN(x,y,z,1(S)) IF_MIN(j(x),y,z,u) -> IF_MIN(x,y,z,j(S)) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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: IF_ABS(0(x),y,z) -> IF_ABS(x,y,z) IF_ABS(1(x),y,z) -> IF_ABS(x,y,1(S)) IF_ABS(j(x),y,z) -> IF_ABS(x,y,j(S)) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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 The problem is decomposed in 6 subproblems. Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> 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)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 2 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(0(x),1(y)) -> PLUS(x,y) PLUS(0(x),j(y)) -> PLUS(x,y) PLUS(plus(0(x),0(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->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)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(0(x),1(y)) -> PLUS(x,y) PLUS(0(x),j(y)) -> PLUS(x,y) PLUS(plus(0(x),0(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 2 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(0(x),j(y)) -> PLUS(x,y) PLUS(plus(0(x),0(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(0(x),j(y)) -> PLUS(x,y) PLUS(plus(0(x),0(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(0(x),j(y)) -> PLUS(x,y) PLUS(plus(0(x),0(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(0(x),0(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(0(x),0(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(0(x),0(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 2 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(0(x),0(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 2 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(0(x),1(y)),x4) -> PLUS(1(plus(x,y)),x4) PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 2 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(0(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(0(x),j(y)),x4) -> PLUS(j(plus(x,y)),x4) PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(0(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 2 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(1(S),plus(x,y)) PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),1(y)),x4) -> PLUS(x,y) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(0(plus(x,y)),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(1(x),j(y)),x4) -> PLUS(x,y) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(j(S),plus(x,y)) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 2 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(plus(j(x),j(y)),x4) -> 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) 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(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(j(x),j(y)) -> PLUS(j(S),plus(x,y)) PLUS(j(x),j(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 2 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(j(x),j(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(j(x),j(y)) -> PLUS(x,y) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) PLUS(j(x),j(y)) -> PLUS(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = X + 2 [S] = 0 [j](X) = X + 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(1(x),1(y)),x4) -> PLUS(j(plus(1(S),plus(x,y))),x4) PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = 2 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 + 2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = 2 [S] = 0 [j](X) = 0 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(S,x),x4) -> PLUS(x,x4) PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = 0 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 + 2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = 0 [S] = 0 [j](X) = 1 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = X1 + X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) PLUS(plus(x4,x5),x6) -> PLUS(x4,plus(x5,x6)) PLUS(x4,x5) -> PLUS(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) Problem 1.1: Reduction Pairs Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: PLUS(plus(j(x),j(y)),x4) -> PLUS(1(plus(j(S),plus(x,y))),x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = 2 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = 0 [opp](X) = 0 [plus](X1,X2) = X1 + X2 + 2 [sign](X) = 0 [times](X1,X2) = 0 [1](X) = 1 [S] = 0 [j](X) = 0 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 2.X1 + 2.X2 [SIGN](X) = 0 [TIMES](X1,X2) = 0 Problem 1.1: SCC Processor: -> FAxioms: PLUS(plus(x4,x5),x6) = PLUS(x4,plus(x5,x6)) PLUS(x4,x5) = PLUS(x5,x4) -> Pairs: Empty -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> PLUS(x4,x5) PLUS(x4,plus(x5,x6)) -> PLUS(x5,x6) ->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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(0(x),y) -> TIMES(x,y) TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(0(x),y),x4) -> TIMES(x,y) TIMES(times(1(x),y),x4) -> TIMES(plus(0(times(x,y)),y),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = X1 + X2 [opp](X) = X [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [SIGN](X) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(0(x),y),x4) -> TIMES(x,y) TIMES(times(1(x),y),x4) -> TIMES(plus(0(times(x,y)),y),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(0(x),y),x4) -> TIMES(x,y) TIMES(times(1(x),y),x4) -> TIMES(plus(0(times(x,y)),y),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) TIMES(times(x4,x5),x6) -> TIMES(x4,times(x5,x6)) TIMES(x4,x5) -> TIMES(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(0(x),y),x4) -> TIMES(x,y) TIMES(times(1(x),y),x4) -> TIMES(plus(0(times(x,y)),y),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = X1 + X2 [opp](X) = X [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [SIGN](X) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(1(x),y),x4) -> TIMES(plus(0(times(x,y)),y),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(1(x),y),x4) -> TIMES(plus(0(times(x,y)),y),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) TIMES(times(x4,x5),x6) -> TIMES(x4,times(x5,x6)) TIMES(x4,x5) -> TIMES(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(1(x),y),x4) -> TIMES(plus(0(times(x,y)),y),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = X1 + X2 + 1 [opp](X) = X + 1 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [SIGN](X) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) TIMES(times(x4,x5),x6) -> TIMES(x4,times(x5,x6)) TIMES(x4,x5) -> TIMES(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(1(x),y),x4) -> TIMES(x,y) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = X1 + X2 [opp](X) = X [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [SIGN](X) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) TIMES(times(x4,x5),x6) -> TIMES(x4,times(x5,x6)) TIMES(x4,x5) -> TIMES(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(minus(0(times(x,y)),y),x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = X1 + X2 [opp](X) = X [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [SIGN](X) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) TIMES(times(x4,x5),x6) -> TIMES(x4,times(x5,x6)) TIMES(x4,x5) -> TIMES(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(times(j(x),y),x4) -> TIMES(x,y) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = X1 + X2 + 1 [opp](X) = X + 1 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [SIGN](X) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) TIMES(times(x4,x5),x6) -> TIMES(x4,times(x5,x6)) TIMES(x4,x5) -> TIMES(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(1(x),y) -> TIMES(x,y) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = X1 + X2 [opp](X) = X [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [SIGN](X) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(j(x),y) -> TIMES(x,y) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) TIMES(times(x4,x5),x6) -> TIMES(x4,times(x5,x6)) TIMES(x4,x5) -> TIMES(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) TIMES(j(x),y) -> TIMES(x,y) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Interpretation type: Simple mixed ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 1 ->Interpretation: [0](X) = X + 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = X1 + X2 [opp](X) = X [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = X1.X2 + X1 + X2 [1](X) = X + 1 [S] = 0 [j](X) = X + 1 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [SIGN](X) = 0 [TIMES](X1,X2) = X1.X2 + X1 + X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) TIMES(times(x4,x5),x6) -> TIMES(x4,times(x5,x6)) TIMES(x4,x5) -> TIMES(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(0(x),y),x4) -> TIMES(0(times(x,y)),x4) TIMES(times(S,x),x4) -> TIMES(S,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = 2 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = X1 + X2 + 1 [opp](X) = X + 1 [plus](X1,X2) = X1 + X2 [sign](X) = 0 [times](X1,X2) = X1 + X2 + 2 [1](X) = 1 [S] = 0 [j](X) = 1 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [SIGN](X) = 0 [TIMES](X1,X2) = 2.X1 + 2.X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(S,x),x4) -> TIMES(S,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TIMES(times(S,x),x4) -> TIMES(S,x4) -> FAxioms: plus(plus(x4,x5),x6) -> plus(x4,plus(x5,x6)) plus(x4,x5) -> plus(x5,x4) times(times(x4,x5),x6) -> times(x4,times(x5,x6)) times(x4,x5) -> times(x5,x4) TIMES(times(x4,x5),x6) -> TIMES(x4,times(x5,x6)) TIMES(x4,x5) -> TIMES(x5,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) ->->-> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) Problem 1.3: Reduction Pairs Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: TIMES(times(S,x),x4) -> TIMES(S,x4) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Usable Equations: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = 1 [abs](X) = 0 [if_abs](X1,X2,X3) = 0 [if_min](X1,X2,X3,X4) = 0 [if_sign](X1,X2) = 0 [min](X1,X2) = 0 [min'](X1,X2) = 0 [min''](X1,X2) = 0 [minus](X1,X2) = X1 + X2 + 2 [opp](X) = X + 1 [plus](X1,X2) = X1 + X2 + 1 [sign](X) = 0 [times](X1,X2) = X1 + X2 + 1 [1](X) = 1 [S] = 1 [j](X) = 2 [0#](X) = 0 [ABS](X) = 0 [IF_ABS](X1,X2,X3) = 0 [IF_MIN](X1,X2,X3,X4) = 0 [IF_SIGN](X1,X2) = 0 [MIN](X1,X2) = 0 [MIN'](X1,X2) = 0 [MIN''](X1,X2) = 0 [MINUS](X1,X2) = 0 [OPP](X) = 0 [PLUS](X1,X2) = 0 [SIGN](X) = 0 [TIMES](X1,X2) = 2.X1 + 2.X2 Problem 1.3: SCC Processor: -> FAxioms: TIMES(times(x4,x5),x6) = TIMES(x4,times(x5,x6)) TIMES(x4,x5) = TIMES(x5,x4) -> Pairs: Empty -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(x4,x5),x6) -> TIMES(x4,x5) TIMES(x4,times(x5,x6)) -> TIMES(x5,x6) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.4: Subterm Processor: -> FAxioms: Empty -> Pairs: IF_SIGN(0(x),y) -> IF_SIGN(x,y) IF_SIGN(1(x),y) -> IF_SIGN(x,1(S)) IF_SIGN(j(x),y) -> IF_SIGN(x,j(S)) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(IF_SIGN) = [1] Problem 1.4: SCC Processor: -> FAxioms: Empty -> Pairs: Empty -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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.5: Subterm Processor: -> FAxioms: Empty -> Pairs: IF_MIN(0(x),y,z,u) -> IF_MIN(x,y,z,u) IF_MIN(1(x),y,z,u) -> IF_MIN(x,y,z,1(S)) IF_MIN(j(x),y,z,u) -> IF_MIN(x,y,z,j(S)) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(IF_MIN) = [1] Problem 1.5: SCC Processor: -> FAxioms: Empty -> Pairs: Empty -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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.6: Subterm Processor: -> FAxioms: Empty -> Pairs: IF_ABS(0(x),y,z) -> IF_ABS(x,y,z) IF_ABS(1(x),y,z) -> IF_ABS(x,y,1(S)) IF_ABS(j(x),y,z) -> IF_ABS(x,y,j(S)) -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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(IF_ABS) = [1] Problem 1.6: SCC Processor: -> FAxioms: Empty -> Pairs: Empty -> EAxioms: plus(plus(x4,x5),x6) = plus(x4,plus(x5,x6)) plus(x4,x5) = plus(x5,x4) times(times(x4,x5),x6) = times(x4,times(x5,x6)) times(x4,x5) = times(x5,x4) -> Rules: 0(S) -> S abs(x) -> if_abs(x,x,S) if_abs(0(x),y,z) -> if_abs(x,y,z) if_abs(1(x),y,z) -> if_abs(x,y,1(S)) if_abs(S,x,1(S)) -> x if_abs(S,x,S) -> S if_abs(S,x,j(S)) -> opp(x) if_abs(j(x),y,z) -> if_abs(x,y,j(S)) if_min(0(x),y,z,u) -> if_min(x,y,z,u) if_min(1(x),y,z,u) -> if_min(x,y,z,1(S)) if_min(S,x,y,1(S)) -> x if_min(S,x,y,S) -> x if_min(S,x,y,j(S)) -> y if_min(j(x),y,z,u) -> if_min(x,y,z,j(S)) if_sign(0(x),y) -> if_sign(x,y) if_sign(1(x),y) -> if_sign(x,1(S)) if_sign(S,x) -> x if_sign(j(x),y) -> if_sign(x,j(S)) min(x,y) -> if_min(minus(abs(y),abs(x)),x,y,S) min'(x,y) -> if_min(minus(abs(1(y)),abs(1(x))),x,y,S) min''(x,y) -> if_min(minus(abs(j(y)),abs(j(x))),x,y,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))) sign(x) -> if_sign(x,S) 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.