WORST_CASE(?,O(n^1)) * Step 1: RestrictVarsProcessor WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f0(A,B,C,D) -> f1(A,B,2,D) [A >= 0 && 3 >= A && 3 >= B && B >= 0] (1,1) 1. f1(A,B,C,D) -> f1(A,1 + B,C,1 + B) [A + C >= 1 + 2*B && 0 >= 2] (?,1) 2. f1(A,B,C,D) -> f1(A,1 + B,C,1 + B) [A + C >= 1 + 2*B] (?,1) 3. f1(A,B,C,D) -> f1(A,-1 + B,C,-1 + B) [2*B >= 2 + A + C] (?,1) 4. f1(A,B,C,D) -> f1(A,-1 + B,C,-1 + B) [2*B >= 2 + A + C && 0 >= 2] (?,1) 5. f1(A,B,C,D) -> f1(A,B,C,B) [0 >= 1 && 2*B >= A + C && 1 + A + C >= 2*B] (?,1) 6. f1(A,B,C,D) -> f1(A,B,C,B) [0 >= 1 && 2*B >= A + C && 1 + A + C >= 2*B] (?,1) Signature: {(f0,4);(f1,4)} Flow Graph: [0->{1,2,3,4,5,6},1->{1,2,3,4,5,6},2->{1,2,3,4,5,6},3->{1,2,3,4,5,6},4->{1,2,3,4,5,6},5->{1,2,3,4,5,6} ,6->{1,2,3,4,5,6}] + Applied Processor: RestrictVarsProcessor + Details: We removed the arguments [D] . * Step 2: UnsatRules WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f0(A,B,C) -> f1(A,B,2) [A >= 0 && 3 >= A && 3 >= B && B >= 0] (1,1) 1. f1(A,B,C) -> f1(A,1 + B,C) [A + C >= 1 + 2*B && 0 >= 2] (?,1) 2. f1(A,B,C) -> f1(A,1 + B,C) [A + C >= 1 + 2*B] (?,1) 3. f1(A,B,C) -> f1(A,-1 + B,C) [2*B >= 2 + A + C] (?,1) 4. f1(A,B,C) -> f1(A,-1 + B,C) [2*B >= 2 + A + C && 0 >= 2] (?,1) 5. f1(A,B,C) -> f1(A,B,C) [0 >= 1 && 2*B >= A + C && 1 + A + C >= 2*B] (?,1) 6. f1(A,B,C) -> f1(A,B,C) [0 >= 1 && 2*B >= A + C && 1 + A + C >= 2*B] (?,1) Signature: {(f0,3);(f1,3)} Flow Graph: [0->{1,2,3,4,5,6},1->{1,2,3,4,5,6},2->{1,2,3,4,5,6},3->{1,2,3,4,5,6},4->{1,2,3,4,5,6},5->{1,2,3,4,5,6} ,6->{1,2,3,4,5,6}] + Applied Processor: UnsatRules + Details: The following transitions have unsatisfiable constraints and are removed: [1,4,5,6] * Step 3: LocalSizeboundsProc WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f0(A,B,C) -> f1(A,B,2) [A >= 0 && 3 >= A && 3 >= B && B >= 0] (1,1) 2. f1(A,B,C) -> f1(A,1 + B,C) [A + C >= 1 + 2*B] (?,1) 3. f1(A,B,C) -> f1(A,-1 + B,C) [2*B >= 2 + A + C] (?,1) Signature: {(f0,3);(f1,3)} Flow Graph: [0->{2,3},2->{2,3},3->{2,3}] + Applied Processor: LocalSizeboundsProc + Details: LocalSizebounds generated; rvgraph (<0,0,A>, A, .= 0) (<0,0,B>, B, .= 0) (<0,0,C>, 2, .= 2) (<2,0,A>, A, .= 0) (<2,0,B>, 1 + B, .+ 1) (<2,0,C>, C, .= 0) (<3,0,A>, A, .= 0) (<3,0,B>, 1 + B, .+ 1) (<3,0,C>, C, .= 0) * Step 4: SizeboundsProc WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f0(A,B,C) -> f1(A,B,2) [A >= 0 && 3 >= A && 3 >= B && B >= 0] (1,1) 2. f1(A,B,C) -> f1(A,1 + B,C) [A + C >= 1 + 2*B] (?,1) 3. f1(A,B,C) -> f1(A,-1 + B,C) [2*B >= 2 + A + C] (?,1) Signature: {(f0,3);(f1,3)} Flow Graph: [0->{2,3},2->{2,3},3->{2,3}] Sizebounds: (<0,0,A>, ?) (<0,0,B>, ?) (<0,0,C>, ?) (<2,0,A>, ?) (<2,0,B>, ?) (<2,0,C>, ?) (<3,0,A>, ?) (<3,0,B>, ?) (<3,0,C>, ?) + Applied Processor: SizeboundsProc + Details: Sizebounds computed: (<0,0,A>, A) (<0,0,B>, B) (<0,0,C>, 2) (<2,0,A>, A) (<2,0,B>, 2 + A) (<2,0,C>, 2) (<3,0,A>, A) (<3,0,B>, ?) (<3,0,C>, 2) * Step 5: UnsatPaths WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f0(A,B,C) -> f1(A,B,2) [A >= 0 && 3 >= A && 3 >= B && B >= 0] (1,1) 2. f1(A,B,C) -> f1(A,1 + B,C) [A + C >= 1 + 2*B] (?,1) 3. f1(A,B,C) -> f1(A,-1 + B,C) [2*B >= 2 + A + C] (?,1) Signature: {(f0,3);(f1,3)} Flow Graph: [0->{2,3},2->{2,3},3->{2,3}] Sizebounds: (<0,0,A>, A) (<0,0,B>, B) (<0,0,C>, 2) (<2,0,A>, A) (<2,0,B>, 2 + A) (<2,0,C>, 2) (<3,0,A>, A) (<3,0,B>, ?) (<3,0,C>, 2) + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(2,3),(3,2)] * Step 6: LocationConstraintsProc WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f0(A,B,C) -> f1(A,B,2) [A >= 0 && 3 >= A && 3 >= B && B >= 0] (1,1) 2. f1(A,B,C) -> f1(A,1 + B,C) [A + C >= 1 + 2*B] (?,1) 3. f1(A,B,C) -> f1(A,-1 + B,C) [2*B >= 2 + A + C] (?,1) Signature: {(f0,3);(f1,3)} Flow Graph: [0->{2,3},2->{2},3->{3}] Sizebounds: (<0,0,A>, A) (<0,0,B>, B) (<0,0,C>, 2) (<2,0,A>, A) (<2,0,B>, 2 + A) (<2,0,C>, 2) (<3,0,A>, A) (<3,0,B>, ?) (<3,0,C>, 2) + Applied Processor: LocationConstraintsProc + Details: We computed the location constraints 0 : True 2 : [B >= 0 && A >= 0] 3 : [3 >= B && A >= 0] . * Step 7: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f0(A,B,C) -> f1(A,B,2) [A >= 0 && 3 >= A && 3 >= B && B >= 0] (1,1) 2. f1(A,B,C) -> f1(A,1 + B,C) [A + C >= 1 + 2*B] (?,1) 3. f1(A,B,C) -> f1(A,-1 + B,C) [2*B >= 2 + A + C] (?,1) Signature: {(f0,3);(f1,3)} Flow Graph: [0->{2,3},2->{2},3->{3}] Sizebounds: (<0,0,A>, A) (<0,0,B>, B) (<0,0,C>, 2) (<2,0,A>, A) (<2,0,B>, 2 + A) (<2,0,C>, 2) (<3,0,A>, A) (<3,0,B>, ?) (<3,0,C>, 2) + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [3], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(f1) = -1 + -1*x1 + 2*x2 + -1*x3 The following rules are strictly oriented: [2*B >= 2 + A + C] ==> f1(A,B,C) = -1 + -1*A + 2*B + -1*C > -3 + -1*A + 2*B + -1*C = f1(A,-1 + B,C) The following rules are weakly oriented: We use the following global sizebounds: (<0,0,A>, A) (<0,0,B>, B) (<0,0,C>, 2) (<2,0,A>, A) (<2,0,B>, 2 + A) (<2,0,C>, 2) (<3,0,A>, A) (<3,0,B>, ?) (<3,0,C>, 2) * Step 8: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f0(A,B,C) -> f1(A,B,2) [A >= 0 && 3 >= A && 3 >= B && B >= 0] (1,1) 2. f1(A,B,C) -> f1(A,1 + B,C) [A + C >= 1 + 2*B] (?,1) 3. f1(A,B,C) -> f1(A,-1 + B,C) [2*B >= 2 + A + C] (3 + A + 2*B,1) Signature: {(f0,3);(f1,3)} Flow Graph: [0->{2,3},2->{2},3->{3}] Sizebounds: (<0,0,A>, A) (<0,0,B>, B) (<0,0,C>, 2) (<2,0,A>, A) (<2,0,B>, 2 + A) (<2,0,C>, 2) (<3,0,A>, A) (<3,0,B>, ?) (<3,0,C>, 2) + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [2], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(f1) = x1 + -2*x2 + x3 The following rules are strictly oriented: [A + C >= 1 + 2*B] ==> f1(A,B,C) = A + -2*B + C > -2 + A + -2*B + C = f1(A,1 + B,C) The following rules are weakly oriented: We use the following global sizebounds: (<0,0,A>, A) (<0,0,B>, B) (<0,0,C>, 2) (<2,0,A>, A) (<2,0,B>, 2 + A) (<2,0,C>, 2) (<3,0,A>, A) (<3,0,B>, ?) (<3,0,C>, 2) * Step 9: KnowledgePropagation WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f0(A,B,C) -> f1(A,B,2) [A >= 0 && 3 >= A && 3 >= B && B >= 0] (1,1) 2. f1(A,B,C) -> f1(A,1 + B,C) [A + C >= 1 + 2*B] (2 + A + 2*B,1) 3. f1(A,B,C) -> f1(A,-1 + B,C) [2*B >= 2 + A + C] (3 + A + 2*B,1) Signature: {(f0,3);(f1,3)} Flow Graph: [0->{2,3},2->{2},3->{3}] Sizebounds: (<0,0,A>, A) (<0,0,B>, B) (<0,0,C>, 2) (<2,0,A>, A) (<2,0,B>, 2 + A) (<2,0,C>, 2) (<3,0,A>, A) (<3,0,B>, ?) (<3,0,C>, 2) + Applied Processor: KnowledgePropagation + Details: The problem is already solved. WORST_CASE(?,O(n^1))