WORST_CASE(Omega(n^1),O(n^2)) * Step 1: Sum WORST_CASE(Omega(n^1),O(n^2)) + Considered Problem: - Strict TRS: -(x,0()) -> x -(0(),s(y)) -> 0() -(s(x),s(y)) -> -(x,y) div(x,0()) -> 0() div(0(),y) -> 0() div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y)))) if(false(),x,y) -> y if(true(),x,y) -> x lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) - Signature: {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () ** Step 1.a:1: DecreasingLoops WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: -(x,0()) -> x -(0(),s(y)) -> 0() -(s(x),s(y)) -> -(x,y) div(x,0()) -> 0() div(0(),y) -> 0() div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y)))) if(false(),x,y) -> y if(true(),x,y) -> x lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) - Signature: {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true} + Applied Processor: DecreasingLoops {bound = AnyLoop, narrow = 10} + Details: The system has following decreasing Loops: -(x,y){x -> s(x),y -> s(y)} = -(s(x),s(y)) ->^+ -(x,y) = C[-(x,y) = -(x,y){}] ** Step 1.b:1: NaturalPI WORST_CASE(?,O(n^2)) + Considered Problem: - Strict TRS: -(x,0()) -> x -(0(),s(y)) -> 0() -(s(x),s(y)) -> -(x,y) div(x,0()) -> 0() div(0(),y) -> 0() div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y)))) if(false(),x,y) -> y if(true(),x,y) -> x lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) - Signature: {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true} + Applied Processor: NaturalPI {shape = Linear, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(linear): The following argument positions are considered usable: uargs(div) = {1}, uargs(if) = {1,3}, uargs(s) = {1} Following symbols are considered usable: {-,div,if,lt} TcT has computed the following interpretation: p(-) = x1 p(0) = 0 p(div) = 2*x1 + x2 p(false) = 0 p(if) = 2 + x1 + x2 + x3 p(lt) = 0 p(s) = 2 + x1 p(true) = 0 Following rules are strictly oriented: -(s(x),s(y)) = 2 + x > x = -(x,y) if(false(),x,y) = 2 + x + y > y = y if(true(),x,y) = 2 + x + y > x = x Following rules are (at-least) weakly oriented: -(x,0()) = x >= x = x -(0(),s(y)) = 0 >= 0 = 0() div(x,0()) = 2*x >= 0 = 0() div(0(),y) = y >= 0 = 0() div(s(x),s(y)) = 6 + 2*x + y >= 6 + 2*x + y = if(lt(x,y),0(),s(div(-(x,y),s(y)))) lt(x,0()) = 0 >= 0 = false() lt(0(),s(y)) = 0 >= 0 = true() lt(s(x),s(y)) = 0 >= 0 = lt(x,y) ** Step 1.b:2: NaturalPI WORST_CASE(?,O(n^2)) + Considered Problem: - Strict TRS: -(x,0()) -> x -(0(),s(y)) -> 0() div(x,0()) -> 0() div(0(),y) -> 0() div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y)))) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) - Weak TRS: -(s(x),s(y)) -> -(x,y) if(false(),x,y) -> y if(true(),x,y) -> x - Signature: {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true} + Applied Processor: NaturalPI {shape = Linear, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(linear): The following argument positions are considered usable: uargs(div) = {1}, uargs(if) = {1,3}, uargs(s) = {1} Following symbols are considered usable: {-,div,if,lt} TcT has computed the following interpretation: p(-) = x1 p(0) = 0 p(div) = 2 + x1 p(false) = 0 p(if) = 2*x1 + x2 + x3 p(lt) = 0 p(s) = 2 + x1 p(true) = 0 Following rules are strictly oriented: div(x,0()) = 2 + x > 0 = 0() div(0(),y) = 2 > 0 = 0() Following rules are (at-least) weakly oriented: -(x,0()) = x >= x = x -(0(),s(y)) = 0 >= 0 = 0() -(s(x),s(y)) = 2 + x >= x = -(x,y) div(s(x),s(y)) = 4 + x >= 4 + x = if(lt(x,y),0(),s(div(-(x,y),s(y)))) if(false(),x,y) = x + y >= y = y if(true(),x,y) = x + y >= x = x lt(x,0()) = 0 >= 0 = false() lt(0(),s(y)) = 0 >= 0 = true() lt(s(x),s(y)) = 0 >= 0 = lt(x,y) ** Step 1.b:3: NaturalPI WORST_CASE(?,O(n^2)) + Considered Problem: - Strict TRS: -(x,0()) -> x -(0(),s(y)) -> 0() div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y)))) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) - Weak TRS: -(s(x),s(y)) -> -(x,y) div(x,0()) -> 0() div(0(),y) -> 0() if(false(),x,y) -> y if(true(),x,y) -> x - Signature: {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true} + Applied Processor: NaturalPI {shape = Linear, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(linear): The following argument positions are considered usable: uargs(div) = {1}, uargs(if) = {1,3}, uargs(s) = {1} Following symbols are considered usable: {-,div,if,lt} TcT has computed the following interpretation: p(-) = x1 p(0) = 0 p(div) = 3 + 2*x1 + 9*x2 p(false) = 0 p(if) = 4*x1 + 4*x2 + x3 p(lt) = 0 p(s) = 2 + x1 p(true) = 0 Following rules are strictly oriented: div(s(x),s(y)) = 25 + 2*x + 9*y > 23 + 2*x + 9*y = if(lt(x,y),0(),s(div(-(x,y),s(y)))) Following rules are (at-least) weakly oriented: -(x,0()) = x >= x = x -(0(),s(y)) = 0 >= 0 = 0() -(s(x),s(y)) = 2 + x >= x = -(x,y) div(x,0()) = 3 + 2*x >= 0 = 0() div(0(),y) = 3 + 9*y >= 0 = 0() if(false(),x,y) = 4*x + y >= y = y if(true(),x,y) = 4*x + y >= x = x lt(x,0()) = 0 >= 0 = false() lt(0(),s(y)) = 0 >= 0 = true() lt(s(x),s(y)) = 0 >= 0 = lt(x,y) ** Step 1.b:4: NaturalPI WORST_CASE(?,O(n^2)) + Considered Problem: - Strict TRS: -(x,0()) -> x -(0(),s(y)) -> 0() lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) - Weak TRS: -(s(x),s(y)) -> -(x,y) div(x,0()) -> 0() div(0(),y) -> 0() div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y)))) if(false(),x,y) -> y if(true(),x,y) -> x - Signature: {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true} + Applied Processor: NaturalPI {shape = Linear, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(linear): The following argument positions are considered usable: uargs(div) = {1}, uargs(if) = {1,3}, uargs(s) = {1} Following symbols are considered usable: {-,div,if,lt} TcT has computed the following interpretation: p(-) = x1 p(0) = 0 p(div) = 8 + 8*x1 + 10*x2 p(false) = 0 p(if) = 1 + 4*x1 + 8*x2 + x3 p(lt) = 1 p(s) = 1 + x1 p(true) = 0 Following rules are strictly oriented: lt(x,0()) = 1 > 0 = false() lt(0(),s(y)) = 1 > 0 = true() Following rules are (at-least) weakly oriented: -(x,0()) = x >= x = x -(0(),s(y)) = 0 >= 0 = 0() -(s(x),s(y)) = 1 + x >= x = -(x,y) div(x,0()) = 8 + 8*x >= 0 = 0() div(0(),y) = 8 + 10*y >= 0 = 0() div(s(x),s(y)) = 26 + 8*x + 10*y >= 24 + 8*x + 10*y = if(lt(x,y),0(),s(div(-(x,y),s(y)))) if(false(),x,y) = 1 + 8*x + y >= y = y if(true(),x,y) = 1 + 8*x + y >= x = x lt(s(x),s(y)) = 1 >= 1 = lt(x,y) ** Step 1.b:5: NaturalPI WORST_CASE(?,O(n^2)) + Considered Problem: - Strict TRS: -(x,0()) -> x -(0(),s(y)) -> 0() lt(s(x),s(y)) -> lt(x,y) - Weak TRS: -(s(x),s(y)) -> -(x,y) div(x,0()) -> 0() div(0(),y) -> 0() div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y)))) if(false(),x,y) -> y if(true(),x,y) -> x lt(x,0()) -> false() lt(0(),s(y)) -> true() - Signature: {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true} + Applied Processor: NaturalPI {shape = Linear, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(linear): The following argument positions are considered usable: uargs(div) = {1}, uargs(if) = {1,3}, uargs(s) = {1} Following symbols are considered usable: {-,div,if,lt} TcT has computed the following interpretation: p(-) = 1 + x1 p(0) = 0 p(div) = 4 + 3*x1 p(false) = 0 p(if) = 4 + 8*x1 + 8*x2 + x3 p(lt) = 1 p(s) = 9 + x1 p(true) = 1 Following rules are strictly oriented: -(x,0()) = 1 + x > x = x -(0(),s(y)) = 1 > 0 = 0() Following rules are (at-least) weakly oriented: -(s(x),s(y)) = 10 + x >= 1 + x = -(x,y) div(x,0()) = 4 + 3*x >= 0 = 0() div(0(),y) = 4 >= 0 = 0() div(s(x),s(y)) = 31 + 3*x >= 28 + 3*x = if(lt(x,y),0(),s(div(-(x,y),s(y)))) if(false(),x,y) = 4 + 8*x + y >= y = y if(true(),x,y) = 12 + 8*x + y >= x = x lt(x,0()) = 1 >= 0 = false() lt(0(),s(y)) = 1 >= 1 = true() lt(s(x),s(y)) = 1 >= 1 = lt(x,y) ** Step 1.b:6: Ara WORST_CASE(?,O(n^2)) + Considered Problem: - Strict TRS: lt(s(x),s(y)) -> lt(x,y) - Weak TRS: -(x,0()) -> x -(0(),s(y)) -> 0() -(s(x),s(y)) -> -(x,y) div(x,0()) -> 0() div(0(),y) -> 0() div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y)))) if(false(),x,y) -> y if(true(),x,y) -> x lt(x,0()) -> false() lt(0(),s(y)) -> true() - Signature: {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true} + Applied Processor: Ara {araHeuristics = Heuristics, minDegree = 2, maxDegree = 2, araTimeout = 3, araRuleShifting = Nothing} + Details: Signatures used: ---------------- - :: ["A"(1, 1) x "A"(0, 0)] -(0)-> "A"(1, 1) 0 :: [] -(0)-> "A"(0, 0) 0 :: [] -(0)-> "A"(1, 1) 0 :: [] -(0)-> "A"(1, 0) div :: ["A"(1, 1) x "A"(0, 0)] -(0)-> "A"(0, 0) false :: [] -(0)-> "A"(0, 0) if :: ["A"(0, 0) x "A"(0, 0) x "A"(0, 0)] -(0)-> "A"(0, 0) lt :: ["A"(1, 0) x "A"(0, 0)] -(0)-> "A"(0, 0) s :: ["A"(1, 0)] -(1)-> "A"(1, 0) s :: ["A"(0, 0)] -(0)-> "A"(0, 0) s :: ["A"(2, 1)] -(1)-> "A"(1, 1) true :: [] -(0)-> "A"(0, 0) Cost-free Signatures used: -------------------------- Base Constructor Signatures used: --------------------------------- WORST_CASE(Omega(n^1),O(n^2))