| O1(r) = me ↔ O2(r) = me, rely(me, O0, H0, O1, H1), O2(r) = me → (r ∈ H1 ↔ r ∈ H2) ∧ (r ∈ H1 → H1[r] = H2[r]) ⊦ (O0(r) = me ↔ O2(r) = me) ∧ (O0(r) = me → (r ∈ H0 ↔ r ∈ H2) ∧ (r ∈ H0 → H0[r] = H2[r])) |
⊦ rely(me, O1, H1, O2, H2) ↔ (∀ r. (O1(r) = me ↔ O2(r) = me) ∧ (O1(r) = me → (r ∈ H1 ↔ r ∈ H2) ∧ (r ∈ H1 → H1[r] = H2[r])))
O1(r) = me ↔ O2(r) = me, O2(r) = me → (r ∈ H1 ↔ r ∈ H2) ∧ (r ∈ H1 → H1[r] = H2[r]), ∀ r. (O0(r) = me ↔ O1(r) = me) ∧ (O0(r) = me → (r ∈ H0 ↔ r ∈ H1) ∧ (r ∈ H0 → H0[r] = H1[r])) ⊦ (O0(r) = me ↔ O2(r) = me) ∧ (O0(r) = me → (r ∈ H0 ↔ r ∈ H2) ∧ (r ∈ H0 → H0[r] = H2[r]))
Used terms: H1, O1, H0, O0, me