| H1 ++ r = H0 ∪ H, !(me, O2, r =>_)(H0), ((!(me, O2, P) * P0))(H), r =>_(H0), rely(me, O1(r; me), H1 ++ r, O2, H2), H0 ⊥ H ⊦ r = null, ((!(me, O1, P) * P0))(H1), ((!(me, O1, P) * P0))(H), r ∈ H1 |
⊦ ((P0 * P1))(H) ↔ (∃ H0, H1. H0 ⊥ H1 ∧ H = H0 ∪ H1 ∧ P0(H0) ∧ P1(H1))
H1 ++ r = H0 ∪ H, !(me, O2, r =>_)(H0), r =>_(H0), rely(me, O1(r; me), H1 ++ r, O2, H2), H0 ⊥ H, ∃ H0, H1. H0 ⊥ H1 ∧ H = H0 ∪ H1 ∧ !(me, O2, P)(H0) ∧ P0(H1) ⊦ r = null, ((!(me, O1, P) * P0))(H), ((!(me, O1, P) * P0))(H1), r ∈ H1
Used terms: H, P0, !(me, O2, P)