/export/starexec/sandbox2/solver/bin/starexec_run_default /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR n x y z) (RULES app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(nil) -> nil ) Problem 1: Innermost Equivalent Processor: -> Rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(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: APP(add(n,x),y) -> APP(x,y) IF(false,x,y,z) -> REVERSE(tail(x)) IF(false,x,y,z) -> SHUFF(reverse(tail(x)),z) IF(false,x,y,z) -> TAIL(x) REVERSE(add(n,x)) -> APP(reverse(x),add(n,nil)) REVERSE(add(n,x)) -> REVERSE(x) SHUFF(x,y) -> APP(y,add(head(x),nil)) SHUFF(x,y) -> HEAD(x) SHUFF(x,y) -> IF(null(x),x,y,app(y,add(head(x),nil))) SHUFF(x,y) -> NULL(x) SHUFFLE(x) -> SHUFF(x,nil) -> Rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(nil) -> nil Problem 1: SCC Processor: -> Pairs: APP(add(n,x),y) -> APP(x,y) IF(false,x,y,z) -> REVERSE(tail(x)) IF(false,x,y,z) -> SHUFF(reverse(tail(x)),z) IF(false,x,y,z) -> TAIL(x) REVERSE(add(n,x)) -> APP(reverse(x),add(n,nil)) REVERSE(add(n,x)) -> REVERSE(x) SHUFF(x,y) -> APP(y,add(head(x),nil)) SHUFF(x,y) -> HEAD(x) SHUFF(x,y) -> IF(null(x),x,y,app(y,add(head(x),nil))) SHUFF(x,y) -> NULL(x) SHUFFLE(x) -> SHUFF(x,nil) -> Rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(nil) -> nil ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: APP(add(n,x),y) -> APP(x,y) ->->-> Rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(nil) -> nil ->->Cycle: ->->-> Pairs: REVERSE(add(n,x)) -> REVERSE(x) ->->-> Rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(nil) -> nil ->->Cycle: ->->-> Pairs: IF(false,x,y,z) -> SHUFF(reverse(tail(x)),z) SHUFF(x,y) -> IF(null(x),x,y,app(y,add(head(x),nil))) ->->-> Rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(nil) -> nil The problem is decomposed in 3 subproblems. Problem 1.1: Subterm Processor: -> Pairs: APP(add(n,x),y) -> APP(x,y) -> Rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(nil) -> nil ->Projection: pi(APP) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(nil) -> nil ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: REVERSE(add(n,x)) -> REVERSE(x) -> Rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(nil) -> nil ->Projection: pi(REVERSE) = 1 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(nil) -> nil ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Reduction Pairs Processor: -> Pairs: IF(false,x,y,z) -> SHUFF(reverse(tail(x)),z) SHUFF(x,y) -> IF(null(x),x,y,app(y,add(head(x),nil))) -> Rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(nil) -> nil -> Usable rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil tail(add(n,x)) -> x tail(nil) -> nil ->Interpretation type: Simple mixed ->Coefficients: All rationals ->Dimension: 1 ->Bound: 2 ->Interpretation: [app](X1,X2) = 1/2.X1.X2 + X1 + X2 [head](X) = 2.X.X + 1/2 [null](X) = X [reverse](X) = X [tail](X) = 1/2.X + 1/2 [add](X1,X2) = X1.X2 + 2.X1 + 2.X2 + 2 [false] = 2 [nil] = 0 [true] = 0 [IF](X1,X2,X3,X4) = 1/2.X1 + 1/2.X2 + 1 [SHUFF](X1,X2) = X1 + 1 Problem 1.3: SCC Processor: -> Pairs: SHUFF(x,y) -> IF(null(x),x,y,app(y,add(head(x),nil))) -> Rules: app(add(n,x),y) -> add(n,app(x,y)) app(nil,y) -> y head(add(n,x)) -> n if(false,x,y,z) -> shuff(reverse(tail(x)),z) if(true,x,y,z) -> y null(add(n,x)) -> false null(nil) -> true reverse(add(n,x)) -> app(reverse(x),add(n,nil)) reverse(nil) -> nil shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil))) shuffle(x) -> shuff(x,nil) tail(add(n,x)) -> x tail(nil) -> nil ->Strongly Connected Components: There is no strongly connected component The problem is finite.