| m0 + 1 = n - n0, m1 + 1 = # S0, S0 ≠ ∅, n0 ≠ n, INVR(S0, S, S1, n0, n, source, dest), INV(S0, S, S1, n0, source), dest ∈ S0 ⊦ |
⊦ INV(C, N, V, n, source) ↔ ¬ ¬ ( (∀ b. b ∈ V ↔ reach<(source, b, n + 1) ∨ (∃ a. b ∈ succ(a) ∧ reachS(source, {a} , n) ∧ ¬ a ∈ C)) ∧ reachS(source, C, n) ∧ reachS(source, N, n + 1) ∧ (∀ b. reachS(source, {b} , n + 1) → b ∈ N ∨ (∃ a. a ∈ C ∧ b ∈ succ(a) ∧ ¬ b ∈ V)))
m0 + 1 = n - n0, m1 + 1 = # S0, S0 ≠ ∅, n0 ≠ n, INVR(S0, S, S1, n0, n, source, dest), (∀ b. b ∈ S1 ↔ reach<(source, b, n0 + 1) ∨ (∃ a. b ∈ succ(a) ∧ reachS(source, {a} , n0) ∧ ¬ a ∈ S0)) ∧ reachS(source, S0, n0) ∧ reachS(source, S, n0 + 1) ∧ (∀ b. reachS(source, {b} , n0 + 1) → b ∈ S ∨ (∃ a. a ∈ S0 ∧ b ∈ succ(a) ∧ ¬ b ∈ S1)), dest ∈ S0 ⊦
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (source, n0, S1, S, S0)]]