YES Problem 1: (THEORY (AC ac1 ac2)) (RULES ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) ) Problem 1: Dependency Pairs Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(ac1(a,ac2(b,c)),x0) -> AC1(ac1(b,f(ac2(a,c))),x0) AC1(ac1(a,ac2(b,c)),x0) -> AC1(b,f(ac2(a,c))) AC1(ac1(a,ac2(b,c)),x0) -> AC2(a,c) AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) Problem 1: SCC Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(ac1(a,ac2(b,c)),x0) -> AC1(ac1(b,f(ac2(a,c))),x0) AC1(ac1(a,ac2(b,c)),x0) -> AC1(b,f(ac2(a,c))) AC1(ac1(a,ac2(b,c)),x0) -> AC2(a,c) AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: AC1(ac1(a,ac2(b,c)),x0) -> AC1(ac1(b,f(ac2(a,c))),x0) AC1(ac1(a,ac2(b,c)),x0) -> AC1(b,f(ac2(a,c))) AC1(ac1(a,ac2(b,c)),x0) -> AC2(a,c) AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> FAxioms: ac1(ac1(x0,x1),x2) -> ac1(x0,ac1(x1,x2)) ac1(x0,x1) -> ac1(x1,x0) ac2(ac2(x0,x1),x2) -> ac2(x0,ac2(x1,x2)) ac2(x0,x1) -> ac2(x1,x0) AC1(ac1(x0,x1),x2) -> AC1(x0,ac1(x1,x2)) AC1(x0,x1) -> AC1(x1,x0) AC2(ac2(x0,x1),x2) -> AC2(x0,ac2(x1,x2)) AC2(x0,x1) -> AC2(x1,x0) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) ->->-> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) Problem 1: Reduction Pairs Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(ac1(a,ac2(b,c)),x0) -> AC1(ac1(b,f(ac2(a,c))),x0) AC1(ac1(a,ac2(b,c)),x0) -> AC1(b,f(ac2(a,c))) AC1(ac1(a,ac2(b,c)),x0) -> AC2(a,c) AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Usable Equations: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> Usable Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [ac1](X1,X2) = X1 + X2 + 1 [ac2](X1,X2) = X1 + X2 + 2 [a] = 0 [b] = 2 [c] = 2 [f](X) = 2 [AC1](X1,X2) = X1 + X2 + 1 [AC2](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(ac1(a,ac2(b,c)),x0) -> AC1(b,f(ac2(a,c))) AC1(ac1(a,ac2(b,c)),x0) -> AC2(a,c) AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: AC1(ac1(a,ac2(b,c)),x0) -> AC1(b,f(ac2(a,c))) AC1(ac1(a,ac2(b,c)),x0) -> AC2(a,c) AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> FAxioms: ac1(ac1(x0,x1),x2) -> ac1(x0,ac1(x1,x2)) ac1(x0,x1) -> ac1(x1,x0) ac2(ac2(x0,x1),x2) -> ac2(x0,ac2(x1,x2)) ac2(x0,x1) -> ac2(x1,x0) AC1(ac1(x0,x1),x2) -> AC1(x0,ac1(x1,x2)) AC1(x0,x1) -> AC1(x1,x0) AC2(ac2(x0,x1),x2) -> AC2(x0,ac2(x1,x2)) AC2(x0,x1) -> AC2(x1,x0) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) ->->-> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) Problem 1: Reduction Pairs Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(ac1(a,ac2(b,c)),x0) -> AC1(b,f(ac2(a,c))) AC1(ac1(a,ac2(b,c)),x0) -> AC2(a,c) AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Usable Equations: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> Usable Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [ac1](X1,X2) = X1 + X2 + 2 [ac2](X1,X2) = X1 + X2 + 2 [a] = 2 [b] = 2 [c] = 1 [f](X) = 2 [AC1](X1,X2) = X1 + X2 + 2 [AC2](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(ac1(a,ac2(b,c)),x0) -> AC2(a,c) AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: AC1(ac1(a,ac2(b,c)),x0) -> AC2(a,c) AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> FAxioms: ac1(ac1(x0,x1),x2) -> ac1(x0,ac1(x1,x2)) ac1(x0,x1) -> ac1(x1,x0) ac2(ac2(x0,x1),x2) -> ac2(x0,ac2(x1,x2)) ac2(x0,x1) -> ac2(x1,x0) AC1(ac1(x0,x1),x2) -> AC1(x0,ac1(x1,x2)) AC1(x0,x1) -> AC1(x1,x0) AC2(ac2(x0,x1),x2) -> AC2(x0,ac2(x1,x2)) AC2(x0,x1) -> AC2(x1,x0) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) ->->-> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) Problem 1: Reduction Pairs Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(ac1(a,ac2(b,c)),x0) -> AC2(a,c) AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Usable Equations: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> Usable Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [ac1](X1,X2) = X1 + X2 + 2 [ac2](X1,X2) = X1 + X2 + 2 [a] = 0 [b] = 2 [c] = 0 [f](X) = 2 [AC1](X1,X2) = 1 [AC2](X1,X2) = 2.X1 + 2.X2 Problem 1: SCC Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> FAxioms: ac1(ac1(x0,x1),x2) -> ac1(x0,ac1(x1,x2)) ac1(x0,x1) -> ac1(x1,x0) ac2(ac2(x0,x1),x2) -> ac2(x0,ac2(x1,x2)) ac2(x0,x1) -> ac2(x1,x0) AC1(ac1(x0,x1),x2) -> AC1(x0,ac1(x1,x2)) AC1(x0,x1) -> AC1(x1,x0) AC2(ac2(x0,x1),x2) -> AC2(x0,ac2(x1,x2)) AC2(x0,x1) -> AC2(x1,x0) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) ->->-> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) Problem 1: Reduction Pairs Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Usable Equations: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> Usable Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(ac1(x0,x1),x2) -> AC1(x0,x1) AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [ac1](X1,X2) = X1 + X2 + 2 [ac2](X1,X2) = X1 + X2 [a] = 2 [b] = 2 [c] = 0 [f](X) = 1 [AC1](X1,X2) = 2.X1 + 2.X2 + 1 [AC2](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> FAxioms: ac1(ac1(x0,x1),x2) -> ac1(x0,ac1(x1,x2)) ac1(x0,x1) -> ac1(x1,x0) ac2(ac2(x0,x1),x2) -> ac2(x0,ac2(x1,x2)) ac2(x0,x1) -> ac2(x1,x0) AC1(ac1(x0,x1),x2) -> AC1(x0,ac1(x1,x2)) AC1(x0,x1) -> AC1(x1,x0) AC2(ac2(x0,x1),x2) -> AC2(x0,ac2(x1,x2)) AC2(x0,x1) -> AC2(x1,x0) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) ->->-> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) Problem 1: Reduction Pairs Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(a,ac2(b,c)) -> AC1(b,f(ac2(a,c))) AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Usable Equations: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> Usable Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [ac1](X1,X2) = X1 + X2 [ac2](X1,X2) = X1 + X2 + 1 [a] = 2 [b] = 2 [c] = 2 [f](X) = 2 [AC1](X1,X2) = 2.X1 + 2.X2 + 1 [AC2](X1,X2) = 2.X1 + 2.X2 + 1 Problem 1: SCC Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> FAxioms: ac1(ac1(x0,x1),x2) -> ac1(x0,ac1(x1,x2)) ac1(x0,x1) -> ac1(x1,x0) ac2(ac2(x0,x1),x2) -> ac2(x0,ac2(x1,x2)) ac2(x0,x1) -> ac2(x1,x0) AC1(ac1(x0,x1),x2) -> AC1(x0,ac1(x1,x2)) AC1(x0,x1) -> AC1(x1,x0) AC2(ac2(x0,x1),x2) -> AC2(x0,ac2(x1,x2)) AC2(x0,x1) -> AC2(x1,x0) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) ->->-> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) Problem 1: Reduction Pairs Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC1(a,ac2(b,c)) -> AC2(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Usable Equations: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> Usable Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [ac1](X1,X2) = X1 + X2 + 2 [ac2](X1,X2) = X1 + X2 + 1 [a] = 2 [b] = 2 [c] = 1 [f](X) = 2 [AC1](X1,X2) = 2.X1 + 2.X2 + 1 [AC2](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> FAxioms: AC1(ac1(x0,x1),x2) = AC1(x0,ac1(x1,x2)) AC1(x0,x1) = AC1(x1,x0) AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC2(ac2(a,ac1(b,c)),x0) -> AC1(a,c) AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC1(a,c) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC1(x0,ac1(x1,x2)) -> AC1(x1,x2) AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> FAxioms: ac1(ac1(x0,x1),x2) -> ac1(x0,ac1(x1,x2)) ac1(x0,x1) -> ac1(x1,x0) ac2(ac2(x0,x1),x2) -> ac2(x0,ac2(x1,x2)) ac2(x0,x1) -> ac2(x1,x0) AC2(ac2(x0,x1),x2) -> AC2(x0,ac2(x1,x2)) AC2(x0,x1) -> AC2(x1,x0) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) ->->-> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) Problem 1: Reduction Pairs Processor: -> FAxioms: AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC2(ac2(a,ac1(b,c)),x0) -> AC2(ac2(b,f(ac1(a,c))),x0) AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Usable Equations: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> Usable Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [ac1](X1,X2) = 0 [ac2](X1,X2) = X1 + X2 + 1 [a] = 2 [b] = 0 [c] = 0 [f](X) = 0 [AC1](X1,X2) = 0 [AC2](X1,X2) = 2.X1 + 2.X2 Problem 1: SCC Processor: -> FAxioms: AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> FAxioms: ac1(ac1(x0,x1),x2) -> ac1(x0,ac1(x1,x2)) ac1(x0,x1) -> ac1(x1,x0) ac2(ac2(x0,x1),x2) -> ac2(x0,ac2(x1,x2)) ac2(x0,x1) -> ac2(x1,x0) AC2(ac2(x0,x1),x2) -> AC2(x0,ac2(x1,x2)) AC2(x0,x1) -> AC2(x1,x0) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) ->->-> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) Problem 1: Reduction Pairs Processor: -> FAxioms: AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC2(ac2(a,ac1(b,c)),x0) -> AC2(b,f(ac1(a,c))) AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Usable Equations: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> Usable Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [ac1](X1,X2) = X1 + X2 + 2 [ac2](X1,X2) = X1 + X2 + 1 [a] = 0 [b] = 1 [c] = 2 [f](X) = 2 [AC1](X1,X2) = 0 [AC2](X1,X2) = 2.X1 + 2.X2 Problem 1: SCC Processor: -> FAxioms: AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> FAxioms: ac1(ac1(x0,x1),x2) -> ac1(x0,ac1(x1,x2)) ac1(x0,x1) -> ac1(x1,x0) ac2(ac2(x0,x1),x2) -> ac2(x0,ac2(x1,x2)) ac2(x0,x1) -> ac2(x1,x0) AC2(ac2(x0,x1),x2) -> AC2(x0,ac2(x1,x2)) AC2(x0,x1) -> AC2(x1,x0) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) ->->-> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) Problem 1: Reduction Pairs Processor: -> FAxioms: AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Usable Equations: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> Usable Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC2(ac2(x0,x1),x2) -> AC2(x0,x1) AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [ac1](X1,X2) = 1 [ac2](X1,X2) = X1 + X2 + 2 [a] = 1 [b] = 0 [c] = 0 [f](X) = 2.X [AC1](X1,X2) = 0 [AC2](X1,X2) = 2.X1 + 2.X2 Problem 1: SCC Processor: -> FAxioms: AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> FAxioms: ac1(ac1(x0,x1),x2) -> ac1(x0,ac1(x1,x2)) ac1(x0,x1) -> ac1(x1,x0) ac2(ac2(x0,x1),x2) -> ac2(x0,ac2(x1,x2)) ac2(x0,x1) -> ac2(x1,x0) AC2(ac2(x0,x1),x2) -> AC2(x0,ac2(x1,x2)) AC2(x0,x1) -> AC2(x1,x0) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) ->->-> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) Problem 1: Reduction Pairs Processor: -> FAxioms: AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: AC2(a,ac1(b,c)) -> AC2(b,f(ac1(a,c))) -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Usable Equations: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> Usable Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [ac1](X1,X2) = 0 [ac2](X1,X2) = X1 + X2 + 1 [a] = 2 [b] = 0 [c] = 0 [f](X) = 2.X + 1 [AC1](X1,X2) = 0 [AC2](X1,X2) = 2.X1 + 2.X2 Problem 1: SCC Processor: -> FAxioms: AC2(ac2(x0,x1),x2) = AC2(x0,ac2(x1,x2)) AC2(x0,x1) = AC2(x1,x0) -> Pairs: Empty -> EAxioms: ac1(ac1(x0,x1),x2) = ac1(x0,ac1(x1,x2)) ac1(x0,x1) = ac1(x1,x0) ac2(ac2(x0,x1),x2) = ac2(x0,ac2(x1,x2)) ac2(x0,x1) = ac2(x1,x0) -> Rules: ac1(a,ac2(b,c)) -> ac1(b,f(ac2(a,c))) ac2(a,ac1(b,c)) -> ac2(b,f(ac1(a,c))) -> SRules: AC2(x0,ac2(x1,x2)) -> AC2(x1,x2) ->Strongly Connected Components: There is no strongly connected component The problem is finite.