/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR q r x y) (RULES less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) ) Problem 1: Valid CTRS Processor: -> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) -> The system is a deterministic 3-CTRS. Problem 1: Dependency Pairs Processor: Conditional Termination Problem 1: -> Pairs: LESS(s(x),s(y)) -> LESS(x,y) MINUS(s(x),s(y)) -> MINUS(x,y) -> QPairs: Empty -> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) Conditional Termination Problem 2: -> Pairs: QUOTREM(s(x),s(y)) -> LESS(x,y) QUOTREM(s(x),s(y)) -> MINUS(x,y) | less(x,y) -> false QUOTREM(s(x),s(y)) -> QUOTREM(minus(x,y),s(y)) | less(x,y) -> false -> QPairs: LESS(s(x),s(y)) -> LESS(x,y) MINUS(s(x),s(y)) -> MINUS(x,y) -> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) The problem is decomposed in 2 subproblems. Problem 1.1: SCC Processor: -> Pairs: LESS(s(x),s(y)) -> LESS(x,y) MINUS(s(x),s(y)) -> MINUS(x,y) -> QPairs: Empty -> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(s(x),s(y)) -> MINUS(x,y) ->->-> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) ->->Cycle: ->->-> Pairs: LESS(s(x),s(y)) -> LESS(x,y) ->->-> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) The problem is decomposed in 2 subproblems. Problem 1.1.1: Conditional Subterm Processor: -> Pairs: MINUS(s(x),s(y)) -> MINUS(x,y) -> QPairs: Empty -> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) ->Projection: pi(MINUS) = 1 Problem 1.1.1: SCC Processor: -> Pairs: Empty -> QPairs: Empty -> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.1.2: Conditional Subterm Processor: -> Pairs: LESS(s(x),s(y)) -> LESS(x,y) -> QPairs: Empty -> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) ->Projection: pi(LESS) = 1 Problem 1.1.2: SCC Processor: -> Pairs: Empty -> QPairs: Empty -> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: SCC Processor: -> Pairs: QUOTREM(s(x),s(y)) -> LESS(x,y) QUOTREM(s(x),s(y)) -> MINUS(x,y) | less(x,y) -> false QUOTREM(s(x),s(y)) -> QUOTREM(minus(x,y),s(y)) | less(x,y) -> false -> QPairs: LESS(s(x),s(y)) -> LESS(x,y) MINUS(s(x),s(y)) -> MINUS(x,y) -> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: QUOTREM(s(x),s(y)) -> QUOTREM(minus(x,y),s(y)) | less(x,y) -> false ->->-> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) Problem 1.2: Reduction Triple Processor: -> Pairs: QUOTREM(s(x),s(y)) -> QUOTREM(minus(x,y),s(y)) | less(x,y) -> false -> QPairs: Empty -> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) -> Usable rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x ->Interpretation type: Linear ->Coefficients: Integer Numbers ->Dimension: 1 ->Convex Domain: D[(x_1)] = ((1+x_1 >= 0) /\ (-1+x_1 >= 0)) ->Interpretation: [delta] = 1 [less](x_1,x_2) = 1 [minus](x_1,x_2) = x_1 [0] = 1 [false] = 1 [s](x_1) = 1+x_1 [true] = 1 [QUOTREM](x_1,x_2) = x_1 Problem 1.2: SCC Processor: -> Pairs: Empty -> QPairs: Empty -> Rules: less(0,s(x)) -> true less(s(x),s(y)) -> less(x,y) less(x,0) -> false minus(0,s(y)) -> 0 minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quotrem(0,s(y)) -> pair(0,0) quotrem(s(x),s(y)) -> pair(0,s(x)) | less(x,y) -> true quotrem(s(x),s(y)) -> pair(s(q),r) | less(x,y) -> false, quotrem(minus(x,y),s(y)) -> pair(q,r) ->Strongly Connected Components: There is no strongly connected component The problem is finite.