MAYBE Initial complexity problem: 1: T: (?, 1) f9(a, b) -> f10(a, b) [ 5 >= a ] (?, 1) f25(a, b) -> f2(a, b) (?, 1) f2(a, b) -> f2(a, b) (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 1) f27(a, b) -> f29(a, b) (?, 1) f19(a, b) -> f19(a - 1, b) [ a >= 3 ] (?, 1) f19(a, b) -> f9(a, b) [ 2 >= a ] (?, 1) f10(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f19(a, 0) [ a >= 6 ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 0 Repeatedly removing leaves of the complexity graph in problem 1 produces the following problem: 2: T: (?, 1) f9(a, b) -> f10(a, b) [ 5 >= a ] (?, 1) f25(a, b) -> f2(a, b) (?, 1) f2(a, b) -> f2(a, b) (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ a >= 3 ] (?, 1) f19(a, b) -> f9(a, b) [ 2 >= a ] (?, 1) f10(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f19(a, 0) [ a >= 6 ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 Testing for reachability in the complexity graph removes the following transitions from problem 2: f25(a, b) -> f2(a, b) f2(a, b) -> f2(a, b) We thus obtain the following problem: 3: T: (?, 1) f19(a, b) -> f9(a, b) [ 2 >= a ] (?, 1) f19(a, b) -> f19(a - 1, b) [ a >= 3 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f19(a, 0) [ a >= 6 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (?, 1) f9(a, b) -> f10(a, b) [ 5 >= a ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 Applied AI with 'oct' on problem 3 to obtain the following invariants: For symbol f19: -X_2 >= 0 /\ X_2 >= 0 This yielded the following problem: 4: T: (1, 1) f0(a, b) -> f9(c, b) (?, 1) f9(a, b) -> f10(a, b) [ 5 >= a ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f9(a, b) -> f19(a, 0) [ a >= 6 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f19(a, b) -> f9(a, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a ] start location: f0 leaf cost: 1 By chaining the transition f9(a, b) -> f10(a, b) [ 5 >= a ] with all transitions in problem 4, the following new transition is obtained: f9(a, b) -> f9(a + 1, b) [ 5 >= a ] We thus obtain the following problem: 5: T: (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (1, 1) f0(a, b) -> f9(c, b) (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f9(a, b) -> f19(a, 0) [ a >= 6 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f19(a, b) -> f9(a, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a ] start location: f0 leaf cost: 1 Testing for reachability in the complexity graph removes the following transition from problem 5: f10(a, b) -> f9(a + 1, b) [ 5 >= a ] We thus obtain the following problem: 6: T: (?, 1) f19(a, b) -> f9(a, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f19(a, 0) [ a >= 6 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f19(a, b) -> f9(a, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a ] with all transitions in problem 6, the following new transition is obtained: f19(a, b) -> f9(a + 1, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a ] We thus obtain the following problem: 7: T: (?, 3) f19(a, b) -> f9(a + 1, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f19(a, 0) [ a >= 6 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f19(a, b) -> f9(a + 1, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a ] with all transitions in problem 7, the following new transition is obtained: f19(a, b) -> f9(a + 2, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 ] We thus obtain the following problem: 8: T: (?, 5) f19(a, b) -> f9(a + 2, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f19(a, 0) [ a >= 6 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f19(a, b) -> f9(a + 2, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 ] with all transitions in problem 8, the following new transition is obtained: f19(a, b) -> f9(a + 3, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 ] We thus obtain the following problem: 9: T: (?, 7) f19(a, b) -> f9(a + 3, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f19(a, 0) [ a >= 6 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f19(a, b) -> f9(a + 3, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 ] with all transitions in problem 9, the following new transition is obtained: f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] We thus obtain the following problem: 10: T: (?, 9) f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f19(a, 0) [ a >= 6 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f9(a, b) -> f19(a, 0) [ a >= 6 ] with all transitions in problem 10, the following new transition is obtained: f9(a, b) -> f19(a - 1, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 ] We thus obtain the following problem: 11: T: (?, 2) f9(a, b) -> f19(a - 1, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 ] (?, 9) f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f9(a, b) -> f19(a - 1, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 ] with all transitions in problem 11, the following new transition is obtained: f9(a, b) -> f19(a - 2, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 ] We thus obtain the following problem: 12: T: (?, 3) f9(a, b) -> f19(a - 2, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 ] (?, 9) f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f9(a, b) -> f19(a - 2, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 ] with all transitions in problem 12, the following new transition is obtained: f9(a, b) -> f19(a - 3, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 ] We thus obtain the following problem: 13: T: (?, 4) f9(a, b) -> f19(a - 3, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 ] (?, 9) f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f9(a, b) -> f19(a - 3, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 ] with all transitions in problem 13, the following new transition is obtained: f9(a, b) -> f19(a - 4, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 ] We thus obtain the following problem: 14: T: (?, 5) f9(a, b) -> f19(a - 4, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 ] (?, 9) f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f9(a, b) -> f10(a, c) [ a >= 6 /\ c >= 1 ] with all transitions in problem 14, the following new transition is obtained: f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ c >= 1 ] We thus obtain the following problem: 15: T: (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ c >= 1 ] (?, 5) f9(a, b) -> f19(a - 4, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 ] (?, 9) f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (?, 1) f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f9(a, b) -> f10(a, c) [ a >= 6 /\ 0 >= c + 1 ] with all transitions in problem 15, the following new transition is obtained: f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ 0 >= c + 1 ] We thus obtain the following problem: 16: T: (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ 0 >= c + 1 ] (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ c >= 1 ] (?, 5) f9(a, b) -> f19(a - 4, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 ] (?, 9) f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 1) f10(a, b) -> f9(a + 1, b) [ a >= 6 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 Testing for reachability in the complexity graph removes the following transition from problem 16: f10(a, b) -> f9(a + 1, b) [ a >= 6 ] We thus obtain the following problem: 17: T: (?, 9) f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ 0 >= c + 1 ] (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ c >= 1 ] (?, 5) f9(a, b) -> f19(a - 4, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f9(a, b) -> f19(a - 4, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 ] with all transitions in problem 17, the following new transitions are obtained: f9(a, b) -> f9(a, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ 2 >= a - 4 /\ 5 >= a - 4 /\ 5 >= a - 3 /\ 5 >= a - 2 /\ 5 >= a - 1 ] f9(a, b) -> f19(a - 5, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 ] We thus obtain the following problem: 18: T: (?, 14) f9(a, b) -> f9(a, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ 2 >= a - 4 /\ 5 >= a - 4 /\ 5 >= a - 3 /\ 5 >= a - 2 /\ 5 >= a - 1 ] (?, 6) f9(a, b) -> f19(a - 5, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 ] (?, 9) f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ 0 >= c + 1 ] (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ c >= 1 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f9(a, b) -> f19(a - 5, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 ] with all transitions in problem 18, the following new transitions are obtained: f9(a, b) -> f9(a - 1, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ 2 >= a - 5 /\ 5 >= a - 5 /\ 5 >= a - 4 /\ 5 >= a - 3 /\ 5 >= a - 2 ] f9(a, b) -> f19(a - 6, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 ] We thus obtain the following problem: 19: T: (?, 15) f9(a, b) -> f9(a - 1, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ 2 >= a - 5 /\ 5 >= a - 5 /\ 5 >= a - 4 /\ 5 >= a - 3 /\ 5 >= a - 2 ] (?, 7) f9(a, b) -> f19(a - 6, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 ] (?, 14) f9(a, b) -> f9(a, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ 2 >= a - 4 /\ 5 >= a - 4 /\ 5 >= a - 3 /\ 5 >= a - 2 /\ 5 >= a - 1 ] (?, 9) f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ 0 >= c + 1 ] (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ c >= 1 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f9(a, b) -> f19(a - 6, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 ] with all transitions in problem 19, the following new transitions are obtained: f9(a, b) -> f9(a - 2, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 /\ 2 >= a - 6 /\ 5 >= a - 6 /\ 5 >= a - 5 /\ 5 >= a - 4 /\ 5 >= a - 3 ] f9(a, b) -> f19(a - 7, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 /\ a - 6 >= 3 ] We thus obtain the following problem: 20: T: (?, 16) f9(a, b) -> f9(a - 2, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 /\ 2 >= a - 6 /\ 5 >= a - 6 /\ 5 >= a - 5 /\ 5 >= a - 4 /\ 5 >= a - 3 ] (?, 8) f9(a, b) -> f19(a - 7, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 /\ a - 6 >= 3 ] (?, 15) f9(a, b) -> f9(a - 1, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ 2 >= a - 5 /\ 5 >= a - 5 /\ 5 >= a - 4 /\ 5 >= a - 3 /\ 5 >= a - 2 ] (?, 14) f9(a, b) -> f9(a, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ 2 >= a - 4 /\ 5 >= a - 4 /\ 5 >= a - 3 /\ 5 >= a - 2 /\ 5 >= a - 1 ] (?, 9) f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ 0 >= c + 1 ] (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ c >= 1 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 By chaining the transition f9(a, b) -> f19(a - 7, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 /\ a - 6 >= 3 ] with all transitions in problem 20, the following new transitions are obtained: f9(a, b) -> f9(a - 3, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 /\ a - 6 >= 3 /\ 2 >= a - 7 /\ 5 >= a - 7 /\ 5 >= a - 6 /\ 5 >= a - 5 /\ 5 >= a - 4 ] f9(a, b) -> f19(a - 8, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 /\ a - 6 >= 3 /\ a - 7 >= 3 ] We thus obtain the following problem: 21: T: (?, 17) f9(a, b) -> f9(a - 3, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 /\ a - 6 >= 3 /\ 2 >= a - 7 /\ 5 >= a - 7 /\ 5 >= a - 6 /\ 5 >= a - 5 /\ 5 >= a - 4 ] (?, 9) f9(a, b) -> f19(a - 8, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 /\ a - 6 >= 3 /\ a - 7 >= 3 ] (?, 16) f9(a, b) -> f9(a - 2, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ a - 5 >= 3 /\ 2 >= a - 6 /\ 5 >= a - 6 /\ 5 >= a - 5 /\ 5 >= a - 4 /\ 5 >= a - 3 ] (?, 15) f9(a, b) -> f9(a - 1, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ a - 4 >= 3 /\ 2 >= a - 5 /\ 5 >= a - 5 /\ 5 >= a - 4 /\ 5 >= a - 3 /\ 5 >= a - 2 ] (?, 14) f9(a, b) -> f9(a, 0) [ a >= 6 /\ 0 >= 0 /\ a >= 3 /\ a - 1 >= 3 /\ a - 2 >= 3 /\ a - 3 >= 3 /\ 2 >= a - 4 /\ 5 >= a - 4 /\ 5 >= a - 3 /\ 5 >= a - 2 /\ 5 >= a - 1 ] (?, 9) f19(a, b) -> f9(a + 4, b) [ -b >= 0 /\ b >= 0 /\ 2 >= a /\ 5 >= a /\ 5 >= a + 1 /\ 5 >= a + 2 /\ 5 >= a + 3 ] (?, 1) f19(a, b) -> f19(a - 1, b) [ -b >= 0 /\ b >= 0 /\ a >= 3 ] (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ 0 >= c + 1 ] (?, 2) f9(a, b) -> f9(a + 1, c) [ a >= 6 /\ c >= 1 ] (?, 2) f9(a, b) -> f9(a + 1, b) [ 5 >= a ] (1, 1) f0(a, b) -> f9(c, b) start location: f0 leaf cost: 1 Complexity upper bound ? Time: 2.832 sec (SMT: 2.654 sec)