| ⊦ ( (ctrok(gs.ctr, gs.writers) ∧ writersOk(gs.p, gs.writers) ∧ pendingOk(gs.p)) ∧ notMember(ls.t, gs.readers) ∧ notMember(ls.t, gs.writers) ∧ noPending(ls.t, gs.p)) ∧ pre(gs, ls, W7, a) ∧ pcstepf(gs, ls, W7, a) = ready → ( ctrok(gstepf(gs, ls, W7, a).ctr, gstepf(gs, ls, W7, a).writers) ∧ writersOk(gstepf(gs, ls, W7, a).p, gstepf(gs, ls, W7, a).writers) ∧ pendingOk(gstepf(gs, ls, W7, a).p)) ∧ notMember(lstepf(gs, ls, W7, a).t, gstepf(gs, ls, W7, a).writers) ∧ notMember(lstepf(gs, ls, W7, a).t, gstepf(gs, ls, W7, a).readers) ∧ noPendingW(lstepf(gs, ls, W7, a).t, gstepf(gs, ls, W7, a).p) |
pcstepf(gs, ls, W7, a) = ready, ctrok(gs.ctr, gs.writers), noPending(ls.t, gs.p), notMember(ls.t, gs.readers), notMember(ls.t, gs.writers), pendingOk(gs.p), pre(gs, ls, W7, a), writersOk(gs.p, gs.writers) ⊦ ( ctrok(gstepf(gs, ls, W7, a).ctr, gstepf(gs, ls, W7, a).writers) ∧ writersOk(gstepf(gs, ls, W7, a).p, gstepf(gs, ls, W7, a).writers) ∧ pendingOk(gstepf(gs, ls, W7, a).p)) ∧ notMember(lstepf(gs, ls, W7, a).t, gstepf(gs, ls, W7, a).writers) ∧ notMember(lstepf(gs, ls, W7, a).t, gstepf(gs, ls, W7, a).readers) ∧ noPendingW(lstepf(gs, ls, W7, a).t, gstepf(gs, ls, W7, a).p)
| pcstepf(gs, ls, W7, a) = ready, ctrok(gs.ctr, gs.writers), noPending(ls.t, gs.p), notMember(ls.t, gs.readers), notMember(ls.t, gs.writers), pendingOk(gs.p), pre(gs, ls, W7, a), writersOk(gs.p, gs.writers) ⊦ ( ctrok(gstepf(gs, ls, W7, a).ctr, gstepf(gs, ls, W7, a).writers) ∧ writersOk(gstepf(gs, ls, W7, a).p, gstepf(gs, ls, W7, a).writers) ∧ pendingOk(gstepf(gs, ls, W7, a).p)) ∧ notMember(lstepf(gs, ls, W7, a).t, gstepf(gs, ls, W7, a).writers) ∧ notMember(lstepf(gs, ls, W7, a).t, gstepf(gs, ls, W7, a).readers) ∧ noPendingW(lstepf(gs, ls, W7, a).t, gstepf(gs, ls, W7, a).p) |
Used simplifier rules: ⊦ noPending(t, p) → noPendingW(t, p); (ss) ⊦ ls.t = t → gstepf(gs, ls, W7, retFLITPSCWRITE(t)) = gs; (s) ⊦ ls.t = t → lstepf(gs, ls, W7, retFLITPSCWRITE(t)) = ls; (s) ⊦ pre(gs, ls, W7, a) ↔ a = retFLITPSCWRITE(ls.t); (s) ⊦ pcstepf(gs, ls, W7, a) = ready; (s)
The following image shows the proof tree of sequent calculus. The proved goal is at the bottom. You can click on the nodes to view additional rules. See here for details on colors in a proof tree.