7.3. Certified bisimulation
A bisimulation certificate holds the tagged state graph of each system, a
relation on state indices, and for the weak check an answering path for each
move. If the rules on both sides satisfy G1 and the strong, respectively
weak, check passes, the initial states s_0, t_0 of the two graphs satisfy
\llbracket s_0 \rrbracket \sim \llbracket t_0 \rrbracket, \qquad\text{respectively}\qquad \llbracket s_0 \rrbracket \approx \llbracket t_0 \rrbracket .
Rests on NEW: BigraphSim.BD.outFace, BigraphSim.Par, RuleG.g1, TRules.
Lean code for Theorem7.3.1●2 theorems
Associated Lean declarations
-
certBisimSound[complete]
-
certWeakBisimSound[complete]
-
certBisimSound[complete] -
certWeakBisimSound[complete]
-
theoremdefined in Logic/CertBisimProof.leancomplete
theorem certBisimSound {Ctrl₁ Ctrl₂ : Type} [DecidableEq Ctrl₁] [DecidableEq Ctrl₂] (S₁ : Bigraph.Sig Ctrl₁) (S₂ : Bigraph.Sig Ctrl₂) (α : Type) [DecidableEq α] : CertBisimSoundStatement S₁ S₂ α
theorem certBisimSound {Ctrl₁ Ctrl₂ : Type} [DecidableEq Ctrl₁] [DecidableEq Ctrl₂] (S₁ : Bigraph.Sig Ctrl₁) (S₂ : Bigraph.Sig Ctrl₂) (α : Type) [DecidableEq α] : CertBisimSoundStatement S₁ S₂ α
**CertBisimSound** (PROVED; `CertBisimSoundStatement`): for G1 rules on both sides, a passing strong certificate makes the two initial agents strongly bisimilar. The bisimulation relates `a` and `b` when they sit, up to `≏`, at a related pair of listed states.
-
theoremdefined in Logic/CertBisimProof.leancomplete
theorem certWeakBisimSound {Ctrl₁ Ctrl₂ : Type} [DecidableEq Ctrl₁] [DecidableEq Ctrl₂] (S₁ : Bigraph.Sig Ctrl₁) (S₂ : Bigraph.Sig Ctrl₂) (α : Type) [DecidableEq α] : CertWeakBisimSoundStatement S₁ S₂ α
theorem certWeakBisimSound {Ctrl₁ Ctrl₂ : Type} [DecidableEq Ctrl₁] [DecidableEq Ctrl₂] (S₁ : Bigraph.Sig Ctrl₁) (S₂ : Bigraph.Sig Ctrl₂) (α : Type) [DecidableEq α] : CertWeakBisimSoundStatement S₁ S₂ α
**CertWeakBisimSound** (PROVED; `CertWeakBisimSoundStatement`): for G1 rules on both sides, a passing weak certificate makes the two initial agents weakly bisimilar. Same relation as `certBisimSound`; each answer is the certificate's path, read as library moves by `walk_sound`.
The alternating bit protocol with unbounded lossy FIFO channels, each queue a nested chain of message nodes, is weakly bisimilar to a one-place buffer (accept and deliver visible, every other rule silent):
\llbracket \mathrm{Accept}_0 \mid T[\mathrm{nil}] \mid \mathrm{Replier}_1 \mid K[\mathrm{nil}] \rrbracket \;\approx\; \llbracket \mathrm{Buff} \rrbracket .
With channels of capacity one the same holds by certificate alone (112
states): PROVED, kernel-checked in Logic/Examples/ABPCert.lean, a module
built on demand.
Rests on UNBRIDGED: ABP.Act, ABP.buff, ABP.buff0, ABPInf.abpInf, ABPInf.encS; NEW: BigraphSim.BD.outFace; not audited: ABP.BCtl, ABP.bsig, ABPInf.Ctl, ABPInf.J0, ABPInf.agentS, ABPInf.sig, ABPInf.st0.
Lean code for Theorem7.3.2●1 theorem
Associated Lean declarations
-
ABPInf.abpInf_wbisim_buff[complete]
-
ABPInf.abpInf_wbisim_buff[complete]
-
theoremdefined in Logic/Examples/ABPInfSplit.leancomplete
theorem abpInf_wbisim_buff : ABPInf.AbpInfStatement
theorem abpInf_wbisim_buff : ABPInf.AbpInfStatement
**(v) PROVED: the ABP with unbounded lossy FIFO channels is weakly bisimilar to the one-place buffer.**