YES(?, 2*a + 2*b + 2*c + 207) Initial complexity problem: 1: T: (1, 1) evalexministart(a, b, c) -> evalexminientryin(a, b, c) (?, 1) evalexminientryin(a, b, c) -> evalexminibb1in(b, a, c) (?, 1) evalexminibb1in(a, b, c) -> evalexminibbin(a, b, c) [ 100 >= b /\ a >= c ] (?, 1) evalexminibb1in(a, b, c) -> evalexminireturnin(a, b, c) [ b >= 101 ] (?, 1) evalexminibb1in(a, b, c) -> evalexminireturnin(a, b, c) [ c >= a + 1 ] (?, 1) evalexminibbin(a, b, c) -> evalexminibb1in(a - 1, c, b + 1) (?, 1) evalexminireturnin(a, b, c) -> evalexministop(a, b, c) start location: evalexministart leaf cost: 0 Repeatedly removing leaves of the complexity graph in problem 1 produces the following problem: 2: T: (1, 1) evalexministart(a, b, c) -> evalexminientryin(a, b, c) (?, 1) evalexminientryin(a, b, c) -> evalexminibb1in(b, a, c) (?, 1) evalexminibb1in(a, b, c) -> evalexminibbin(a, b, c) [ 100 >= b /\ a >= c ] (?, 1) evalexminibbin(a, b, c) -> evalexminibb1in(a - 1, c, b + 1) start location: evalexministart leaf cost: 3 Repeatedly propagating knowledge in problem 2 produces the following problem: 3: T: (1, 1) evalexministart(a, b, c) -> evalexminientryin(a, b, c) (1, 1) evalexminientryin(a, b, c) -> evalexminibb1in(b, a, c) (?, 1) evalexminibb1in(a, b, c) -> evalexminibbin(a, b, c) [ 100 >= b /\ a >= c ] (?, 1) evalexminibbin(a, b, c) -> evalexminibb1in(a - 1, c, b + 1) start location: evalexministart leaf cost: 3 A polynomial rank function with Pol(evalexministart) = -V_1 + V_2 - V_3 + 101 Pol(evalexminientryin) = -V_1 + V_2 - V_3 + 101 Pol(evalexminibb1in) = V_1 - V_2 - V_3 + 101 Pol(evalexminibbin) = V_1 - V_2 - V_3 + 100 orients all transitions weakly and the transition evalexminibb1in(a, b, c) -> evalexminibbin(a, b, c) [ 100 >= b /\ a >= c ] strictly and produces the following problem: 4: T: (1, 1) evalexministart(a, b, c) -> evalexminientryin(a, b, c) (1, 1) evalexminientryin(a, b, c) -> evalexminibb1in(b, a, c) (a + b + c + 101, 1) evalexminibb1in(a, b, c) -> evalexminibbin(a, b, c) [ 100 >= b /\ a >= c ] (?, 1) evalexminibbin(a, b, c) -> evalexminibb1in(a - 1, c, b + 1) start location: evalexministart leaf cost: 3 Repeatedly propagating knowledge in problem 4 produces the following problem: 5: T: (1, 1) evalexministart(a, b, c) -> evalexminientryin(a, b, c) (1, 1) evalexminientryin(a, b, c) -> evalexminibb1in(b, a, c) (a + b + c + 101, 1) evalexminibb1in(a, b, c) -> evalexminibbin(a, b, c) [ 100 >= b /\ a >= c ] (a + b + c + 101, 1) evalexminibbin(a, b, c) -> evalexminibb1in(a - 1, c, b + 1) start location: evalexministart leaf cost: 3 Complexity upper bound 2*a + 2*b + 2*c + 207 Time: 0.119 sec (SMT: 0.113 sec)