YES(?,O(1)) * Step 1: UnsatPaths WORST_CASE(?,O(1)) + Considered Problem: Rules: 0. f4(A) -> f5(A) [0 >= 1 + B] (?,1) 1. f4(A) -> f5(A) True (?,1) 2. f0(A) -> f4(0) True (1,1) 3. f5(A) -> f11(A) [A >= 3] (?,1) 4. f4(A) -> f11(A) True (?,1) 5. f5(A) -> f4(1 + A) [2 >= A] (?,1) 6. f11(A) -> f14(A) [1 >= A] (?,1) 7. f11(A) -> f14(A) [A >= 2] (?,1) Signature: {(f0,1);(f11,1);(f14,1);(f4,1);(f5,1)} Flow Graph: [0->{3,5},1->{3,5},2->{0,1,4},3->{6,7},4->{6,7},5->{0,1,4},6->{},7->{}] + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(3,6)] * Step 2: TrivialSCCs WORST_CASE(?,O(1)) + Considered Problem: Rules: 0. f4(A) -> f5(A) [0 >= 1 + B] (?,1) 1. f4(A) -> f5(A) True (?,1) 2. f0(A) -> f4(0) True (1,1) 3. f5(A) -> f11(A) [A >= 3] (?,1) 4. f4(A) -> f11(A) True (?,1) 5. f5(A) -> f4(1 + A) [2 >= A] (?,1) 6. f11(A) -> f14(A) [1 >= A] (?,1) 7. f11(A) -> f14(A) [A >= 2] (?,1) Signature: {(f0,1);(f11,1);(f14,1);(f4,1);(f5,1)} Flow Graph: [0->{3,5},1->{3,5},2->{0,1,4},3->{7},4->{6,7},5->{0,1,4},6->{},7->{}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 3: PolyRank WORST_CASE(?,O(1)) + Considered Problem: Rules: 0. f4(A) -> f5(A) [0 >= 1 + B] (?,1) 1. f4(A) -> f5(A) True (?,1) 2. f0(A) -> f4(0) True (1,1) 3. f5(A) -> f11(A) [A >= 3] (1,1) 4. f4(A) -> f11(A) True (1,1) 5. f5(A) -> f4(1 + A) [2 >= A] (?,1) 6. f11(A) -> f14(A) [1 >= A] (1,1) 7. f11(A) -> f14(A) [A >= 2] (1,1) Signature: {(f0,1);(f11,1);(f14,1);(f4,1);(f5,1)} Flow Graph: [0->{3,5},1->{3,5},2->{0,1,4},3->{7},4->{6,7},5->{0,1,4},6->{},7->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(f0) = 3 p(f11) = 3 + -1*x1 p(f14) = 3 + -1*x1 p(f4) = 3 + -1*x1 p(f5) = 3 + -1*x1 Following rules are strictly oriented: [2 >= A] ==> f5(A) = 3 + -1*A > 2 + -1*A = f4(1 + A) Following rules are weakly oriented: [0 >= 1 + B] ==> f4(A) = 3 + -1*A >= 3 + -1*A = f5(A) True ==> f4(A) = 3 + -1*A >= 3 + -1*A = f5(A) True ==> f0(A) = 3 >= 3 = f4(0) [A >= 3] ==> f5(A) = 3 + -1*A >= 3 + -1*A = f11(A) True ==> f4(A) = 3 + -1*A >= 3 + -1*A = f11(A) [1 >= A] ==> f11(A) = 3 + -1*A >= 3 + -1*A = f14(A) [A >= 2] ==> f11(A) = 3 + -1*A >= 3 + -1*A = f14(A) * Step 4: KnowledgePropagation WORST_CASE(?,O(1)) + Considered Problem: Rules: 0. f4(A) -> f5(A) [0 >= 1 + B] (?,1) 1. f4(A) -> f5(A) True (?,1) 2. f0(A) -> f4(0) True (1,1) 3. f5(A) -> f11(A) [A >= 3] (1,1) 4. f4(A) -> f11(A) True (1,1) 5. f5(A) -> f4(1 + A) [2 >= A] (3,1) 6. f11(A) -> f14(A) [1 >= A] (1,1) 7. f11(A) -> f14(A) [A >= 2] (1,1) Signature: {(f0,1);(f11,1);(f14,1);(f4,1);(f5,1)} Flow Graph: [0->{3,5},1->{3,5},2->{0,1,4},3->{7},4->{6,7},5->{0,1,4},6->{},7->{}] + Applied Processor: KnowledgePropagation + Details: We propagate bounds from predecessors. * Step 5: PolyRank WORST_CASE(?,O(1)) + Considered Problem: Rules: 0. f4(A) -> f5(A) [0 >= 1 + B] (4,1) 1. f4(A) -> f5(A) True (4,1) 2. f0(A) -> f4(0) True (1,1) 3. f5(A) -> f11(A) [A >= 3] (1,1) 4. f4(A) -> f11(A) True (1,1) 5. f5(A) -> f4(1 + A) [2 >= A] (3,1) 6. f11(A) -> f14(A) [1 >= A] (1,1) 7. f11(A) -> f14(A) [A >= 2] (1,1) Signature: {(f0,1);(f11,1);(f14,1);(f4,1);(f5,1)} Flow Graph: [0->{3,5},1->{3,5},2->{0,1,4},3->{7},4->{6,7},5->{0,1,4},6->{},7->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: The problem is already solved. YES(?,O(1))