/export/starexec/sandbox2/solver/bin/starexec_run_default /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR x y) (RULES if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ) Problem 1: Innermost Equivalent Processor: -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) -> The term rewriting system is non-overlaping or locally confluent overlay system. Therefore, innermost termination implies termination. Problem 1: Dependency Pairs Processor: -> Pairs: IF_QUOT(true,x,y) -> MINUS(x,y) IF_QUOT(true,x,y) -> QUOT(minus(x,y),y) LE(s(x),s(y)) -> LE(x,y) MINUS(s(x),s(y)) -> MINUS(x,y) QUOT(x,s(y)) -> IF_QUOT(le(s(y),x),x,s(y)) QUOT(x,s(y)) -> LE(s(y),x) -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) Problem 1: SCC Processor: -> Pairs: IF_QUOT(true,x,y) -> MINUS(x,y) IF_QUOT(true,x,y) -> QUOT(minus(x,y),y) LE(s(x),s(y)) -> LE(x,y) MINUS(s(x),s(y)) -> MINUS(x,y) QUOT(x,s(y)) -> IF_QUOT(le(s(y),x),x,s(y)) QUOT(x,s(y)) -> LE(s(y),x) -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MINUS(s(x),s(y)) -> MINUS(x,y) ->->-> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ->->Cycle: ->->-> Pairs: LE(s(x),s(y)) -> LE(x,y) ->->-> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ->->Cycle: ->->-> Pairs: IF_QUOT(true,x,y) -> QUOT(minus(x,y),y) QUOT(x,s(y)) -> IF_QUOT(le(s(y),x),x,s(y)) ->->-> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) The problem is decomposed in 3 subproblems. Problem 1.1: Subterm Processor: -> Pairs: MINUS(s(x),s(y)) -> MINUS(x,y) -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ->Projection: pi(MINUS) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: LE(s(x),s(y)) -> LE(x,y) -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ->Projection: pi(LE) = 1 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Narrowing Processor: -> Pairs: IF_QUOT(true,x,y) -> QUOT(minus(x,y),y) QUOT(x,s(y)) -> IF_QUOT(le(s(y),x),x,s(y)) -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ->Narrowed Pairs: ->->Original Pair: QUOT(x,s(y)) -> IF_QUOT(le(s(y),x),x,s(y)) ->-> Narrowed pairs: QUOT(0,s(x)) -> IF_QUOT(false,0,s(x)) QUOT(s(y),s(x)) -> IF_QUOT(le(x,y),s(y),s(x)) Problem 1.3: SCC Processor: -> Pairs: IF_QUOT(true,x,y) -> QUOT(minus(x,y),y) QUOT(0,s(x)) -> IF_QUOT(false,0,s(x)) QUOT(s(y),s(x)) -> IF_QUOT(le(x,y),s(y),s(x)) -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: IF_QUOT(true,x,y) -> QUOT(minus(x,y),y) QUOT(s(y),s(x)) -> IF_QUOT(le(x,y),s(y),s(x)) ->->-> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) Problem 1.3: Narrowing Processor: -> Pairs: IF_QUOT(true,x,y) -> QUOT(minus(x,y),y) QUOT(s(y),s(x)) -> IF_QUOT(le(x,y),s(y),s(x)) -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ->Narrowed Pairs: ->->Original Pair: IF_QUOT(true,x,y) -> QUOT(minus(x,y),y) ->-> Narrowed pairs: IF_QUOT(true,s(x),s(y)) -> QUOT(minus(x,y),s(y)) IF_QUOT(true,x,0) -> QUOT(x,0) ->->Original Pair: QUOT(s(y),s(x)) -> IF_QUOT(le(x,y),s(y),s(x)) ->-> Narrowed pairs: QUOT(s(0),s(s(x))) -> IF_QUOT(false,s(0),s(s(x))) QUOT(s(s(y)),s(s(x))) -> IF_QUOT(le(x,y),s(s(y)),s(s(x))) QUOT(s(y),s(0)) -> IF_QUOT(true,s(y),s(0)) Problem 1.3: SCC Processor: -> Pairs: IF_QUOT(true,s(x),s(y)) -> QUOT(minus(x,y),s(y)) IF_QUOT(true,x,0) -> QUOT(x,0) QUOT(s(0),s(s(x))) -> IF_QUOT(false,s(0),s(s(x))) QUOT(s(s(y)),s(s(x))) -> IF_QUOT(le(x,y),s(s(y)),s(s(x))) QUOT(s(y),s(0)) -> IF_QUOT(true,s(y),s(0)) -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: IF_QUOT(true,s(x),s(y)) -> QUOT(minus(x,y),s(y)) QUOT(s(s(y)),s(s(x))) -> IF_QUOT(le(x,y),s(s(y)),s(s(x))) QUOT(s(y),s(0)) -> IF_QUOT(true,s(y),s(0)) ->->-> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) Problem 1.3: Reduction Pairs Processor: -> Pairs: IF_QUOT(true,s(x),s(y)) -> QUOT(minus(x,y),s(y)) QUOT(s(s(y)),s(s(x))) -> IF_QUOT(le(x,y),s(s(y)),s(s(x))) QUOT(s(y),s(0)) -> IF_QUOT(true,s(y),s(0)) -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) -> Usable rules: le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [le](X1,X2) = 0 [minus](X1,X2) = X1 [0] = 2 [false] = 0 [s](X) = X + 2 [true] = 0 [IF_QUOT](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [QUOT](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1.3: SCC Processor: -> Pairs: QUOT(s(s(y)),s(s(x))) -> IF_QUOT(le(x,y),s(s(y)),s(s(x))) QUOT(s(y),s(0)) -> IF_QUOT(true,s(y),s(0)) -> Rules: if_quot(false,x,y) -> 0 if_quot(true,x,y) -> s(quot(minus(x,y),y)) le(0,y) -> true le(s(x),0) -> false le(s(x),s(y)) -> le(x,y) minus(s(x),s(y)) -> minus(x,y) minus(x,0) -> x quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) ->Strongly Connected Components: There is no strongly connected component The problem is finite.