(* Title:TheCalculusofCommunicatingSystems Author/Maintainer:JesperBengtson(jebe@itu.dk),2012
*) theory Weak_Bisim imports Weak_Sim Strong_Bisim_SC Struct_Cong begin
lemma weakMonoCoinduct: "∧x y xa xb P Q. x ≤ y ==> (Q ↝^<{(xb, xa). x xb xa}> P) ⟶ (Q ↝^<{(xb, xa). y xb xa}> P)" apply auto apply(rule weakMonotonic) by(auto dest: le_funE)
lemma strongAppend: fixes P :: ccs and Q :: ccs and R :: ccs and Rel :: "(ccs × ccs) set" and Rel' :: "(ccs × ccs) set" and Rel'' :: "(ccs × ccs) set"
assumes PSimQ: "P ↝^<Rel> Q" and QSimR: "Q ↝[Rel'] R" and Trans: "Rel O Rel' ⊆ Rel''"
shows"P ↝^<Rel''> R" using assms by(simp add: weakSimulation_def simulation_def) blast
lemma weakBisimWeakUpto[case_names cSim cSym, consumes 1]: assumes p: "(P, Q) ∈ X" and rSim: "∧P Q. (P, Q) ∈ X ==> P ↝^<(weakBisimulation O X O bisim)> Q" and rSym: "∧ P Q. (P, Q) ∈ X ==> (Q, P) ∈ X"
shows"P ≈ Q" proof - let ?X = "weakBisimulation O X O weakBisimulation" let ?Y = "weakBisimulation O X O bisim" from‹(P, Q) ∈ X›have"(P, Q) ∈ ?X"by(blast intro: Strong_Bisim.reflexive reflexive) thus ?thesis proof(coinduct rule: weakBisimWeakCoinduct) case(cSim P Q)
{ fix P P' Q' Q assume"P ≈ P'"and"(P', Q') ∈ X"and"Q' ≈ Q" from‹(P', Q') ∈ X›have"(P', Q') ∈ ?Y"by(blast intro: reflexive Strong_Bisim.reflexive) moreoverfrom‹Q' ≈ Q›have"Q' ↝^<weakBisimulation> Q"by(rule weakBisimulationE) moreoverhave"?Y O weakBisimulation ⊆ ?X"by(blast dest: bisimWeakBisimulation transitive) moreover { fix P Q assume"(P, Q) ∈ ?Y" thenobtain P' Q' where"P ≈ P'"and"(P', Q') ∈ X"and"Q' ∼ Q"by auto from‹(P', Q') ∈ X›have"P' ↝^<?Y> Q'"by(rule rSim) moreoverfrom‹Q' ∼ Q›have"Q' ↝[bisim] Q"by(rule bisimE) moreoverhave"?Y O bisim ⊆ ?Y"by(auto dest: Strong_Bisim.transitive) ultimatelyhave"P' ↝^<?Y> Q"by(rule strongAppend) moreovernote‹P ≈ P'› moreoverhave"weakBisimulation O ?Y ⊆ ?Y"by(blast dest: transitive) ultimatelyhave"P ↝^<?Y> Q"using weakBisimulationE(1) by(rule_tac Weak_Sim.transitive)
} ultimatelyhave"P' ↝^<?X> Q"by(rule Weak_Sim.transitive) moreovernote‹P ≈ P'› moreoverhave"weakBisimulation O ?X ⊆ ?X"by(blast dest: transitive) ultimatelyhave"P ↝^<?X> Q"using weakBisimulationE(1) by(rule_tac Weak_Sim.transitive)
} with‹(P, Q) ∈ ?X›show ?caseby auto next case(cSym P Q) thus ?case apply auto by(blast dest: bisimE rSym weakBisimulationE) qed qed
lemma weakBisimUpto[case_names cSim cSym, consumes 1]: assumes p: "(P, Q) ∈ X" and rSim: "∧R S. (R, S) ∈ X ==> R ↝^<(weakBisimulation O (X ∪ weakBisimulation) O bisim)> S" and rSym: "∧R S. (R, S) ∈ X ==> (S, R) ∈ X"
shows"P ≈ Q" proof - from p have"(P, Q) ∈ X ∪ weakBisimulation"by simp thus ?thesis apply(coinduct rule: weakBisimWeakUpto) apply(auto dest: rSim rSym weakBisimulationE) apply(rule weakMonotonic) apply(blast dest: weakBisimulationE) apply(auto simp add: relcomp_unfold) by(metis reflexive Strong_Bisim.reflexive transitive) qed
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-07-03)
¤
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.
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.