(*
Title : The Calculus of Communicating Systems
Author / Maintainer : Jesper Bengtson ( jebe @ itu . dk ) , 2012
*)
theory Weak_Semantics
imports Weak_Cong_Semantics
begin
definition weakTrans :: "ccs ==> act ==> ccs ==> bool" (‹ _ ==> ^ _ ≺ _› [80 , 80 , 80 ] 80 )
where "P ==> ^ α ≺ P' ≡ P ==> α ≺ P' ∨ (α = τ ∧ P = P')"
lemma weakEmptyTrans[simp]:
fixes P :: ccs
shows "P ==> ^ τ ≺ P"
by (auto simp add: weakTrans_def)
lemma weakTransCases[consumes 1 , case_names Base Step]:
fixes P :: ccs
and α :: act
and P' :: ccs
assumes "P ==> ^ α ≺ P'"
and "[ α = τ; P = P'] ==> Prop (τ) P"
and "P ==> α ≺ P' ==> Prop α P'"
shows "Prop α P'"
using assms
by (auto simp add: weakTrans_def)
lemma weakCongTransitionWeakTransition:
fixes P :: ccs
and α :: act
and P' :: ccs
assumes "P ==> α ≺ P'"
shows "P ==> ^ α ≺ P'"
using assms
by (auto simp add: weakTrans_def)
lemma transitionWeakTransition:
fixes P :: ccs
and α :: act
and P' :: ccs
assumes "P ⟼ α ≺ P'"
shows "P ==> ^ α ≺ P'"
using assms
by (auto dest: transitionWeakCongTransition weakCongTransitionWeakTransition)
lemma weakAction:
fixes a :: name
and P :: ccs
shows "α.(P) ==> ^ α ≺ P"
by (auto simp add: weakTrans_def intro: weakCongAction)
lemma weakSum1:
fixes P :: ccs
and α :: act
and P' :: ccs
and Q :: ccs
assumes "P ==> ^ α ≺ P'"
and "P ≠ P'"
shows "P ⊕ Q ==> ^ α ≺ P'"
using assms
by (auto simp add: weakTrans_def intro: weakCongSum1)
lemma weakSum2:
fixes Q :: ccs
and α :: act
and Q' :: ccs
and P :: ccs
assumes "Q ==> ^ α ≺ Q'"
and "Q ≠ Q'"
shows "P ⊕ Q ==> ^ α ≺ Q'"
using assms
by (auto simp add: weakTrans_def intro: weakCongSum2)
lemma weakPar1:
fixes P :: ccs
and α :: act
and P' :: ccs
and Q :: ccs
assumes "P ==> ^ α ≺ P'"
shows "P ∥ Q ==> ^ α ≺ P' ∥ Q"
using assms
by (auto simp add: weakTrans_def intro: weakCongPar1)
lemma weakPar2:
fixes Q :: ccs
and α :: act
and Q' :: ccs
and P :: ccs
assumes "Q ==> ^ α ≺ Q'"
shows "P ∥ Q ==> ^ α ≺ P ∥ Q'"
using assms
by (auto simp add: weakTrans_def intro: weakCongPar2)
lemma weakSync:
fixes P :: ccs
and α :: act
and P' :: ccs
and Q :: ccs
assumes "P ==> ^ α ≺ P'"
and "Q ==> ^ (coAction α) ≺ Q'"
and "α ≠ τ"
shows "P ∥ Q ==> ^ τ ≺ P' ∥ Q'"
using assms
by (auto simp add: weakTrans_def intro: weakCongSync)
lemma weakRes:
fixes P :: ccs
and α :: act
and P' :: ccs
and x :: name
assumes "P ==> ^ α ≺ P'"
and "x ♯ α"
shows "( νx) P ==> ^ α ≺ ( νx) P'"
using assms
by (auto simp add: weakTrans_def intro: weakCongRes)
lemma weakRepl:
fixes P :: ccs
and α :: act
and P' :: ccs
assumes "P ∥ !P ==> ^ α ≺ P'"
and "P' ≠ P ∥ !P"
shows "!P ==> α ≺ P'"
using assms
by (auto simp add: weakTrans_def intro: weakCongRepl)
end
Messung V0.5 in Prozent C=73 H=97 G=85
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland