src/HOL/Auth/Shared.thy
changeset 39246 9e58f0499f57
parent 37936 1e4c5015a72e
child 39247 3a15ee47c610
equal deleted inserted replaced
39215:7b2631c91a95 39246:9e58f0499f57
    20    apply (rule exI [of _ "agent_case 0 (\<lambda>n. n + 2) 1"]) 
    20    apply (rule exI [of _ "agent_case 0 (\<lambda>n. n + 2) 1"]) 
    21    apply (simp add: inj_on_def split: agent.split) 
    21    apply (simp add: inj_on_def split: agent.split) 
    22    done
    22    done
    23 
    23 
    24 text{*Server knows all long-term keys; other agents know only their own*}
    24 text{*Server knows all long-term keys; other agents know only their own*}
    25 primrec
    25 
       
    26 overloading
       
    27   initState \<equiv> initState
       
    28 begin
       
    29 
       
    30 primrec initState where
    26   initState_Server:  "initState Server     = Key ` range shrK"
    31   initState_Server:  "initState Server     = Key ` range shrK"
    27   initState_Friend:  "initState (Friend i) = {Key (shrK (Friend i))}"
    32 | initState_Friend:  "initState (Friend i) = {Key (shrK (Friend i))}"
    28   initState_Spy:     "initState Spy        = Key`shrK`bad"
    33 | initState_Spy:     "initState Spy        = Key`shrK`bad"
       
    34 
       
    35 end
    29 
    36 
    30 
    37 
    31 subsection{*Basic properties of shrK*}
    38 subsection{*Basic properties of shrK*}
    32 
    39 
    33 (*Injectiveness: Agents' long-term keys are distinct.*)
    40 (*Injectiveness: Agents' long-term keys are distinct.*)