YES Problem 1: (VAR v_NonEmpty:S x:S y:S) (RULES f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ) Problem 1: Dependency Pairs Processor: -> Pairs: F(minus(x:S)) -> F(x:S) F(minus(x:S)) -> MINUS(f(x:S)) F(minus(x:S)) -> MINUS(minus(f(x:S))) F(minus(x:S)) -> MINUS(minus(minus(f(x:S)))) MINUS(*(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(*(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(*(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) Problem 1: SCC Processor: -> Pairs: F(minus(x:S)) -> F(x:S) F(minus(x:S)) -> MINUS(f(x:S)) F(minus(x:S)) -> MINUS(minus(f(x:S))) F(minus(x:S)) -> MINUS(minus(minus(f(x:S)))) MINUS(*(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(*(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(*(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(*(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(*(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(*(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) ->->-> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->->Cycle: ->->-> Pairs: F(minus(x:S)) -> F(x:S) ->->-> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) The problem is decomposed in 2 subproblems. Problem 1.1: Reduction Pair Processor: -> Pairs: MINUS(*(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(*(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(*(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) -> Usable rules: minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [minus](X) = X [*](X1,X2) = X1 + 2.X2 + 2 [+](X1,X2) = X1 + 2.X2 + 2 [MINUS](X) = 2.X Problem 1.1: SCC Processor: -> Pairs: MINUS(*(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(*(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(*(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(*(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) ->->-> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) Problem 1.1: Reduction Pair Processor: -> Pairs: MINUS(*(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(*(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) -> Usable rules: minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [minus](X) = X [*](X1,X2) = 2.X1 + 2.X2 + 2 [+](X1,X2) = 2.X1 + 2.X2 + 2 [MINUS](X) = X Problem 1.1: SCC Processor: -> Pairs: MINUS(*(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(*(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) ->->-> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) Problem 1.1: Reduction Pair Processor: -> Pairs: MINUS(*(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) -> Usable rules: minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [minus](X) = X [*](X1,X2) = 2.X1 + 2.X2 + 1 [+](X1,X2) = 2.X1 + 2.X2 + 1 [MINUS](X) = 2.X Problem 1.1: SCC Processor: -> Pairs: MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) ->->-> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) Problem 1.1: Reduction Pair Processor: -> Pairs: MINUS(*(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) -> Usable rules: minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [minus](X) = X [*](X1,X2) = 2.X1 + 2.X2 + 2 [+](X1,X2) = 2.X1 + 2.X2 + 2 [MINUS](X) = 2.X Problem 1.1: SCC Processor: -> Pairs: MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) ->->-> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) Problem 1.1: Reduction Pair Processor: -> Pairs: MINUS(*(x:S,y:S)) -> MINUS(x:S) MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) -> Usable rules: minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [minus](X) = X [*](X1,X2) = 2.X1 + 2.X2 + 1 [+](X1,X2) = 2.X1 + 2.X2 + 1 [MINUS](X) = 2.X Problem 1.1: SCC Processor: -> Pairs: MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) ->->-> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) Problem 1.1: Reduction Pair Processor: -> Pairs: MINUS(*(x:S,y:S)) -> MINUS(y:S) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) -> Usable rules: minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [minus](X) = X [*](X1,X2) = X1 + 2.X2 + 2 [+](X1,X2) = X1 + 2.X2 + 2 [MINUS](X) = 2.X Problem 1.1: SCC Processor: -> Pairs: MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) ->->-> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) Problem 1.1: Reduction Pair Processor: -> Pairs: MINUS(+(x:S,y:S)) -> MINUS(minus(minus(x:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) -> Usable rules: minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [minus](X) = X [*](X1,X2) = X1 + 2.X2 + 2 [+](X1,X2) = X1 + 2.X2 + 2 [MINUS](X) = X Problem 1.1: SCC Processor: -> Pairs: MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) ->->-> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) Problem 1.1: Reduction Pair Processor: -> Pairs: MINUS(+(x:S,y:S)) -> MINUS(minus(minus(y:S))) MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) -> Usable rules: minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [minus](X) = X [*](X1,X2) = 2.X1 + 2.X2 + 2 [+](X1,X2) = 2.X1 + 2.X2 + 2 [MINUS](X) = 2.X Problem 1.1: SCC Processor: -> Pairs: MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) ->->-> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) Problem 1.1: Reduction Pair Processor: -> Pairs: MINUS(+(x:S,y:S)) -> MINUS(minus(x:S)) MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) -> Usable rules: minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [minus](X) = X [*](X1,X2) = 2.X1 + 2.X2 + 2 [+](X1,X2) = 2.X1 + 2.X2 + 2 [MINUS](X) = 2.X Problem 1.1: SCC Processor: -> Pairs: MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) ->->-> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) Problem 1.1: Reduction Pair Processor: -> Pairs: MINUS(+(x:S,y:S)) -> MINUS(minus(y:S)) MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) -> Usable rules: minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [minus](X) = X [*](X1,X2) = 2.X1 + 2.X2 + 2 [+](X1,X2) = 2.X1 + 2.X2 + 2 [MINUS](X) = 2.X Problem 1.1: SCC Processor: -> Pairs: MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) ->->-> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) Problem 1.1: Subterm Processor: -> Pairs: MINUS(+(x:S,y:S)) -> MINUS(x:S) MINUS(+(x:S,y:S)) -> MINUS(y:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Projection: pi(MINUS) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: F(minus(x:S)) -> F(x:S) -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Projection: pi(F) = 1 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: f(minus(x:S)) -> minus(minus(minus(f(x:S)))) minus(minus(x:S)) -> x:S minus(*(x:S,y:S)) -> +(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) minus(+(x:S,y:S)) -> *(minus(minus(minus(x:S))),minus(minus(minus(y:S)))) ->Strongly Connected Components: There is no strongly connected component The problem is finite.