MAYBE Initial complexity problem: 1: T: (1, 1) evalEx3start(a, b, c) -> evalEx3entryin(a, b, c) (?, 1) evalEx3entryin(a, b, c) -> evalEx3bb4in(a, b, c) (?, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (?, 1) evalEx3bb4in(a, b, c) -> evalEx3returnin(a, b, c) [ 0 >= a ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb4in(c, b, c) [ 0 >= c ] (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ] (?, 1) evalEx3bb1in(a, b, c) -> evalEx3bb2in(a, b, c - 1) (?, 1) evalEx3returnin(a, b, c) -> evalEx3stop(a, b, c) start location: evalEx3start leaf cost: 0 Repeatedly removing leaves of the complexity graph in problem 1 produces the following problem: 2: T: (1, 1) evalEx3start(a, b, c) -> evalEx3entryin(a, b, c) (?, 1) evalEx3entryin(a, b, c) -> evalEx3bb4in(a, b, c) (?, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ] (?, 1) evalEx3bb1in(a, b, c) -> evalEx3bb2in(a, b, c - 1) start location: evalEx3start leaf cost: 3 Repeatedly propagating knowledge in problem 2 produces the following problem: 3: T: (1, 1) evalEx3start(a, b, c) -> evalEx3entryin(a, b, c) (1, 1) evalEx3entryin(a, b, c) -> evalEx3bb4in(a, b, c) (?, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ] (?, 1) evalEx3bb1in(a, b, c) -> evalEx3bb2in(a, b, c - 1) start location: evalEx3start leaf cost: 3 By chaining the transition evalEx3start(a, b, c) -> evalEx3entryin(a, b, c) with all transitions in problem 3, the following new transition is obtained: evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) We thus obtain the following problem: 4: T: (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) (1, 1) evalEx3entryin(a, b, c) -> evalEx3bb4in(a, b, c) (?, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ] (?, 1) evalEx3bb1in(a, b, c) -> evalEx3bb2in(a, b, c - 1) start location: evalEx3start leaf cost: 3 Testing for reachability in the complexity graph removes the following transition from problem 4: evalEx3entryin(a, b, c) -> evalEx3bb4in(a, b, c) We thus obtain the following problem: 5: T: (?, 1) evalEx3bb1in(a, b, c) -> evalEx3bb2in(a, b, c - 1) (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (?, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 By chaining the transition evalEx3bb1in(a, b, c) -> evalEx3bb2in(a, b, c - 1) with all transitions in problem 5, the following new transition is obtained: evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] We thus obtain the following problem: 6: T: (?, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (?, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 A polynomial rank function with Pol(evalEx3bb1in) = 2*V_3 - 2 Pol(evalEx3bb3in) = 2*V_3 - 1 Pol(evalEx3bb4in) = 2*V_1 - 1 Pol(evalEx3bb2in) = 2*V_3 - 1 Pol(evalEx3bbin) = 2*V_1 - 1 Pol(evalEx3start) = 2*V_1 - 1 orients all transitions weakly and the transition evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] strictly and produces the following problem: 7: T: (2*a + 1, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (?, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 A polynomial rank function with Pol(evalEx3bbin) = 1 Pol(evalEx3bb2in) = 1 Pol(evalEx3bb4in) = 1 Pol(evalEx3bb3in) = 1 Pol(evalEx3bb1in) = 0 and size complexities S("evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c)", 0-0) = a S("evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c)", 0-1) = b S("evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c)", 0-2) = c S("evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ]", 0-0) = a S("evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ]", 0-1) = ? S("evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ]", 0-2) = a + c S("evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a)", 0-0) = a S("evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a)", 0-1) = ? S("evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a)", 0-2) = a S("evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ]", 0-0) = a S("evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ]", 0-1) = ? S("evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ]", 0-2) = a S("evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c)", 0-0) = a S("evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c)", 0-1) = ? S("evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c)", 0-2) = a S("evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ]", 0-0) = a S("evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ]", 0-1) = ? S("evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ]", 0-2) = a S("evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ]", 0-0) = a S("evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ]", 0-1) = ? S("evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ]", 0-2) = a S("evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ]", 0-0) = a S("evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ]", 0-1) = ? S("evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ]", 0-2) = a orients the transitions evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ] evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] weakly and the transition evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) strictly and produces the following problem: 8: T: (2*a + 1, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] (2*a + 2, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (?, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 By chaining the transition evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ d >= b + 1 ] with all transitions in problem 8, the following new transition is obtained: evalEx3bb3in(a, b, c) -> evalEx3bbin(c, b, c) [ d >= b + 1 /\ c >= 1 ] We thus obtain the following problem: 9: T: (?, 2) evalEx3bb3in(a, b, c) -> evalEx3bbin(c, b, c) [ d >= b + 1 /\ c >= 1 ] (2*a + 1, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] (2*a + 2, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (?, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 By chaining the transition evalEx3bb3in(a, b, c) -> evalEx3bbin(c, b, c) [ d >= b + 1 /\ c >= 1 ] with all transitions in problem 9, the following new transition is obtained: evalEx3bb3in(a, b, c) -> evalEx3bb2in(c, d', c) [ d >= b + 1 /\ c >= 1 ] We thus obtain the following problem: 10: T: (?, 3) evalEx3bb3in(a, b, c) -> evalEx3bb2in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (2*a + 1, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] (2*a + 2, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (?, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 By chaining the transition evalEx3bb3in(a, b, c) -> evalEx3bb2in(c, d', c) [ d >= b + 1 /\ c >= 1 ] with all transitions in problem 10, the following new transition is obtained: evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] We thus obtain the following problem: 11: T: (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (2*a + 1, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 1) evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] (2*a + 2, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (?, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 By chaining the transition evalEx3bb3in(a, b, c) -> evalEx3bb4in(c, b, c) [ b >= d + 1 ] with all transitions in problem 11, the following new transition is obtained: evalEx3bb3in(a, b, c) -> evalEx3bbin(c, b, c) [ b >= d + 1 /\ c >= 1 ] We thus obtain the following problem: 12: T: (?, 2) evalEx3bb3in(a, b, c) -> evalEx3bbin(c, b, c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (2*a + 1, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (2*a + 2, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (?, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 Repeatedly propagating knowledge in problem 12 produces the following problem: 13: T: (?, 2) evalEx3bb3in(a, b, c) -> evalEx3bbin(c, b, c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (2*a + 1, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (2*a + 2, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (1, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 By chaining the transition evalEx3bb3in(a, b, c) -> evalEx3bbin(c, b, c) [ b >= d + 1 /\ c >= 1 ] with all transitions in problem 13, the following new transition is obtained: evalEx3bb3in(a, b, c) -> evalEx3bb2in(c, d', c) [ b >= d + 1 /\ c >= 1 ] We thus obtain the following problem: 14: T: (?, 3) evalEx3bb3in(a, b, c) -> evalEx3bb2in(c, d', c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (2*a + 1, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (2*a + 2, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (?, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (1, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 Repeatedly propagating knowledge in problem 14 produces the following problem: 15: T: (?, 3) evalEx3bb3in(a, b, c) -> evalEx3bb2in(c, d', c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (2*a + 1, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (2*a + 2, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (1, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (1, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 By chaining the transition evalEx3bb3in(a, b, c) -> evalEx3bb2in(c, d', c) [ b >= d + 1 /\ c >= 1 ] with all transitions in problem 15, the following new transition is obtained: evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ b >= d + 1 /\ c >= 1 ] We thus obtain the following problem: 16: T: (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (2*a + 1, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (2*a + 2, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (?, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (1, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (1, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 Repeatedly propagating knowledge in problem 16 produces the following problem: 17: T: (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (2*a + 1, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (2*a + 2, 1) evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) (1, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (1, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (1, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 By chaining the transition evalEx3bb3in(a, b, c) -> evalEx3bb1in(a, b, c) with all transitions in problem 17, the following new transition is obtained: evalEx3bb3in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] We thus obtain the following problem: 18: T: (2*a + 2, 3) evalEx3bb3in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (2*a + 1, 2) evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (1, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (1, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (1, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 Testing for reachability in the complexity graph removes the following transition from problem 18: evalEx3bb1in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] We thus obtain the following problem: 19: T: (2*a + 2, 3) evalEx3bb3in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (1, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (1, 1) evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) (1, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 By chaining the transition evalEx3bbin(a, b, c) -> evalEx3bb2in(a, d, a) with all transitions in problem 19, the following new transition is obtained: evalEx3bbin(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] We thus obtain the following problem: 20: T: (1, 2) evalEx3bbin(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] (2*a + 2, 3) evalEx3bb3in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (1, 1) evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] (1, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 Testing for reachability in the complexity graph removes the following transition from problem 20: evalEx3bb2in(a, b, c) -> evalEx3bb3in(a, b, c) [ c >= 1 ] We thus obtain the following problem: 21: T: (2*a + 2, 3) evalEx3bb3in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (1, 2) evalEx3bbin(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] (1, 1) evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 By chaining the transition evalEx3bb4in(a, b, c) -> evalEx3bbin(a, b, c) [ a >= 1 ] with all transitions in problem 21, the following new transition is obtained: evalEx3bb4in(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] We thus obtain the following problem: 22: T: (1, 3) evalEx3bb4in(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] (2*a + 2, 3) evalEx3bb3in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (1, 2) evalEx3bbin(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 Testing for reachability in the complexity graph removes the following transition from problem 22: evalEx3bbin(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] We thus obtain the following problem: 23: T: (2*a + 2, 3) evalEx3bb3in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (1, 3) evalEx3bb4in(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] (1, 2) evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) start location: evalEx3start leaf cost: 3 By chaining the transition evalEx3start(a, b, c) -> evalEx3bb4in(a, b, c) with all transitions in problem 23, the following new transition is obtained: evalEx3start(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] We thus obtain the following problem: 24: T: (1, 5) evalEx3start(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] (2*a + 2, 3) evalEx3bb3in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (1, 3) evalEx3bb4in(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] start location: evalEx3start leaf cost: 3 Testing for reachability in the complexity graph removes the following transition from problem 24: evalEx3bb4in(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] We thus obtain the following problem: 25: T: (2*a + 2, 3) evalEx3bb3in(a, b, c) -> evalEx3bb3in(a, b, c - 1) [ c - 1 >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ b >= d + 1 /\ c >= 1 ] (?, 4) evalEx3bb3in(a, b, c) -> evalEx3bb3in(c, d', c) [ d >= b + 1 /\ c >= 1 ] (1, 5) evalEx3start(a, b, c) -> evalEx3bb3in(a, d, a) [ a >= 1 ] start location: evalEx3start leaf cost: 3 Complexity upper bound ? Time: 3.253 sec (SMT: 3.000 sec)