equal
deleted
inserted
replaced
265 |
265 |
266 lemma knows_Outpts_secureM: |
266 lemma knows_Outpts_secureM: |
267 "secureM \<longrightarrow> knows A (Outpts C A X # evs) = insert X (knows A evs)" |
267 "secureM \<longrightarrow> knows A (Outpts C A X # evs) = insert X (knows A evs)" |
268 by simp |
268 by simp |
269 |
269 |
270 lemma knows_Outpts_secureM: |
270 lemma knows_Outpts_insecureM: |
271 "insecureM \<longrightarrow> knows Spy (Outpts C A X # evs) = insert X (knows Spy evs)" |
271 "insecureM \<longrightarrow> knows Spy (Outpts C A X # evs) = insert X (knows Spy evs)" |
272 by simp |
272 by simp |
273 (*somewhat equivalent to knows_Spy_Outpts_insecureM*) |
273 (*somewhat equivalent to knows_Spy_Outpts_insecureM*) |
274 |
274 |
275 |
275 |
291 by (simp add: subset_insertI) |
291 by (simp add: subset_insertI) |
292 |
292 |
293 lemma knows_subset_knows_Outpts: "knows A evs \<subseteq> knows A (Outpts C A' X # evs)" |
293 lemma knows_subset_knows_Outpts: "knows A evs \<subseteq> knows A (Outpts C A' X # evs)" |
294 by (simp add: subset_insertI) |
294 by (simp add: subset_insertI) |
295 |
295 |
296 lemma knows_subset_knows_Gets: "knows A evs \<subseteq> knows A (A_Gets A' X # evs)" |
296 lemma knows_subset_knows_A_Gets: "knows A evs \<subseteq> knows A (A_Gets A' X # evs)" |
297 by (simp add: subset_insertI) |
297 by (simp add: subset_insertI) |
298 |
|
299 |
298 |
300 |
299 |
301 text{*Agents know what they say*} |
300 text{*Agents know what they say*} |
302 lemma Says_imp_knows [rule_format]: "Says A B X \<in> set evs \<longrightarrow> X \<in> knows A evs" |
301 lemma Says_imp_knows [rule_format]: "Says A B X \<in> set evs \<longrightarrow> X \<in> knows A evs" |
303 apply (induct_tac "evs") |
302 apply (induct_tac "evs") |