YES(?, 22*a + 19) Initial complexity problem: 1: T: (?, 1) start(a, b, c, d, e, f, g, h, i, j) -> stop(a, 0, c, 0, e, f, g, 0, i, j) [ 0 >= a /\ b = c /\ d = e /\ f = g /\ h = i /\ j = a ] (?, 1) start(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, 0, c, 0, e, k, g, 1, i, j) [ a >= 1 /\ b = c /\ d = e /\ f = g /\ h = i /\ j = a ] (?, 1) lbl21(a, b, c, d, e, f, g, h, i, j) -> stop(a, b, c, d, e, f, g, h, i, j) [ a + d + b >= 1 /\ a + d >= b + 1 /\ a + b >= d + 1 /\ a >= d + b + 1 /\ h = a /\ j = a ] (?, 1) lbl21(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 1 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ j = a ] (?, 1) lbl121(a, b, c, d, e, f, g, h, i, j) -> stop(a, b, c, d, e, f, g, h, i, j) [ a + d + b >= 2 /\ a + d >= b + 2 /\ a + b >= d /\ a >= d + b /\ h = a /\ f = 0 /\ j = a ] (?, 1) lbl121(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 2 /\ h + d >= b + 2 /\ h + b >= d /\ h >= d + b /\ f = 0 /\ j = a ] (?, 1) lbl141(a, b, c, d, e, f, g, h, i, j) -> stop(a, b, c, d, e, f, g, h, i, j) [ a + d + b >= 0 /\ a + d >= b /\ a + b >= d + 2 /\ a >= d + b + 2 /\ h = a /\ f = 1 /\ j = a ] (?, 1) lbl141(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 0 /\ h + d >= b /\ h + b >= d + 2 /\ h >= d + b + 2 /\ f = 1 /\ j = a ] (?, 1) lbl171(a, b, c, d, e, f, g, h, i, j) -> stop(a, b, c, d, e, f, g, h, i, j) [ a + d + b >= 2 /\ a + d >= b /\ a + b >= d + 2 /\ a >= d + b /\ h = a /\ f = 2 /\ j = a ] (?, 1) lbl171(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 2 /\ h + d >= b /\ h + b >= d + 2 /\ h >= d + b /\ f = 2 /\ j = a ] (?, 1) lbl191(a, b, c, d, e, f, g, h, i, j) -> stop(a, b, c, d, e, f, g, h, i, j) [ a + d + b >= 0 /\ a + d >= b + 2 /\ a + b >= d /\ a >= d + b + 2 /\ h = a /\ f = 3 /\ j = a ] (?, 1) lbl191(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 0 /\ h + d >= b + 2 /\ h + b >= d /\ h >= d + b + 2 /\ f = 3 /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl21(a, b, c, d, e, f, g, h, i, j) [ 0 >= f + 1 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl21(a, b, c, d, e, f, g, h, i, j) [ f >= 4 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl121(a, b, c, d + 1, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 0 /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl141(a, b, c, d - 1, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 1 /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl171(a, b + 1, c, d, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 2 /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl191(a, b - 1, c, d, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 3 /\ j = a ] (1, 1) start0(a, b, c, d, e, f, g, h, i, j) -> start(a, c, c, e, e, g, g, i, i, a) start location: start0 leaf cost: 0 Repeatedly removing leaves of the complexity graph in problem 1 produces the following problem: 2: T: (?, 1) start(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, 0, c, 0, e, k, g, 1, i, j) [ a >= 1 /\ b = c /\ d = e /\ f = g /\ h = i /\ j = a ] (?, 1) lbl21(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 1 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ j = a ] (?, 1) lbl121(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 2 /\ h + d >= b + 2 /\ h + b >= d /\ h >= d + b /\ f = 0 /\ j = a ] (?, 1) lbl141(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 0 /\ h + d >= b /\ h + b >= d + 2 /\ h >= d + b + 2 /\ f = 1 /\ j = a ] (?, 1) lbl171(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 2 /\ h + d >= b /\ h + b >= d + 2 /\ h >= d + b /\ f = 2 /\ j = a ] (?, 1) lbl191(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 0 /\ h + d >= b + 2 /\ h + b >= d /\ h >= d + b + 2 /\ f = 3 /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl21(a, b, c, d, e, f, g, h, i, j) [ 0 >= f + 1 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl21(a, b, c, d, e, f, g, h, i, j) [ f >= 4 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl121(a, b, c, d + 1, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 0 /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl141(a, b, c, d - 1, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 1 /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl171(a, b + 1, c, d, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 2 /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl191(a, b - 1, c, d, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 3 /\ j = a ] (1, 1) start0(a, b, c, d, e, f, g, h, i, j) -> start(a, c, c, e, e, g, g, i, i, a) start location: start0 leaf cost: 6 Repeatedly propagating knowledge in problem 2 produces the following problem: 3: T: (1, 1) start(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, 0, c, 0, e, k, g, 1, i, j) [ a >= 1 /\ b = c /\ d = e /\ f = g /\ h = i /\ j = a ] (?, 1) lbl21(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 1 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ j = a ] (?, 1) lbl121(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 2 /\ h + d >= b + 2 /\ h + b >= d /\ h >= d + b /\ f = 0 /\ j = a ] (?, 1) lbl141(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 0 /\ h + d >= b /\ h + b >= d + 2 /\ h >= d + b + 2 /\ f = 1 /\ j = a ] (?, 1) lbl171(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 2 /\ h + d >= b /\ h + b >= d + 2 /\ h >= d + b /\ f = 2 /\ j = a ] (?, 1) lbl191(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 0 /\ h + d >= b + 2 /\ h + b >= d /\ h >= d + b + 2 /\ f = 3 /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl21(a, b, c, d, e, f, g, h, i, j) [ 0 >= f + 1 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl21(a, b, c, d, e, f, g, h, i, j) [ f >= 4 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl121(a, b, c, d + 1, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 0 /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl141(a, b, c, d - 1, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 1 /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl171(a, b + 1, c, d, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 2 /\ j = a ] (?, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl191(a, b - 1, c, d, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 3 /\ j = a ] (1, 1) start0(a, b, c, d, e, f, g, h, i, j) -> start(a, c, c, e, e, g, g, i, i, a) start location: start0 leaf cost: 6 A polynomial rank function with Pol(start) = 2*V_1 - 1 Pol(lbl81) = 2*V_1 - 2*V_8 + 1 Pol(lbl21) = 2*V_1 - 2*V_8 Pol(lbl121) = 2*V_1 - 2*V_8 Pol(lbl141) = 2*V_1 - 2*V_8 Pol(lbl171) = 2*V_1 - 2*V_8 Pol(lbl191) = 2*V_1 - 2*V_8 Pol(start0) = 2*V_1 - 1 orients all transitions weakly and the transitions lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl21(a, b, c, d, e, f, g, h, i, j) [ f >= 4 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ j = a ] lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl21(a, b, c, d, e, f, g, h, i, j) [ 0 >= f + 1 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ j = a ] lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl191(a, b - 1, c, d, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 3 /\ j = a ] lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl171(a, b + 1, c, d, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 2 /\ j = a ] lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl141(a, b, c, d - 1, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 1 /\ j = a ] lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl121(a, b, c, d + 1, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 0 /\ j = a ] lbl21(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 1 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ j = a ] lbl191(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 0 /\ h + d >= b + 2 /\ h + b >= d /\ h >= d + b + 2 /\ f = 3 /\ j = a ] lbl171(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 2 /\ h + d >= b /\ h + b >= d + 2 /\ h >= d + b /\ f = 2 /\ j = a ] lbl141(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 0 /\ h + d >= b /\ h + b >= d + 2 /\ h >= d + b + 2 /\ f = 1 /\ j = a ] lbl121(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 2 /\ h + d >= b + 2 /\ h + b >= d /\ h >= d + b /\ f = 0 /\ j = a ] strictly and produces the following problem: 4: T: (1, 1) start(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, 0, c, 0, e, k, g, 1, i, j) [ a >= 1 /\ b = c /\ d = e /\ f = g /\ h = i /\ j = a ] (2*a + 1, 1) lbl21(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 1 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ j = a ] (2*a + 1, 1) lbl121(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 2 /\ h + d >= b + 2 /\ h + b >= d /\ h >= d + b /\ f = 0 /\ j = a ] (2*a + 1, 1) lbl141(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 0 /\ h + d >= b /\ h + b >= d + 2 /\ h >= d + b + 2 /\ f = 1 /\ j = a ] (2*a + 1, 1) lbl171(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 2 /\ h + d >= b /\ h + b >= d + 2 /\ h >= d + b /\ f = 2 /\ j = a ] (2*a + 1, 1) lbl191(a, b, c, d, e, f, g, h, i, j) -> lbl81(a, b, c, d, e, k, g, h + 1, i, j) [ a >= h + 1 /\ a >= h /\ h + d + b >= 0 /\ h + d >= b + 2 /\ h + b >= d /\ h >= d + b + 2 /\ f = 3 /\ j = a ] (2*a + 1, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl21(a, b, c, d, e, f, g, h, i, j) [ 0 >= f + 1 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ j = a ] (2*a + 1, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl21(a, b, c, d, e, f, g, h, i, j) [ f >= 4 /\ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ j = a ] (2*a + 1, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl121(a, b, c, d + 1, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 0 /\ j = a ] (2*a + 1, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl141(a, b, c, d - 1, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 1 /\ j = a ] (2*a + 1, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl171(a, b + 1, c, d, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 2 /\ j = a ] (2*a + 1, 1) lbl81(a, b, c, d, e, f, g, h, i, j) -> lbl191(a, b - 1, c, d, e, f, g, h, i, j) [ h + d >= b + 1 /\ h + b >= d + 1 /\ h >= d + b + 1 /\ h + d + b >= 1 /\ a >= h /\ f = 3 /\ j = a ] (1, 1) start0(a, b, c, d, e, f, g, h, i, j) -> start(a, c, c, e, e, g, g, i, i, a) start location: start0 leaf cost: 6 Complexity upper bound 22*a + 19 Time: 1.235 sec (SMT: 1.118 sec)