(* Title:TheCalculusofCommunicatingSystems Author/Maintainer:JesperBengtson(jebe@itu.dk),2012
*) theory Weak_Cong_Pres imports Weak_Cong Weak_Bisim_Pres Weak_Cong_Sim_Pres begin
lemma actPres: fixes P :: ccs and Q :: ccs and α :: act
assumes"P ≅ Q"
shows"α.(P) ≅ α.(Q)" using assms proof(induct rule: weakCongISym2) case(cSim P Q) from‹P ≅ Q›have"P ≈ Q"by(rule weakCongruenceWeakBisimulation) thus ?caseby(rule actPres) qed
lemma sumPres: fixes P :: ccs and Q :: ccs and R :: ccs
assumes"P ≅ Q"
shows"P ⊕ R ≅ Q ⊕ R" using assms proof(induct rule: weakCongISym2) case(cSim P Q) from‹P ≅ Q›have"P ↝<weakBisimulation> Q"by(rule weakCongruenceE) thus ?caseusing Weak_Bisim.reflexive by(rule_tac sumPres) auto qed
lemma parPres: fixes P :: ccs and Q :: ccs and R :: ccs
assumes"P ≅ Q"
shows"P ∥ R ≅ Q ∥ R" using assms proof(induct rule: weakCongISym2) case(cSim P Q) from‹P ≅ Q›have"P ↝<weakBisimulation> Q"by(rule weakCongruenceE) moreoverfrom‹P ≅ Q›have"P ≈ Q"by(rule weakCongruenceWeakBisimulation) ultimatelyshow ?caseusing Weak_Bisim_Pres.parPres by(rule parPres) qed
lemma resPres: fixes P :: ccs and Q :: ccs and x :: name
assumes"P ≅ Q"
shows"(νx)P ≅(νx)Q" using assms proof(induct rule: weakCongISym2) case(cSim P Q) from‹P ≅ Q›have"P ↝<weakBisimulation> Q"by(rule weakCongruenceE) thus ?caseusing Weak_Bisim_Pres.resPres by(rule resPres) qed
lemma weakBisimBangRel: "bangRel weakBisimulation ⊆ weakBisimulation" proof auto fix P Q assume"(P, Q) ∈ bangRel weakBisimulation" thus"P ≈ Q" proof(induct rule: bangRel.induct) case(BRBang P Q) from‹P ≈ Q›show"!P ≈ !Q"by(rule Weak_Bisim_Pres.bangPres) next case(BRPar R T P Q) from‹R ≈ T›have"R ∥ P ≈ T ∥ P"by(rule Weak_Bisim_Pres.parPres) moreoverfrom‹P ≈ Q›have"P ∥ T ≈ Q ∥ T"by(rule Weak_Bisim_Pres.parPres) hence"T ∥ P ≈ T ∥ Q"by(metis bisimWeakBisimulation Weak_Bisim.transitive parComm) ultimatelyshow"R ∥ P ≈ T ∥ Q"by(rule Weak_Bisim.transitive) qed qed
lemma bangPres: fixes P :: ccs and Q :: ccs
assumes"P ≅ Q"
shows"!P ≅ !Q" using assms proof(induct rule: weakCongISym2) case(cSim P Q) let ?X = "{(P, Q) | P Q. P ≅ Q}" from‹P ≅ Q›have"(P, Q) ∈ ?X"by auto moreoverhave"∧P Q. (P, Q) ∈ ?X ==> P ↝<weakBisimulation> Q"by(auto dest: weakCongruenceE) moreoverhave"?X ⊆ weakBisimulation"by(auto intro: weakCongruenceWeakBisimulation) ultimatelyhave"!P ↝<bangRel weakBisimulation> !Q"by(rule bangPres) thus ?caseusing weakBisimBangRel by(rule Weak_Cong_Sim.weakMonotonic) qed
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-10)
¤
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.