lemma sumPres: fixes P :: ccs and Q :: ccs and Rel :: "(ccs × ccs) set"
assumes"P ↝^<Rel> Q" and"Rel ⊆ Rel'" and"Id ⊆ Rel'" and C1: "∧S T U. (S, T) ∈ Rel ==> (S ⊕ U, T) ∈ Rel'"
shows"P ⊕ R ↝^<Rel'> Q ⊕ R" proof(induct rule: weakSimI) case(Sim α QR) from‹Q ⊕ R ⟼α ≺ QR›show ?case proof(induct rule: sumCases) case(cSum1 Q') from‹P ↝^🚫 Q›‹Q ⟼α ≺ Q'› obtain P' where"P ==>^α ≺ P'"and"(P', Q') ∈ Rel" by(blast dest: weakSimE) thus ?case proof(induct rule: weakTransCases) case Base have"P ⊕ R ==>^τ ≺ P ⊕ R"by simp moreoverfrom‹(P, Q') ∈ Rel›have"(P ⊕ R, Q') ∈ Rel'"by(rule C1) ultimatelyshow ?caseby blast next case Step from‹P ==>α ≺ P'›have"P ⊕ R ==>α ≺ P'"by(rule weakCongSum1) hence"P ⊕ R ==>^α ≺ P'"by(simp add: weakTrans_def) thus ?caseusing‹(P', Q') ∈ Rel›‹Rel ⊆ Rel'›by blast qed next case(cSum2 R') from‹R ⟼α ≺ R'›have"R ==>α ≺ R'"by(rule transitionWeakCongTransition) hence"P ⊕ R ==>α ≺ R'"by(rule weakCongSum2) hence"P ⊕ R ==>^α ≺ R'"by(simp add: weakTrans_def) thus ?caseusing‹Id ⊆ Rel'›by blast qed qed
lemma parPresAux: fixes P :: ccs and Q :: ccs and R :: ccs and T :: ccs and Rel :: "(ccs × ccs) set" and Rel' :: "(ccs × ccs) set" and Rel'' :: "(ccs × ccs) set"
lemma parPres: fixes P :: ccs and Q :: ccs and R :: ccs and Rel :: "(ccs × ccs) set" and Rel' :: "(ccs × ccs) set" assumes"P ↝^<Rel> Q" and"(P, Q) ∈ Rel" and C1: "∧S T U. (S, T) ∈ Rel ==> (S ∥ U, T ∥ U) ∈ Rel'"
shows"P ∥ R ↝^<Rel'> Q ∥ R" using assms by(rule_tac parPresAux[where Rel'=Id and Rel''=Rel']) (auto intro: reflexive)
lemma resPres: fixes P :: ccs and Rel :: "(ccs × ccs) set" and Q :: ccs and x :: name
assumes"P ↝^<Rel> Q" and"∧R S y. (R, S) ∈ Rel ==> ((νy)R, (νy)S) ∈ Rel'"
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.