YES(?,O(1)) * Step 1: TrivialSCCs WORST_CASE(?,O(1)) + Considered Problem: Rules: 0. evalndloopstart(A) -> evalndloopentryin(A) True (1,1) 1. evalndloopentryin(A) -> evalndloopbbin(0) True (?,1) 2. evalndloopbbin(A) -> evalndloopbbin(B) [A >= 0 && 2 + A >= B && B >= 1 + A && 9 >= B] (?,1) 3. evalndloopbbin(A) -> evalndloopreturnin(A) [A >= 0 && B >= 3 + A] (?,1) 4. evalndloopbbin(A) -> evalndloopreturnin(A) [A >= 0 && A >= B] (?,1) 5. evalndloopbbin(A) -> evalndloopreturnin(A) [A >= 0 && B >= 10] (?,1) 6. evalndloopreturnin(A) -> evalndloopstop(A) [A >= 0] (?,1) Signature: {(evalndloopbbin,1);(evalndloopentryin,1);(evalndloopreturnin,1);(evalndloopstart,1);(evalndloopstop,1)} Flow Graph: [0->{1},1->{2,3,4,5},2->{2,3,4,5},3->{6},4->{6},5->{6},6->{}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 2: PolyRank WORST_CASE(?,O(1)) + Considered Problem: Rules: 0. evalndloopstart(A) -> evalndloopentryin(A) True (1,1) 1. evalndloopentryin(A) -> evalndloopbbin(0) True (1,1) 2. evalndloopbbin(A) -> evalndloopbbin(B) [A >= 0 && 2 + A >= B && B >= 1 + A && 9 >= B] (?,1) 3. evalndloopbbin(A) -> evalndloopreturnin(A) [A >= 0 && B >= 3 + A] (1,1) 4. evalndloopbbin(A) -> evalndloopreturnin(A) [A >= 0 && A >= B] (1,1) 5. evalndloopbbin(A) -> evalndloopreturnin(A) [A >= 0 && B >= 10] (1,1) 6. evalndloopreturnin(A) -> evalndloopstop(A) [A >= 0] (1,1) Signature: {(evalndloopbbin,1);(evalndloopentryin,1);(evalndloopreturnin,1);(evalndloopstart,1);(evalndloopstop,1)} Flow Graph: [0->{1},1->{2,3,4,5},2->{2,3,4,5},3->{6},4->{6},5->{6},6->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(evalndloopbbin) = 9 + -1*x1 p(evalndloopentryin) = 9 p(evalndloopreturnin) = 9 + -1*x1 p(evalndloopstart) = 9 p(evalndloopstop) = 9 + -1*x1 Following rules are strictly oriented: [A >= 0 && 2 + A >= B && B >= 1 + A && 9 >= B] ==> evalndloopbbin(A) = 9 + -1*A > 9 + -1*B = evalndloopbbin(B) Following rules are weakly oriented: True ==> evalndloopstart(A) = 9 >= 9 = evalndloopentryin(A) True ==> evalndloopentryin(A) = 9 >= 9 = evalndloopbbin(0) [A >= 0 && B >= 3 + A] ==> evalndloopbbin(A) = 9 + -1*A >= 9 + -1*A = evalndloopreturnin(A) [A >= 0 && A >= B] ==> evalndloopbbin(A) = 9 + -1*A >= 9 + -1*A = evalndloopreturnin(A) [A >= 0 && B >= 10] ==> evalndloopbbin(A) = 9 + -1*A >= 9 + -1*A = evalndloopreturnin(A) [A >= 0] ==> evalndloopreturnin(A) = 9 + -1*A >= 9 + -1*A = evalndloopstop(A) * Step 3: KnowledgePropagation WORST_CASE(?,O(1)) + Considered Problem: Rules: 0. evalndloopstart(A) -> evalndloopentryin(A) True (1,1) 1. evalndloopentryin(A) -> evalndloopbbin(0) True (1,1) 2. evalndloopbbin(A) -> evalndloopbbin(B) [A >= 0 && 2 + A >= B && B >= 1 + A && 9 >= B] (9,1) 3. evalndloopbbin(A) -> evalndloopreturnin(A) [A >= 0 && B >= 3 + A] (1,1) 4. evalndloopbbin(A) -> evalndloopreturnin(A) [A >= 0 && A >= B] (1,1) 5. evalndloopbbin(A) -> evalndloopreturnin(A) [A >= 0 && B >= 10] (1,1) 6. evalndloopreturnin(A) -> evalndloopstop(A) [A >= 0] (1,1) Signature: {(evalndloopbbin,1);(evalndloopentryin,1);(evalndloopreturnin,1);(evalndloopstart,1);(evalndloopstop,1)} Flow Graph: [0->{1},1->{2,3,4,5},2->{2,3,4,5},3->{6},4->{6},5->{6},6->{}] + Applied Processor: KnowledgePropagation + Details: The problem is already solved. YES(?,O(1))