diff -r 4939494ed791 -r ce654b0e6d69 src/HOL/SET_Protocol/Merchant_Registration.thy --- a/src/HOL/SET_Protocol/Merchant_Registration.thy Tue Feb 13 14:24:50 2018 +0100 +++ b/src/HOL/SET_Protocol/Merchant_Registration.thy Thu Feb 15 12:11:00 2018 +0100 @@ -182,14 +182,14 @@ "[| Gets A \ X, cert (CA i) EKi onlyEnc (priSK RCA), cert (CA i) SKi onlySig (priSK RCA)\ \ set evs; evs \ set_mr |] - ==> EKi = pubEK (CA i) & SKi = pubSK (CA i)" + ==> EKi = pubEK (CA i) \ SKi = pubSK (CA i)" by (blast dest: certificate_valid_pubEK certificate_valid_pubSK) text\Nobody can have used non-existent keys!\ lemma new_keys_not_used [rule_format,simp]: "evs \ set_mr - ==> Key K \ used evs --> K \ symKeys --> + ==> Key K \ used evs \ K \ symKeys \ K \ keysFor (parts (knows Spy evs))" apply (erule set_mr.induct, simp_all) apply (force dest!: usedI keysFor_parts_insert) \ \Fake\ @@ -203,13 +203,13 @@ lemma gen_new_keys_not_used [rule_format]: "evs \ set_mr - ==> Key K \ used evs --> K \ symKeys --> - K \ keysFor (parts (Key`KK Un knows Spy evs))" + ==> Key K \ used evs \ K \ symKeys \ + K \ keysFor (parts (Key`KK \ knows Spy evs))" by auto lemma gen_new_keys_not_analzd: "[|Key K \ used evs; K \ symKeys; evs \ set_mr |] - ==> K \ keysFor (analz (Key`KK Un knows Spy evs))" + ==> K \ keysFor (analz (Key`KK \ knows Spy evs))" by (blast intro: keysFor_mono [THEN [2] rev_subsetD] dest: gen_new_keys_not_used) @@ -236,14 +236,14 @@ for other keys aren't needed.\ lemma parts_image_priEK: - "[|Key (priEK (CA i)) \ parts (Key`KK Un (knows Spy evs)); + "[|Key (priEK (CA i)) \ parts (Key`KK \ (knows Spy evs)); evs \ set_mr|] ==> priEK (CA i) \ KK | CA i \ bad" by auto text\trivial proof because (priEK (CA i)) never appears even in (parts evs)\ lemma analz_image_priEK: "evs \ set_mr ==> - (Key (priEK (CA i)) \ analz (Key`KK Un (knows Spy evs))) = + (Key (priEK (CA i)) \ analz (Key`KK \ (knows Spy evs))) = (priEK (CA i) \ KK | CA i \ bad)" by (blast dest!: parts_image_priEK intro: analz_mono [THEN [2] rev_subsetD]) @@ -266,22 +266,22 @@ Y\ \ set evs; evs \ set_mr|] ==> (Key merSK \ analz (knows Spy evs) | merSK \ range(\C. priEK C)) - & (Key merEK \ analz (knows Spy evs) | merEK \ range(\C. priEK C))" + \ (Key merEK \ analz (knows Spy evs) | merEK \ range(\C. priEK C))" apply (unfold sign_def) apply (blast dest: merK_neq_priEK) done lemma Key_analz_image_Key_lemma: - "P --> (Key K \ analz (Key`KK Un H)) --> (K\KK | Key K \ analz H) + "P \ (Key K \ analz (Key`KK \ H)) \ (K\KK | Key K \ analz H) ==> - P --> (Key K \ analz (Key`KK Un H)) = (K\KK | Key K \ analz H)" + P \ (Key K \ analz (Key`KK \ H)) = (K\KK | Key K \ analz H)" by (blast intro: analz_mono [THEN [2] rev_subsetD]) lemma symKey_compromise: "evs \ set_mr ==> - (\SK KK. SK \ symKeys \ (\K \ KK. K \ range(\C. priEK C)) --> - (Key SK \ analz (Key`KK Un (knows Spy evs))) = + (\SK KK. SK \ symKeys \ (\K \ KK. K \ range(\C. priEK C)) \ + (Key SK \ analz (Key`KK \ (knows Spy evs))) = (SK \ KK | Key SK \ analz (knows Spy evs)))" apply (erule set_mr.induct) apply (safe del: impI intro!: Key_analz_image_Key_lemma [THEN impI]) @@ -299,9 +299,9 @@ lemma symKey_secrecy [rule_format]: "[|CA i \ bad; K \ symKeys; evs \ set_mr|] - ==> \X m. Says (Merchant m) (CA i) X \ set evs --> - Key K \ parts{X} --> - Merchant m \ bad --> + ==> \X m. Says (Merchant m) (CA i) X \ set evs \ + Key K \ parts{X} \ + Merchant m \ bad \ Key K \ analz (knows Spy evs)" apply (erule set_mr.induct) apply (drule_tac [7] msg4_priEK_disj) @@ -326,7 +326,7 @@ cert (CA i) (pubSK (CA i)) onlySig (priSK RCA)\ \ set evs; evs \ set_mr |] ==> Notes (CA i) (Key merSK) \ set evs - & Notes (CA i) (Key merEK) \ set evs" + \ Notes (CA i) (Key merEK) \ set evs" apply (erule rev_mp) apply (erule set_mr.induct) apply (simp_all (no_asm_simp)) @@ -343,7 +343,7 @@ cert M' merSK onlySig (priSK (CA i)), cert M' merEK' onlyEnc (priSK (CA i)), cert (CA i) (pubSK(CA i)) onlySig (priSK RCA)\ \ set evs; - evs \ set_mr |] ==> M=M' & NM2=NM2' & merEK=merEK'" + evs \ set_mr |] ==> M=M' \ NM2=NM2' \ merEK=merEK'" apply (erule rev_mp) apply (erule rev_mp) apply (erule set_mr.induct) @@ -363,7 +363,7 @@ cert M' merEK onlyEnc (priSK (CA i)), cert (CA i) (pubSK(CA i)) onlySig (priSK RCA)\ \ set evs; evs \ set_mr |] - ==> M=M' & NM2=NM2' & merSK=merSK'" + ==> M=M' \ NM2=NM2' \ merSK=merSK'" apply (erule rev_mp) apply (erule rev_mp) apply (erule set_mr.induct)