src/HOL/Auth/KerberosIV.thy
changeset 69597 ff784d5a5bfb
parent 67613 ce654b0e6d69
child 76288 b82ac7ef65ec
equal deleted inserted replaced
69596:c8a2755bf220 69597:ff784d5a5bfb
   290 done
   290 done
   291 
   291 
   292 lemmas parts_spies_takeWhile_mono = spies_takeWhile [THEN parts_mono]
   292 lemmas parts_spies_takeWhile_mono = spies_takeWhile [THEN parts_mono]
   293 
   293 
   294 
   294 
   295 subsection\<open>Lemmas about @{term authKeys}\<close>
   295 subsection\<open>Lemmas about \<^term>\<open>authKeys\<close>\<close>
   296 
   296 
   297 lemma authKeys_empty: "authKeys [] = {}"
   297 lemma authKeys_empty: "authKeys [] = {}"
   298 apply (unfold authKeys_def)
   298 apply (unfold authKeys_def)
   299 apply (simp (no_asm))
   299 apply (simp (no_asm))
   300 done
   300 done
  1004 apply (erule rev_mp, erule kerbIV.induct, simp_all add: Unique_def)
  1004 apply (erule rev_mp, erule kerbIV.induct, simp_all add: Unique_def)
  1005 apply blast
  1005 apply blast
  1006 done
  1006 done
  1007 
  1007 
  1008 
  1008 
  1009 subsection\<open>Lemmas About the Predicate @{term AKcryptSK}\<close>
  1009 subsection\<open>Lemmas About the Predicate \<^term>\<open>AKcryptSK\<close>\<close>
  1010 
  1010 
  1011 lemma not_AKcryptSK_Nil [iff]: "\<not> AKcryptSK authK servK []"
  1011 lemma not_AKcryptSK_Nil [iff]: "\<not> AKcryptSK authK servK []"
  1012 by (simp add: AKcryptSK_def)
  1012 by (simp add: AKcryptSK_def)
  1013 
  1013 
  1014 lemma AKcryptSKI:
  1014 lemma AKcryptSKI:
  1342 apply (erule rev_mp)
  1342 apply (erule rev_mp)
  1343 apply (erule rev_mp)
  1343 apply (erule rev_mp)
  1344 apply (erule kerbIV.induct)
  1344 apply (erule kerbIV.induct)
  1345 apply (rule_tac [9] impI)+
  1345 apply (rule_tac [9] impI)+
  1346   \<comment> \<open>The Oops1 case is unusual: must simplify
  1346   \<comment> \<open>The Oops1 case is unusual: must simplify
  1347     @{term "Authkey \<notin> analz (spies (ev#evs))"}, not letting
  1347     \<^term>\<open>Authkey \<notin> analz (spies (ev#evs))\<close>, not letting
  1348    \<open>analz_mono_contra\<close> weaken it to
  1348    \<open>analz_mono_contra\<close> weaken it to
  1349    @{term "Authkey \<notin> analz (spies evs)"},
  1349    \<^term>\<open>Authkey \<notin> analz (spies evs)\<close>,
  1350   for we then conclude @{term "authK \<noteq> authKa"}.\<close>
  1350   for we then conclude \<^term>\<open>authK \<noteq> authKa\<close>.\<close>
  1351 apply analz_mono_contra
  1351 apply analz_mono_contra
  1352 apply (frule_tac [10] Oops_range_spies2)
  1352 apply (frule_tac [10] Oops_range_spies2)
  1353 apply (frule_tac [9] Oops_range_spies1)
  1353 apply (frule_tac [9] Oops_range_spies1)
  1354 apply (frule_tac [7] Says_tgs_message_form)
  1354 apply (frule_tac [7] Says_tgs_message_form)
  1355 apply (frule_tac [5] Says_kas_message_form)
  1355 apply (frule_tac [5] Says_kas_message_form)