| ((ls(r, x) * del-list(rx0, n0)))(H0), H0 ⊥ H1, ∀ n, H0, H1, m, P. del-list(rx0, n)(H0) ∧ H0 ⊥ H1 → (((del-list(rx0, m) * P))(H0 ∪ H1) ↔ n = m ∧ P(H1)) ⊦ ((del-list(r ' + rx0, m) * P))(H0 ∪ H1) ↔ n0 + # x = m ∧ P(H1), r = null |
⊦ del-list(r ' + rx, n) = _∃(λ x. ls(r, x) * del-list(rx, n - # x) ∧ ⌜r ≠ null ∧ n ≥ # x⌝ )
((ls(r, x) * del-list(rx0, n0)))(H0), H0 ⊥ H1, ∀ n, H0, H1, m, P. del-list(rx0, n)(H0) ∧ H0 ⊥ H1 → (((del-list(rx0, m) * P))(H0 ∪ H1) ↔ n = m ∧ P(H1)) ⊦ ((_∃(λ x. ls(r, x) * del-list(rx0, m - # x) ∧ ⌜r ≠ null ∧ m ≥ # x⌝ ) * P))(H0 ∪ H1) ↔ n0 + # x = m ∧ P(H1), r = null
Used terms: m, rx0, r