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