/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR v_NonEmpty:S x:S y:S z:S) (RULES -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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: Dependency Pairs Processor: -> Pairs: -#(s(x:S),s(y:S)) -> -#(x:S,y:S) GCD(s(x:S),s(y:S),z:S) -> -#(max(x:S,y:S),min(x:S,y:S)) GCD(s(x:S),s(y:S),z:S) -> GCD(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) GCD(s(x:S),s(y:S),z:S) -> MAX(x:S,y:S) GCD(s(x:S),s(y:S),z:S) -> MIN(x:S,y:S) GCD(s(x:S),y:S,s(z:S)) -> -#(max(x:S,z:S),min(x:S,z:S)) GCD(s(x:S),y:S,s(z:S)) -> GCD(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) GCD(s(x:S),y:S,s(z:S)) -> MAX(x:S,z:S) GCD(s(x:S),y:S,s(z:S)) -> MIN(x:S,z:S) GCD(x:S,s(y:S),s(z:S)) -> -#(max(y:S,z:S),min(y:S,z:S)) GCD(x:S,s(y:S),s(z:S)) -> GCD(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z:S))) GCD(x:S,s(y:S),s(z:S)) -> MAX(y:S,z:S) GCD(x:S,s(y:S),s(z:S)) -> MIN(y:S,z: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,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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),z:S) -> -#(max(x:S,y:S),min(x:S,y:S)) GCD(s(x:S),s(y:S),z:S) -> GCD(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) GCD(s(x:S),s(y:S),z:S) -> MAX(x:S,y:S) GCD(s(x:S),s(y:S),z:S) -> MIN(x:S,y:S) GCD(s(x:S),y:S,s(z:S)) -> -#(max(x:S,z:S),min(x:S,z:S)) GCD(s(x:S),y:S,s(z:S)) -> GCD(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) GCD(s(x:S),y:S,s(z:S)) -> MAX(x:S,z:S) GCD(s(x:S),y:S,s(z:S)) -> MIN(x:S,z:S) GCD(x:S,s(y:S),s(z:S)) -> -#(max(y:S,z:S),min(y:S,z:S)) GCD(x:S,s(y:S),s(z:S)) -> GCD(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z:S))) GCD(x:S,s(y:S),s(z:S)) -> MAX(y:S,z:S) GCD(x:S,s(y:S),s(z:S)) -> MIN(y:S,z: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,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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),z:S) -> GCD(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) GCD(s(x:S),y:S,s(z:S)) -> GCD(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) GCD(x:S,s(y:S),s(z:S)) -> GCD(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z:S))) ->->-> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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 Pair Processor: -> Pairs: GCD(s(x:S),s(y:S),z:S) -> GCD(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) GCD(s(x:S),y:S,s(z:S)) -> GCD(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) GCD(x:S,s(y:S),s(z:S)) -> GCD(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z:S))) -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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: All rationals ->Dimension: 1 ->Bound: 2 ->Interpretation: [-](X1,X2) = X1 + 1/2 [max](X1,X2) = X1 + X2 + 1 [min](X1,X2) = 1/2.X1 + 1/2.X2 [0] = 0 [s](X) = 2.X + 2 [GCD](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 Problem 1.4: SCC Processor: -> Pairs: GCD(s(x:S),y:S,s(z:S)) -> GCD(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) GCD(x:S,s(y:S),s(z:S)) -> GCD(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z:S))) -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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: GCD(s(x:S),y:S,s(z:S)) -> GCD(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) GCD(x:S,s(y:S),s(z:S)) -> GCD(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z:S))) ->->-> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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.4: Reduction Pair Processor: -> Pairs: GCD(s(x:S),y:S,s(z:S)) -> GCD(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) GCD(x:S,s(y:S),s(z:S)) -> GCD(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z:S))) -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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 + 1 [max](X1,X2) = X1 + X2 [min](X1,X2) = X1 [0] = 0 [s](X) = 2.X + 2 [GCD](X1,X2,X3) = 2.X1 + 2.X2 + X3 Problem 1.4: SCC Processor: -> Pairs: GCD(x:S,s(y:S),s(z:S)) -> GCD(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z:S))) -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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: GCD(x:S,s(y:S),s(z:S)) -> GCD(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z:S))) ->->-> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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.4: Reduction Pair Processor: -> Pairs: GCD(x:S,s(y:S),s(z:S)) -> GCD(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z:S))) -> Rules: -(s(x:S),s(y:S)) -> -(x:S,y:S) -(x:S,0) -> x:S gcd(0,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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 [max](X1,X2) = X1 + X2 [min](X1,X2) = X1 [0] = 0 [s](X) = 2.X + 2 [GCD](X1,X2,X3) = 2.X2 + X3 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,0,z:S) -> z:S gcd(0,y:S,0) -> y:S gcd(s(x:S),s(y:S),z:S) -> gcd(-(max(x:S,y:S),min(x:S,y:S)),s(min(x:S,y:S)),z:S) gcd(s(x:S),y:S,s(z:S)) -> gcd(-(max(x:S,z:S),min(x:S,z:S)),y:S,s(min(x:S,z:S))) gcd(x:S,0,0) -> x:S gcd(x:S,s(y:S),s(z:S)) -> gcd(x:S,-(max(y:S,z:S),min(y:S,z:S)),s(min(y:S,z: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.