WORST_CASE(Omega(0),?) Initial ITS Start location: l8 0: l0 -> l1 : x0^0'=x0^post0, oldX1^0'=oldX1^post0, oldX3^0'=oldX3^post0, oldX0^0'=oldX0^post0, x1^0'=x1^post0, oldX2^0'=oldX2^post0, (0 == 0 /\ -x0^0+oldX0^post0 == 0 /\ -oldX2^post0+x0^post0 == 0 /\ oldX1^post0-x1^0 == 0 /\ -oldX3^post0+x1^post0 == 0), cost: 1 1: l2 -> l3 : x0^0'=x0^post1, oldX1^0'=oldX1^post1, oldX3^0'=oldX3^post1, oldX0^0'=oldX0^post1, x1^0'=x1^post1, oldX2^0'=oldX2^post1, (-oldX2^post1+oldX2^0 == 0 /\ x0^post1-oldX0^post1 == 0 /\ -1-oldX1^post1+x1^post1 == 0 /\ oldX3^0-oldX3^post1 == 0 /\ -x0^0+oldX0^post1 == 0 /\ oldX1^post1-x1^0 == 0), cost: 1 2: l2 -> l4 : x0^0'=x0^post2, oldX1^0'=oldX1^post2, oldX3^0'=oldX3^post2, oldX0^0'=oldX0^post2, x1^0'=x1^post2, oldX2^0'=oldX2^post2, (0 == 0 /\ -x0^0+oldX0^post2 == 0 /\ oldX1^post2-x1^0 == 0 /\ oldX3^0-oldX3^post2 == 0 /\ x1^post2-oldX2^post2 == 0 /\ -oldX1^post2+x0^post2 == 0), cost: 1 3: l3 -> l0 : x0^0'=x0^post3, oldX1^0'=oldX1^post3, oldX3^0'=oldX3^post3, oldX0^0'=oldX0^post3, x1^0'=x1^post3, oldX2^0'=oldX2^post3, (oldX1^post3-x1^0 == 0 /\ -oldX2^post3+oldX2^0 == 0 /\ oldX3^0-oldX3^post3 == 0 /\ -x0^0+oldX0^post3 == 0 /\ -oldX0^post3+x0^post3 == 0 /\ -oldX1^post3+x1^post3 == 0 /\ -oldX1^post3+oldX0^post3 <= 0), cost: 1 4: l3 -> l2 : x0^0'=x0^post4, oldX1^0'=oldX1^post4, oldX3^0'=oldX3^post4, oldX0^0'=oldX0^post4, x1^0'=x1^post4, oldX2^0'=oldX2^post4, (oldX3^0-oldX3^post4 == 0 /\ 1+oldX1^post4-oldX0^post4 <= 0 /\ -x0^0+oldX0^post4 == 0 /\ -oldX1^post4+x1^post4 == 0 /\ -oldX2^post4+oldX2^0 == 0 /\ x0^post4-oldX0^post4 == 0 /\ oldX1^post4-x1^0 == 0), cost: 1 6: l4 -> l5 : x0^0'=x0^post6, oldX1^0'=oldX1^post6, oldX3^0'=oldX3^post6, oldX0^0'=oldX0^post6, x1^0'=x1^post6, oldX2^0'=oldX2^post6, (0 == 0 /\ x0^post6-oldX0^post6 == 0 /\ -x0^0+oldX0^post6 == 0 /\ oldX1^post6-x1^0 == 0 /\ -oldX3^post6+oldX3^0 == 0 /\ -oldX2^post6+x1^post6 == 0), cost: 1 5: l5 -> l3 : x0^0'=x0^post5, oldX1^0'=oldX1^post5, oldX3^0'=oldX3^post5, oldX0^0'=oldX0^post5, x1^0'=x1^post5, oldX2^0'=oldX2^post5, (-oldX2^post5+oldX2^0 == 0 /\ -oldX3^post5+oldX3^0 == 0 /\ x0^post5-oldX0^post5 == 0 /\ -x1^0+oldX1^post5 == 0 /\ -x0^0+oldX0^post5 == 0 /\ x1^post5 == 0), cost: 1 7: l6 -> l7 : x0^0'=x0^post7, oldX1^0'=oldX1^post7, oldX3^0'=oldX3^post7, oldX0^0'=oldX0^post7, x1^0'=x1^post7, oldX2^0'=oldX2^post7, (0 == 0 /\ x1^post7-oldX3^post7 == 0 /\ oldX1^post7-x1^0 == 0 /\ -x0^0+oldX0^post7 == 0 /\ x0^post7-oldX2^post7 == 0), cost: 1 8: l6 -> l7 : x0^0'=x0^post8, oldX1^0'=oldX1^post8, oldX3^0'=oldX3^post8, oldX0^0'=oldX0^post8, x1^0'=x1^post8, oldX2^0'=oldX2^post8, (-x1^post8+x1^0 == 0 /\ -oldX2^post8+oldX2^0 == 0 /\ -oldX0^post8+oldX0^0 == 0 /\ oldX3^0-oldX3^post8 == 0 /\ oldX1^0-oldX1^post8 == 0 /\ x0^0-x0^post8 == 0), cost: 1 9: l6 -> l1 : x0^0'=x0^post9, oldX1^0'=oldX1^post9, oldX3^0'=oldX3^post9, oldX0^0'=oldX0^post9, x1^0'=x1^post9, oldX2^0'=oldX2^post9, (-x1^post9+x1^0 == 0 /\ -oldX0^post9+oldX0^0 == 0 /\ oldX1^0-oldX1^post9 == 0 /\ -oldX2^post9+oldX2^0 == 0 /\ oldX3^0-oldX3^post9 == 0 /\ -x0^post9+x0^0 == 0), cost: 1 10: l6 -> l0 : x0^0'=x0^post10, oldX1^0'=oldX1^post10, oldX3^0'=oldX3^post10, oldX0^0'=oldX0^post10, x1^0'=x1^post10, oldX2^0'=oldX2^post10, (x0^0-x0^post10 == 0 /\ -oldX1^post10+oldX1^0 == 0 /\ oldX3^0-oldX3^post10 == 0 /\ oldX0^0-oldX0^post10 == 0 /\ -oldX2^post10+oldX2^0 == 0 /\ -x1^post10+x1^0 == 0), cost: 1 11: l6 -> l2 : x0^0'=x0^post11, oldX1^0'=oldX1^post11, oldX3^0'=oldX3^post11, oldX0^0'=oldX0^post11, x1^0'=x1^post11, oldX2^0'=oldX2^post11, (oldX0^0-oldX0^post11 == 0 /\ -oldX2^post11+oldX2^0 == 0 /\ x0^0-x0^post11 == 0 /\ oldX3^0-oldX3^post11 == 0 /\ oldX1^0-oldX1^post11 == 0 /\ x1^0-x1^post11 == 0), cost: 1 12: l6 -> l3 : x0^0'=x0^post12, oldX1^0'=oldX1^post12, oldX3^0'=oldX3^post12, oldX0^0'=oldX0^post12, x1^0'=x1^post12, oldX2^0'=oldX2^post12, (x0^0-x0^post12 == 0 /\ x1^0-x1^post12 == 0 /\ oldX1^0-oldX1^post12 == 0 /\ -oldX2^post12+oldX2^0 == 0 /\ -oldX3^post12+oldX3^0 == 0 /\ -oldX0^post12+oldX0^0 == 0), cost: 1 13: l6 -> l5 : x0^0'=x0^post13, oldX1^0'=oldX1^post13, oldX3^0'=oldX3^post13, oldX0^0'=oldX0^post13, x1^0'=x1^post13, oldX2^0'=oldX2^post13, (x0^0-x0^post13 == 0 /\ oldX1^0-oldX1^post13 == 0 /\ -oldX3^post13+oldX3^0 == 0 /\ -oldX2^post13+oldX2^0 == 0 /\ -oldX0^post13+oldX0^0 == 0 /\ x1^0-x1^post13 == 0), cost: 1 14: l6 -> l4 : x0^0'=x0^post14, oldX1^0'=oldX1^post14, oldX3^0'=oldX3^post14, oldX0^0'=oldX0^post14, x1^0'=x1^post14, oldX2^0'=oldX2^post14, (oldX1^0-oldX1^post14 == 0 /\ x0^0-x0^post14 == 0 /\ -oldX3^post14+oldX3^0 == 0 /\ x1^0-x1^post14 == 0 /\ oldX2^0-oldX2^post14 == 0 /\ -oldX0^post14+oldX0^0 == 0), cost: 1 15: l8 -> l6 : x0^0'=x0^post15, oldX1^0'=oldX1^post15, oldX3^0'=oldX3^post15, oldX0^0'=oldX0^post15, x1^0'=x1^post15, oldX2^0'=oldX2^post15, (oldX2^0-oldX2^post15 == 0 /\ -oldX0^post15+oldX0^0 == 0 /\ -x1^post15+x1^0 == 0 /\ oldX1^0-oldX1^post15 == 0 /\ x0^0-x0^post15 == 0 /\ oldX3^0-oldX3^post15 == 0), cost: 1 Removed unreachable rules and leafs Start location: l8 1: l2 -> l3 : x0^0'=x0^post1, oldX1^0'=oldX1^post1, oldX3^0'=oldX3^post1, oldX0^0'=oldX0^post1, x1^0'=x1^post1, oldX2^0'=oldX2^post1, (-oldX2^post1+oldX2^0 == 0 /\ x0^post1-oldX0^post1 == 0 /\ -1-oldX1^post1+x1^post1 == 0 /\ oldX3^0-oldX3^post1 == 0 /\ -x0^0+oldX0^post1 == 0 /\ oldX1^post1-x1^0 == 0), cost: 1 2: l2 -> l4 : x0^0'=x0^post2, oldX1^0'=oldX1^post2, oldX3^0'=oldX3^post2, oldX0^0'=oldX0^post2, x1^0'=x1^post2, oldX2^0'=oldX2^post2, (0 == 0 /\ -x0^0+oldX0^post2 == 0 /\ oldX1^post2-x1^0 == 0 /\ oldX3^0-oldX3^post2 == 0 /\ x1^post2-oldX2^post2 == 0 /\ -oldX1^post2+x0^post2 == 0), cost: 1 4: l3 -> l2 : x0^0'=x0^post4, oldX1^0'=oldX1^post4, oldX3^0'=oldX3^post4, oldX0^0'=oldX0^post4, x1^0'=x1^post4, oldX2^0'=oldX2^post4, (oldX3^0-oldX3^post4 == 0 /\ 1+oldX1^post4-oldX0^post4 <= 0 /\ -x0^0+oldX0^post4 == 0 /\ -oldX1^post4+x1^post4 == 0 /\ -oldX2^post4+oldX2^0 == 0 /\ x0^post4-oldX0^post4 == 0 /\ oldX1^post4-x1^0 == 0), cost: 1 6: l4 -> l5 : x0^0'=x0^post6, oldX1^0'=oldX1^post6, oldX3^0'=oldX3^post6, oldX0^0'=oldX0^post6, x1^0'=x1^post6, oldX2^0'=oldX2^post6, (0 == 0 /\ x0^post6-oldX0^post6 == 0 /\ -x0^0+oldX0^post6 == 0 /\ oldX1^post6-x1^0 == 0 /\ -oldX3^post6+oldX3^0 == 0 /\ -oldX2^post6+x1^post6 == 0), cost: 1 5: l5 -> l3 : x0^0'=x0^post5, oldX1^0'=oldX1^post5, oldX3^0'=oldX3^post5, oldX0^0'=oldX0^post5, x1^0'=x1^post5, oldX2^0'=oldX2^post5, (-oldX2^post5+oldX2^0 == 0 /\ -oldX3^post5+oldX3^0 == 0 /\ x0^post5-oldX0^post5 == 0 /\ -x1^0+oldX1^post5 == 0 /\ -x0^0+oldX0^post5 == 0 /\ x1^post5 == 0), cost: 1 11: l6 -> l2 : x0^0'=x0^post11, oldX1^0'=oldX1^post11, oldX3^0'=oldX3^post11, oldX0^0'=oldX0^post11, x1^0'=x1^post11, oldX2^0'=oldX2^post11, (oldX0^0-oldX0^post11 == 0 /\ -oldX2^post11+oldX2^0 == 0 /\ x0^0-x0^post11 == 0 /\ oldX3^0-oldX3^post11 == 0 /\ oldX1^0-oldX1^post11 == 0 /\ x1^0-x1^post11 == 0), cost: 1 12: l6 -> l3 : x0^0'=x0^post12, oldX1^0'=oldX1^post12, oldX3^0'=oldX3^post12, oldX0^0'=oldX0^post12, x1^0'=x1^post12, oldX2^0'=oldX2^post12, (x0^0-x0^post12 == 0 /\ x1^0-x1^post12 == 0 /\ oldX1^0-oldX1^post12 == 0 /\ -oldX2^post12+oldX2^0 == 0 /\ -oldX3^post12+oldX3^0 == 0 /\ -oldX0^post12+oldX0^0 == 0), cost: 1 13: l6 -> l5 : x0^0'=x0^post13, oldX1^0'=oldX1^post13, oldX3^0'=oldX3^post13, oldX0^0'=oldX0^post13, x1^0'=x1^post13, oldX2^0'=oldX2^post13, (x0^0-x0^post13 == 0 /\ oldX1^0-oldX1^post13 == 0 /\ -oldX3^post13+oldX3^0 == 0 /\ -oldX2^post13+oldX2^0 == 0 /\ -oldX0^post13+oldX0^0 == 0 /\ x1^0-x1^post13 == 0), cost: 1 14: l6 -> l4 : x0^0'=x0^post14, oldX1^0'=oldX1^post14, oldX3^0'=oldX3^post14, oldX0^0'=oldX0^post14, x1^0'=x1^post14, oldX2^0'=oldX2^post14, (oldX1^0-oldX1^post14 == 0 /\ x0^0-x0^post14 == 0 /\ -oldX3^post14+oldX3^0 == 0 /\ x1^0-x1^post14 == 0 /\ oldX2^0-oldX2^post14 == 0 /\ -oldX0^post14+oldX0^0 == 0), cost: 1 15: l8 -> l6 : x0^0'=x0^post15, oldX1^0'=oldX1^post15, oldX3^0'=oldX3^post15, oldX0^0'=oldX0^post15, x1^0'=x1^post15, oldX2^0'=oldX2^post15, (oldX2^0-oldX2^post15 == 0 /\ -oldX0^post15+oldX0^0 == 0 /\ -x1^post15+x1^0 == 0 /\ oldX1^0-oldX1^post15 == 0 /\ x0^0-x0^post15 == 0 /\ oldX3^0-oldX3^post15 == 0), cost: 1 Applied preprocessing Original rule: l2 -> l3 : x0^0'=x0^post1, oldX1^0'=oldX1^post1, oldX3^0'=oldX3^post1, oldX0^0'=oldX0^post1, x1^0'=x1^post1, oldX2^0'=oldX2^post1, (-oldX2^post1+oldX2^0 == 0 /\ x0^post1-oldX0^post1 == 0 /\ -1-oldX1^post1+x1^post1 == 0 /\ oldX3^0-oldX3^post1 == 0 /\ -x0^0+oldX0^post1 == 0 /\ oldX1^post1-x1^0 == 0), cost: 1 New rule: l2 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=1+x1^0, TRUE, cost: 1 Applied preprocessing Original rule: l2 -> l4 : x0^0'=x0^post2, oldX1^0'=oldX1^post2, oldX3^0'=oldX3^post2, oldX0^0'=oldX0^post2, x1^0'=x1^post2, oldX2^0'=oldX2^post2, (0 == 0 /\ -x0^0+oldX0^post2 == 0 /\ oldX1^post2-x1^0 == 0 /\ oldX3^0-oldX3^post2 == 0 /\ x1^post2-oldX2^post2 == 0 /\ -oldX1^post2+x0^post2 == 0), cost: 1 New rule: l2 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 0 == 0, cost: 1 Applied preprocessing Original rule: l3 -> l2 : x0^0'=x0^post4, oldX1^0'=oldX1^post4, oldX3^0'=oldX3^post4, oldX0^0'=oldX0^post4, x1^0'=x1^post4, oldX2^0'=oldX2^post4, (oldX3^0-oldX3^post4 == 0 /\ 1+oldX1^post4-oldX0^post4 <= 0 /\ -x0^0+oldX0^post4 == 0 /\ -oldX1^post4+x1^post4 == 0 /\ -oldX2^post4+oldX2^0 == 0 /\ x0^post4-oldX0^post4 == 0 /\ oldX1^post4-x1^0 == 0), cost: 1 New rule: l3 -> l2 : oldX1^0'=x1^0, oldX0^0'=x0^0, 1-x0^0+x1^0 <= 0, cost: 1 Applied preprocessing Original rule: l5 -> l3 : x0^0'=x0^post5, oldX1^0'=oldX1^post5, oldX3^0'=oldX3^post5, oldX0^0'=oldX0^post5, x1^0'=x1^post5, oldX2^0'=oldX2^post5, (-oldX2^post5+oldX2^0 == 0 /\ -oldX3^post5+oldX3^0 == 0 /\ x0^post5-oldX0^post5 == 0 /\ -x1^0+oldX1^post5 == 0 /\ -x0^0+oldX0^post5 == 0 /\ x1^post5 == 0), cost: 1 New rule: l5 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=0, TRUE, cost: 1 Applied preprocessing Original rule: l4 -> l5 : x0^0'=x0^post6, oldX1^0'=oldX1^post6, oldX3^0'=oldX3^post6, oldX0^0'=oldX0^post6, x1^0'=x1^post6, oldX2^0'=oldX2^post6, (0 == 0 /\ x0^post6-oldX0^post6 == 0 /\ -x0^0+oldX0^post6 == 0 /\ oldX1^post6-x1^0 == 0 /\ -oldX3^post6+oldX3^0 == 0 /\ -oldX2^post6+x1^post6 == 0), cost: 1 New rule: l4 -> l5 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 1 Applied preprocessing Original rule: l6 -> l2 : x0^0'=x0^post11, oldX1^0'=oldX1^post11, oldX3^0'=oldX3^post11, oldX0^0'=oldX0^post11, x1^0'=x1^post11, oldX2^0'=oldX2^post11, (oldX0^0-oldX0^post11 == 0 /\ -oldX2^post11+oldX2^0 == 0 /\ x0^0-x0^post11 == 0 /\ oldX3^0-oldX3^post11 == 0 /\ oldX1^0-oldX1^post11 == 0 /\ x1^0-x1^post11 == 0), cost: 1 New rule: l6 -> l2 : TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l3 : x0^0'=x0^post12, oldX1^0'=oldX1^post12, oldX3^0'=oldX3^post12, oldX0^0'=oldX0^post12, x1^0'=x1^post12, oldX2^0'=oldX2^post12, (x0^0-x0^post12 == 0 /\ x1^0-x1^post12 == 0 /\ oldX1^0-oldX1^post12 == 0 /\ -oldX2^post12+oldX2^0 == 0 /\ -oldX3^post12+oldX3^0 == 0 /\ -oldX0^post12+oldX0^0 == 0), cost: 1 New rule: l6 -> l3 : TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l5 : x0^0'=x0^post13, oldX1^0'=oldX1^post13, oldX3^0'=oldX3^post13, oldX0^0'=oldX0^post13, x1^0'=x1^post13, oldX2^0'=oldX2^post13, (x0^0-x0^post13 == 0 /\ oldX1^0-oldX1^post13 == 0 /\ -oldX3^post13+oldX3^0 == 0 /\ -oldX2^post13+oldX2^0 == 0 /\ -oldX0^post13+oldX0^0 == 0 /\ x1^0-x1^post13 == 0), cost: 1 New rule: l6 -> l5 : TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l4 : x0^0'=x0^post14, oldX1^0'=oldX1^post14, oldX3^0'=oldX3^post14, oldX0^0'=oldX0^post14, x1^0'=x1^post14, oldX2^0'=oldX2^post14, (oldX1^0-oldX1^post14 == 0 /\ x0^0-x0^post14 == 0 /\ -oldX3^post14+oldX3^0 == 0 /\ x1^0-x1^post14 == 0 /\ oldX2^0-oldX2^post14 == 0 /\ -oldX0^post14+oldX0^0 == 0), cost: 1 New rule: l6 -> l4 : TRUE, cost: 1 Applied preprocessing Original rule: l8 -> l6 : x0^0'=x0^post15, oldX1^0'=oldX1^post15, oldX3^0'=oldX3^post15, oldX0^0'=oldX0^post15, x1^0'=x1^post15, oldX2^0'=oldX2^post15, (oldX2^0-oldX2^post15 == 0 /\ -oldX0^post15+oldX0^0 == 0 /\ -x1^post15+x1^0 == 0 /\ oldX1^0-oldX1^post15 == 0 /\ x0^0-x0^post15 == 0 /\ oldX3^0-oldX3^post15 == 0), cost: 1 New rule: l8 -> l6 : TRUE, cost: 1 Simplified rules Start location: l8 16: l2 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=1+x1^0, TRUE, cost: 1 17: l2 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 0 == 0, cost: 1 18: l3 -> l2 : oldX1^0'=x1^0, oldX0^0'=x0^0, 1-x0^0+x1^0 <= 0, cost: 1 20: l4 -> l5 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 1 19: l5 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=0, TRUE, cost: 1 21: l6 -> l2 : TRUE, cost: 1 22: l6 -> l3 : TRUE, cost: 1 23: l6 -> l5 : TRUE, cost: 1 24: l6 -> l4 : TRUE, cost: 1 25: l8 -> l6 : TRUE, cost: 1 Eliminating location l6 by chaining: Applied chaining First rule: l8 -> l6 : TRUE, cost: 1 Second rule: l6 -> l2 : TRUE, cost: 1 New rule: l8 -> l2 : TRUE, cost: 2 Applied chaining First rule: l8 -> l6 : TRUE, cost: 1 Second rule: l6 -> l3 : TRUE, cost: 1 New rule: l8 -> l3 : TRUE, cost: 2 Applied chaining First rule: l8 -> l6 : TRUE, cost: 1 Second rule: l6 -> l5 : TRUE, cost: 1 New rule: l8 -> l5 : TRUE, cost: 2 Applied chaining First rule: l8 -> l6 : TRUE, cost: 1 Second rule: l6 -> l4 : TRUE, cost: 1 New rule: l8 -> l4 : TRUE, cost: 2 Applied deletion Removed the following rules: 21 22 23 24 25 Eliminated locations on tree-shaped paths Start location: l8 16: l2 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=1+x1^0, TRUE, cost: 1 17: l2 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 0 == 0, cost: 1 18: l3 -> l2 : oldX1^0'=x1^0, oldX0^0'=x0^0, 1-x0^0+x1^0 <= 0, cost: 1 20: l4 -> l5 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 1 19: l5 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=0, TRUE, cost: 1 26: l8 -> l2 : TRUE, cost: 2 27: l8 -> l3 : TRUE, cost: 2 28: l8 -> l5 : TRUE, cost: 2 29: l8 -> l4 : TRUE, cost: 2 Eliminated location l2 Start location: l8 30: l3 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=1+x1^0, 1-x0^0+x1^0 <= 0, cost: 2 31: l3 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 1-x0^0+x1^0 <= 0, cost: 2 20: l4 -> l5 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 1 19: l5 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=0, TRUE, cost: 1 27: l8 -> l3 : TRUE, cost: 2 28: l8 -> l5 : TRUE, cost: 2 29: l8 -> l4 : TRUE, cost: 2 32: l8 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=1+x1^0, TRUE, cost: 3 33: l8 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 0 == 0, cost: 3 Applied acceleration Original rule: l3 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=1+x1^0, 1-x0^0+x1^0 <= 0, cost: 2 New rule: l3 -> l3 : oldX1^0'=-1+x1^0+n, oldX0^0'=x0^0, x1^0'=x1^0+n, (-1+n >= 0 /\ x0^0-x1^0-n >= 0), cost: 2*n Sub-proof via acceration calculus written to file:///tmp/tmpnam_dphipP.txt Applied instantiation Original rule: l3 -> l3 : oldX1^0'=-1+x1^0+n, oldX0^0'=x0^0, x1^0'=x1^0+n, (-1+n >= 0 /\ x0^0-x1^0-n >= 0), cost: 2*n New rule: l3 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, (0 >= 0 /\ -1+x0^0-x1^0 >= 0), cost: 2*x0^0-2*x1^0 Applied simplification Original rule: l3 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, (0 >= 0 /\ -1+x0^0-x1^0 >= 0), cost: 2*x0^0-2*x1^0 New rule: l3 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, -1+x0^0-x1^0 >= 0, cost: 2*x0^0-2*x1^0 Applied deletion Removed the following rules: 30 Accelerated simple loops Start location: l8 31: l3 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 1-x0^0+x1^0 <= 0, cost: 2 35: l3 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, -1+x0^0-x1^0 >= 0, cost: 2*x0^0-2*x1^0 20: l4 -> l5 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 1 19: l5 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=0, TRUE, cost: 1 27: l8 -> l3 : TRUE, cost: 2 28: l8 -> l5 : TRUE, cost: 2 29: l8 -> l4 : TRUE, cost: 2 32: l8 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=1+x1^0, TRUE, cost: 3 33: l8 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 0 == 0, cost: 3 Applied chaining First rule: l5 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=0, TRUE, cost: 1 Second rule: l3 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, -1+x0^0-x1^0 >= 0, cost: 2*x0^0-2*x1^0 New rule: l5 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, -1+x0^0 >= 0, cost: 1+2*x0^0 Applied chaining First rule: l8 -> l3 : TRUE, cost: 2 Second rule: l3 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, -1+x0^0-x1^0 >= 0, cost: 2*x0^0-2*x1^0 New rule: l8 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, -1+x0^0-x1^0 >= 0, cost: 2+2*x0^0-2*x1^0 Applied chaining First rule: l8 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=1+x1^0, TRUE, cost: 3 Second rule: l3 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, -1+x0^0-x1^0 >= 0, cost: 2*x0^0-2*x1^0 New rule: l8 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, -2+x0^0-x1^0 >= 0, cost: 1+2*x0^0-2*x1^0 Applied deletion Removed the following rules: 35 Chained accelerated rules with incoming rules Start location: l8 31: l3 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 1-x0^0+x1^0 <= 0, cost: 2 20: l4 -> l5 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 1 19: l5 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=0, TRUE, cost: 1 36: l5 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, -1+x0^0 >= 0, cost: 1+2*x0^0 27: l8 -> l3 : TRUE, cost: 2 28: l8 -> l5 : TRUE, cost: 2 29: l8 -> l4 : TRUE, cost: 2 32: l8 -> l3 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=1+x1^0, TRUE, cost: 3 33: l8 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 0 == 0, cost: 3 37: l8 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, -1+x0^0-x1^0 >= 0, cost: 2+2*x0^0-2*x1^0 38: l8 -> l3 : oldX1^0'=-1+x0^0, oldX0^0'=x0^0, x1^0'=x0^0, -2+x0^0-x1^0 >= 0, cost: 1+2*x0^0-2*x1^0 Eliminated location l3 Start location: l8 20: l4 -> l5 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 1 39: l5 -> l4 : x0^0'=0, oldX1^0'=0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, -1+x0^0 >= 0, cost: 3 42: l5 -> [10] : -1+x0^0 >= 0, cost: 1+2*x0^0 28: l8 -> l5 : TRUE, cost: 2 29: l8 -> l4 : TRUE, cost: 2 33: l8 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 0 == 0, cost: 3 40: l8 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 1-x0^0+x1^0 <= 0, cost: 4 41: l8 -> l4 : x0^0'=1+x1^0, oldX1^0'=1+x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 2-x0^0+x1^0 <= 0, cost: 5 43: l8 -> [10] : -1+x0^0-x1^0 >= 0, cost: 2+2*x0^0-2*x1^0 44: l8 -> [10] : -2+x0^0-x1^0 >= 0, cost: 1+2*x0^0-2*x1^0 Applied pruning (of leafs and parallel rules): Start location: l8 20: l4 -> l5 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 1 39: l5 -> l4 : x0^0'=0, oldX1^0'=0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, -1+x0^0 >= 0, cost: 3 28: l8 -> l5 : TRUE, cost: 2 29: l8 -> l4 : TRUE, cost: 2 33: l8 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 0 == 0, cost: 3 40: l8 -> l4 : x0^0'=x1^0, oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 1-x0^0+x1^0 <= 0, cost: 4 41: l8 -> l4 : x0^0'=1+x1^0, oldX1^0'=1+x1^0, oldX0^0'=x0^0, x1^0'=oldX2^post2, oldX2^0'=oldX2^post2, 2-x0^0+x1^0 <= 0, cost: 5 Eliminated location l4 Start location: l8 47: l5 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x0^0 >= 0, cost: 4 28: l8 -> l5 : TRUE, cost: 2 45: l8 -> l5 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 3 46: l8 -> l5 : x0^0'=x1^0, oldX1^0'=oldX2^post2, oldX0^0'=x1^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 4 48: l8 -> l5 : x0^0'=x1^0, oldX1^0'=oldX2^post2, oldX0^0'=x1^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 1-x0^0+x1^0 <= 0, cost: 5 49: l8 -> l5 : x0^0'=1+x1^0, oldX1^0'=oldX2^post2, oldX0^0'=1+x1^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 2-x0^0+x1^0 <= 0, cost: 6 Accelerated simple loops Start location: l8 47: l5 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x0^0 >= 0, cost: 4 28: l8 -> l5 : TRUE, cost: 2 45: l8 -> l5 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 3 46: l8 -> l5 : x0^0'=x1^0, oldX1^0'=oldX2^post2, oldX0^0'=x1^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 4 48: l8 -> l5 : x0^0'=x1^0, oldX1^0'=oldX2^post2, oldX0^0'=x1^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 1-x0^0+x1^0 <= 0, cost: 5 49: l8 -> l5 : x0^0'=1+x1^0, oldX1^0'=oldX2^post2, oldX0^0'=1+x1^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 2-x0^0+x1^0 <= 0, cost: 6 Applied chaining First rule: l8 -> l5 : TRUE, cost: 2 Second rule: l5 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x0^0 >= 0, cost: 4 New rule: l8 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x0^0 >= 0, cost: 6 Applied chaining First rule: l8 -> l5 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 3 Second rule: l5 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x0^0 >= 0, cost: 4 New rule: l8 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x0^0 >= 0, cost: 7 Applied chaining First rule: l8 -> l5 : x0^0'=x1^0, oldX1^0'=oldX2^post2, oldX0^0'=x1^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 4 Second rule: l5 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x0^0 >= 0, cost: 4 New rule: l8 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x1^0 >= 0, cost: 8 Applied chaining First rule: l8 -> l5 : x0^0'=x1^0, oldX1^0'=oldX2^post2, oldX0^0'=x1^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 1-x0^0+x1^0 <= 0, cost: 5 Second rule: l5 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x0^0 >= 0, cost: 4 New rule: l8 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, (-1+x1^0 >= 0 /\ 1-x0^0+x1^0 <= 0), cost: 9 Applied chaining First rule: l8 -> l5 : x0^0'=1+x1^0, oldX1^0'=oldX2^post2, oldX0^0'=1+x1^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 2-x0^0+x1^0 <= 0, cost: 6 Second rule: l5 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x0^0 >= 0, cost: 4 New rule: l8 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, (x1^0 >= 0 /\ 2-x0^0+x1^0 <= 0), cost: 10 Applied deletion Removed the following rules: 47 Chained accelerated rules with incoming rules Start location: l8 28: l8 -> l5 : TRUE, cost: 2 45: l8 -> l5 : oldX1^0'=x1^0, oldX0^0'=x0^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 3 46: l8 -> l5 : x0^0'=x1^0, oldX1^0'=oldX2^post2, oldX0^0'=x1^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 0 == 0, cost: 4 48: l8 -> l5 : x0^0'=x1^0, oldX1^0'=oldX2^post2, oldX0^0'=x1^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 1-x0^0+x1^0 <= 0, cost: 5 49: l8 -> l5 : x0^0'=1+x1^0, oldX1^0'=oldX2^post2, oldX0^0'=1+x1^0, x1^0'=x1^post6, oldX2^0'=x1^post6, 2-x0^0+x1^0 <= 0, cost: 6 50: l8 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x0^0 >= 0, cost: 6 51: l8 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x0^0 >= 0, cost: 7 52: l8 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, -1+x1^0 >= 0, cost: 8 53: l8 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, (-1+x1^0 >= 0 /\ 1-x0^0+x1^0 <= 0), cost: 9 54: l8 -> l5 : x0^0'=0, oldX1^0'=oldX2^post2, oldX0^0'=0, x1^0'=x1^post6, oldX2^0'=x1^post6, (x1^0 >= 0 /\ 2-x0^0+x1^0 <= 0), cost: 10 Removed unreachable locations and irrelevant leafs Start location: l8 Computing asymptotic complexity Proved the following lower bound Complexity: Unknown Cpx degree: ? Solved cost: 0 Rule cost: 0