| 〈ADD(succ(v); V, N)〉 (V = S ∧ N = S0), ⟪ADD(succ(v); V, N)⟫ INV(C -- v, N, V, n, source), INV(C, N, V, n, source), v ∈ C, INVR(C, N, V, n, n0, source, dest), v ≠ dest, INV(C -- v, S0, S, n, source), ¬ INV(C -- v, S0, S, n, source) ∨ ¬ INVR(C -- v, S0, S, n, n0, source, dest) ⊦ |
⟪ADD(succ(v); V, N)⟫ INV(C -- v, N, V, n, source), 〈ADD(succ(v); V, N)〉 (V = S ∧ N = S0), C ≠ ∅, v ≠ dest, # C ≠ 0, INV(C -- v, S0, S, n, source), INVR(C, N, V, n, n0, source, dest), v ∈ C, INV(C, N, V, n, source), ¬ INVR(C -- v, S0, S, n, n0, source, dest) ⊦
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ s ≠ ∅ → # s ≠ 0], [CSIMPFORWARD : ⊦ a ∈ s → s ≠ ∅])]]