| ¬ done0, S0 ≠ ∅, # S0 ≠ 0, INV(S0, S, S1, n0, source), v ∈ S0, ∀ n. ¬ reach(source, dest, n), v = dest ⊦ [if S0 = ∅ then S0 := S, S := ∅, n0 := n0 + 1] ((∀ n. ¬ reach(source, dest, n)) ∧ (true → dest ∈ S0) ∧ INV(S0, S, S1, n0, source)) |
¬ done0, S0 ≠ ∅, # S0 ≠ 0, INV(S0, S, S1, n0, source), v ∈ S0, ∀ n. ¬ reach(source, dest, n), v = dest ⊦ [skip] ((∀ n. ¬ reach(source, dest, n)) ∧ (true → dest ∈ S0) ∧ INV(S0, S, S1, n0, source))
[[CONCRETESIMPRULES : ()]]