YES(?, a + e + g + 107) Initial complexity problem: 1: T: (?, 1) start(a, b, c, d, e, f, g, h) -> stop(a, b, c, d, e, f, g, h) [ a >= 101 /\ b = c /\ d = e /\ f = g /\ h = a ] (?, 1) start(a, b, c, d, e, f, g, h) -> stop(a, b, c, d, e, f, g, h) [ g >= e + 1 /\ b = c /\ d = e /\ f = g /\ h = a ] (?, 1) start(a, b, c, d, e, f, g, h) -> lbl71(a, h, c, d - 1, e, h + 1, g, f) [ e >= g /\ 100 >= a /\ b = c /\ d = e /\ f = g /\ h = a ] (?, 1) lbl71(a, b, c, d, e, f, g, h) -> stop(a, b, c, d, e, f, g, h) [ a + g + e >= b + d + 102 /\ e >= d + 1 /\ 100 >= a /\ e >= g /\ 2*d + b + 2 >= a + g + e /\ 100 >= b /\ f = b + 1 /\ h + b + d + 1 = a + g + e ] (?, 1) lbl71(a, b, c, d, e, f, g, h) -> stop(a, b, c, d, e, f, g, h) [ b >= d /\ e >= d + 1 /\ 100 >= a /\ e >= g /\ 2*d + b + 2 >= a + g + e /\ 100 >= b /\ f = b + 1 /\ h + b + d + 1 = a + g + e ] (?, 1) lbl71(a, b, c, d, e, f, g, h) -> lbl71(a, h, c, d - 1, e, h + 1, g, f) [ d >= b + 1 /\ b + d + 101 >= a + g + e /\ e >= d + 1 /\ 100 >= a /\ e >= g /\ 2*d + b + 2 >= a + g + e /\ 100 >= b /\ f = b + 1 /\ h + b + d + 1 = a + g + e ] (1, 1) start0(a, b, c, d, e, f, g, h) -> start(a, c, c, e, e, g, g, 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) -> lbl71(a, h, c, d - 1, e, h + 1, g, f) [ e >= g /\ 100 >= a /\ b = c /\ d = e /\ f = g /\ h = a ] (?, 1) lbl71(a, b, c, d, e, f, g, h) -> lbl71(a, h, c, d - 1, e, h + 1, g, f) [ d >= b + 1 /\ b + d + 101 >= a + g + e /\ e >= d + 1 /\ 100 >= a /\ e >= g /\ 2*d + b + 2 >= a + g + e /\ 100 >= b /\ f = b + 1 /\ h + b + d + 1 = a + g + e ] (1, 1) start0(a, b, c, d, e, f, g, h) -> start(a, c, c, e, e, g, g, 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) -> lbl71(a, h, c, d - 1, e, h + 1, g, f) [ e >= g /\ 100 >= a /\ b = c /\ d = e /\ f = g /\ h = a ] (?, 1) lbl71(a, b, c, d, e, f, g, h) -> lbl71(a, h, c, d - 1, e, h + 1, g, f) [ d >= b + 1 /\ b + d + 101 >= a + g + e /\ e >= d + 1 /\ 100 >= a /\ e >= g /\ 2*d + b + 2 >= a + g + e /\ 100 >= b /\ f = b + 1 /\ h + b + d + 1 = a + g + e ] (1, 1) start0(a, b, c, d, e, f, g, h) -> start(a, c, c, e, e, g, g, a) start location: start0 leaf cost: 4 A polynomial rank function with Pol(start) = -V_1 + 2*V_4 - V_5 - V_7 + 101 Pol(lbl71) = -V_1 + 2*V_4 - V_5 - V_7 + 103 Pol(start0) = -V_1 + V_5 - V_7 + 101 orients all transitions weakly and the transition lbl71(a, b, c, d, e, f, g, h) -> lbl71(a, h, c, d - 1, e, h + 1, g, f) [ d >= b + 1 /\ b + d + 101 >= a + g + e /\ e >= d + 1 /\ 100 >= a /\ e >= g /\ 2*d + b + 2 >= a + g + e /\ 100 >= b /\ f = b + 1 /\ h + b + d + 1 = a + g + e ] strictly and produces the following problem: 4: T: (1, 1) start(a, b, c, d, e, f, g, h) -> lbl71(a, h, c, d - 1, e, h + 1, g, f) [ e >= g /\ 100 >= a /\ b = c /\ d = e /\ f = g /\ h = a ] (a + e + g + 101, 1) lbl71(a, b, c, d, e, f, g, h) -> lbl71(a, h, c, d - 1, e, h + 1, g, f) [ d >= b + 1 /\ b + d + 101 >= a + g + e /\ e >= d + 1 /\ 100 >= a /\ e >= g /\ 2*d + b + 2 >= a + g + e /\ 100 >= b /\ f = b + 1 /\ h + b + d + 1 = a + g + e ] (1, 1) start0(a, b, c, d, e, f, g, h) -> start(a, c, c, e, e, g, g, a) start location: start0 leaf cost: 4 Complexity upper bound a + e + g + 107 Time: 0.271 sec (SMT: 0.257 sec)