YES(?, 8) Initial complexity problem: 1: T: (1, 1) f0(a, b) -> f4(0, b) (?, 1) f4(a, b) -> f4(a + 1, b) [ 1 >= a ] (?, 1) f10(a, b) -> f10(a, b + 1) [ 1 >= b ] (?, 1) f10(a, b) -> f18(a, b) [ b >= 2 /\ 0 >= c + 1 ] (?, 1) f10(a, b) -> f18(a, b) [ b >= 2 ] (?, 1) f4(a, b) -> f10(a, 0) [ a >= 2 ] start location: f0 leaf cost: 0 Repeatedly removing leaves of the complexity graph in problem 1 produces the following problem: 2: T: (1, 1) f0(a, b) -> f4(0, b) (?, 1) f4(a, b) -> f4(a + 1, b) [ 1 >= a ] (?, 1) f10(a, b) -> f10(a, b + 1) [ 1 >= b ] (?, 1) f4(a, b) -> f10(a, 0) [ a >= 2 ] start location: f0 leaf cost: 2 A polynomial rank function with Pol(f0) = 1 Pol(f4) = 1 Pol(f10) = 0 orients all transitions weakly and the transition f4(a, b) -> f10(a, 0) [ a >= 2 ] strictly and produces the following problem: 3: T: (1, 1) f0(a, b) -> f4(0, b) (?, 1) f4(a, b) -> f4(a + 1, b) [ 1 >= a ] (?, 1) f10(a, b) -> f10(a, b + 1) [ 1 >= b ] (1, 1) f4(a, b) -> f10(a, 0) [ a >= 2 ] start location: f0 leaf cost: 2 A polynomial rank function with Pol(f0) = 2 Pol(f4) = 2 Pol(f10) = -V_2 + 2 orients all transitions weakly and the transition f10(a, b) -> f10(a, b + 1) [ 1 >= b ] strictly and produces the following problem: 4: T: (1, 1) f0(a, b) -> f4(0, b) (?, 1) f4(a, b) -> f4(a + 1, b) [ 1 >= a ] (2, 1) f10(a, b) -> f10(a, b + 1) [ 1 >= b ] (1, 1) f4(a, b) -> f10(a, 0) [ a >= 2 ] start location: f0 leaf cost: 2 A polynomial rank function with Pol(f0) = 2 Pol(f4) = -V_1 + 2 Pol(f10) = -V_1 orients all transitions weakly and the transition f4(a, b) -> f4(a + 1, b) [ 1 >= a ] strictly and produces the following problem: 5: T: (1, 1) f0(a, b) -> f4(0, b) (2, 1) f4(a, b) -> f4(a + 1, b) [ 1 >= a ] (2, 1) f10(a, b) -> f10(a, b + 1) [ 1 >= b ] (1, 1) f4(a, b) -> f10(a, 0) [ a >= 2 ] start location: f0 leaf cost: 2 Complexity upper bound 8 Time: 0.168 sec (SMT: 0.159 sec)