src/HOL/Auth/OtwayRees_AN.ML
changeset 2837 dee1c7f1f576
parent 2637 e9b203f854ae
child 2891 d8f254ad1ab9
equal deleted inserted replaced
2836:148829646a51 2837:dee1c7f1f576
    50 AddSEs   [not_Says_to_self RSN (2, rev_notE)];
    50 AddSEs   [not_Says_to_self RSN (2, rev_notE)];
    51 
    51 
    52 
    52 
    53 (** For reasoning about the encrypted portion of messages **)
    53 (** For reasoning about the encrypted portion of messages **)
    54 
    54 
    55 goal thy "!!evs. Says S B {|X, Crypt(shrK B) X'|} : set_of_list evs ==> \
    55 goal thy "!!evs. Says S' B {|X, Crypt(shrK B) X'|} : set_of_list evs ==> \
    56 \                X : analz (sees lost Spy evs)";
    56 \                X : analz (sees lost Spy evs)";
    57 by (fast_tac (!claset addSDs [Says_imp_sees_Spy RS analz.Inj]) 1);
    57 by (fast_tac (!claset addSDs [Says_imp_sees_Spy RS analz.Inj]) 1);
    58 qed "OR4_analz_sees_Spy";
    58 qed "OR4_analz_sees_Spy";
    59 
    59 
    60 goal thy "!!evs. Says Server B {|X, Crypt K' {|NB, a, Agent B, K|}|} \
    60 goal thy "!!evs. Says Server B {|X, Crypt K' {|NB, a, Agent B, K|}|} \
   351 
   351 
   352 (*Guarantee for B: if it gets a well-formed certificate then the Server
   352 (*Guarantee for B: if it gets a well-formed certificate then the Server
   353   has sent the correct message in round 3.*)
   353   has sent the correct message in round 3.*)
   354 goal thy 
   354 goal thy 
   355  "!!evs. [| B ~: lost;  evs : otway lost;                                   \
   355  "!!evs. [| B ~: lost;  evs : otway lost;                                   \
   356 \           Says S B {|X, Crypt (shrK B) {|NB, Agent A, Agent B, Key K|}|}  \
   356 \           Says S' B {|X, Crypt (shrK B) {|NB, Agent A, Agent B, Key K|}|} \
   357 \            : set_of_list evs |]                                           \
   357 \            : set_of_list evs |]                                           \
   358 \        ==> EX NA. Says Server B                                           \
   358 \        ==> EX NA. Says Server B                                           \
   359 \                     {|Crypt (shrK A) {|NA, Agent A, Agent B, Key K|},     \
   359 \                     {|Crypt (shrK A) {|NA, Agent A, Agent B, Key K|},     \
   360 \                       Crypt (shrK B) {|NB, Agent A, Agent B, Key K|}|}    \
   360 \                       Crypt (shrK B) {|NB, Agent A, Agent B, Key K|}|}    \
   361 \                     : set_of_list evs";
   361 \                     : set_of_list evs";