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