YES(?, 500*a + 300*b + 50*a^2 + 100*a*b + 1053) Initial complexity problem: 1: T: (1, 1) evalfstart(a, b, c, d) -> evalfentryin(a, b, c, d) (?, 1) evalfentryin(a, b, c, d) -> evalfbb3in(a, b, 0, 0) [ a >= 1 /\ b >= a + 1 ] (?, 1) evalfbb3in(a, b, c, d) -> evalfreturnin(a, b, c, d) [ d >= b ] (?, 1) evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ b >= d + 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ 0 >= e + 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ e >= 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfreturnin(a, b, c, d) (?, 1) evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ a >= c + 1 ] (?, 1) evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ c >= a ] (?, 1) evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) (?, 1) evalfbb2in(a, b, c, d) -> evalfbb3in(a, b, 0, d + 1) (?, 1) evalfreturnin(a, b, c, d) -> evalfstop(a, b, c, d) start location: evalfstart leaf cost: 0 Repeatedly removing leaves of the complexity graph in problem 1 produces the following problem: 2: T: (1, 1) evalfstart(a, b, c, d) -> evalfentryin(a, b, c, d) (?, 1) evalfentryin(a, b, c, d) -> evalfbb3in(a, b, 0, 0) [ a >= 1 /\ b >= a + 1 ] (?, 1) evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ b >= d + 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ 0 >= e + 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ e >= 1 ] (?, 1) evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ a >= c + 1 ] (?, 1) evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ c >= a ] (?, 1) evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) (?, 1) evalfbb2in(a, b, c, d) -> evalfbb3in(a, b, 0, d + 1) start location: evalfstart leaf cost: 3 Repeatedly propagating knowledge in problem 2 produces the following problem: 3: T: (1, 1) evalfstart(a, b, c, d) -> evalfentryin(a, b, c, d) (1, 1) evalfentryin(a, b, c, d) -> evalfbb3in(a, b, 0, 0) [ a >= 1 /\ b >= a + 1 ] (?, 1) evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ b >= d + 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ 0 >= e + 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ e >= 1 ] (?, 1) evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ a >= c + 1 ] (?, 1) evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ c >= a ] (?, 1) evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) (?, 1) evalfbb2in(a, b, c, d) -> evalfbb3in(a, b, 0, d + 1) start location: evalfstart leaf cost: 3 Applied AI with 'oct' on problem 3 to obtain the following invariants: For symbol evalfbb1in: X_2 - X_4 - 1 >= 0 /\ X_4 >= 0 /\ X_3 + X_4 >= 0 /\ X_2 + X_4 - 2 >= 0 /\ X_1 + X_4 - 1 >= 0 /\ X_2 - X_3 - 2 >= 0 /\ X_1 - X_3 - 1 >= 0 /\ X_3 >= 0 /\ X_2 + X_3 - 2 >= 0 /\ X_1 + X_3 - 1 >= 0 /\ X_2 - 2 >= 0 /\ X_1 + X_2 - 3 >= 0 /\ -X_1 + X_2 - 1 >= 0 /\ X_1 - 1 >= 0 For symbol evalfbb2in: X_2 - X_4 - 1 >= 0 /\ X_4 >= 0 /\ X_3 + X_4 - 1 >= 0 /\ X_2 + X_4 - 2 >= 0 /\ X_1 + X_4 - 1 >= 0 /\ X_3 - 1 >= 0 /\ X_2 + X_3 - 3 >= 0 /\ X_1 + X_3 - 2 >= 0 /\ -X_1 + X_3 >= 0 /\ X_2 - 2 >= 0 /\ X_1 + X_2 - 3 >= 0 /\ -X_1 + X_2 - 1 >= 0 /\ X_1 - 1 >= 0 For symbol evalfbb3in: X_4 >= 0 /\ X_3 + X_4 >= 0 /\ X_2 + X_4 - 2 >= 0 /\ X_1 + X_4 - 1 >= 0 /\ X_3 >= 0 /\ X_2 + X_3 - 2 >= 0 /\ X_1 + X_3 - 1 >= 0 /\ X_2 - 2 >= 0 /\ X_1 + X_2 - 3 >= 0 /\ -X_1 + X_2 - 1 >= 0 /\ X_1 - 1 >= 0 For symbol evalfbb4in: X_2 - X_4 - 1 >= 0 /\ X_4 >= 0 /\ X_3 + X_4 >= 0 /\ X_2 + X_4 - 2 >= 0 /\ X_1 + X_4 - 1 >= 0 /\ X_3 >= 0 /\ X_2 + X_3 - 2 >= 0 /\ X_1 + X_3 - 1 >= 0 /\ X_2 - 2 >= 0 /\ X_1 + X_2 - 3 >= 0 /\ -X_1 + X_2 - 1 >= 0 /\ X_1 - 1 >= 0 For symbol evalfbbin: X_2 - X_4 - 1 >= 0 /\ X_4 >= 0 /\ X_3 + X_4 >= 0 /\ X_2 + X_4 - 2 >= 0 /\ X_1 + X_4 - 1 >= 0 /\ X_3 >= 0 /\ X_2 + X_3 - 2 >= 0 /\ X_1 + X_3 - 1 >= 0 /\ X_2 - 2 >= 0 /\ X_1 + X_2 - 3 >= 0 /\ -X_1 + X_2 - 1 >= 0 /\ X_1 - 1 >= 0 This yielded the following problem: 4: T: (?, 1) evalfbb2in(a, b, c, d) -> evalfbb3in(a, b, 0, d + 1) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d - 1 >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c - 1 >= 0 /\ b + c - 3 >= 0 /\ a + c - 2 >= 0 /\ -a + c >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 ] (?, 1) evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ b - c - 2 >= 0 /\ a - c - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 ] (?, 1) evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ c >= a ] (?, 1) evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ a >= c + 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ e >= 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ 0 >= e + 1 ] (?, 1) evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ b >= d + 1 ] (1, 1) evalfentryin(a, b, c, d) -> evalfbb3in(a, b, 0, 0) [ a >= 1 /\ b >= a + 1 ] (1, 1) evalfstart(a, b, c, d) -> evalfentryin(a, b, c, d) start location: evalfstart leaf cost: 3 A polynomial rank function with Pol(evalfbb2in) = -2*V_1 + 4*V_2 - 2*V_4 + 12 Pol(evalfbb3in) = -2*V_1 + 4*V_2 - 2*V_4 + 13 Pol(evalfbb1in) = -2*V_1 + 4*V_2 - 2*V_4 + 13 Pol(evalfbbin) = -2*V_1 + 4*V_2 - 2*V_4 + 13 Pol(evalfbb4in) = -2*V_1 + 4*V_2 - 2*V_4 + 13 Pol(evalfentryin) = -2*V_1 + 4*V_2 + 13 Pol(evalfstart) = -2*V_1 + 4*V_2 + 13 orients all transitions weakly and the transition evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ c >= a ] strictly and produces the following problem: 5: T: (?, 1) evalfbb2in(a, b, c, d) -> evalfbb3in(a, b, 0, d + 1) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d - 1 >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c - 1 >= 0 /\ b + c - 3 >= 0 /\ a + c - 2 >= 0 /\ -a + c >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 ] (?, 1) evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ b - c - 2 >= 0 /\ a - c - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 ] (2*a + 4*b + 13, 1) evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ c >= a ] (?, 1) evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ a >= c + 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ e >= 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ 0 >= e + 1 ] (?, 1) evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ b >= d + 1 ] (1, 1) evalfentryin(a, b, c, d) -> evalfbb3in(a, b, 0, 0) [ a >= 1 /\ b >= a + 1 ] (1, 1) evalfstart(a, b, c, d) -> evalfentryin(a, b, c, d) start location: evalfstart leaf cost: 3 Repeatedly propagating knowledge in problem 5 produces the following problem: 6: T: (2*a + 4*b + 13, 1) evalfbb2in(a, b, c, d) -> evalfbb3in(a, b, 0, d + 1) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d - 1 >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c - 1 >= 0 /\ b + c - 3 >= 0 /\ a + c - 2 >= 0 /\ -a + c >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 ] (?, 1) evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ b - c - 2 >= 0 /\ a - c - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 ] (2*a + 4*b + 13, 1) evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ c >= a ] (?, 1) evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ a >= c + 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ e >= 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ 0 >= e + 1 ] (?, 1) evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ b >= d + 1 ] (1, 1) evalfentryin(a, b, c, d) -> evalfbb3in(a, b, 0, 0) [ a >= 1 /\ b >= a + 1 ] (1, 1) evalfstart(a, b, c, d) -> evalfentryin(a, b, c, d) start location: evalfstart leaf cost: 3 A polynomial rank function with Pol(evalfbbin) = 5*V_1 - 5*V_3 + 11 Pol(evalfbb1in) = 5*V_1 - 5*V_3 + 10 Pol(evalfbb4in) = 5*V_1 - 5*V_3 + 13 Pol(evalfbb3in) = 5*V_1 - 5*V_3 + 14 and size complexities S("evalfstart(a, b, c, d) -> evalfentryin(a, b, c, d)", 0-0) = a S("evalfstart(a, b, c, d) -> evalfentryin(a, b, c, d)", 0-1) = b S("evalfstart(a, b, c, d) -> evalfentryin(a, b, c, d)", 0-2) = c S("evalfstart(a, b, c, d) -> evalfentryin(a, b, c, d)", 0-3) = d S("evalfentryin(a, b, c, d) -> evalfbb3in(a, b, 0, 0) [ a >= 1 /\\ b >= a + 1 ]", 0-0) = a S("evalfentryin(a, b, c, d) -> evalfbb3in(a, b, 0, 0) [ a >= 1 /\\ b >= a + 1 ]", 0-1) = b S("evalfentryin(a, b, c, d) -> evalfbb3in(a, b, 0, 0) [ a >= 1 /\\ b >= a + 1 ]", 0-2) = 0 S("evalfentryin(a, b, c, d) -> evalfbb3in(a, b, 0, 0) [ a >= 1 /\\ b >= a + 1 ]", 0-3) = 0 S("evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ b >= d + 1 ]", 0-0) = a S("evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ b >= d + 1 ]", 0-1) = b S("evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ b >= d + 1 ]", 0-2) = a S("evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ b >= d + 1 ]", 0-3) = b S("evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ 0 >= e + 1 ]", 0-0) = a S("evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ 0 >= e + 1 ]", 0-1) = b S("evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ 0 >= e + 1 ]", 0-2) = a S("evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ 0 >= e + 1 ]", 0-3) = b S("evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ e >= 1 ]", 0-0) = a S("evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ e >= 1 ]", 0-1) = b S("evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ e >= 1 ]", 0-2) = a S("evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ e >= 1 ]", 0-3) = b S("evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ a >= c + 1 ]", 0-0) = a S("evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ a >= c + 1 ]", 0-1) = b S("evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ a >= c + 1 ]", 0-2) = a S("evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ a >= c + 1 ]", 0-3) = b S("evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ c >= a ]", 0-0) = a S("evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ c >= a ]", 0-1) = b S("evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ c >= a ]", 0-2) = a S("evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 /\\ c >= a ]", 0-3) = b S("evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ b - c - 2 >= 0 /\\ a - c - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 ]", 0-0) = a S("evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ b - c - 2 >= 0 /\\ a - c - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 ]", 0-1) = b S("evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ b - c - 2 >= 0 /\\ a - c - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 ]", 0-2) = a S("evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ b - c - 2 >= 0 /\\ a - c - 1 >= 0 /\\ c >= 0 /\\ b + c - 2 >= 0 /\\ a + c - 1 >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 ]", 0-3) = b S("evalfbb2in(a, b, c, d) -> evalfbb3in(a, b, 0, d + 1) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d - 1 >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c - 1 >= 0 /\\ b + c - 3 >= 0 /\\ a + c - 2 >= 0 /\\ -a + c >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 ]", 0-0) = a S("evalfbb2in(a, b, c, d) -> evalfbb3in(a, b, 0, d + 1) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d - 1 >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c - 1 >= 0 /\\ b + c - 3 >= 0 /\\ a + c - 2 >= 0 /\\ -a + c >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 ]", 0-1) = b S("evalfbb2in(a, b, c, d) -> evalfbb3in(a, b, 0, d + 1) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d - 1 >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c - 1 >= 0 /\\ b + c - 3 >= 0 /\\ a + c - 2 >= 0 /\\ -a + c >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 ]", 0-2) = 0 S("evalfbb2in(a, b, c, d) -> evalfbb3in(a, b, 0, d + 1) [ b - d - 1 >= 0 /\\ d >= 0 /\\ c + d - 1 >= 0 /\\ b + d - 2 >= 0 /\\ a + d - 1 >= 0 /\\ c - 1 >= 0 /\\ b + c - 3 >= 0 /\\ a + c - 2 >= 0 /\\ -a + c >= 0 /\\ b - 2 >= 0 /\\ a + b - 3 >= 0 /\\ -a + b - 1 >= 0 /\\ a - 1 >= 0 ]", 0-3) = b orients the transitions evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ a >= c + 1 ] evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ e >= 1 ] evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ 0 >= e + 1 ] evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ b >= d + 1 ] evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ b - c - 2 >= 0 /\ a - c - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 ] weakly and the transitions evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ a >= c + 1 ] evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ b - c - 2 >= 0 /\ a - c - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 ] strictly and produces the following problem: 7: T: (2*a + 4*b + 13, 1) evalfbb2in(a, b, c, d) -> evalfbb3in(a, b, 0, d + 1) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d - 1 >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c - 1 >= 0 /\ b + c - 3 >= 0 /\ a + c - 2 >= 0 /\ -a + c >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 ] (98*a + 10*a^2 + 20*a*b + 56*b + 196, 1) evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ b - c - 2 >= 0 /\ a - c - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 ] (2*a + 4*b + 13, 1) evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ c >= a ] (98*a + 10*a^2 + 20*a*b + 56*b + 196, 1) evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ a >= c + 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ e >= 1 ] (?, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ 0 >= e + 1 ] (?, 1) evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ b >= d + 1 ] (1, 1) evalfentryin(a, b, c, d) -> evalfbb3in(a, b, 0, 0) [ a >= 1 /\ b >= a + 1 ] (1, 1) evalfstart(a, b, c, d) -> evalfentryin(a, b, c, d) start location: evalfstart leaf cost: 3 Repeatedly propagating knowledge in problem 7 produces the following problem: 8: T: (2*a + 4*b + 13, 1) evalfbb2in(a, b, c, d) -> evalfbb3in(a, b, 0, d + 1) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d - 1 >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c - 1 >= 0 /\ b + c - 3 >= 0 /\ a + c - 2 >= 0 /\ -a + c >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 ] (98*a + 10*a^2 + 20*a*b + 56*b + 196, 1) evalfbb1in(a, b, c, d) -> evalfbb3in(a, b, c + 1, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ b - c - 2 >= 0 /\ a - c - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 ] (2*a + 4*b + 13, 1) evalfbbin(a, b, c, d) -> evalfbb2in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ c >= a ] (98*a + 10*a^2 + 20*a*b + 56*b + 196, 1) evalfbbin(a, b, c, d) -> evalfbb1in(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ a >= c + 1 ] (100*a + 10*a^2 + 20*a*b + 60*b + 210, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ e >= 1 ] (100*a + 10*a^2 + 20*a*b + 60*b + 210, 1) evalfbb4in(a, b, c, d) -> evalfbbin(a, b, c, d) [ b - d - 1 >= 0 /\ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ 0 >= e + 1 ] (100*a + 10*a^2 + 20*a*b + 60*b + 210, 1) evalfbb3in(a, b, c, d) -> evalfbb4in(a, b, c, d) [ d >= 0 /\ c + d >= 0 /\ b + d - 2 >= 0 /\ a + d - 1 >= 0 /\ c >= 0 /\ b + c - 2 >= 0 /\ a + c - 1 >= 0 /\ b - 2 >= 0 /\ a + b - 3 >= 0 /\ -a + b - 1 >= 0 /\ a - 1 >= 0 /\ b >= d + 1 ] (1, 1) evalfentryin(a, b, c, d) -> evalfbb3in(a, b, 0, 0) [ a >= 1 /\ b >= a + 1 ] (1, 1) evalfstart(a, b, c, d) -> evalfentryin(a, b, c, d) start location: evalfstart leaf cost: 3 Complexity upper bound 500*a + 300*b + 50*a^2 + 100*a*b + 1053 Time: 0.558 sec (SMT: 0.509 sec)