| !(me, O2, P)(H0), !(id, O2, P1)(H3), P0(H), rely(me, O1, H0 ∪ H, O2, H3 ∪ H2), H1 ⊥ H0, H0 ⊥ H, H3 ⊥ H2, ∀ r. (r ∈ H0 ∪ H1 ↔ r ∈ H3 ∪ H2) ∧ (r ∈ H0 ∪ H1 → (H0 ∪ H1)[r] = (H3 ∪ H2)[r]) ⊦ id = me, (r ∈ H3 → r ∈ H1) ∧ (r ∈ H3 → H3[r] = H1[r]) |
!(id, O2, P1)(H3), !(me, O2, P)(H0), P0(H), rely(me, O1, H0 ∪ H, O2, H3 ∪ H2), H3 ⊥ H2, H0 ⊥ H, H1 ⊥ H0, ∀ r0. (r0 ∈ H0 ∪ H1 ↔ r0 ∈ H3 ∨ r0 ∈ H2) ∧ (r0 ∈ H0 ∪ H1 → (H0 ∪ H1)[r0] = (H3 ∪ H2)[r0]) ⊦ id = me, (r ∈ H3 → r ∈ H1) ∧ (r ∈ H3 → H3[r] = H1[r])
Used simplifier rules: ⊦ H0 ⊥ H1 → (r ∈ H0 ∪ H1 ↔ r ∈ H0 ∨ r ∈ H1); (s)