| H1 ++ r = H0 ∪ H4 ∪ H3, !(me, O2, r =>_)(H0), !(me, O2, P)(H4), r =>_(H0), P(H4), P0(H3), r0 ∈ H4, H4 ⊥ H3, H0 ⊥ H4, H0 ⊥ H3, ∀ r0. (O1(r; me)(r0) = me ↔ O2(r0) = me) ∧ (O1(r; me)(r0) = me → (r0 ∈ H1 ++ r ↔ r0 ∈ H2) ∧ (r0 ∈ H1 ++ r → (H1 ++ r)[r0] = H2[r0])) ⊦ O1(r0) = me, r = null, ((!(me, O1, P) * P0))(H1), ((!(me, O1, P) * P0))(H4 ∪ H3), r ∈ H1 |
H1 ++ r = H0 ∪ H4 ∪ H3, !(me, O2, P)(H4), !(me, O2, r =>_)(H0), r =>_(H0), P(H4), P0(H3), r0 ∈ H4, H0 ⊥ H3, H0 ⊥ H4, H4 ⊥ H3, ∀ r1. ((r = r1 ⊃ me;O1(r1)) = me ↔ O2(r1) = me) ∧ ((r = r1 ⊃ me;O1(r1)) = me → (r1 = r ∨ r1 ∈ H1 ↔ r1 ∈ H2) ∧ (r1 = r ∨ r1 ∈ H1 → (H1 ++ r)[r1] = H2[r1])) ⊦ O1(r0) = me, r = null, ((!(me, O1, P) * P0))(H4 ∪ H3), ((!(me, O1, P) * P0))(H1), r ∈ H1
Used simplifier rules: r0 ≠ null, ¬ r0 ∈ H ⊦ r ∈ H ++ r0 ↔ r = r0 ∨ r ∈ H; (s)