src/HOL/Auth/KerberosV.thy
changeset 21404 eb85850d3eb7
parent 20768 1d478c2d621f
child 23746 a455e69c31cc
equal deleted inserted replaced
21403:dd58f13a8eb4 21404:eb85850d3eb7
     7 theory KerberosV imports Public begin
     7 theory KerberosV imports Public begin
     8 
     8 
     9 text{*The "u" prefix indicates theorems referring to an updated version of the protocol. The "r" suffix indicates theorems where the confidentiality assumptions are relaxed by the corresponding arguments.*}
     9 text{*The "u" prefix indicates theorems referring to an updated version of the protocol. The "r" suffix indicates theorems where the confidentiality assumptions are relaxed by the corresponding arguments.*}
    10 
    10 
    11 abbreviation
    11 abbreviation
    12   Kas :: agent
    12   Kas :: agent where
    13   "Kas == Server"
    13   "Kas == Server"
    14 
    14 
    15   Tgs :: agent
    15 abbreviation
       
    16   Tgs :: agent where
    16   "Tgs == Friend 0"
    17   "Tgs == Friend 0"
    17 
    18 
    18 
    19 
    19 axioms
    20 axioms
    20   Tgs_not_bad [iff]: "Tgs \<notin> bad"
    21   Tgs_not_bad [iff]: "Tgs \<notin> bad"
    66   replylife_LB [iff]: "Suc 0 \<le> replylife"
    67   replylife_LB [iff]: "Suc 0 \<le> replylife"
    67     by blast
    68     by blast
    68 
    69 
    69 abbreviation
    70 abbreviation
    70   (*The current time is just the length of the trace!*)
    71   (*The current time is just the length of the trace!*)
    71   CT :: "event list=>nat"
    72   CT :: "event list=>nat" where
    72   "CT == length"
    73   "CT == length"
    73 
    74 
    74   expiredAK :: "[nat, event list] => bool"
    75 abbreviation
       
    76   expiredAK :: "[nat, event list] => bool" where
    75   "expiredAK T evs == authKlife + T < CT evs"
    77   "expiredAK T evs == authKlife + T < CT evs"
    76 
    78 
    77   expiredSK :: "[nat, event list] => bool"
    79 abbreviation
       
    80   expiredSK :: "[nat, event list] => bool" where
    78   "expiredSK T evs == servKlife + T < CT evs"
    81   "expiredSK T evs == servKlife + T < CT evs"
    79 
    82 
    80   expiredA :: "[nat, event list] => bool"
    83 abbreviation
       
    84   expiredA :: "[nat, event list] => bool" where
    81   "expiredA T evs == authlife + T < CT evs"
    85   "expiredA T evs == authlife + T < CT evs"
    82 
    86 
    83   valid :: "[nat, nat] => bool"  ("valid _ wrt _")
    87 abbreviation
       
    88   valid :: "[nat, nat] => bool"  ("valid _ wrt _") where
    84   "valid T1 wrt T2 == T1 <= replylife + T2"
    89   "valid T1 wrt T2 == T1 <= replylife + T2"
    85 
    90 
    86 (*---------------------------------------------------------------------*)
    91 (*---------------------------------------------------------------------*)
    87 
    92 
    88 
    93