lemma scopeExt: fixes x :: name and P :: ccs and Q :: ccs
assumes"x ♯ P"
shows"(νx)(P ∥ Q) ∼ P ∥(νx)Q" proof - let ?X = "{((νx)(P ∥ Q), P ∥(νx)Q) | x P Q. x ♯ P} ∪ {(P ∥(νx)Q, (νx)(P ∥ Q)) | x P Q. x ♯ P}" from assms have"((νx)(P ∥ Q), P ∥(νx)Q) ∈ ?X"by auto thus ?thesis by(coinduct rule: bisimCoinduct) (force intro: scopeExtLeft scopeExtRight)+ qed
lemma sumComm: fixes P :: ccs and Q :: ccs
shows"P ⊕ Q ∼ Q ⊕ P" proof - have"(P ⊕ Q, Q ⊕ P) ∈ {(P ⊕ Q, Q ⊕ P), (Q ⊕ P, P ⊕ Q)}"by simp thus ?thesis by(coinduct rule: bisimCoinduct) (auto intro: sumComm reflexive) qed
lemma sumAssoc: fixes P :: ccs and Q :: ccs and R :: ccs
lemma resComm: fixes x :: name and y :: name and P :: ccs
shows"(νx)((νy)P) ∼(νy)((νx)P)" proof - have"((νx)((νy)P), (νy)((νx)P)) ∈ {((νx)((νy)P), (νy)((νx)P)) | x y P. True}"by auto thus ?thesis by(coinduct rule: bisimCoinduct) (auto intro: resComm) qed
lemma bangUnfold: fixes P
shows"!P ∼ P ∥ !P" proof - have"(!P, P ∥ !P) ∈ {(!P, P ∥ !P), (P ∥ !P, !P)}"by auto thus ?thesis by(coinduct rule: bisimCoinduct) (auto intro: bangUnfoldLeft bangUnfoldRight reflexive) qed
lemma bisimStructCong: fixes P :: ccs and Q :: ccs
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.