YES(?,O(n^1)) * Step 1: UnsatRules WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. start(A,B,C,D) -> stop(A,B,C,D) [0 >= 1 + A && B = C && D = A] (?,1) 1. start(A,B,C,D) -> stop(A,B,C,D) [0 >= 1 + C && B = C && D = A] (?,1) 2. start(A,B,C,D) -> stop(A,B,C,D) [A >= 0 && 2 + A >= C && C >= 0 && 2 + C >= A && B = C && D = A] (?,1) 3. start(A,B,C,D) -> lbl81(A,B,C,1 + D) [A >= 0 && C >= 3 + A && B = C && D = A] (?,1) 4. start(A,B,C,D) -> lbl91(A,1 + B,C,D) [A >= 3 + C && C >= 0 && B = C && D = A] (?,1) 5. lbl81(A,B,C,D) -> stop(A,B,C,D) [C >= 3 + A && A >= 0 && 2 + D = C && B = C] (?,1) 6. lbl81(A,B,C,D) -> lbl81(A,B,C,1 + D) [C >= 3 + D && D >= 1 + A && A >= 0 && C >= 2 + D && B = C] (?,1) 7. lbl81(A,B,C,D) -> lbl91(A,1 + B,C,D) [D >= 3 + C && D >= 1 + A && A >= 0 && C >= 2 + D && B = C] (?,1) 8. lbl91(A,B,C,D) -> stop(A,B,C,D) [A >= 3 + C && C >= 0 && 2 + B = A && D = A] (?,1) 9. lbl91(A,B,C,D) -> lbl81(A,B,C,1 + D) [B >= 3 + A && A >= 2 + B && B >= 1 + C && C >= 0 && D = A] (?,1) 10. lbl91(A,B,C,D) -> lbl91(A,1 + B,C,D) [A >= 3 + B && A >= 2 + B && B >= 1 + C && C >= 0 && D = A] (?,1) 11. start0(A,B,C,D) -> start(A,C,C,A) True (1,1) Signature: {(lbl81,4);(lbl91,4);(start,4);(start0,4);(stop,4)} Flow Graph: [0->{},1->{},2->{},3->{5,6,7},4->{8,9,10},5->{},6->{5,6,7},7->{8,9,10},8->{},9->{5,6,7},10->{8,9,10} ,11->{0,1,2,3,4}] + Applied Processor: UnsatRules + Details: Following transitions have unsatisfiable constraints and are removed: [7,9] * Step 2: TrivialSCCs WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. start(A,B,C,D) -> stop(A,B,C,D) [0 >= 1 + A && B = C && D = A] (?,1) 1. start(A,B,C,D) -> stop(A,B,C,D) [0 >= 1 + C && B = C && D = A] (?,1) 2. start(A,B,C,D) -> stop(A,B,C,D) [A >= 0 && 2 + A >= C && C >= 0 && 2 + C >= A && B = C && D = A] (?,1) 3. start(A,B,C,D) -> lbl81(A,B,C,1 + D) [A >= 0 && C >= 3 + A && B = C && D = A] (?,1) 4. start(A,B,C,D) -> lbl91(A,1 + B,C,D) [A >= 3 + C && C >= 0 && B = C && D = A] (?,1) 5. lbl81(A,B,C,D) -> stop(A,B,C,D) [C >= 3 + A && A >= 0 && 2 + D = C && B = C] (?,1) 6. lbl81(A,B,C,D) -> lbl81(A,B,C,1 + D) [C >= 3 + D && D >= 1 + A && A >= 0 && C >= 2 + D && B = C] (?,1) 8. lbl91(A,B,C,D) -> stop(A,B,C,D) [A >= 3 + C && C >= 0 && 2 + B = A && D = A] (?,1) 10. lbl91(A,B,C,D) -> lbl91(A,1 + B,C,D) [A >= 3 + B && A >= 2 + B && B >= 1 + C && C >= 0 && D = A] (?,1) 11. start0(A,B,C,D) -> start(A,C,C,A) True (1,1) Signature: {(lbl81,4);(lbl91,4);(start,4);(start0,4);(stop,4)} Flow Graph: [0->{},1->{},2->{},3->{5,6},4->{8,10},5->{},6->{5,6},8->{},10->{8,10},11->{0,1,2,3,4}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 3: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. start(A,B,C,D) -> stop(A,B,C,D) [0 >= 1 + A && B = C && D = A] (1,1) 1. start(A,B,C,D) -> stop(A,B,C,D) [0 >= 1 + C && B = C && D = A] (1,1) 2. start(A,B,C,D) -> stop(A,B,C,D) [A >= 0 && 2 + A >= C && C >= 0 && 2 + C >= A && B = C && D = A] (1,1) 3. start(A,B,C,D) -> lbl81(A,B,C,1 + D) [A >= 0 && C >= 3 + A && B = C && D = A] (1,1) 4. start(A,B,C,D) -> lbl91(A,1 + B,C,D) [A >= 3 + C && C >= 0 && B = C && D = A] (1,1) 5. lbl81(A,B,C,D) -> stop(A,B,C,D) [C >= 3 + A && A >= 0 && 2 + D = C && B = C] (1,1) 6. lbl81(A,B,C,D) -> lbl81(A,B,C,1 + D) [C >= 3 + D && D >= 1 + A && A >= 0 && C >= 2 + D && B = C] (?,1) 8. lbl91(A,B,C,D) -> stop(A,B,C,D) [A >= 3 + C && C >= 0 && 2 + B = A && D = A] (1,1) 10. lbl91(A,B,C,D) -> lbl91(A,1 + B,C,D) [A >= 3 + B && A >= 2 + B && B >= 1 + C && C >= 0 && D = A] (?,1) 11. start0(A,B,C,D) -> start(A,C,C,A) True (1,1) Signature: {(lbl81,4);(lbl91,4);(start,4);(start0,4);(stop,4)} Flow Graph: [0->{},1->{},2->{},3->{5,6},4->{8,10},5->{},6->{5,6},8->{},10->{8,10},11->{0,1,2,3,4}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(lbl81) = x1 + -1*x2 + x3 p(lbl91) = x1 + -1*x2 + x3 p(start) = x1 + -1*x2 + x3 p(start0) = x1 p(stop) = x1 + -1*x2 + x3 Following rules are strictly oriented: [A >= 3 + C && C >= 0 && B = C && D = A] ==> start(A,B,C,D) = A + -1*B + C > -1 + A + -1*B + C = lbl91(A,1 + B,C,D) [A >= 3 + B && A >= 2 + B && B >= 1 + C && C >= 0 && D = A] ==> lbl91(A,B,C,D) = A + -1*B + C > -1 + A + -1*B + C = lbl91(A,1 + B,C,D) Following rules are weakly oriented: [0 >= 1 + A && B = C && D = A] ==> start(A,B,C,D) = A + -1*B + C >= A + -1*B + C = stop(A,B,C,D) [0 >= 1 + C && B = C && D = A] ==> start(A,B,C,D) = A + -1*B + C >= A + -1*B + C = stop(A,B,C,D) [A >= 0 && 2 + A >= C && C >= 0 && 2 + C >= A && B = C && D = A] ==> start(A,B,C,D) = A + -1*B + C >= A + -1*B + C = stop(A,B,C,D) [A >= 0 && C >= 3 + A && B = C && D = A] ==> start(A,B,C,D) = A + -1*B + C >= A + -1*B + C = lbl81(A,B,C,1 + D) [C >= 3 + A && A >= 0 && 2 + D = C && B = C] ==> lbl81(A,B,C,D) = A + -1*B + C >= A + -1*B + C = stop(A,B,C,D) [C >= 3 + D && D >= 1 + A && A >= 0 && C >= 2 + D && B = C] ==> lbl81(A,B,C,D) = A + -1*B + C >= A + -1*B + C = lbl81(A,B,C,1 + D) [A >= 3 + C && C >= 0 && 2 + B = A && D = A] ==> lbl91(A,B,C,D) = A + -1*B + C >= A + -1*B + C = stop(A,B,C,D) True ==> start0(A,B,C,D) = A >= A = start(A,C,C,A) * Step 4: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. start(A,B,C,D) -> stop(A,B,C,D) [0 >= 1 + A && B = C && D = A] (1,1) 1. start(A,B,C,D) -> stop(A,B,C,D) [0 >= 1 + C && B = C && D = A] (1,1) 2. start(A,B,C,D) -> stop(A,B,C,D) [A >= 0 && 2 + A >= C && C >= 0 && 2 + C >= A && B = C && D = A] (1,1) 3. start(A,B,C,D) -> lbl81(A,B,C,1 + D) [A >= 0 && C >= 3 + A && B = C && D = A] (1,1) 4. start(A,B,C,D) -> lbl91(A,1 + B,C,D) [A >= 3 + C && C >= 0 && B = C && D = A] (1,1) 5. lbl81(A,B,C,D) -> stop(A,B,C,D) [C >= 3 + A && A >= 0 && 2 + D = C && B = C] (1,1) 6. lbl81(A,B,C,D) -> lbl81(A,B,C,1 + D) [C >= 3 + D && D >= 1 + A && A >= 0 && C >= 2 + D && B = C] (?,1) 8. lbl91(A,B,C,D) -> stop(A,B,C,D) [A >= 3 + C && C >= 0 && 2 + B = A && D = A] (1,1) 10. lbl91(A,B,C,D) -> lbl91(A,1 + B,C,D) [A >= 3 + B && A >= 2 + B && B >= 1 + C && C >= 0 && D = A] (A,1) 11. start0(A,B,C,D) -> start(A,C,C,A) True (1,1) Signature: {(lbl81,4);(lbl91,4);(start,4);(start0,4);(stop,4)} Flow Graph: [0->{},1->{},2->{},3->{5,6},4->{8,10},5->{},6->{5,6},8->{},10->{8,10},11->{0,1,2,3,4}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(lbl81) = x3 + -1*x4 p(lbl91) = -2 + x3 + -1*x4 p(start) = x2 + -1*x4 p(start0) = -1*x1 + x3 p(stop) = -2 + x3 + -1*x4 Following rules are strictly oriented: [A >= 0 && C >= 3 + A && B = C && D = A] ==> start(A,B,C,D) = B + -1*D > -1 + C + -1*D = lbl81(A,B,C,1 + D) [C >= 3 + D && D >= 1 + A && A >= 0 && C >= 2 + D && B = C] ==> lbl81(A,B,C,D) = C + -1*D > -1 + C + -1*D = lbl81(A,B,C,1 + D) Following rules are weakly oriented: [0 >= 1 + A && B = C && D = A] ==> start(A,B,C,D) = B + -1*D >= -2 + C + -1*D = stop(A,B,C,D) [0 >= 1 + C && B = C && D = A] ==> start(A,B,C,D) = B + -1*D >= -2 + C + -1*D = stop(A,B,C,D) [A >= 0 && 2 + A >= C && C >= 0 && 2 + C >= A && B = C && D = A] ==> start(A,B,C,D) = B + -1*D >= -2 + C + -1*D = stop(A,B,C,D) [A >= 3 + C && C >= 0 && B = C && D = A] ==> start(A,B,C,D) = B + -1*D >= -2 + C + -1*D = lbl91(A,1 + B,C,D) [C >= 3 + A && A >= 0 && 2 + D = C && B = C] ==> lbl81(A,B,C,D) = C + -1*D >= -2 + C + -1*D = stop(A,B,C,D) [A >= 3 + C && C >= 0 && 2 + B = A && D = A] ==> lbl91(A,B,C,D) = -2 + C + -1*D >= -2 + C + -1*D = stop(A,B,C,D) [A >= 3 + B && A >= 2 + B && B >= 1 + C && C >= 0 && D = A] ==> lbl91(A,B,C,D) = -2 + C + -1*D >= -2 + C + -1*D = lbl91(A,1 + B,C,D) True ==> start0(A,B,C,D) = -1*A + C >= -1*A + C = start(A,C,C,A) * Step 5: KnowledgePropagation WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. start(A,B,C,D) -> stop(A,B,C,D) [0 >= 1 + A && B = C && D = A] (1,1) 1. start(A,B,C,D) -> stop(A,B,C,D) [0 >= 1 + C && B = C && D = A] (1,1) 2. start(A,B,C,D) -> stop(A,B,C,D) [A >= 0 && 2 + A >= C && C >= 0 && 2 + C >= A && B = C && D = A] (1,1) 3. start(A,B,C,D) -> lbl81(A,B,C,1 + D) [A >= 0 && C >= 3 + A && B = C && D = A] (1,1) 4. start(A,B,C,D) -> lbl91(A,1 + B,C,D) [A >= 3 + C && C >= 0 && B = C && D = A] (1,1) 5. lbl81(A,B,C,D) -> stop(A,B,C,D) [C >= 3 + A && A >= 0 && 2 + D = C && B = C] (1,1) 6. lbl81(A,B,C,D) -> lbl81(A,B,C,1 + D) [C >= 3 + D && D >= 1 + A && A >= 0 && C >= 2 + D && B = C] (A + C,1) 8. lbl91(A,B,C,D) -> stop(A,B,C,D) [A >= 3 + C && C >= 0 && 2 + B = A && D = A] (1,1) 10. lbl91(A,B,C,D) -> lbl91(A,1 + B,C,D) [A >= 3 + B && A >= 2 + B && B >= 1 + C && C >= 0 && D = A] (A,1) 11. start0(A,B,C,D) -> start(A,C,C,A) True (1,1) Signature: {(lbl81,4);(lbl91,4);(start,4);(start0,4);(stop,4)} Flow Graph: [0->{},1->{},2->{},3->{5,6},4->{8,10},5->{},6->{5,6},8->{},10->{8,10},11->{0,1,2,3,4}] + Applied Processor: KnowledgePropagation + Details: The problem is already solved. YES(?,O(n^1))