/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR x y z) (RULES greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil ) Problem 1: Innermost Equivalent Processor: -> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil -> The term rewriting system is non-overlaping or locally confluent overlay system. Therefore, innermost termination implies termination. Problem 1: Dependency Pairs Processor: -> Pairs: GREATERS(x,.(y,z)) -> GREATERS(x,z) LOWERS(x,.(y,z)) -> LOWERS(x,z) QSORT(.(x,y)) -> GREATERS(x,y) QSORT(.(x,y)) -> LOWERS(x,y) QSORT(.(x,y)) -> QSORT(greaters(x,y)) QSORT(.(x,y)) -> QSORT(lowers(x,y)) -> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil Problem 1: SCC Processor: -> Pairs: GREATERS(x,.(y,z)) -> GREATERS(x,z) LOWERS(x,.(y,z)) -> LOWERS(x,z) QSORT(.(x,y)) -> GREATERS(x,y) QSORT(.(x,y)) -> LOWERS(x,y) QSORT(.(x,y)) -> QSORT(greaters(x,y)) QSORT(.(x,y)) -> QSORT(lowers(x,y)) -> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: LOWERS(x,.(y,z)) -> LOWERS(x,z) ->->-> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil ->->Cycle: ->->-> Pairs: GREATERS(x,.(y,z)) -> GREATERS(x,z) ->->-> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil ->->Cycle: ->->-> Pairs: QSORT(.(x,y)) -> QSORT(greaters(x,y)) QSORT(.(x,y)) -> QSORT(lowers(x,y)) ->->-> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil The problem is decomposed in 3 subproblems. Problem 1.1: Subterm Processor: -> Pairs: LOWERS(x,.(y,z)) -> LOWERS(x,z) -> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil ->Projection: pi(LOWERS) = 2 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: GREATERS(x,.(y,z)) -> GREATERS(x,z) -> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil ->Projection: pi(GREATERS) = 2 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Reduction Pairs Processor: -> Pairs: QSORT(.(x,y)) -> QSORT(greaters(x,y)) QSORT(.(x,y)) -> QSORT(lowers(x,y)) -> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil -> Usable rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [greaters](X1,X2) = 2.X2 + 1 [lowers](X1,X2) = 2.X1 + 2 [.](X1,X2) = 2.X1 + 2.X2 + 2 [<=](X1,X2) = 0 [if](X1,X2,X3) = 2 [nil] = 2 [QSORT](X) = X Problem 1.3: SCC Processor: -> Pairs: QSORT(.(x,y)) -> QSORT(lowers(x,y)) -> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: QSORT(.(x,y)) -> QSORT(lowers(x,y)) ->->-> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil Problem 1.3: Reduction Pairs Processor: -> Pairs: QSORT(.(x,y)) -> QSORT(lowers(x,y)) -> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil -> Usable rules: lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [lowers](X1,X2) = X1 + 2.X2 [.](X1,X2) = 2.X1 + 2.X2 + 1 [<=](X1,X2) = 2.X1 [if](X1,X2,X3) = 2.X1 + X3 + 1 [nil] = 2 [QSORT](X) = 2.X Problem 1.3: SCC Processor: -> Pairs: Empty -> Rules: greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) greaters(x,nil) -> nil lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) lowers(x,nil) -> nil qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) qsort(nil) -> nil ->Strongly Connected Components: There is no strongly connected component The problem is finite.