MAYBE Initial complexity problem: 1: T: (1, 1) evalcyclicstart(a, b, c) -> evalcyclicentryin(a, b, c) (?, 1) evalcyclicentryin(a, b, c) -> evalcyclicbb3in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicreturnin(a, b, c) [ c = a ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ a >= c + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ c >= a + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ d >= 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicreturnin(a, b, c) (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b >= c ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, 0) [ c >= b + 1 ] (?, 1) evalcyclicreturnin(a, b, c) -> evalcyclicstop(a, b, c) start location: evalcyclicstart leaf cost: 0 Repeatedly removing leaves of the complexity graph in problem 1 produces the following problem: 2: T: (1, 1) evalcyclicstart(a, b, c) -> evalcyclicentryin(a, b, c) (?, 1) evalcyclicentryin(a, b, c) -> evalcyclicbb3in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ a >= c + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ c >= a + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ d >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b >= c ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, 0) [ c >= b + 1 ] start location: evalcyclicstart leaf cost: 3 Repeatedly propagating knowledge in problem 2 produces the following problem: 3: T: (1, 1) evalcyclicstart(a, b, c) -> evalcyclicentryin(a, b, c) (1, 1) evalcyclicentryin(a, b, c) -> evalcyclicbb3in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ a >= c + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ c >= a + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ d >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b >= c ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, 0) [ c >= b + 1 ] start location: evalcyclicstart leaf cost: 3 Applied AI with 'oct' on problem 3 to obtain the following invariants: For symbol evalcyclicbb3in: X_2 - 1 >= 0 /\ X_1 + X_2 - 1 >= 0 /\ -X_1 + X_2 - 1 >= 0 /\ X_1 >= 0 For symbol evalcyclicbb4in: X_2 - 1 >= 0 /\ X_1 + X_2 - 1 >= 0 /\ -X_1 + X_2 - 1 >= 0 /\ X_1 >= 0 For symbol evalcyclicbbin: X_2 - 1 >= 0 /\ X_1 + X_2 - 1 >= 0 /\ -X_1 + X_2 - 1 >= 0 /\ X_1 >= 0 This yielded the following problem: 4: T: (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 ] (1, 1) evalcyclicentryin(a, b, c) -> evalcyclicbb3in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 ] (1, 1) evalcyclicstart(a, b, c) -> evalcyclicentryin(a, b, c) start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 ] with all transitions in problem 4, the following new transition is obtained: evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] We thus obtain the following problem: 5: T: (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 ] (1, 1) evalcyclicentryin(a, b, c) -> evalcyclicbb3in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 ] (1, 1) evalcyclicstart(a, b, c) -> evalcyclicentryin(a, b, c) start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicentryin(a, b, c) -> evalcyclicbb3in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 ] with all transitions in problem 5, the following new transition is obtained: evalcyclicentryin(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] We thus obtain the following problem: 6: T: (1, 2) evalcyclicentryin(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 ] (1, 1) evalcyclicstart(a, b, c) -> evalcyclicentryin(a, b, c) start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicstart(a, b, c) -> evalcyclicentryin(a, b, c) with all transitions in problem 6, the following new transition is obtained: evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] We thus obtain the following problem: 7: T: (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] (1, 2) evalcyclicentryin(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 ] start location: evalcyclicstart leaf cost: 3 Testing for reachability in the complexity graph removes the following transition from problem 7: evalcyclicentryin(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] We thus obtain the following problem: 8: T: (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 ] with all transitions in problem 8, the following new transitions are obtained: evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 ] evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 ] We thus obtain the following problem: 9: T: (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 ] (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 ] with all transitions in problem 9, the following new transition is obtained: evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 /\ b >= c ] We thus obtain the following problem: 10: T: (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 ] with all transitions in problem 10, the following new transition is obtained: evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 /\ b >= c ] We thus obtain the following problem: 11: T: (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 /\ b >= c ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 1) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 ] with all transitions in problem 11, the following new transitions are obtained: evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 ] evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ d >= 1 ] We thus obtain the following problem: 12: T: (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 ] (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ d >= 1 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 /\ b >= c ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 ] with all transitions in problem 12, the following new transitions are obtained: evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 ] evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ b >= c ] We thus obtain the following problem: 13: T: (?, 4) evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ d >= 1 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 /\ b >= c ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbb3in(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 ] with all transitions in problem 13, the following new transitions are obtained: evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ 0 >= d' + 1 ] evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 ] We thus obtain the following problem: 14: T: (?, 5) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ 0 >= d' + 1 ] (?, 5) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ d >= 1 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 /\ b >= c ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ 0 >= d' + 1 ] with all transitions in problem 14, the following new transition is obtained: evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ 0 >= d' + 1 /\ b >= 0 ] We thus obtain the following problem: 15: T: (?, 6) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ 0 >= d' + 1 /\ b >= 0 ] (?, 5) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ d >= 1 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 /\ b >= c ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 ] with all transitions in problem 15, the following new transition is obtained: evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 ] We thus obtain the following problem: 16: T: (?, 6) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 ] (?, 6) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ 0 >= d' + 1 /\ b >= 0 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ d >= 1 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 /\ b >= c ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 ] with all transitions in problem 16, the following new transitions are obtained: evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 2) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 ] evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 2) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ 0 >= d'' + 1 /\ b >= 1 ] We thus obtain the following problem: 17: T: (?, 9) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 2) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 ] (?, 9) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 2) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ 0 >= d'' + 1 /\ b >= 1 ] (?, 6) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ 0 >= d' + 1 /\ b >= 0 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ d >= 1 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 /\ b >= c ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 2) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 ] with all transitions in problem 17, the following new transitions are obtained: evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 3) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 ] evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 3) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ 0 >= d''' + 1 /\ b >= 2 ] We thus obtain the following problem: 18: T: (?, 12) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 3) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 ] (?, 12) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 3) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ 0 >= d''' + 1 /\ b >= 2 ] (?, 9) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 2) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ 0 >= d'' + 1 /\ b >= 1 ] (?, 6) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ 0 >= d' + 1 /\ b >= 0 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ d >= 1 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 /\ b >= c ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 3) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 ] with all transitions in problem 18, the following new transitions are obtained: evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 4) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 /\ a >= 4 /\ d'''' >= 1 /\ b >= 3 ] evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 4) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 /\ a >= 4 /\ 0 >= d'''' + 1 /\ b >= 3 ] We thus obtain the following problem: 19: T: (?, 15) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 4) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 /\ a >= 4 /\ d'''' >= 1 /\ b >= 3 ] (?, 15) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 4) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 /\ a >= 4 /\ 0 >= d'''' + 1 /\ b >= 3 ] (?, 12) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 3) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ 0 >= d''' + 1 /\ b >= 2 ] (?, 9) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 2) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ 0 >= d'' + 1 /\ b >= 1 ] (?, 6) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ 0 >= d' + 1 /\ b >= 0 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ d >= 1 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 /\ b >= c ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 By chaining the transition evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 4) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 /\ a >= 4 /\ d'''' >= 1 /\ b >= 3 ] with all transitions in problem 19, the following new transitions are obtained: evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 5) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 /\ a >= 4 /\ d'''' >= 1 /\ b >= 3 /\ a >= 5 /\ d''''' >= 1 /\ b >= 4 ] evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 5) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 /\ a >= 4 /\ d'''' >= 1 /\ b >= 3 /\ a >= 5 /\ 0 >= d''''' + 1 /\ b >= 4 ] We thus obtain the following problem: 20: T: (?, 18) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 5) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 /\ a >= 4 /\ d'''' >= 1 /\ b >= 3 /\ a >= 5 /\ d''''' >= 1 /\ b >= 4 ] (?, 18) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 5) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 /\ a >= 4 /\ d'''' >= 1 /\ b >= 3 /\ a >= 5 /\ 0 >= d''''' + 1 /\ b >= 4 ] (?, 15) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 4) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ d''' >= 1 /\ b >= 2 /\ a >= 4 /\ 0 >= d'''' + 1 /\ b >= 3 ] (?, 12) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 3) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ d'' >= 1 /\ b >= 1 /\ a >= 3 /\ 0 >= d''' + 1 /\ b >= 2 ] (?, 9) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 2) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ d' >= 1 /\ b >= 0 /\ a >= 2 /\ 0 >= d'' + 1 /\ b >= 1 ] (?, 6) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ c >= b + 1 /\ a >= 1 /\ 0 >= d' + 1 /\ b >= 0 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbb3in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= a + 1 /\ d >= 1 ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ d >= 1 /\ b >= c ] (?, 3) evalcyclicbb3in(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ a >= c + 1 /\ 0 >= d + 1 /\ b >= c ] (?, 2) evalcyclicbbin(a, b, c) -> evalcyclicbb4in(a, b, 0) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ c >= b + 1 /\ a >= 1 ] (?, 1) evalcyclicbbin(a, b, c) -> evalcyclicbb3in(a, b, c + 1) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ b >= c ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ 0 >= d + 1 ] (?, 1) evalcyclicbb4in(a, b, c) -> evalcyclicbbin(a, b, c) [ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a >= 0 /\ d >= 1 ] (1, 3) evalcyclicstart(a, b, c) -> evalcyclicbb4in(a, b, a + 1) [ a >= 0 /\ b >= a + 1 /\ b - 1 >= 0 /\ a + b - 1 >= 0 /\ -a + b - 1 >= 0 /\ a + 1 >= a + 1 ] start location: evalcyclicstart leaf cost: 3 Complexity upper bound ? Time: 2.852 sec (SMT: 2.594 sec)