YES(?, 12*a + 19) Initial complexity problem: 1: T: (?, 1) start(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> stop(a, b, c, d, e, f, g, h, i, j, k, 0, m, n) [ 1 >= a /\ b = c /\ d = e /\ f = g /\ h = i /\ j = k /\ l = m /\ n = a ] (?, 1) start(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, 1, e, f, g, 0, i, 2, k, 0, m, n) [ a >= 2 /\ b = c /\ d = e /\ f = g /\ h = i /\ j = k /\ l = m /\ n = a ] (?, 1) start(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, 1, e, f, g, 1, i, 2, k, 0, m, n) [ a >= 2 /\ b = c /\ d = e /\ f = g /\ h = i /\ j = k /\ l = m /\ n = a ] (?, 1) lbl91(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl13(a, l, c, d, e, f, g, h, i, j, k, l + 1, m, n) [ d >= h /\ d >= 1 /\ h + 1 >= d /\ a >= d + 1 /\ n = a /\ l + 1 = d /\ j = a ] (?, 1) lbl53(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl91(a, b, c, d, e, o, g, h, i, j, k, l, m, n) [ d >= h /\ d >= 1 /\ a >= d + 1 /\ h + 1 >= d /\ j = a /\ l + 1 = d /\ n = a ] (?, 1) lbl53(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, j, e, f, g, h, i, j + 1, k, l, m, n) [ a >= j + 1 /\ d >= h /\ d >= 1 /\ a >= j /\ j >= d + 1 /\ h + 1 >= d /\ l + 1 = d /\ n = a ] (?, 1) lbl53(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, j, e, f, g, j, i, j + 1, k, l, m, n) [ a >= j + 1 /\ d >= h /\ d >= 1 /\ a >= j /\ j >= d + 1 /\ h + 1 >= d /\ l + 1 = d /\ n = a ] (?, 1) lbl13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> stop(a, b, c, d, e, f, g, h, i, j, k, l, m, n) [ h + 2 >= a /\ a >= 2 /\ a >= h + 1 /\ l + 1 = a /\ b + 2 = a /\ d + 1 = a /\ n = a /\ j = a ] (?, 1) lbl13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, l + 1, e, f, g, l, i, l + 2, k, l, m, n) [ a >= b + 3 /\ a >= b + 2 /\ h >= b /\ b >= 0 /\ b + 1 >= h /\ l = b + 1 /\ d = b + 1 /\ n = a /\ j = a ] (?, 1) lbl13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, l + 1, e, f, g, l + 1, i, l + 2, k, l, m, n) [ a >= b + 3 /\ a >= b + 2 /\ h >= b /\ b >= 0 /\ b + 1 >= h /\ l = b + 1 /\ d = b + 1 /\ n = a /\ j = a ] (1, 1) start0(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> start(a, c, c, e, e, g, g, i, i, k, k, m, m, 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, k, l, m, n) -> lbl53(a, b, c, 1, e, f, g, 0, i, 2, k, 0, m, n) [ a >= 2 /\ b = c /\ d = e /\ f = g /\ h = i /\ j = k /\ l = m /\ n = a ] (?, 1) start(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, 1, e, f, g, 1, i, 2, k, 0, m, n) [ a >= 2 /\ b = c /\ d = e /\ f = g /\ h = i /\ j = k /\ l = m /\ n = a ] (?, 1) lbl91(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl13(a, l, c, d, e, f, g, h, i, j, k, l + 1, m, n) [ d >= h /\ d >= 1 /\ h + 1 >= d /\ a >= d + 1 /\ n = a /\ l + 1 = d /\ j = a ] (?, 1) lbl53(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl91(a, b, c, d, e, o, g, h, i, j, k, l, m, n) [ d >= h /\ d >= 1 /\ a >= d + 1 /\ h + 1 >= d /\ j = a /\ l + 1 = d /\ n = a ] (?, 1) lbl13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, l + 1, e, f, g, l, i, l + 2, k, l, m, n) [ a >= b + 3 /\ a >= b + 2 /\ h >= b /\ b >= 0 /\ b + 1 >= h /\ l = b + 1 /\ d = b + 1 /\ n = a /\ j = a ] (?, 1) lbl13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, l + 1, e, f, g, l + 1, i, l + 2, k, l, m, n) [ a >= b + 3 /\ a >= b + 2 /\ h >= b /\ b >= 0 /\ b + 1 >= h /\ l = b + 1 /\ d = b + 1 /\ n = a /\ j = a ] (1, 1) start0(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> start(a, c, c, e, e, g, g, i, i, k, k, m, m, a) start location: start0 leaf cost: 4 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, k, l, m, n) -> lbl53(a, b, c, 1, e, f, g, 0, i, 2, k, 0, m, n) [ a >= 2 /\ b = c /\ d = e /\ f = g /\ h = i /\ j = k /\ l = m /\ n = a ] (1, 1) start(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, 1, e, f, g, 1, i, 2, k, 0, m, n) [ a >= 2 /\ b = c /\ d = e /\ f = g /\ h = i /\ j = k /\ l = m /\ n = a ] (?, 1) lbl91(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl13(a, l, c, d, e, f, g, h, i, j, k, l + 1, m, n) [ d >= h /\ d >= 1 /\ h + 1 >= d /\ a >= d + 1 /\ n = a /\ l + 1 = d /\ j = a ] (?, 1) lbl53(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl91(a, b, c, d, e, o, g, h, i, j, k, l, m, n) [ d >= h /\ d >= 1 /\ a >= d + 1 /\ h + 1 >= d /\ j = a /\ l + 1 = d /\ n = a ] (?, 1) lbl13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, l + 1, e, f, g, l, i, l + 2, k, l, m, n) [ a >= b + 3 /\ a >= b + 2 /\ h >= b /\ b >= 0 /\ b + 1 >= h /\ l = b + 1 /\ d = b + 1 /\ n = a /\ j = a ] (?, 1) lbl13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, l + 1, e, f, g, l + 1, i, l + 2, k, l, m, n) [ a >= b + 3 /\ a >= b + 2 /\ h >= b /\ b >= 0 /\ b + 1 >= h /\ l = b + 1 /\ d = b + 1 /\ n = a /\ j = a ] (1, 1) start0(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> start(a, c, c, e, e, g, g, i, i, k, k, m, m, a) start location: start0 leaf cost: 4 A polynomial rank function with Pol(start) = 3*V_1 - 3 Pol(lbl53) = 3*V_1 - 3*V_4 Pol(lbl91) = 3*V_1 - 3*V_12 - 4 Pol(lbl13) = 3*V_1 - 3*V_12 - 2 Pol(start0) = 3*V_1 - 3 orients all transitions weakly and the transitions lbl91(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl13(a, l, c, d, e, f, g, h, i, j, k, l + 1, m, n) [ d >= h /\ d >= 1 /\ h + 1 >= d /\ a >= d + 1 /\ n = a /\ l + 1 = d /\ j = a ] lbl53(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl91(a, b, c, d, e, o, g, h, i, j, k, l, m, n) [ d >= h /\ d >= 1 /\ a >= d + 1 /\ h + 1 >= d /\ j = a /\ l + 1 = d /\ n = a ] lbl13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, l + 1, e, f, g, l + 1, i, l + 2, k, l, m, n) [ a >= b + 3 /\ a >= b + 2 /\ h >= b /\ b >= 0 /\ b + 1 >= h /\ l = b + 1 /\ d = b + 1 /\ n = a /\ j = a ] lbl13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, l + 1, e, f, g, l, i, l + 2, k, l, m, n) [ a >= b + 3 /\ a >= b + 2 /\ h >= b /\ b >= 0 /\ b + 1 >= h /\ l = b + 1 /\ d = b + 1 /\ n = a /\ j = a ] strictly and produces the following problem: 4: T: (1, 1) start(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, 1, e, f, g, 0, i, 2, k, 0, m, n) [ a >= 2 /\ b = c /\ d = e /\ f = g /\ h = i /\ j = k /\ l = m /\ n = a ] (1, 1) start(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, 1, e, f, g, 1, i, 2, k, 0, m, n) [ a >= 2 /\ b = c /\ d = e /\ f = g /\ h = i /\ j = k /\ l = m /\ n = a ] (3*a + 3, 1) lbl91(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl13(a, l, c, d, e, f, g, h, i, j, k, l + 1, m, n) [ d >= h /\ d >= 1 /\ h + 1 >= d /\ a >= d + 1 /\ n = a /\ l + 1 = d /\ j = a ] (3*a + 3, 1) lbl53(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl91(a, b, c, d, e, o, g, h, i, j, k, l, m, n) [ d >= h /\ d >= 1 /\ a >= d + 1 /\ h + 1 >= d /\ j = a /\ l + 1 = d /\ n = a ] (3*a + 3, 1) lbl13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, l + 1, e, f, g, l, i, l + 2, k, l, m, n) [ a >= b + 3 /\ a >= b + 2 /\ h >= b /\ b >= 0 /\ b + 1 >= h /\ l = b + 1 /\ d = b + 1 /\ n = a /\ j = a ] (3*a + 3, 1) lbl13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> lbl53(a, b, c, l + 1, e, f, g, l + 1, i, l + 2, k, l, m, n) [ a >= b + 3 /\ a >= b + 2 /\ h >= b /\ b >= 0 /\ b + 1 >= h /\ l = b + 1 /\ d = b + 1 /\ n = a /\ j = a ] (1, 1) start0(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> start(a, c, c, e, e, g, g, i, i, k, k, m, m, a) start location: start0 leaf cost: 4 Complexity upper bound 12*a + 19 Time: 0.712 sec (SMT: 0.657 sec)