YES(?, 3) Initial complexity problem: 1: T: (1, 1) start(a) -> a(a) [ a >= 1 ] (1, 1) start(a) -> a(a) [ a >= 2 ] (1, 1) start(a) -> a(a) [ a >= 4 ] (?, 1) a(a) -> a(a*b) [ 1 >= 2*b /\ 3*b >= 2 /\ a >= 2 ] start location: start leaf cost: 0 Testing for unsatisfiable constraints removes the following transition from problem 1: a(a) -> a(a*b) [ 1 >= 2*b /\ 3*b >= 2 /\ a >= 2 ] We thus obtain the following problem: 2: T: (1, 1) start(a) -> a(a) [ a >= 1 ] (1, 1) start(a) -> a(a) [ a >= 2 ] (1, 1) start(a) -> a(a) [ a >= 4 ] start location: start leaf cost: 0 Complexity upper bound 3 Time: 0.031 sec (SMT: 0.030 sec)