| H1[r, o1] = H0 ∪ H, ((r => o1 * P))(H0), P0(H), rely(me, O1, H1[r, o1], O2, H2), r ∈ H1, H0 ⊥ H, ∀ r. r ∈ H0 → O2(r) = me ⊦ ((!(me, O2, r => H1[r] * P) * P0))(H1) |
⊦ ((P0 * P1))(H) ↔ (∃ H0, H1. H0 ⊥ H1 ∧ H = H0 ∪ H1 ∧ P0(H0) ∧ P1(H1))
H1[r, o1] = H0 ∪ H, ((r => o1 * P))(H0), P0(H), rely(me, O1, H1[r, o1], O2, H2), r ∈ H1, H0 ⊥ H, ∀ r. r ∈ H0 → O2(r) = me ⊦ ∃ H0, H2. H0 ⊥ H2 ∧ H1 = H0 ∪ H2 ∧ !(me, O2, r => H1[r] * P)(H0) ∧ P0(H2)
Used terms: H1, P0, !(me, O2, r => H1[r] * P)