@@ -185,10 +185,10 @@ lemma knows_Spy_partsEs [Bad] :
|
||||
Event.Says A B X ∈ evs → X ∈ parts (knows Agent.Spy evs) := by
|
||||
exact Says_imp_parts_knows_Spy
|
||||
|
||||
lemma Says_imp_analz_Spy [InvKey] [Bad] :
|
||||
∀ {A B : Agent} {X : Msg} {evs : List Event},
|
||||
lemma Says_imp_analz_Spy [InvKey] [Bad]
|
||||
{A B : Agent} {X : Msg} {evs : List Event} :
|
||||
Event.Says A B X ∈ evs → X ∈ analz (knows Agent.Spy evs) := by
|
||||
intro A B X evs h
|
||||
intro h
|
||||
apply analz.inj
|
||||
apply Says_imp_knows_Spy
|
||||
exact h
|
||||
@@ -209,6 +209,18 @@ lemma parts_insert_spies [Bad] :
|
||||
by
|
||||
apply parts_insert
|
||||
|
||||
lemma analz_spies_mono [InvKey] [Bad]
|
||||
{ h : M ∈ analz (knows Agent.Spy evs) } :
|
||||
M ∈ analz (knows Agent.Spy (ev :: evs))
|
||||
:= by
|
||||
aapply analz_mono; exact knows_subset_knows_Cons
|
||||
|
||||
lemma analz_spies_mono_neg [InvKey] [Bad]
|
||||
{ h : M ∉ analz (knows Agent.Spy (ev :: evs)) } :
|
||||
M ∉ analz (knows Agent.Spy evs)
|
||||
:= by
|
||||
intro h₁; apply h; aapply analz_spies_mono
|
||||
|
||||
-- Knowledge of Agents
|
||||
lemma knows_subset_knows_Says [Bad] :
|
||||
∀ {A A' B : Agent} {X : Msg} {evs : List Event},
|
||||
|
||||
Reference in New Issue
Block a user