equal
deleted
inserted
replaced
13 |
13 |
14 consts |
14 consts |
15 shrK :: "agent => key" (*symmetric keys*) |
15 shrK :: "agent => key" (*symmetric keys*) |
16 |
16 |
17 axioms |
17 axioms |
18 isSym_keys: "K \\<in> symKeys" (*All keys are symmetric*) |
18 isSym_keys: "K \<in> symKeys" (*All keys are symmetric*) |
19 inj_shrK: "inj shrK" (*No two agents have the same long-term key*) |
19 inj_shrK: "inj shrK" (*No two agents have the same long-term key*) |
20 |
20 |
21 primrec |
21 primrec |
22 (*Server knows all long-term keys; other agents know only their own*) |
22 (*Server knows all long-term keys; other agents know only their own*) |
23 initState_Server: "initState Server = Key ` range shrK" |
23 initState_Server: "initState Server = Key ` range shrK" |
36 |
36 |
37 use "Shared_lemmas.ML" |
37 use "Shared_lemmas.ML" |
38 |
38 |
39 (*Lets blast_tac perform this step without needing the simplifier*) |
39 (*Lets blast_tac perform this step without needing the simplifier*) |
40 lemma invKey_shrK_iff [iff]: |
40 lemma invKey_shrK_iff [iff]: |
41 "(Key (invKey K) \\<in> X) = (Key K \\<in> X)" |
41 "(Key (invKey K) \<in> X) = (Key K \<in> X)" |
42 by auto; |
42 by auto; |
43 |
43 |
44 (*Specialized methods*) |
44 (*Specialized methods*) |
45 |
45 |
46 method_setup analz_freshK = {* |
46 method_setup analz_freshK = {* |
50 REPEAT_FIRST (rtac analz_image_freshK_lemma), |
50 REPEAT_FIRST (rtac analz_image_freshK_lemma), |
51 ALLGOALS (asm_simp_tac analz_image_freshK_ss)])) *} |
51 ALLGOALS (asm_simp_tac analz_image_freshK_ss)])) *} |
52 "for proving the Session Key Compromise theorem" |
52 "for proving the Session Key Compromise theorem" |
53 |
53 |
54 method_setup possibility = {* |
54 method_setup possibility = {* |
55 Method.no_args (Method.METHOD (fn facts => possibility_tac)) *} |
55 Method.ctxt_args (fn ctxt => |
|
56 Method.METHOD (fn facts => |
|
57 gen_possibility_tac (Simplifier.get_local_simpset ctxt))) *} |
56 "for proving possibility theorems" |
58 "for proving possibility theorems" |
57 |
59 |
58 end |
60 end |