| r0 = r ∨ r0 ∈ H ↔ r0 ∈ (∅ ++ r)[r, o] ∪ H0, P(H0), r0 ∈ (∅ ++ r)[r, o] ∪ H0, (∅ ++ r)[r, o] ⊥ H0, r0 = r ∨ r0 ∈ H → (H ++ r)[r0] = (r0 ∈ (∅ ++ r)[r, o] ⊃ (∅ ++ r)[r, o][r0];H0[r0]) ⊦ r = null, P(H), r ∈ H0, r ∈ H, (r0 ∈ H0 ↔ r0 ∈ H) ∧ (r0 ∈ H0 → H0[r0] = H[r0]) |
P(H0), r0 ∈ (∅ ++ r)[r, o] ∪ H0, r0 ≠ r → (r0 ∈ H ↔ r0 ∈ H0), r0 = r ∨ r0 ∈ H → (H ++ r)[r0] = (r0 = r ⊃ o;H0[r0]) ⊦ r = null, P(H), r ∈ H, r ∈ H0, (r0 ∈ H0 ↔ r0 ∈ H) ∧ (r0 ∈ H0 → H0[r0] = H[r0])
Used simplifier rules: ⊦ H[r0, o][r] = (r = r0 ∧ r0 ∈ H ⊃ o;H[r]); (s)%r ≠ null ⊦ (∅ ++ r)[r, o] ⊥ H ↔ ¬ r ∈ H; (s)%r0 ≠ null, ¬ r0 ∈ H ⊦ r ∈ H ++ r0 ↔ r = r0 ∨ r ∈ H; (s)% ⊦ ¬ r ∈ ∅; (s)% ⊦ r ∈ H[r0, o] ↔ r ∈ H; (s)% ⊦ H0 ⊥ H1 → (r ∈ H0 ∪ H1 ↔ r ∈ H0 ∨ r ∈ H1); (s)