NO Initial ITS Start location: l9 0: l0 -> l1 : ___rho_1_^0'=___rho_1_^post0, servers^0'=servers^post0, c^0'=c^post0, resp^0'=resp^post0, ___rho_2_^0'=___rho_2_^post0, curr_serv^0'=curr_serv^post0, (-c^post0+c^0 == 0 /\ -curr_serv^post0+curr_serv^0 == 0 /\ ___rho_1_^0-___rho_1_^post0 == 0 /\ servers^0-servers^post0 == 0 /\ ___rho_2_^0-___rho_2_^post0 == 0 /\ -resp^post0+resp^0 == 0), cost: 1 6: l1 -> l6 : ___rho_1_^0'=___rho_1_^post6, servers^0'=servers^post6, c^0'=c^post6, resp^0'=resp^post6, ___rho_2_^0'=___rho_2_^post6, curr_serv^0'=curr_serv^post6, (0 == 0 /\ servers^0-servers^post6 == 0 /\ ___rho_2_^0-___rho_2_^post6 == 0 /\ resp^0-resp^post6 == 0 /\ -c^post6+c^0 == 0 /\ -curr_serv^post6+curr_serv^0 == 0 /\ 1-curr_serv^0 <= 0), cost: 1 7: l1 -> l4 : ___rho_1_^0'=___rho_1_^post7, servers^0'=servers^post7, c^0'=c^post7, resp^0'=resp^post7, ___rho_2_^0'=___rho_2_^post7, curr_serv^0'=curr_serv^post7, (-curr_serv^post7+curr_serv^0 == 0 /\ ___rho_1_^0-___rho_1_^post7 == 0 /\ -resp^post7+resp^0 == 0 /\ servers^0-servers^post7 == 0 /\ curr_serv^0 <= 0 /\ ___rho_2_^0-___rho_2_^post7 == 0 /\ c^0-c^post7 == 0), cost: 1 1: l2 -> l3 : ___rho_1_^0'=___rho_1_^post1, servers^0'=servers^post1, c^0'=c^post1, resp^0'=resp^post1, ___rho_2_^0'=___rho_2_^post1, curr_serv^0'=curr_serv^post1, (___rho_2_^0-___rho_2_^post1 == 0 /\ ___rho_1_^0-___rho_1_^post1 == 0 /\ -curr_serv^post1+curr_serv^0 == 0 /\ resp^0-resp^post1 == 0 /\ servers^0-servers^post1 == 0 /\ -c^post1+c^0 == 0), cost: 1 2: l4 -> l5 : ___rho_1_^0'=___rho_1_^post2, servers^0'=servers^post2, c^0'=c^post2, resp^0'=resp^post2, ___rho_2_^0'=___rho_2_^post2, curr_serv^0'=curr_serv^post2, (-resp^post2+resp^0 == 0 /\ ___rho_1_^0-___rho_1_^post2 == 0 /\ curr_serv^0-curr_serv^post2 == 0 /\ servers^0-servers^post2 == 0 /\ ___rho_2_^0-___rho_2_^post2 == 0 /\ c^0-c^post2 == 0), cost: 1 3: l5 -> l4 : ___rho_1_^0'=___rho_1_^post3, servers^0'=servers^post3, c^0'=c^post3, resp^0'=resp^post3, ___rho_2_^0'=___rho_2_^post3, curr_serv^0'=curr_serv^post3, (-curr_serv^post3+curr_serv^0 == 0 /\ servers^0-servers^post3 == 0 /\ -resp^post3+resp^0 == 0 /\ c^0-c^post3 == 0 /\ -___rho_2_^post3+___rho_2_^0 == 0 /\ ___rho_1_^0-___rho_1_^post3 == 0), cost: 1 4: l6 -> l0 : ___rho_1_^0'=___rho_1_^post4, servers^0'=servers^post4, c^0'=c^post4, resp^0'=resp^post4, ___rho_2_^0'=___rho_2_^post4, curr_serv^0'=curr_serv^post4, (___rho_1_^0 <= 0 /\ ___rho_1_^0-___rho_1_^post4 == 0 /\ servers^0-servers^post4 == 0 /\ c^0-c^post4 == 0 /\ -resp^post4+resp^0 == 0 /\ 1+c^0-curr_serv^0 <= 0 /\ -___rho_2_^post4+___rho_2_^0 == 0 /\ 1+curr_serv^post4-curr_serv^0 == 0), cost: 1 5: l6 -> l0 : ___rho_1_^0'=___rho_1_^post5, servers^0'=servers^post5, c^0'=c^post5, resp^0'=resp^post5, ___rho_2_^0'=___rho_2_^post5, curr_serv^0'=curr_serv^post5, (___rho_1_^0-___rho_1_^post5 == 0 /\ 1-___rho_1_^0 <= 0 /\ -1-resp^0+resp^post5 == 0 /\ 1+curr_serv^post5-curr_serv^0 == 0 /\ -___rho_2_^post5+___rho_2_^0 == 0 /\ 1-c^0+c^post5 == 0 /\ servers^0-servers^post5 == 0), cost: 1 8: l7 -> l4 : ___rho_1_^0'=___rho_1_^post8, servers^0'=servers^post8, c^0'=c^post8, resp^0'=resp^post8, ___rho_2_^0'=___rho_2_^post8, curr_serv^0'=curr_serv^post8, (curr_serv^0-curr_serv^post8 == 0 /\ -resp^post8+resp^0 == 0 /\ servers^0-servers^post8 == 0 /\ c^0-c^post8 == 0 /\ -___rho_2_^post8+___rho_2_^0 == 0 /\ 6-c^0 <= 0 /\ ___rho_1_^0-___rho_1_^post8 == 0), cost: 1 9: l7 -> l0 : ___rho_1_^0'=___rho_1_^post9, servers^0'=servers^post9, c^0'=c^post9, resp^0'=resp^post9, ___rho_2_^0'=___rho_2_^post9, curr_serv^0'=curr_serv^post9, (servers^0-servers^post9 == 0 /\ -resp^post9+resp^0 == 0 /\ -___rho_2_^post9+___rho_2_^0 == 0 /\ c^0-c^post9 == 0 /\ -5+c^0 <= 0 /\ ___rho_1_^0-___rho_1_^post9 == 0 /\ -curr_serv^post9+curr_serv^0 == 0), cost: 1 10: l8 -> l7 : ___rho_1_^0'=___rho_1_^post10, servers^0'=servers^post10, c^0'=c^post10, resp^0'=resp^post10, ___rho_2_^0'=___rho_2_^post10, curr_serv^0'=curr_serv^post10, (0 == 0 /\ ___rho_1_^0-___rho_1_^post10 == 0 /\ 1-c^post10 <= 0 /\ -servers^post10+curr_serv^post10 == 0 /\ -4+servers^post10 == 0 /\ -___rho_2_^post10+c^post10 == 0 /\ resp^post10 == 0), cost: 1 11: l9 -> l8 : ___rho_1_^0'=___rho_1_^post11, servers^0'=servers^post11, c^0'=c^post11, resp^0'=resp^post11, ___rho_2_^0'=___rho_2_^post11, curr_serv^0'=curr_serv^post11, (servers^0-servers^post11 == 0 /\ ___rho_1_^0-___rho_1_^post11 == 0 /\ c^0-c^post11 == 0 /\ -curr_serv^post11+curr_serv^0 == 0 /\ resp^0-resp^post11 == 0 /\ -___rho_2_^post11+___rho_2_^0 == 0), cost: 1 Removed unreachable rules and leafs Start location: l9 0: l0 -> l1 : ___rho_1_^0'=___rho_1_^post0, servers^0'=servers^post0, c^0'=c^post0, resp^0'=resp^post0, ___rho_2_^0'=___rho_2_^post0, curr_serv^0'=curr_serv^post0, (-c^post0+c^0 == 0 /\ -curr_serv^post0+curr_serv^0 == 0 /\ ___rho_1_^0-___rho_1_^post0 == 0 /\ servers^0-servers^post0 == 0 /\ ___rho_2_^0-___rho_2_^post0 == 0 /\ -resp^post0+resp^0 == 0), cost: 1 6: l1 -> l6 : ___rho_1_^0'=___rho_1_^post6, servers^0'=servers^post6, c^0'=c^post6, resp^0'=resp^post6, ___rho_2_^0'=___rho_2_^post6, curr_serv^0'=curr_serv^post6, (0 == 0 /\ servers^0-servers^post6 == 0 /\ ___rho_2_^0-___rho_2_^post6 == 0 /\ resp^0-resp^post6 == 0 /\ -c^post6+c^0 == 0 /\ -curr_serv^post6+curr_serv^0 == 0 /\ 1-curr_serv^0 <= 0), cost: 1 7: l1 -> l4 : ___rho_1_^0'=___rho_1_^post7, servers^0'=servers^post7, c^0'=c^post7, resp^0'=resp^post7, ___rho_2_^0'=___rho_2_^post7, curr_serv^0'=curr_serv^post7, (-curr_serv^post7+curr_serv^0 == 0 /\ ___rho_1_^0-___rho_1_^post7 == 0 /\ -resp^post7+resp^0 == 0 /\ servers^0-servers^post7 == 0 /\ curr_serv^0 <= 0 /\ ___rho_2_^0-___rho_2_^post7 == 0 /\ c^0-c^post7 == 0), cost: 1 2: l4 -> l5 : ___rho_1_^0'=___rho_1_^post2, servers^0'=servers^post2, c^0'=c^post2, resp^0'=resp^post2, ___rho_2_^0'=___rho_2_^post2, curr_serv^0'=curr_serv^post2, (-resp^post2+resp^0 == 0 /\ ___rho_1_^0-___rho_1_^post2 == 0 /\ curr_serv^0-curr_serv^post2 == 0 /\ servers^0-servers^post2 == 0 /\ ___rho_2_^0-___rho_2_^post2 == 0 /\ c^0-c^post2 == 0), cost: 1 3: l5 -> l4 : ___rho_1_^0'=___rho_1_^post3, servers^0'=servers^post3, c^0'=c^post3, resp^0'=resp^post3, ___rho_2_^0'=___rho_2_^post3, curr_serv^0'=curr_serv^post3, (-curr_serv^post3+curr_serv^0 == 0 /\ servers^0-servers^post3 == 0 /\ -resp^post3+resp^0 == 0 /\ c^0-c^post3 == 0 /\ -___rho_2_^post3+___rho_2_^0 == 0 /\ ___rho_1_^0-___rho_1_^post3 == 0), cost: 1 4: l6 -> l0 : ___rho_1_^0'=___rho_1_^post4, servers^0'=servers^post4, c^0'=c^post4, resp^0'=resp^post4, ___rho_2_^0'=___rho_2_^post4, curr_serv^0'=curr_serv^post4, (___rho_1_^0 <= 0 /\ ___rho_1_^0-___rho_1_^post4 == 0 /\ servers^0-servers^post4 == 0 /\ c^0-c^post4 == 0 /\ -resp^post4+resp^0 == 0 /\ 1+c^0-curr_serv^0 <= 0 /\ -___rho_2_^post4+___rho_2_^0 == 0 /\ 1+curr_serv^post4-curr_serv^0 == 0), cost: 1 5: l6 -> l0 : ___rho_1_^0'=___rho_1_^post5, servers^0'=servers^post5, c^0'=c^post5, resp^0'=resp^post5, ___rho_2_^0'=___rho_2_^post5, curr_serv^0'=curr_serv^post5, (___rho_1_^0-___rho_1_^post5 == 0 /\ 1-___rho_1_^0 <= 0 /\ -1-resp^0+resp^post5 == 0 /\ 1+curr_serv^post5-curr_serv^0 == 0 /\ -___rho_2_^post5+___rho_2_^0 == 0 /\ 1-c^0+c^post5 == 0 /\ servers^0-servers^post5 == 0), cost: 1 8: l7 -> l4 : ___rho_1_^0'=___rho_1_^post8, servers^0'=servers^post8, c^0'=c^post8, resp^0'=resp^post8, ___rho_2_^0'=___rho_2_^post8, curr_serv^0'=curr_serv^post8, (curr_serv^0-curr_serv^post8 == 0 /\ -resp^post8+resp^0 == 0 /\ servers^0-servers^post8 == 0 /\ c^0-c^post8 == 0 /\ -___rho_2_^post8+___rho_2_^0 == 0 /\ 6-c^0 <= 0 /\ ___rho_1_^0-___rho_1_^post8 == 0), cost: 1 9: l7 -> l0 : ___rho_1_^0'=___rho_1_^post9, servers^0'=servers^post9, c^0'=c^post9, resp^0'=resp^post9, ___rho_2_^0'=___rho_2_^post9, curr_serv^0'=curr_serv^post9, (servers^0-servers^post9 == 0 /\ -resp^post9+resp^0 == 0 /\ -___rho_2_^post9+___rho_2_^0 == 0 /\ c^0-c^post9 == 0 /\ -5+c^0 <= 0 /\ ___rho_1_^0-___rho_1_^post9 == 0 /\ -curr_serv^post9+curr_serv^0 == 0), cost: 1 10: l8 -> l7 : ___rho_1_^0'=___rho_1_^post10, servers^0'=servers^post10, c^0'=c^post10, resp^0'=resp^post10, ___rho_2_^0'=___rho_2_^post10, curr_serv^0'=curr_serv^post10, (0 == 0 /\ ___rho_1_^0-___rho_1_^post10 == 0 /\ 1-c^post10 <= 0 /\ -servers^post10+curr_serv^post10 == 0 /\ -4+servers^post10 == 0 /\ -___rho_2_^post10+c^post10 == 0 /\ resp^post10 == 0), cost: 1 11: l9 -> l8 : ___rho_1_^0'=___rho_1_^post11, servers^0'=servers^post11, c^0'=c^post11, resp^0'=resp^post11, ___rho_2_^0'=___rho_2_^post11, curr_serv^0'=curr_serv^post11, (servers^0-servers^post11 == 0 /\ ___rho_1_^0-___rho_1_^post11 == 0 /\ c^0-c^post11 == 0 /\ -curr_serv^post11+curr_serv^0 == 0 /\ resp^0-resp^post11 == 0 /\ -___rho_2_^post11+___rho_2_^0 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l1 : ___rho_1_^0'=___rho_1_^post0, servers^0'=servers^post0, c^0'=c^post0, resp^0'=resp^post0, ___rho_2_^0'=___rho_2_^post0, curr_serv^0'=curr_serv^post0, (-c^post0+c^0 == 0 /\ -curr_serv^post0+curr_serv^0 == 0 /\ ___rho_1_^0-___rho_1_^post0 == 0 /\ servers^0-servers^post0 == 0 /\ ___rho_2_^0-___rho_2_^post0 == 0 /\ -resp^post0+resp^0 == 0), cost: 1 New rule: l0 -> l1 : TRUE, cost: 1 Applied preprocessing Original rule: l4 -> l5 : ___rho_1_^0'=___rho_1_^post2, servers^0'=servers^post2, c^0'=c^post2, resp^0'=resp^post2, ___rho_2_^0'=___rho_2_^post2, curr_serv^0'=curr_serv^post2, (-resp^post2+resp^0 == 0 /\ ___rho_1_^0-___rho_1_^post2 == 0 /\ curr_serv^0-curr_serv^post2 == 0 /\ servers^0-servers^post2 == 0 /\ ___rho_2_^0-___rho_2_^post2 == 0 /\ c^0-c^post2 == 0), cost: 1 New rule: l4 -> l5 : TRUE, cost: 1 Applied preprocessing Original rule: l5 -> l4 : ___rho_1_^0'=___rho_1_^post3, servers^0'=servers^post3, c^0'=c^post3, resp^0'=resp^post3, ___rho_2_^0'=___rho_2_^post3, curr_serv^0'=curr_serv^post3, (-curr_serv^post3+curr_serv^0 == 0 /\ servers^0-servers^post3 == 0 /\ -resp^post3+resp^0 == 0 /\ c^0-c^post3 == 0 /\ -___rho_2_^post3+___rho_2_^0 == 0 /\ ___rho_1_^0-___rho_1_^post3 == 0), cost: 1 New rule: l5 -> l4 : TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l0 : ___rho_1_^0'=___rho_1_^post4, servers^0'=servers^post4, c^0'=c^post4, resp^0'=resp^post4, ___rho_2_^0'=___rho_2_^post4, curr_serv^0'=curr_serv^post4, (___rho_1_^0 <= 0 /\ ___rho_1_^0-___rho_1_^post4 == 0 /\ servers^0-servers^post4 == 0 /\ c^0-c^post4 == 0 /\ -resp^post4+resp^0 == 0 /\ 1+c^0-curr_serv^0 <= 0 /\ -___rho_2_^post4+___rho_2_^0 == 0 /\ 1+curr_serv^post4-curr_serv^0 == 0), cost: 1 New rule: l6 -> l0 : curr_serv^0'=-1+curr_serv^0, (___rho_1_^0 <= 0 /\ 1+c^0-curr_serv^0 <= 0), cost: 1 Applied preprocessing Original rule: l6 -> l0 : ___rho_1_^0'=___rho_1_^post5, servers^0'=servers^post5, c^0'=c^post5, resp^0'=resp^post5, ___rho_2_^0'=___rho_2_^post5, curr_serv^0'=curr_serv^post5, (___rho_1_^0-___rho_1_^post5 == 0 /\ 1-___rho_1_^0 <= 0 /\ -1-resp^0+resp^post5 == 0 /\ 1+curr_serv^post5-curr_serv^0 == 0 /\ -___rho_2_^post5+___rho_2_^0 == 0 /\ 1-c^0+c^post5 == 0 /\ servers^0-servers^post5 == 0), cost: 1 New rule: l6 -> l0 : c^0'=-1+c^0, resp^0'=1+resp^0, curr_serv^0'=-1+curr_serv^0, -1+___rho_1_^0 >= 0, cost: 1 Applied preprocessing Original rule: l1 -> l6 : ___rho_1_^0'=___rho_1_^post6, servers^0'=servers^post6, c^0'=c^post6, resp^0'=resp^post6, ___rho_2_^0'=___rho_2_^post6, curr_serv^0'=curr_serv^post6, (0 == 0 /\ servers^0-servers^post6 == 0 /\ ___rho_2_^0-___rho_2_^post6 == 0 /\ resp^0-resp^post6 == 0 /\ -c^post6+c^0 == 0 /\ -curr_serv^post6+curr_serv^0 == 0 /\ 1-curr_serv^0 <= 0), cost: 1 New rule: l1 -> l6 : ___rho_1_^0'=___rho_1_^post6, -1+curr_serv^0 >= 0, cost: 1 Applied preprocessing Original rule: l1 -> l4 : ___rho_1_^0'=___rho_1_^post7, servers^0'=servers^post7, c^0'=c^post7, resp^0'=resp^post7, ___rho_2_^0'=___rho_2_^post7, curr_serv^0'=curr_serv^post7, (-curr_serv^post7+curr_serv^0 == 0 /\ ___rho_1_^0-___rho_1_^post7 == 0 /\ -resp^post7+resp^0 == 0 /\ servers^0-servers^post7 == 0 /\ curr_serv^0 <= 0 /\ ___rho_2_^0-___rho_2_^post7 == 0 /\ c^0-c^post7 == 0), cost: 1 New rule: l1 -> l4 : curr_serv^0 <= 0, cost: 1 Applied preprocessing Original rule: l7 -> l4 : ___rho_1_^0'=___rho_1_^post8, servers^0'=servers^post8, c^0'=c^post8, resp^0'=resp^post8, ___rho_2_^0'=___rho_2_^post8, curr_serv^0'=curr_serv^post8, (curr_serv^0-curr_serv^post8 == 0 /\ -resp^post8+resp^0 == 0 /\ servers^0-servers^post8 == 0 /\ c^0-c^post8 == 0 /\ -___rho_2_^post8+___rho_2_^0 == 0 /\ 6-c^0 <= 0 /\ ___rho_1_^0-___rho_1_^post8 == 0), cost: 1 New rule: l7 -> l4 : -6+c^0 >= 0, cost: 1 Applied preprocessing Original rule: l7 -> l0 : ___rho_1_^0'=___rho_1_^post9, servers^0'=servers^post9, c^0'=c^post9, resp^0'=resp^post9, ___rho_2_^0'=___rho_2_^post9, curr_serv^0'=curr_serv^post9, (servers^0-servers^post9 == 0 /\ -resp^post9+resp^0 == 0 /\ -___rho_2_^post9+___rho_2_^0 == 0 /\ c^0-c^post9 == 0 /\ -5+c^0 <= 0 /\ ___rho_1_^0-___rho_1_^post9 == 0 /\ -curr_serv^post9+curr_serv^0 == 0), cost: 1 New rule: l7 -> l0 : -5+c^0 <= 0, cost: 1 Applied preprocessing Original rule: l8 -> l7 : ___rho_1_^0'=___rho_1_^post10, servers^0'=servers^post10, c^0'=c^post10, resp^0'=resp^post10, ___rho_2_^0'=___rho_2_^post10, curr_serv^0'=curr_serv^post10, (0 == 0 /\ ___rho_1_^0-___rho_1_^post10 == 0 /\ 1-c^post10 <= 0 /\ -servers^post10+curr_serv^post10 == 0 /\ -4+servers^post10 == 0 /\ -___rho_2_^post10+c^post10 == 0 /\ resp^post10 == 0), cost: 1 New rule: l8 -> l7 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, -1+c^post10 >= 0, cost: 1 Applied preprocessing Original rule: l9 -> l8 : ___rho_1_^0'=___rho_1_^post11, servers^0'=servers^post11, c^0'=c^post11, resp^0'=resp^post11, ___rho_2_^0'=___rho_2_^post11, curr_serv^0'=curr_serv^post11, (servers^0-servers^post11 == 0 /\ ___rho_1_^0-___rho_1_^post11 == 0 /\ c^0-c^post11 == 0 /\ -curr_serv^post11+curr_serv^0 == 0 /\ resp^0-resp^post11 == 0 /\ -___rho_2_^post11+___rho_2_^0 == 0), cost: 1 New rule: l9 -> l8 : TRUE, cost: 1 Simplified rules Start location: l9 12: l0 -> l1 : TRUE, cost: 1 17: l1 -> l6 : ___rho_1_^0'=___rho_1_^post6, -1+curr_serv^0 >= 0, cost: 1 18: l1 -> l4 : curr_serv^0 <= 0, cost: 1 13: l4 -> l5 : TRUE, cost: 1 14: l5 -> l4 : TRUE, cost: 1 15: l6 -> l0 : curr_serv^0'=-1+curr_serv^0, (___rho_1_^0 <= 0 /\ 1+c^0-curr_serv^0 <= 0), cost: 1 16: l6 -> l0 : c^0'=-1+c^0, resp^0'=1+resp^0, curr_serv^0'=-1+curr_serv^0, -1+___rho_1_^0 >= 0, cost: 1 19: l7 -> l4 : -6+c^0 >= 0, cost: 1 20: l7 -> l0 : -5+c^0 <= 0, cost: 1 21: l8 -> l7 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, -1+c^post10 >= 0, cost: 1 22: l9 -> l8 : TRUE, cost: 1 Eliminating location l8 by chaining: Applied chaining First rule: l9 -> l8 : TRUE, cost: 1 Second rule: l8 -> l7 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, -1+c^post10 >= 0, cost: 1 New rule: l9 -> l7 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, -1+c^post10 >= 0, cost: 2 Applied deletion Removed the following rules: 21 22 Eliminating location l5 by chaining: Applied chaining First rule: l4 -> l5 : TRUE, cost: 1 Second rule: l5 -> l4 : TRUE, cost: 1 New rule: l4 -> l4 : TRUE, cost: 2 Applied deletion Removed the following rules: 13 14 Eliminated locations on linear paths Start location: l9 12: l0 -> l1 : TRUE, cost: 1 17: l1 -> l6 : ___rho_1_^0'=___rho_1_^post6, -1+curr_serv^0 >= 0, cost: 1 18: l1 -> l4 : curr_serv^0 <= 0, cost: 1 24: l4 -> l4 : TRUE, cost: 2 15: l6 -> l0 : curr_serv^0'=-1+curr_serv^0, (___rho_1_^0 <= 0 /\ 1+c^0-curr_serv^0 <= 0), cost: 1 16: l6 -> l0 : c^0'=-1+c^0, resp^0'=1+resp^0, curr_serv^0'=-1+curr_serv^0, -1+___rho_1_^0 >= 0, cost: 1 19: l7 -> l4 : -6+c^0 >= 0, cost: 1 20: l7 -> l0 : -5+c^0 <= 0, cost: 1 23: l9 -> l7 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, -1+c^post10 >= 0, cost: 2 Applied nonterm Original rule: l4 -> l4 : TRUE, cost: 2 New rule: l4 -> [10] : TRUE, cost: NONTERM Applied acceleration Original rule: l4 -> l4 : TRUE, cost: 2 New rule: l4 -> l4 : TRUE, cost: 2*n0 Applied deletion Removed the following rules: 24 Accelerated simple loops Start location: l9 12: l0 -> l1 : TRUE, cost: 1 17: l1 -> l6 : ___rho_1_^0'=___rho_1_^post6, -1+curr_serv^0 >= 0, cost: 1 18: l1 -> l4 : curr_serv^0 <= 0, cost: 1 25: l4 -> [10] : TRUE, cost: NONTERM 26: l4 -> l4 : TRUE, cost: 2*n0 15: l6 -> l0 : curr_serv^0'=-1+curr_serv^0, (___rho_1_^0 <= 0 /\ 1+c^0-curr_serv^0 <= 0), cost: 1 16: l6 -> l0 : c^0'=-1+c^0, resp^0'=1+resp^0, curr_serv^0'=-1+curr_serv^0, -1+___rho_1_^0 >= 0, cost: 1 19: l7 -> l4 : -6+c^0 >= 0, cost: 1 20: l7 -> l0 : -5+c^0 <= 0, cost: 1 23: l9 -> l7 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, -1+c^post10 >= 0, cost: 2 Applied chaining First rule: l1 -> l4 : curr_serv^0 <= 0, cost: 1 Second rule: l4 -> [10] : TRUE, cost: NONTERM New rule: l1 -> [10] : curr_serv^0 <= 0, cost: NONTERM Applied chaining First rule: l7 -> l4 : -6+c^0 >= 0, cost: 1 Second rule: l4 -> [10] : TRUE, cost: NONTERM New rule: l7 -> [10] : -6+c^0 >= 0, cost: NONTERM Applied chaining First rule: l1 -> l4 : curr_serv^0 <= 0, cost: 1 Second rule: l4 -> l4 : TRUE, cost: 2*n0 New rule: l1 -> l4 : curr_serv^0 <= 0, cost: 1+2*n0 Applied chaining First rule: l7 -> l4 : -6+c^0 >= 0, cost: 1 Second rule: l4 -> l4 : TRUE, cost: 2*n0 New rule: l7 -> l4 : -6+c^0 >= 0, cost: 1+2*n0 Applied deletion Removed the following rules: 25 26 Chained accelerated rules with incoming rules Start location: l9 12: l0 -> l1 : TRUE, cost: 1 17: l1 -> l6 : ___rho_1_^0'=___rho_1_^post6, -1+curr_serv^0 >= 0, cost: 1 18: l1 -> l4 : curr_serv^0 <= 0, cost: 1 27: l1 -> [10] : curr_serv^0 <= 0, cost: NONTERM 29: l1 -> l4 : curr_serv^0 <= 0, cost: 1+2*n0 15: l6 -> l0 : curr_serv^0'=-1+curr_serv^0, (___rho_1_^0 <= 0 /\ 1+c^0-curr_serv^0 <= 0), cost: 1 16: l6 -> l0 : c^0'=-1+c^0, resp^0'=1+resp^0, curr_serv^0'=-1+curr_serv^0, -1+___rho_1_^0 >= 0, cost: 1 19: l7 -> l4 : -6+c^0 >= 0, cost: 1 20: l7 -> l0 : -5+c^0 <= 0, cost: 1 28: l7 -> [10] : -6+c^0 >= 0, cost: NONTERM 30: l7 -> l4 : -6+c^0 >= 0, cost: 1+2*n0 23: l9 -> l7 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, -1+c^post10 >= 0, cost: 2 Removed unreachable locations and irrelevant leafs Start location: l9 12: l0 -> l1 : TRUE, cost: 1 17: l1 -> l6 : ___rho_1_^0'=___rho_1_^post6, -1+curr_serv^0 >= 0, cost: 1 27: l1 -> [10] : curr_serv^0 <= 0, cost: NONTERM 15: l6 -> l0 : curr_serv^0'=-1+curr_serv^0, (___rho_1_^0 <= 0 /\ 1+c^0-curr_serv^0 <= 0), cost: 1 16: l6 -> l0 : c^0'=-1+c^0, resp^0'=1+resp^0, curr_serv^0'=-1+curr_serv^0, -1+___rho_1_^0 >= 0, cost: 1 20: l7 -> l0 : -5+c^0 <= 0, cost: 1 28: l7 -> [10] : -6+c^0 >= 0, cost: NONTERM 23: l9 -> l7 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, -1+c^post10 >= 0, cost: 2 Eliminating location l7 by chaining: Applied chaining First rule: l9 -> l7 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, -1+c^post10 >= 0, cost: 2 Second rule: l7 -> l0 : -5+c^0 <= 0, cost: 1 New rule: l9 -> l0 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, (-1+c^post10 >= 0 /\ -5+c^post10 <= 0), cost: 3 Applied chaining First rule: l9 -> l7 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, -1+c^post10 >= 0, cost: 2 Second rule: l7 -> [10] : -6+c^0 >= 0, cost: NONTERM New rule: l9 -> [10] : (-1+c^post10 >= 0 /\ -6+c^post10 >= 0), cost: NONTERM Applied simplification Original rule: l9 -> [10] : (-1+c^post10 >= 0 /\ -6+c^post10 >= 0), cost: NONTERM New rule: l9 -> [10] : -6+c^post10 >= 0, cost: NONTERM Applied deletion Removed the following rules: 20 23 28 Eliminating location l1 by chaining: Applied chaining First rule: l0 -> l1 : TRUE, cost: 1 Second rule: l1 -> l6 : ___rho_1_^0'=___rho_1_^post6, -1+curr_serv^0 >= 0, cost: 1 New rule: l0 -> l6 : ___rho_1_^0'=___rho_1_^post6, -1+curr_serv^0 >= 0, cost: 2 Applied chaining First rule: l0 -> l1 : TRUE, cost: 1 Second rule: l1 -> [10] : curr_serv^0 <= 0, cost: NONTERM New rule: l0 -> [10] : curr_serv^0 <= 0, cost: NONTERM Applied deletion Removed the following rules: 12 17 27 Eliminated locations on tree-shaped paths Start location: l9 33: l0 -> l6 : ___rho_1_^0'=___rho_1_^post6, -1+curr_serv^0 >= 0, cost: 2 34: l0 -> [10] : curr_serv^0 <= 0, cost: NONTERM 15: l6 -> l0 : curr_serv^0'=-1+curr_serv^0, (___rho_1_^0 <= 0 /\ 1+c^0-curr_serv^0 <= 0), cost: 1 16: l6 -> l0 : c^0'=-1+c^0, resp^0'=1+resp^0, curr_serv^0'=-1+curr_serv^0, -1+___rho_1_^0 >= 0, cost: 1 31: l9 -> l0 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, (-1+c^post10 >= 0 /\ -5+c^post10 <= 0), cost: 3 32: l9 -> [10] : -6+c^post10 >= 0, cost: NONTERM Eliminating location l6 by chaining: Applied chaining First rule: l0 -> l6 : ___rho_1_^0'=___rho_1_^post6, -1+curr_serv^0 >= 0, cost: 2 Second rule: l6 -> l0 : curr_serv^0'=-1+curr_serv^0, (___rho_1_^0 <= 0 /\ 1+c^0-curr_serv^0 <= 0), cost: 1 New rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=-1+curr_serv^0, (___rho_1_^post6 <= 0 /\ 1+c^0-curr_serv^0 <= 0 /\ -1+curr_serv^0 >= 0), cost: 3 Applied chaining First rule: l0 -> l6 : ___rho_1_^0'=___rho_1_^post6, -1+curr_serv^0 >= 0, cost: 2 Second rule: l6 -> l0 : c^0'=-1+c^0, resp^0'=1+resp^0, curr_serv^0'=-1+curr_serv^0, -1+___rho_1_^0 >= 0, cost: 1 New rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, c^0'=-1+c^0, resp^0'=1+resp^0, curr_serv^0'=-1+curr_serv^0, (-1+___rho_1_^post6 >= 0 /\ -1+curr_serv^0 >= 0), cost: 3 Applied deletion Removed the following rules: 15 16 33 Eliminated locations on tree-shaped paths Start location: l9 34: l0 -> [10] : curr_serv^0 <= 0, cost: NONTERM 35: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=-1+curr_serv^0, (___rho_1_^post6 <= 0 /\ 1+c^0-curr_serv^0 <= 0 /\ -1+curr_serv^0 >= 0), cost: 3 36: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, c^0'=-1+c^0, resp^0'=1+resp^0, curr_serv^0'=-1+curr_serv^0, (-1+___rho_1_^post6 >= 0 /\ -1+curr_serv^0 >= 0), cost: 3 31: l9 -> l0 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, (-1+c^post10 >= 0 /\ -5+c^post10 <= 0), cost: 3 32: l9 -> [10] : -6+c^post10 >= 0, cost: NONTERM Applied acceleration Original rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=-1+curr_serv^0, (___rho_1_^post6 <= 0 /\ 1+c^0-curr_serv^0 <= 0 /\ -1+curr_serv^0 >= 0), cost: 3 New rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=-n4+curr_serv^0, (-1+n4 >= 0 /\ -c^0-n4+curr_serv^0 >= 0 /\ -___rho_1_^post6 >= 0 /\ -n4+curr_serv^0 >= 0), cost: 3*n4 Applied instantiation Original rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=-n4+curr_serv^0, (-1+n4 >= 0 /\ -c^0-n4+curr_serv^0 >= 0 /\ -___rho_1_^post6 >= 0 /\ -n4+curr_serv^0 >= 0), cost: 3*n4 New rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=0, (0 >= 0 /\ -c^0 >= 0 /\ -___rho_1_^post6 >= 0 /\ -1+curr_serv^0 >= 0), cost: 3*curr_serv^0 Applied instantiation Original rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=-n4+curr_serv^0, (-1+n4 >= 0 /\ -c^0-n4+curr_serv^0 >= 0 /\ -___rho_1_^post6 >= 0 /\ -n4+curr_serv^0 >= 0), cost: 3*n4 New rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=c^0, (0 >= 0 /\ -1-c^0+curr_serv^0 >= 0 /\ c^0 >= 0 /\ -___rho_1_^post6 >= 0), cost: -3*c^0+3*curr_serv^0 Applied acceleration Original rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, c^0'=-1+c^0, resp^0'=1+resp^0, curr_serv^0'=-1+curr_serv^0, (-1+___rho_1_^post6 >= 0 /\ -1+curr_serv^0 >= 0), cost: 3 New rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, c^0'=-n7+c^0, resp^0'=n7+resp^0, curr_serv^0'=-n7+curr_serv^0, (-n7+curr_serv^0 >= 0 /\ -1+n7 >= 0 /\ -1+___rho_1_^post6 >= 0), cost: 3*n7 Applied instantiation Original rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, c^0'=-n7+c^0, resp^0'=n7+resp^0, curr_serv^0'=-n7+curr_serv^0, (-n7+curr_serv^0 >= 0 /\ -1+n7 >= 0 /\ -1+___rho_1_^post6 >= 0), cost: 3*n7 New rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, c^0'=c^0-curr_serv^0, resp^0'=resp^0+curr_serv^0, curr_serv^0'=0, (0 >= 0 /\ -1+___rho_1_^post6 >= 0 /\ -1+curr_serv^0 >= 0), cost: 3*curr_serv^0 Applied simplification Original rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=0, (0 >= 0 /\ -c^0 >= 0 /\ -___rho_1_^post6 >= 0 /\ -1+curr_serv^0 >= 0), cost: 3*curr_serv^0 New rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=0, (c^0 <= 0 /\ ___rho_1_^post6 <= 0 /\ -1+curr_serv^0 >= 0), cost: 3*curr_serv^0 Applied simplification Original rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=c^0, (0 >= 0 /\ -1-c^0+curr_serv^0 >= 0 /\ c^0 >= 0 /\ -___rho_1_^post6 >= 0), cost: -3*c^0+3*curr_serv^0 New rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=c^0, (-1-c^0+curr_serv^0 >= 0 /\ c^0 >= 0 /\ ___rho_1_^post6 <= 0), cost: -3*c^0+3*curr_serv^0 Applied simplification Original rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, c^0'=c^0-curr_serv^0, resp^0'=resp^0+curr_serv^0, curr_serv^0'=0, (0 >= 0 /\ -1+___rho_1_^post6 >= 0 /\ -1+curr_serv^0 >= 0), cost: 3*curr_serv^0 New rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, c^0'=c^0-curr_serv^0, resp^0'=resp^0+curr_serv^0, curr_serv^0'=0, (-1+___rho_1_^post6 >= 0 /\ -1+curr_serv^0 >= 0), cost: 3*curr_serv^0 Applied deletion Removed the following rules: 35 36 Accelerated simple loops Start location: l9 34: l0 -> [10] : curr_serv^0 <= 0, cost: NONTERM 40: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=0, (c^0 <= 0 /\ ___rho_1_^post6 <= 0 /\ -1+curr_serv^0 >= 0), cost: 3*curr_serv^0 41: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=c^0, (-1-c^0+curr_serv^0 >= 0 /\ c^0 >= 0 /\ ___rho_1_^post6 <= 0), cost: -3*c^0+3*curr_serv^0 42: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, c^0'=c^0-curr_serv^0, resp^0'=resp^0+curr_serv^0, curr_serv^0'=0, (-1+___rho_1_^post6 >= 0 /\ -1+curr_serv^0 >= 0), cost: 3*curr_serv^0 31: l9 -> l0 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, (-1+c^post10 >= 0 /\ -5+c^post10 <= 0), cost: 3 32: l9 -> [10] : -6+c^post10 >= 0, cost: NONTERM Applied chaining First rule: l9 -> l0 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, (-1+c^post10 >= 0 /\ -5+c^post10 <= 0), cost: 3 Second rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, curr_serv^0'=c^0, (-1-c^0+curr_serv^0 >= 0 /\ c^0 >= 0 /\ ___rho_1_^post6 <= 0), cost: -3*c^0+3*curr_serv^0 New rule: l9 -> l0 : ___rho_1_^0'=___rho_1_^post6, servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=c^post10, (-1+c^post10 >= 0 /\ ___rho_1_^post6 <= 0 /\ -3+c^post10 <= 0), cost: 15-3*c^post10 Applied chaining First rule: l9 -> l0 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, (-1+c^post10 >= 0 /\ -5+c^post10 <= 0), cost: 3 Second rule: l0 -> l0 : ___rho_1_^0'=___rho_1_^post6, c^0'=c^0-curr_serv^0, resp^0'=resp^0+curr_serv^0, curr_serv^0'=0, (-1+___rho_1_^post6 >= 0 /\ -1+curr_serv^0 >= 0), cost: 3*curr_serv^0 New rule: l9 -> l0 : ___rho_1_^0'=___rho_1_^post6, servers^0'=4, c^0'=-4+c^post10, resp^0'=4, ___rho_2_^0'=c^post10, curr_serv^0'=0, (-1+c^post10 >= 0 /\ -1+___rho_1_^post6 >= 0 /\ -5+c^post10 <= 0), cost: 15 Applied deletion Removed the following rules: 40 41 42 Chained accelerated rules with incoming rules Start location: l9 34: l0 -> [10] : curr_serv^0 <= 0, cost: NONTERM 31: l9 -> l0 : servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=4, (-1+c^post10 >= 0 /\ -5+c^post10 <= 0), cost: 3 32: l9 -> [10] : -6+c^post10 >= 0, cost: NONTERM 43: l9 -> l0 : ___rho_1_^0'=___rho_1_^post6, servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=c^post10, (-1+c^post10 >= 0 /\ ___rho_1_^post6 <= 0 /\ -3+c^post10 <= 0), cost: 15-3*c^post10 44: l9 -> l0 : ___rho_1_^0'=___rho_1_^post6, servers^0'=4, c^0'=-4+c^post10, resp^0'=4, ___rho_2_^0'=c^post10, curr_serv^0'=0, (-1+c^post10 >= 0 /\ -1+___rho_1_^post6 >= 0 /\ -5+c^post10 <= 0), cost: 15 Eliminating location l0 by chaining: Applied chaining First rule: l9 -> l0 : ___rho_1_^0'=___rho_1_^post6, servers^0'=4, c^0'=-4+c^post10, resp^0'=4, ___rho_2_^0'=c^post10, curr_serv^0'=0, (-1+c^post10 >= 0 /\ -1+___rho_1_^post6 >= 0 /\ -5+c^post10 <= 0), cost: 15 Second rule: l0 -> [10] : curr_serv^0 <= 0, cost: NONTERM New rule: l9 -> [10] : (0 <= 0 /\ -1+c^post10 >= 0 /\ -1+___rho_1_^post6 >= 0 /\ -5+c^post10 <= 0), cost: NONTERM Applied simplification Original rule: l9 -> [10] : (0 <= 0 /\ -1+c^post10 >= 0 /\ -1+___rho_1_^post6 >= 0 /\ -5+c^post10 <= 0), cost: NONTERM New rule: l9 -> [10] : (-1+c^post10 >= 0 /\ -1+___rho_1_^post6 >= 0 /\ -5+c^post10 <= 0), cost: NONTERM Applied partial deletion Original rule: l9 -> l0 : ___rho_1_^0'=___rho_1_^post6, servers^0'=4, c^0'=c^post10, resp^0'=0, ___rho_2_^0'=c^post10, curr_serv^0'=c^post10, (-1+c^post10 >= 0 /\ ___rho_1_^post6 <= 0 /\ -3+c^post10 <= 0), cost: 15-3*c^post10 New rule: l9 -> [12] : (-1+c^post10 >= 0 /\ ___rho_1_^post6 <= 0 /\ -3+c^post10 <= 0), cost: 15-3*c^post10 Applied deletion Removed the following rules: 31 34 43 44 Eliminated locations on tree-shaped paths Start location: l9 32: l9 -> [10] : -6+c^post10 >= 0, cost: NONTERM 45: l9 -> [10] : (-1+c^post10 >= 0 /\ -1+___rho_1_^post6 >= 0 /\ -5+c^post10 <= 0), cost: NONTERM 46: l9 -> [12] : (-1+c^post10 >= 0 /\ ___rho_1_^post6 <= 0 /\ -3+c^post10 <= 0), cost: 15-3*c^post10 Computing asymptotic complexity Proved nontermination of rule 32 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: -6+c^post10 >= 0