/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 purge(.(x,y)) -> .(x,purge(remove(x,y))) purge(nil) -> nil remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,nil) -> nil ) Problem 1: Innermost Equivalent Processor: -> Rules: purge(.(x,y)) -> .(x,purge(remove(x,y))) purge(nil) -> nil remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,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: PURGE(.(x,y)) -> PURGE(remove(x,y)) PURGE(.(x,y)) -> REMOVE(x,y) REMOVE(x,.(y,z)) -> REMOVE(x,z) -> Rules: purge(.(x,y)) -> .(x,purge(remove(x,y))) purge(nil) -> nil remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,nil) -> nil Problem 1: SCC Processor: -> Pairs: PURGE(.(x,y)) -> PURGE(remove(x,y)) PURGE(.(x,y)) -> REMOVE(x,y) REMOVE(x,.(y,z)) -> REMOVE(x,z) -> Rules: purge(.(x,y)) -> .(x,purge(remove(x,y))) purge(nil) -> nil remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,nil) -> nil ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REMOVE(x,.(y,z)) -> REMOVE(x,z) ->->-> Rules: purge(.(x,y)) -> .(x,purge(remove(x,y))) purge(nil) -> nil remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,nil) -> nil ->->Cycle: ->->-> Pairs: PURGE(.(x,y)) -> PURGE(remove(x,y)) ->->-> Rules: purge(.(x,y)) -> .(x,purge(remove(x,y))) purge(nil) -> nil remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,nil) -> nil The problem is decomposed in 2 subproblems. Problem 1.1: Subterm Processor: -> Pairs: REMOVE(x,.(y,z)) -> REMOVE(x,z) -> Rules: purge(.(x,y)) -> .(x,purge(remove(x,y))) purge(nil) -> nil remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,nil) -> nil ->Projection: pi(REMOVE) = 2 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: purge(.(x,y)) -> .(x,purge(remove(x,y))) purge(nil) -> nil remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,nil) -> nil ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Reduction Pairs Processor: -> Pairs: PURGE(.(x,y)) -> PURGE(remove(x,y)) -> Rules: purge(.(x,y)) -> .(x,purge(remove(x,y))) purge(nil) -> nil remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,nil) -> nil -> Usable rules: remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,nil) -> nil ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [remove](X1,X2) = 2.X1 + 2.X2 [.](X1,X2) = 2.X1 + 2.X2 + 2 [=](X1,X2) = X1 + X2 [if](X1,X2,X3) = 2.X1 + 2 [nil] = 0 [PURGE](X) = X Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: purge(.(x,y)) -> .(x,purge(remove(x,y))) purge(nil) -> nil remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,nil) -> nil ->Strongly Connected Components: There is no strongly connected component The problem is finite.