| ∀ a, b. reach(a, b, n0) ↔ (∃ x. path(x) ∧ # x = n0 + 1 ∧ x .first = a ∧ x .last = b) ⊦ (∃ c. reach(a, c, n0) ∧ b ∈ succ(c)) ↔ (∃ x. path(x) ∧ # x = 2 + n0 ∧ x .first = a ∧ x .last = b) |
∃ c. reach(a, c, n0) ∧ b ∈ succ(c), ∀ a, b. reach(a, b, n0) ↔ (∃ x. path(x) ∧ # x = n0 + 1 ∧ x .first = a ∧ x .last = b) ⊦ ∃ x. path(x) ∧ # x = 2 + n0 ∧ x .first = a ∧ x .last = b
∃ x. path(x) ∧ # x = 2 + n0 ∧ x .first = a ∧ x .last = b, ∀ a, b. reach(a, b, n0) ↔ (∃ x. path(x) ∧ # x = n0 + 1 ∧ x .first = a ∧ x .last = b) ⊦ ∃ c. reach(a, c, n0) ∧ b ∈ succ(c)
[[CONCRETESIMPRULES : ()]]