/export/starexec/sandbox2/solver/bin/starexec_run_default /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR v_NonEmpty:S u:S v:S x:S y:S z:S) (RULES ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S ) Problem 1: Innermost Equivalent Processor: -> Rules: ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S -> The term rewriting system is non-overlaping or locally confluent overlay system. Therefore, innermost termination implies termination. Problem 1: Dependency Pairs Processor: -> Pairs: ++#(.(x:S,y:S),z:S) -> ++#(y:S,z:S) MERGE(.(x:S,y:S),.(u:S,v:S)) -> IF(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) MERGE(.(x:S,y:S),.(u:S,v:S)) -> MERGE(.(x:S,y:S),v:S) MERGE(.(x:S,y:S),.(u:S,v:S)) -> MERGE(y:S,.(u:S,v:S)) -> Rules: ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S Problem 1: SCC Processor: -> Pairs: ++#(.(x:S,y:S),z:S) -> ++#(y:S,z:S) MERGE(.(x:S,y:S),.(u:S,v:S)) -> IF(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) MERGE(.(x:S,y:S),.(u:S,v:S)) -> MERGE(.(x:S,y:S),v:S) MERGE(.(x:S,y:S),.(u:S,v:S)) -> MERGE(y:S,.(u:S,v:S)) -> Rules: ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MERGE(.(x:S,y:S),.(u:S,v:S)) -> MERGE(.(x:S,y:S),v:S) MERGE(.(x:S,y:S),.(u:S,v:S)) -> MERGE(y:S,.(u:S,v:S)) ->->-> Rules: ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S ->->Cycle: ->->-> Pairs: ++#(.(x:S,y:S),z:S) -> ++#(y:S,z:S) ->->-> Rules: ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S The problem is decomposed in 2 subproblems. Problem 1.1: Subterm Processor: -> Pairs: MERGE(.(x:S,y:S),.(u:S,v:S)) -> MERGE(.(x:S,y:S),v:S) MERGE(.(x:S,y:S),.(u:S,v:S)) -> MERGE(y:S,.(u:S,v:S)) -> Rules: ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S ->Projection: pi(MERGE) = 1 Problem 1.1: SCC Processor: -> Pairs: MERGE(.(x:S,y:S),.(u:S,v:S)) -> MERGE(.(x:S,y:S),v:S) -> Rules: ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MERGE(.(x:S,y:S),.(u:S,v:S)) -> MERGE(.(x:S,y:S),v:S) ->->-> Rules: ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S Problem 1.1: Subterm Processor: -> Pairs: MERGE(.(x:S,y:S),.(u:S,v:S)) -> MERGE(.(x:S,y:S),v:S) -> Rules: ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S ->Projection: pi(MERGE) = 2 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: ++#(.(x:S,y:S),z:S) -> ++#(y:S,z:S) -> Rules: ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S ->Projection: pi(++#) = 1 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: ++(.(x:S,y:S),z:S) -> .(x:S,++(y:S,z:S)) ++(nil,y:S) -> y:S if(ffalse,x:S,y:S) -> x:S if(ttrue,x:S,y:S) -> x:S merge(.(x:S,y:S),.(u:S,v:S)) -> if(<(x:S,u:S),.(x:S,merge(y:S,.(u:S,v:S))),.(u:S,merge(.(x:S,y:S),v:S))) merge(nil,y:S) -> y:S merge(x:S,nil) -> x:S ->Strongly Connected Components: There is no strongly connected component The problem is finite.