| ∃ rs, f. H0 = mk(rs, f), ∀ H1. # H1 < # (H0 ++ r)[r, o] → true → (∃ rs, f. H1 = mk(rs, f)) ⊦ r = null, r ∈ H0, ∃ rs, f. (H0 ++ r)[r, o] = mk(rs, f) |
∀ H1. # H1 < # (mk(rs, f) ++ r)[r, o] → true → (∃ rs, f. H1 = mk(rs, f)) ⊦ r = null, r ∈ rs, ∃ rs0, f0. (mk(rs, f) ++ r)[r, o] = mk(rs0, f0)
Used simplifier rules: in-mk: ⊦ r ∈ mk(rs, f) ↔ r ∈ rs;