NO Initial ITS Start location: l4 Program variables: __disjvr_0^0 c0^0 deltaext^0 deltaext_new^0 wnt^0 0: l0 -> l2 : __disjvr_0^0'=__disjvr_0^post1, c0^0'=c0^post1, deltaext^0'=deltaext^post1, deltaext_new^0'=deltaext_new^post1, wnt^0'=wnt^post1, (wnt^0-wnt^post1 == 0 /\ -deltaext_new^post1+deltaext_new^0 == 0 /\ c0^0-c0^post1 == 0 /\ -__disjvr_0^post1+__disjvr_0^0 == 0 /\ -deltaext^post1+deltaext^0 == 0 /\ __disjvr_0^post1-__disjvr_0^0 == 0), cost: 1 1: l2 -> l1 : __disjvr_0^0'=__disjvr_0^post2, c0^0'=c0^post2, deltaext^0'=deltaext^post2, deltaext_new^0'=deltaext_new^post2, wnt^0'=wnt^post2, (deltaext^post2-deltaext_new^0 == 0 /\ wnt^0-wnt^post2 == 0 /\ deltaext_new^0-deltaext_new^post2 == 0 /\ -__disjvr_0^post2+__disjvr_0^0 == 0 /\ -c0^post2+c0^0 == 0), cost: 1 2: l1 -> l0 : __disjvr_0^0'=__disjvr_0^post3, c0^0'=c0^post3, deltaext^0'=deltaext^post3, deltaext_new^0'=deltaext_new^post3, wnt^0'=wnt^post3, (c0^0-c0^post3 == 0 /\ -deltaext^post3+deltaext^0 == 0 /\ deltaext_new^post3-deltaext^0 == 0 /\ -1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0 /\ -__disjvr_0^post3+__disjvr_0^0 == 0 /\ wnt^0-wnt^post3 == 0), cost: 1 3: l1 -> l0 : __disjvr_0^0'=__disjvr_0^post4, c0^0'=c0^post4, deltaext^0'=deltaext^post4, deltaext_new^0'=deltaext_new^post4, wnt^0'=wnt^post4, (wnt^0-wnt^post4 == 0 /\ 1+deltaext_new^post4-deltaext^0 == 0 /\ -c0^post4+c0^0 == 0 /\ -deltaext^post4+deltaext^0 == 0 /\ -__disjvr_0^post4+__disjvr_0^0 == 0 /\ 2+wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 4: l1 -> l0 : __disjvr_0^0'=__disjvr_0^post5, c0^0'=c0^post5, deltaext^0'=deltaext^post5, deltaext_new^0'=deltaext_new^post5, wnt^0'=wnt^post5, (wnt^0-wnt^post5 == 0 /\ c0^0-c0^post5 == 0 /\ 1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ -deltaext^post5+deltaext^0 == 0 /\ -__disjvr_0^post5+__disjvr_0^0 == 0 /\ -1+deltaext_new^post5-deltaext^0 == 0), cost: 1 5: l3 -> l1 : __disjvr_0^0'=__disjvr_0^post6, c0^0'=c0^post6, deltaext^0'=deltaext^post6, deltaext_new^0'=deltaext_new^post6, wnt^0'=wnt^post6, (-3+deltaext^0 <= 0 /\ deltaext_new^0-deltaext_new^post6 == 0 /\ -wnt^0 <= 0 /\ -wnt^post6+wnt^0 == 0 /\ -deltaext^post6+deltaext^0 == 0 /\ -3+wnt^0 <= 0 /\ -2+c0^post6 == 0 /\ -deltaext^0 <= 0 /\ -__disjvr_0^post6+__disjvr_0^0 == 0), cost: 1 6: l4 -> l3 : __disjvr_0^0'=__disjvr_0^post7, c0^0'=c0^post7, deltaext^0'=deltaext^post7, deltaext_new^0'=deltaext_new^post7, wnt^0'=wnt^post7, (c0^0-c0^post7 == 0 /\ deltaext^0-deltaext^post7 == 0 /\ -deltaext_new^post7+deltaext_new^0 == 0 /\ -__disjvr_0^post7+__disjvr_0^0 == 0 /\ wnt^0-wnt^post7 == 0), cost: 1 Chained Linear Paths Start location: l4 Program variables: __disjvr_0^0 c0^0 deltaext^0 deltaext_new^0 wnt^0 8: l0 -> l1 : __disjvr_0^0'=__disjvr_0^post2, c0^0'=c0^post2, deltaext^0'=deltaext^post2, deltaext_new^0'=deltaext_new^post2, wnt^0'=wnt^post2, (wnt^0-wnt^post1 == 0 /\ wnt^post1-wnt^post2 == 0 /\ -deltaext_new^post1+deltaext_new^0 == 0 /\ deltaext_new^post1-deltaext_new^post2 == 0 /\ __disjvr_0^post1-__disjvr_0^post2 == 0 /\ c0^0-c0^post1 == 0 /\ -__disjvr_0^post1+__disjvr_0^0 == 0 /\ -c0^post2+c0^post1 == 0 /\ -deltaext^post1+deltaext^0 == 0 /\ __disjvr_0^post1-__disjvr_0^0 == 0 /\ -deltaext_new^post1+deltaext^post2 == 0), cost: 1 2: l1 -> l0 : __disjvr_0^0'=__disjvr_0^post3, c0^0'=c0^post3, deltaext^0'=deltaext^post3, deltaext_new^0'=deltaext_new^post3, wnt^0'=wnt^post3, (c0^0-c0^post3 == 0 /\ -deltaext^post3+deltaext^0 == 0 /\ deltaext_new^post3-deltaext^0 == 0 /\ -1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0 /\ -__disjvr_0^post3+__disjvr_0^0 == 0 /\ wnt^0-wnt^post3 == 0), cost: 1 3: l1 -> l0 : __disjvr_0^0'=__disjvr_0^post4, c0^0'=c0^post4, deltaext^0'=deltaext^post4, deltaext_new^0'=deltaext_new^post4, wnt^0'=wnt^post4, (wnt^0-wnt^post4 == 0 /\ 1+deltaext_new^post4-deltaext^0 == 0 /\ -c0^post4+c0^0 == 0 /\ -deltaext^post4+deltaext^0 == 0 /\ -__disjvr_0^post4+__disjvr_0^0 == 0 /\ 2+wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 4: l1 -> l0 : __disjvr_0^0'=__disjvr_0^post5, c0^0'=c0^post5, deltaext^0'=deltaext^post5, deltaext_new^0'=deltaext_new^post5, wnt^0'=wnt^post5, (wnt^0-wnt^post5 == 0 /\ c0^0-c0^post5 == 0 /\ 1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ -deltaext^post5+deltaext^0 == 0 /\ -__disjvr_0^post5+__disjvr_0^0 == 0 /\ -1+deltaext_new^post5-deltaext^0 == 0), cost: 1 7: l4 -> l1 : __disjvr_0^0'=__disjvr_0^post6, c0^0'=c0^post6, deltaext^0'=deltaext^post6, deltaext_new^0'=deltaext_new^post6, wnt^0'=wnt^post6, (c0^0-c0^post7 == 0 /\ deltaext_new^post7-deltaext_new^post6 == 0 /\ deltaext^0-deltaext^post7 == 0 /\ -deltaext_new^post7+deltaext_new^0 == 0 /\ -3+deltaext^post7 <= 0 /\ -deltaext^post6+deltaext^post7 == 0 /\ -wnt^post6+wnt^post7 == 0 /\ -wnt^post7 <= 0 /\ -__disjvr_0^post7+__disjvr_0^0 == 0 /\ wnt^0-wnt^post7 == 0 /\ __disjvr_0^post7-__disjvr_0^post6 == 0 /\ -3+wnt^post7 <= 0 /\ -2+c0^post6 == 0 /\ -deltaext^post7 <= 0), cost: 1 Eliminating location l3 by chaining: Applied chaining First rule: l4 -> l3 : __disjvr_0^0'=__disjvr_0^post7, c0^0'=c0^post7, deltaext^0'=deltaext^post7, deltaext_new^0'=deltaext_new^post7, wnt^0'=wnt^post7, (c0^0-c0^post7 == 0 /\ deltaext^0-deltaext^post7 == 0 /\ -deltaext_new^post7+deltaext_new^0 == 0 /\ -__disjvr_0^post7+__disjvr_0^0 == 0 /\ wnt^0-wnt^post7 == 0), cost: 1 Second rule: l3 -> l1 : __disjvr_0^0'=__disjvr_0^post6, c0^0'=c0^post6, deltaext^0'=deltaext^post6, deltaext_new^0'=deltaext_new^post6, wnt^0'=wnt^post6, (-3+deltaext^0 <= 0 /\ deltaext_new^0-deltaext_new^post6 == 0 /\ -wnt^0 <= 0 /\ -wnt^post6+wnt^0 == 0 /\ -deltaext^post6+deltaext^0 == 0 /\ -3+wnt^0 <= 0 /\ -2+c0^post6 == 0 /\ -deltaext^0 <= 0 /\ -__disjvr_0^post6+__disjvr_0^0 == 0), cost: 1 New rule: l4 -> l1 : __disjvr_0^0'=__disjvr_0^post6, c0^0'=c0^post6, deltaext^0'=deltaext^post6, deltaext_new^0'=deltaext_new^post6, wnt^0'=wnt^post6, (c0^0-c0^post7 == 0 /\ deltaext_new^post7-deltaext_new^post6 == 0 /\ deltaext^0-deltaext^post7 == 0 /\ -deltaext_new^post7+deltaext_new^0 == 0 /\ -3+deltaext^post7 <= 0 /\ -deltaext^post6+deltaext^post7 == 0 /\ -wnt^post6+wnt^post7 == 0 /\ -wnt^post7 <= 0 /\ -__disjvr_0^post7+__disjvr_0^0 == 0 /\ wnt^0-wnt^post7 == 0 /\ __disjvr_0^post7-__disjvr_0^post6 == 0 /\ -3+wnt^post7 <= 0 /\ -2+c0^post6 == 0 /\ -deltaext^post7 <= 0), cost: 1 Applied deletion Removed the following rules: 5 6 Eliminating location l2 by chaining: Applied chaining First rule: l0 -> l2 : __disjvr_0^0'=__disjvr_0^post1, c0^0'=c0^post1, deltaext^0'=deltaext^post1, deltaext_new^0'=deltaext_new^post1, wnt^0'=wnt^post1, (wnt^0-wnt^post1 == 0 /\ -deltaext_new^post1+deltaext_new^0 == 0 /\ c0^0-c0^post1 == 0 /\ -__disjvr_0^post1+__disjvr_0^0 == 0 /\ -deltaext^post1+deltaext^0 == 0 /\ __disjvr_0^post1-__disjvr_0^0 == 0), cost: 1 Second rule: l2 -> l1 : __disjvr_0^0'=__disjvr_0^post2, c0^0'=c0^post2, deltaext^0'=deltaext^post2, deltaext_new^0'=deltaext_new^post2, wnt^0'=wnt^post2, (deltaext^post2-deltaext_new^0 == 0 /\ wnt^0-wnt^post2 == 0 /\ deltaext_new^0-deltaext_new^post2 == 0 /\ -__disjvr_0^post2+__disjvr_0^0 == 0 /\ -c0^post2+c0^0 == 0), cost: 1 New rule: l0 -> l1 : __disjvr_0^0'=__disjvr_0^post2, c0^0'=c0^post2, deltaext^0'=deltaext^post2, deltaext_new^0'=deltaext_new^post2, wnt^0'=wnt^post2, (wnt^0-wnt^post1 == 0 /\ wnt^post1-wnt^post2 == 0 /\ -deltaext_new^post1+deltaext_new^0 == 0 /\ deltaext_new^post1-deltaext_new^post2 == 0 /\ __disjvr_0^post1-__disjvr_0^post2 == 0 /\ c0^0-c0^post1 == 0 /\ -__disjvr_0^post1+__disjvr_0^0 == 0 /\ -c0^post2+c0^post1 == 0 /\ -deltaext^post1+deltaext^0 == 0 /\ __disjvr_0^post1-__disjvr_0^0 == 0 /\ -deltaext_new^post1+deltaext^post2 == 0), cost: 1 Applied deletion Removed the following rules: 0 1 Simplified Transitions Start location: l4 Program variables: c0^0 deltaext^0 deltaext_new^0 wnt^0 13: l0 -> l1 : deltaext^0'=deltaext_new^0, T, cost: 1 9: l1 -> l0 : deltaext_new^0'=deltaext^0, (-1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 10: l1 -> l0 : deltaext_new^0'=-1+deltaext^0, 2+wnt^0+c0^0-2*deltaext^0 <= 0, cost: 1 11: l1 -> l0 : deltaext_new^0'=1+deltaext^0, 1-wnt^0-c0^0+2*deltaext^0 <= 0, cost: 1 12: l4 -> l1 : c0^0'=2, (-3+deltaext^0 <= 0 /\ -wnt^0 <= 0 /\ -3+wnt^0 <= 0 /\ -deltaext^0 <= 0), cost: 1 Propagated Equalities Original rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^post3, c0^0'=c0^post3, deltaext^0'=deltaext^post3, deltaext_new^0'=deltaext_new^post3, wnt^0'=wnt^post3, (c0^0-c0^post3 == 0 /\ -deltaext^post3+deltaext^0 == 0 /\ deltaext_new^post3-deltaext^0 == 0 /\ -1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0 /\ -__disjvr_0^post3+__disjvr_0^0 == 0 /\ wnt^0-wnt^post3 == 0), cost: 1 New rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext^0, deltaext_new^0'=deltaext^0, wnt^0'=wnt^0, (0 == 0 /\ -1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 propagated equality c0^post3 = c0^0 propagated equality deltaext^post3 = deltaext^0 propagated equality deltaext_new^post3 = deltaext^0 propagated equality __disjvr_0^post3 = __disjvr_0^0 propagated equality wnt^post3 = wnt^0 Simplified Guard Original rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext^0, deltaext_new^0'=deltaext^0, wnt^0'=wnt^0, (0 == 0 /\ -1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 New rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext^0, deltaext_new^0'=deltaext^0, wnt^0'=wnt^0, (-1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 Removed Trivial Updates Original rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext^0, deltaext_new^0'=deltaext^0, wnt^0'=wnt^0, (-1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 New rule: l1 -> l0 : deltaext_new^0'=deltaext^0, (-1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 Propagated Equalities Original rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^post4, c0^0'=c0^post4, deltaext^0'=deltaext^post4, deltaext_new^0'=deltaext_new^post4, wnt^0'=wnt^post4, (wnt^0-wnt^post4 == 0 /\ 1+deltaext_new^post4-deltaext^0 == 0 /\ -c0^post4+c0^0 == 0 /\ -deltaext^post4+deltaext^0 == 0 /\ -__disjvr_0^post4+__disjvr_0^0 == 0 /\ 2+wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 New rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext^0, deltaext_new^0'=-1+deltaext^0, wnt^0'=wnt^0, (0 == 0 /\ 2+wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 propagated equality wnt^post4 = wnt^0 propagated equality deltaext_new^post4 = -1+deltaext^0 propagated equality c0^post4 = c0^0 propagated equality deltaext^post4 = deltaext^0 propagated equality __disjvr_0^post4 = __disjvr_0^0 Simplified Guard Original rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext^0, deltaext_new^0'=-1+deltaext^0, wnt^0'=wnt^0, (0 == 0 /\ 2+wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 New rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext^0, deltaext_new^0'=-1+deltaext^0, wnt^0'=wnt^0, 2+wnt^0+c0^0-2*deltaext^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext^0, deltaext_new^0'=-1+deltaext^0, wnt^0'=wnt^0, 2+wnt^0+c0^0-2*deltaext^0 <= 0, cost: 1 New rule: l1 -> l0 : deltaext_new^0'=-1+deltaext^0, 2+wnt^0+c0^0-2*deltaext^0 <= 0, cost: 1 Propagated Equalities Original rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^post5, c0^0'=c0^post5, deltaext^0'=deltaext^post5, deltaext_new^0'=deltaext_new^post5, wnt^0'=wnt^post5, (wnt^0-wnt^post5 == 0 /\ c0^0-c0^post5 == 0 /\ 1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ -deltaext^post5+deltaext^0 == 0 /\ -__disjvr_0^post5+__disjvr_0^0 == 0 /\ -1+deltaext_new^post5-deltaext^0 == 0), cost: 1 New rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext^0, deltaext_new^0'=1+deltaext^0, wnt^0'=wnt^0, (0 == 0 /\ 1-wnt^0-c0^0+2*deltaext^0 <= 0), cost: 1 propagated equality wnt^post5 = wnt^0 propagated equality c0^post5 = c0^0 propagated equality deltaext^post5 = deltaext^0 propagated equality __disjvr_0^post5 = __disjvr_0^0 propagated equality deltaext_new^post5 = 1+deltaext^0 Simplified Guard Original rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext^0, deltaext_new^0'=1+deltaext^0, wnt^0'=wnt^0, (0 == 0 /\ 1-wnt^0-c0^0+2*deltaext^0 <= 0), cost: 1 New rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext^0, deltaext_new^0'=1+deltaext^0, wnt^0'=wnt^0, 1-wnt^0-c0^0+2*deltaext^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l1 -> l0 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext^0, deltaext_new^0'=1+deltaext^0, wnt^0'=wnt^0, 1-wnt^0-c0^0+2*deltaext^0 <= 0, cost: 1 New rule: l1 -> l0 : deltaext_new^0'=1+deltaext^0, 1-wnt^0-c0^0+2*deltaext^0 <= 0, cost: 1 Propagated Equalities Original rule: l4 -> l1 : __disjvr_0^0'=__disjvr_0^post6, c0^0'=c0^post6, deltaext^0'=deltaext^post6, deltaext_new^0'=deltaext_new^post6, wnt^0'=wnt^post6, (c0^0-c0^post7 == 0 /\ deltaext_new^post7-deltaext_new^post6 == 0 /\ deltaext^0-deltaext^post7 == 0 /\ -deltaext_new^post7+deltaext_new^0 == 0 /\ -3+deltaext^post7 <= 0 /\ -deltaext^post6+deltaext^post7 == 0 /\ -wnt^post6+wnt^post7 == 0 /\ -wnt^post7 <= 0 /\ -__disjvr_0^post7+__disjvr_0^0 == 0 /\ wnt^0-wnt^post7 == 0 /\ __disjvr_0^post7-__disjvr_0^post6 == 0 /\ -3+wnt^post7 <= 0 /\ -2+c0^post6 == 0 /\ -deltaext^post7 <= 0), cost: 1 New rule: l4 -> l1 : __disjvr_0^0'=__disjvr_0^post7, c0^0'=2, deltaext^0'=deltaext^post7, deltaext_new^0'=deltaext_new^post7, wnt^0'=wnt^post7, (0 == 0 /\ c0^0-c0^post7 == 0 /\ deltaext^0-deltaext^post7 == 0 /\ -deltaext_new^post7+deltaext_new^0 == 0 /\ -3+deltaext^post7 <= 0 /\ -wnt^post7 <= 0 /\ -__disjvr_0^post7+__disjvr_0^0 == 0 /\ wnt^0-wnt^post7 == 0 /\ -3+wnt^post7 <= 0 /\ -deltaext^post7 <= 0), cost: 1 propagated equality deltaext_new^post6 = deltaext_new^post7 propagated equality deltaext^post6 = deltaext^post7 propagated equality wnt^post6 = wnt^post7 propagated equality __disjvr_0^post6 = __disjvr_0^post7 propagated equality c0^post6 = 2 Propagated Equalities Original rule: l4 -> l1 : __disjvr_0^0'=__disjvr_0^post7, c0^0'=2, deltaext^0'=deltaext^post7, deltaext_new^0'=deltaext_new^post7, wnt^0'=wnt^post7, (0 == 0 /\ c0^0-c0^post7 == 0 /\ deltaext^0-deltaext^post7 == 0 /\ -deltaext_new^post7+deltaext_new^0 == 0 /\ -3+deltaext^post7 <= 0 /\ -wnt^post7 <= 0 /\ -__disjvr_0^post7+__disjvr_0^0 == 0 /\ wnt^0-wnt^post7 == 0 /\ -3+wnt^post7 <= 0 /\ -deltaext^post7 <= 0), cost: 1 New rule: l4 -> l1 : __disjvr_0^0'=__disjvr_0^0, c0^0'=2, deltaext^0'=deltaext^0, deltaext_new^0'=deltaext_new^0, wnt^0'=wnt^0, (0 == 0 /\ -3+deltaext^0 <= 0 /\ -wnt^0 <= 0 /\ -3+wnt^0 <= 0 /\ -deltaext^0 <= 0), cost: 1 propagated equality c0^post7 = c0^0 propagated equality deltaext^post7 = deltaext^0 propagated equality deltaext_new^post7 = deltaext_new^0 propagated equality __disjvr_0^post7 = __disjvr_0^0 propagated equality wnt^post7 = wnt^0 Simplified Guard Original rule: l4 -> l1 : __disjvr_0^0'=__disjvr_0^0, c0^0'=2, deltaext^0'=deltaext^0, deltaext_new^0'=deltaext_new^0, wnt^0'=wnt^0, (0 == 0 /\ -3+deltaext^0 <= 0 /\ -wnt^0 <= 0 /\ -3+wnt^0 <= 0 /\ -deltaext^0 <= 0), cost: 1 New rule: l4 -> l1 : __disjvr_0^0'=__disjvr_0^0, c0^0'=2, deltaext^0'=deltaext^0, deltaext_new^0'=deltaext_new^0, wnt^0'=wnt^0, (-3+deltaext^0 <= 0 /\ -wnt^0 <= 0 /\ -3+wnt^0 <= 0 /\ -deltaext^0 <= 0), cost: 1 Removed Trivial Updates Original rule: l4 -> l1 : __disjvr_0^0'=__disjvr_0^0, c0^0'=2, deltaext^0'=deltaext^0, deltaext_new^0'=deltaext_new^0, wnt^0'=wnt^0, (-3+deltaext^0 <= 0 /\ -wnt^0 <= 0 /\ -3+wnt^0 <= 0 /\ -deltaext^0 <= 0), cost: 1 New rule: l4 -> l1 : c0^0'=2, (-3+deltaext^0 <= 0 /\ -wnt^0 <= 0 /\ -3+wnt^0 <= 0 /\ -deltaext^0 <= 0), cost: 1 Propagated Equalities Original rule: l0 -> l1 : __disjvr_0^0'=__disjvr_0^post2, c0^0'=c0^post2, deltaext^0'=deltaext^post2, deltaext_new^0'=deltaext_new^post2, wnt^0'=wnt^post2, (wnt^0-wnt^post1 == 0 /\ wnt^post1-wnt^post2 == 0 /\ -deltaext_new^post1+deltaext_new^0 == 0 /\ deltaext_new^post1-deltaext_new^post2 == 0 /\ __disjvr_0^post1-__disjvr_0^post2 == 0 /\ c0^0-c0^post1 == 0 /\ -__disjvr_0^post1+__disjvr_0^0 == 0 /\ -c0^post2+c0^post1 == 0 /\ -deltaext^post1+deltaext^0 == 0 /\ __disjvr_0^post1-__disjvr_0^0 == 0 /\ -deltaext_new^post1+deltaext^post2 == 0), cost: 1 New rule: l0 -> l1 : __disjvr_0^0'=__disjvr_0^post1, c0^0'=c0^post1, deltaext^0'=deltaext_new^post1, deltaext_new^0'=deltaext_new^post1, wnt^0'=wnt^post1, (0 == 0 /\ wnt^0-wnt^post1 == 0 /\ -deltaext_new^post1+deltaext_new^0 == 0 /\ c0^0-c0^post1 == 0 /\ -__disjvr_0^post1+__disjvr_0^0 == 0 /\ -deltaext^post1+deltaext^0 == 0 /\ __disjvr_0^post1-__disjvr_0^0 == 0), cost: 1 propagated equality wnt^post2 = wnt^post1 propagated equality deltaext_new^post2 = deltaext_new^post1 propagated equality __disjvr_0^post2 = __disjvr_0^post1 propagated equality c0^post2 = c0^post1 propagated equality deltaext^post2 = deltaext_new^post1 Propagated Equalities Original rule: l0 -> l1 : __disjvr_0^0'=__disjvr_0^post1, c0^0'=c0^post1, deltaext^0'=deltaext_new^post1, deltaext_new^0'=deltaext_new^post1, wnt^0'=wnt^post1, (0 == 0 /\ wnt^0-wnt^post1 == 0 /\ -deltaext_new^post1+deltaext_new^0 == 0 /\ c0^0-c0^post1 == 0 /\ -__disjvr_0^post1+__disjvr_0^0 == 0 /\ -deltaext^post1+deltaext^0 == 0 /\ __disjvr_0^post1-__disjvr_0^0 == 0), cost: 1 New rule: l0 -> l1 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext_new^0, deltaext_new^0'=deltaext_new^0, wnt^0'=wnt^0, 0 == 0, cost: 1 propagated equality wnt^post1 = wnt^0 propagated equality deltaext_new^post1 = deltaext_new^0 propagated equality c0^post1 = c0^0 propagated equality __disjvr_0^post1 = __disjvr_0^0 propagated equality deltaext^post1 = deltaext^0 Simplified Guard Original rule: l0 -> l1 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext_new^0, deltaext_new^0'=deltaext_new^0, wnt^0'=wnt^0, 0 == 0, cost: 1 New rule: l0 -> l1 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext_new^0, deltaext_new^0'=deltaext_new^0, wnt^0'=wnt^0, T, cost: 1 Removed Trivial Updates Original rule: l0 -> l1 : __disjvr_0^0'=__disjvr_0^0, c0^0'=c0^0, deltaext^0'=deltaext_new^0, deltaext_new^0'=deltaext_new^0, wnt^0'=wnt^0, T, cost: 1 New rule: l0 -> l1 : deltaext^0'=deltaext_new^0, T, cost: 1 Step with 12 Trace 12[(-3+deltaext^0 <= 0 /\ -wnt^0 <= 0 /\ -3+wnt^0 <= 0 /\ -deltaext^0 <= 0)] Blocked [{}, {}] Step with 9 Trace 12[(-3+deltaext^0 <= 0 /\ -wnt^0 <= 0 /\ -3+wnt^0 <= 0 /\ -deltaext^0 <= 0)], 9[(-1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0)] Blocked [{}, {}, {}] Step with 13 Trace 12[(-3+deltaext^0 <= 0 /\ -wnt^0 <= 0 /\ -3+wnt^0 <= 0 /\ -deltaext^0 <= 0)], 9[(-1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0)], 13[T] Blocked [{}, {}, {}, {}] Nonterm Start location: l4 Program variables: c0^0 deltaext^0 deltaext_new^0 wnt^0 13: l0 -> l1 : deltaext^0'=deltaext_new^0, T, cost: 1 9: l1 -> l0 : deltaext_new^0'=deltaext^0, (-1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 10: l1 -> l0 : deltaext_new^0'=-1+deltaext^0, 2+wnt^0+c0^0-2*deltaext^0 <= 0, cost: 1 11: l1 -> l0 : deltaext_new^0'=1+deltaext^0, 1-wnt^0-c0^0+2*deltaext^0 <= 0, cost: 1 14: l1 -> LoAT_sink : (-wnt^0-c0^0+2*deltaext^0 >= 0 /\ 1+wnt^0+c0^0-2*deltaext^0 >= 0 /\ -1+n >= 0), cost: NONTERM 12: l4 -> l1 : c0^0'=2, (-3+deltaext^0 <= 0 /\ -wnt^0 <= 0 /\ -3+wnt^0 <= 0 /\ -deltaext^0 <= 0), cost: 1 Certificate of Non-Termination Original rule: l1 -> l1 : deltaext_new^0'=deltaext^0, (-1-wnt^0-c0^0+2*deltaext^0 <= 0 /\ wnt^0+c0^0-2*deltaext^0 <= 0), cost: 1 New rule: l1 -> LoAT_sink : (-wnt^0-c0^0+2*deltaext^0 >= 0 /\ 1+wnt^0+c0^0-2*deltaext^0 >= 0 /\ -1+n >= 0), cost: NONTERM -wnt^0-c0^0+2*deltaext^0 >= 0 [0]: monotonic increase yields -wnt^0-c0^0+2*deltaext^0 >= 0 1+wnt^0+c0^0-2*deltaext^0 >= 0 [0]: monotonic increase yields 1+wnt^0+c0^0-2*deltaext^0 >= 0 Replacement map: {-wnt^0-c0^0+2*deltaext^0 >= 0 -> -wnt^0-c0^0+2*deltaext^0 >= 0, 1+wnt^0+c0^0-2*deltaext^0 >= 0 -> 1+wnt^0+c0^0-2*deltaext^0 >= 0} Step with 14 Trace 12[(-3+deltaext^0 <= 0 /\ -wnt^0 <= 0 /\ -3+wnt^0 <= 0 /\ -deltaext^0 <= 0)], 14[(-wnt^0-c0^0+2*deltaext^0 >= 0 /\ 1+wnt^0+c0^0-2*deltaext^0 >= 0 /\ -1+n >= 0)] Blocked [{}, {}, {14[T]}] Refute Counterexample [ c0^0=2 deltaext^0=1 deltaext_new^0=0 wnt^0=0 ] 12 [ c0^0=c0^0 deltaext^0=1 deltaext_new^0=0 wnt^0=0 ] 14 NO Build SHA: a05f16bf13df659c382799650051f91bf6828c7b