| !(me, O2, r => o0 * P)(H0), P0(H), rely(me, O1, (H0 ∪ H)[r, o1], O2, H2), H0 ⊥ H ⊦ ((!(me, O2, r => o1 * P) * P0))((H0 ∪ H)[r, o1]) ∧ (r ∈ H0 ⊃ H0[r];H[r]) = o0 ∧ (r ∈ H0 ∨ r ∈ H) |
⊦ !(id, O, P)(H) ↔ P(H) ∧ (∀ r. r ∈ H → O(r) = id)
((r => o0 * P))(H0), P0(H), rely(me, O1, (H0 ∪ H)[r, o1], O2, H2), H0 ⊥ H, ∀ r. r ∈ H0 → O2(r) = me ⊦ ((!(me, O2, r => o1 * P) * P0))((H0 ∪ H)[r, o1]) ∧ (r ∈ H0 ⊃ H0[r];H[r]) = o0 ∧ (r ∈ H0 ∨ r ∈ H)
Used terms: H0, r => o0 * P, O2, me