YES(?,O(n^1)) * Step 1: TrivialSCCs WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f2(A,B,C) -> f2(A + -1*B,1 + B,C) [-1 + B >= 0 && A >= 1] (?,1) 1. f3(A,B,C) -> f2(A,B,C) [B >= 1] (1,1) 2. f2(A,B,C) -> f4(A,B,D) [-1 + B >= 0 && 0 >= A] (?,1) 3. f3(A,B,C) -> f4(A,B,D) [0 >= B] (1,1) Signature: {(f2,3);(f3,3);(f4,3)} Flow Graph: [0->{0,2},1->{0,2},2->{},3->{}] + 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,C) -> f2(A + -1*B,1 + B,C) [-1 + B >= 0 && A >= 1] (?,1) 1. f3(A,B,C) -> f2(A,B,C) [B >= 1] (1,1) 2. f2(A,B,C) -> f4(A,B,D) [-1 + B >= 0 && 0 >= A] (1,1) 3. f3(A,B,C) -> f4(A,B,D) [0 >= B] (1,1) Signature: {(f2,3);(f3,3);(f4,3)} Flow Graph: [0->{0,2},1->{0,2},2->{},3->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(f2) = x1 p(f3) = x1 p(f4) = x1 Following rules are strictly oriented: [-1 + B >= 0 && A >= 1] ==> f2(A,B,C) = A > A + -1*B = f2(A + -1*B,1 + B,C) Following rules are weakly oriented: [B >= 1] ==> f3(A,B,C) = A >= A = f2(A,B,C) [-1 + B >= 0 && 0 >= A] ==> f2(A,B,C) = A >= A = f4(A,B,D) [0 >= B] ==> f3(A,B,C) = A >= A = f4(A,B,D) * Step 3: KnowledgePropagation WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f2(A,B,C) -> f2(A + -1*B,1 + B,C) [-1 + B >= 0 && A >= 1] (A,1) 1. f3(A,B,C) -> f2(A,B,C) [B >= 1] (1,1) 2. f2(A,B,C) -> f4(A,B,D) [-1 + B >= 0 && 0 >= A] (1,1) 3. f3(A,B,C) -> f4(A,B,D) [0 >= B] (1,1) Signature: {(f2,3);(f3,3);(f4,3)} Flow Graph: [0->{0,2},1->{0,2},2->{},3->{}] + Applied Processor: KnowledgePropagation + Details: The problem is already solved. YES(?,O(n^1))