| 〈ADD(succ(v); S1, S)〉 (S1 = s ∧ S = s0), ⟪ADD(succ(v); S1, S)⟫ INV(S0 -- v, S, S1, n0, source), S2 = S0 -- v, S0 ≠ ∅, # S0 ≠ 0, v ≠ dest, INV(S0, S, S1, n0, source), v ∈ S0, INV(S0 -- v, s0, s, n0, source), ∀ n. ¬ reach(source, dest, n), S0 ≠ ∅ ++ v, (∃ n. ¬ ¬ reach(source, dest, n)) ∨ ¬ INV(S2, s0, s, n0, source) ⊦ |
〈ADD(succ(v); S1, S)〉 (S1 = s ∧ S = s0), ⟪ADD(succ(v); S1, S)⟫ INV(S0 -- v, S, S1, n0, source), S0 ≠ ∅, # S0 ≠ 0, v ≠ dest, S0 ≠ ∅ ++ v, INV(S0, S, S1, n0, source), v ∈ S0, INV(S0 -- v, s0, s, n0, source), reach(source, dest, n), ∀ n. ¬ reach(source, dest, n) ⊦
[[CONCRETESIMPRULES : ()]]