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