| !(me, O2, P)(H0), ((!(id, O2, P1) * true))(H0 ∪ H1), P0(H), rely(me, O1, H0 ∪ H, O2, H0 ∪ H1), H0 ⊥ H, H1 ⊥ H0 ⊦ id = me, ((!(id, O2, P1) * true))(H1) |
⊦ ((P0 * P1))(H) ↔ (∃ H0, H1. H0 ⊥ H1 ∧ H = H0 ∪ H1 ∧ P0(H0) ∧ P1(H1))
!(me, O2, P)(H0), P0(H), rely(me, O1, H0 ∪ H, O2, H0 ∪ H1), H1 ⊥ H0, H0 ⊥ H, ∃ H2, H3. H2 ⊥ H3 ∧ H0 ∪ H1 = H2 ∪ H3 ∧ !(id, O2, P1)(H2) ∧ true(H3) ⊦ id = me, ((!(id, O2, P1) * true))(H1)
Used terms: H0 ∪ H1, true, !(id, O2, P1)