YES Problem 1: (VAR v_NonEmpty:S x:S y:S) (RULES -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ) Problem 1: Innermost Equivalent Processor: -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 -> The term rewriting system is non-overlaping or locally confluent overlay system. Therefore, innermost termination implies termination. Problem 1: Dependency Pairs Processor: -> Pairs: -#(s(x:S),s(y:S)) -> -#(x:S,y:S) GCD(s(x:S),s(y:S)) -> -#(max(x:S,y:S),min(x:S,y:S)) GCD(s(x:S),s(y:S)) -> GCD(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) GCD(s(x:S),s(y:S)) -> MAX(x:S,y:S) GCD(s(x:S),s(y:S)) -> MIN(x:S,y:S) MAX(s(x:S),s(y:S)) -> MAX(x:S,y:S) MIN(s(x:S),s(y:S)) -> MIN(x:S,y:S) -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 Problem 1: SCC Processor: -> Pairs: -#(s(x:S),s(y:S)) -> -#(x:S,y:S) GCD(s(x:S),s(y:S)) -> -#(max(x:S,y:S),min(x:S,y:S)) GCD(s(x:S),s(y:S)) -> GCD(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) GCD(s(x:S),s(y:S)) -> MAX(x:S,y:S) GCD(s(x:S),s(y:S)) -> MIN(x:S,y:S) MAX(s(x:S),s(y:S)) -> MAX(x:S,y:S) MIN(s(x:S),s(y:S)) -> MIN(x:S,y:S) -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MIN(s(x:S),s(y:S)) -> MIN(x:S,y:S) ->->-> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ->->Cycle: ->->-> Pairs: MAX(s(x:S),s(y:S)) -> MAX(x:S,y:S) ->->-> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ->->Cycle: ->->-> Pairs: -#(s(x:S),s(y:S)) -> -#(x:S,y:S) ->->-> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ->->Cycle: ->->-> Pairs: GCD(s(x:S),s(y:S)) -> GCD(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) ->->-> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 The problem is decomposed in 4 subproblems. Problem 1.1: Subterm Processor: -> Pairs: MIN(s(x:S),s(y:S)) -> MIN(x:S,y:S) -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ->Projection: pi(MIN) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: MAX(s(x:S),s(y:S)) -> MAX(x:S,y:S) -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ->Projection: pi(MAX) = 1 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Subterm Processor: -> Pairs: -#(s(x:S),s(y:S)) -> -#(x:S,y:S) -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ->Projection: pi(-#) = 1 Problem 1.3: SCC Processor: -> Pairs: Empty -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.4: Reduction Pairs Processor: -> Pairs: GCD(s(x:S),s(y:S)) -> GCD(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 -> Usable rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [-](X1,X2) = X1 [gcd](X1,X2) = 0 [max](X1,X2) = X1 + X2 [min](X1,X2) = X1 [0] = 0 [fSNonEmpty] = 0 [s](X) = 2.X + 2 [-#](X1,X2) = 0 [GCD](X1,X2) = 2.X1 + X2 [MAX](X1,X2) = 0 [MIN](X1,X2) = 0 Problem 1.4: SCC Processor: -> Pairs: Empty -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,s(x:S)) -> s(x:S) gcd(s(x:S),0) -> s(x:S) gcd(s(x:S),s(y:S)) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S))) max(0,y:S) -> y:S max(s(x:S),s(y:S)) -> s(max(x:S,y:S)) max(x:S,0) -> x:S min(0,y:S) -> 0 min(s(x:S),s(y:S)) -> s(min(x:S,y:S)) min(x:S,0) -> 0 ->Strongly Connected Components: There is no strongly connected component The problem is finite.