/export/starexec/sandbox2/solver/bin/starexec_run_default /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR X Y) (RULES gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X ) Problem 1: Innermost Equivalent Processor: -> Rules: gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X -> The term rewriting system is non-overlaping or locally confluent overlay system. Therefore, innermost termination implies termination. Problem 1: Dependency Pairs Processor: -> Pairs: GCD(s(X),s(Y)) -> IF(le(Y,X),s(X),s(Y)) GCD(s(X),s(Y)) -> LE(Y,X) IF(false,s(X),s(Y)) -> GCD(minus(Y,X),s(X)) IF(false,s(X),s(Y)) -> MINUS(Y,X) IF(true,s(X),s(Y)) -> GCD(minus(X,Y),s(Y)) IF(true,s(X),s(Y)) -> MINUS(X,Y) LE(s(X),s(Y)) -> LE(X,Y) MINUS(X,s(Y)) -> MINUS(X,Y) MINUS(X,s(Y)) -> PRED(minus(X,Y)) -> Rules: gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X Problem 1: SCC Processor: -> Pairs: GCD(s(X),s(Y)) -> IF(le(Y,X),s(X),s(Y)) GCD(s(X),s(Y)) -> LE(Y,X) IF(false,s(X),s(Y)) -> GCD(minus(Y,X),s(X)) IF(false,s(X),s(Y)) -> MINUS(Y,X) IF(true,s(X),s(Y)) -> GCD(minus(X,Y),s(Y)) IF(true,s(X),s(Y)) -> MINUS(X,Y) LE(s(X),s(Y)) -> LE(X,Y) MINUS(X,s(Y)) -> MINUS(X,Y) MINUS(X,s(Y)) -> PRED(minus(X,Y)) -> Rules: gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(X,s(Y)) -> MINUS(X,Y) ->->-> Rules: gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X ->->Cycle: ->->-> Pairs: LE(s(X),s(Y)) -> LE(X,Y) ->->-> Rules: gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X ->->Cycle: ->->-> Pairs: GCD(s(X),s(Y)) -> IF(le(Y,X),s(X),s(Y)) IF(false,s(X),s(Y)) -> GCD(minus(Y,X),s(X)) IF(true,s(X),s(Y)) -> GCD(minus(X,Y),s(Y)) ->->-> Rules: gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X The problem is decomposed in 3 subproblems. Problem 1.1: Subterm Processor: -> Pairs: MINUS(X,s(Y)) -> MINUS(X,Y) -> Rules: gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X ->Projection: pi(MINUS) = 2 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: LE(s(X),s(Y)) -> LE(X,Y) -> Rules: gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X ->Projection: pi(LE) = 1 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Reduction Pairs Processor: -> Pairs: GCD(s(X),s(Y)) -> IF(le(Y,X),s(X),s(Y)) IF(false,s(X),s(Y)) -> GCD(minus(Y,X),s(X)) IF(true,s(X),s(Y)) -> GCD(minus(X,Y),s(Y)) -> Rules: gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X -> Usable rules: le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [le](X1,X2) = X2 [minus](X1,X2) = X1 [pred](X) = X [0] = 2 [false] = 1 [s](X) = 2.X + 2 [true] = 0 [GCD](X1,X2) = 2.X1 + X2 + 1 [IF](X1,X2,X3) = 2.X1 + X2 + X3 + 2 Problem 1.3: SCC Processor: -> Pairs: IF(false,s(X),s(Y)) -> GCD(minus(Y,X),s(X)) IF(true,s(X),s(Y)) -> GCD(minus(X,Y),s(Y)) -> Rules: gcd(0,Y) -> 0 gcd(s(X),0) -> s(X) gcd(s(X),s(Y)) -> if(le(Y,X),s(X),s(Y)) if(false,s(X),s(Y)) -> gcd(minus(Y,X),s(X)) if(true,s(X),s(Y)) -> gcd(minus(X,Y),s(Y)) le(0,Y) -> true le(s(X),0) -> false le(s(X),s(Y)) -> le(X,Y) minus(X,0) -> X minus(X,s(Y)) -> pred(minus(X,Y)) pred(s(X)) -> X ->Strongly Connected Components: There is no strongly connected component The problem is finite.