src/HOL/Auth/Smartcard/ShoupRubinBella.thy
changeset 59498 50b60f501b05
parent 58889 5b7a9633cfa8
child 60754 02924903a6fd
equal deleted inserted replaced
59497:0c5cd369a643 59498:50b60f501b05
   745 {*
   745 {*
   746 structure ShoupRubinBella =
   746 structure ShoupRubinBella =
   747 struct
   747 struct
   748 
   748 
   749 fun prepare_tac ctxt = 
   749 fun prepare_tac ctxt = 
   750  (*SR_U8*)   forward_tac [@{thm Outpts_B_Card_form_7}] 14 THEN
   750  (*SR_U8*)   forward_tac ctxt [@{thm Outpts_B_Card_form_7}] 14 THEN
   751  (*SR_U8*)   clarify_tac ctxt 15 THEN
   751  (*SR_U8*)   clarify_tac ctxt 15 THEN
   752  (*SR_U9*)   forward_tac [@{thm Outpts_A_Card_form_4}] 16 THEN 
   752  (*SR_U9*)   forward_tac ctxt [@{thm Outpts_A_Card_form_4}] 16 THEN 
   753  (*SR_U11*)  forward_tac [@{thm Outpts_A_Card_form_10}] 21 
   753  (*SR_U11*)  forward_tac ctxt [@{thm Outpts_A_Card_form_10}] 21 
   754 
   754 
   755 fun parts_prepare_tac ctxt = 
   755 fun parts_prepare_tac ctxt = 
   756            prepare_tac ctxt THEN
   756            prepare_tac ctxt THEN
   757  (*SR_U9*)   dresolve_tac [@{thm Gets_imp_knows_Spy_parts_Snd}] 18 THEN 
   757  (*SR_U9*)   dresolve_tac ctxt [@{thm Gets_imp_knows_Spy_parts_Snd}] 18 THEN 
   758  (*SR_U9*)   dresolve_tac [@{thm Gets_imp_knows_Spy_parts_Snd}] 19 THEN 
   758  (*SR_U9*)   dresolve_tac ctxt [@{thm Gets_imp_knows_Spy_parts_Snd}] 19 THEN 
   759  (*Oops1*) dresolve_tac [@{thm Outpts_B_Card_form_7}] 25    THEN               
   759  (*Oops1*) dresolve_tac ctxt [@{thm Outpts_B_Card_form_7}] 25    THEN               
   760  (*Oops2*) dresolve_tac [@{thm Outpts_A_Card_form_10}] 27 THEN                
   760  (*Oops2*) dresolve_tac ctxt [@{thm Outpts_A_Card_form_10}] 27 THEN                
   761  (*Base*)  (force_tac ctxt) 1
   761  (*Base*)  (force_tac ctxt) 1
   762 
   762 
   763 fun analz_prepare_tac ctxt = 
   763 fun analz_prepare_tac ctxt = 
   764          prepare_tac ctxt THEN
   764          prepare_tac ctxt THEN
   765          dtac (@{thm Gets_imp_knows_Spy_analz_Snd}) 18 THEN 
   765          dtac (@{thm Gets_imp_knows_Spy_analz_Snd}) 18 THEN 
   766  (*SR_U9*) dtac (@{thm Gets_imp_knows_Spy_analz_Snd}) 19 THEN 
   766  (*SR_U9*) dtac (@{thm Gets_imp_knows_Spy_analz_Snd}) 19 THEN 
   767          REPEAT_FIRST (eresolve_tac [asm_rl, conjE] ORELSE' hyp_subst_tac ctxt)
   767          REPEAT_FIRST (eresolve_tac ctxt [asm_rl, conjE] ORELSE' hyp_subst_tac ctxt)
   768 
   768 
   769 end
   769 end
   770 *}
   770 *}
   771 
   771 
   772 method_setup prepare = {*
   772 method_setup prepare = {*
   824 done
   824 done
   825 
   825 
   826 method_setup sc_analz_freshK = {*
   826 method_setup sc_analz_freshK = {*
   827     Scan.succeed (fn ctxt =>
   827     Scan.succeed (fn ctxt =>
   828      (SIMPLE_METHOD
   828      (SIMPLE_METHOD
   829       (EVERY [REPEAT_FIRST (resolve_tac [allI, ballI, impI]),
   829       (EVERY [REPEAT_FIRST (resolve_tac ctxt [allI, ballI, impI]),
   830           REPEAT_FIRST (rtac @{thm analz_image_freshK_lemma}),
   830           REPEAT_FIRST (rtac @{thm analz_image_freshK_lemma}),
   831           ALLGOALS (asm_simp_tac (put_simpset Smartcard.analz_image_freshK_ss ctxt
   831           ALLGOALS (asm_simp_tac (put_simpset Smartcard.analz_image_freshK_ss ctxt
   832               addsimps [@{thm knows_Spy_Inputs_secureM_srb_Spy},
   832               addsimps [@{thm knows_Spy_Inputs_secureM_srb_Spy},
   833                   @{thm knows_Spy_Outpts_secureM_srb_Spy},
   833                   @{thm knows_Spy_Outpts_secureM_srb_Spy},
   834                   @{thm shouprubin_assumes_securemeans},
   834                   @{thm shouprubin_assumes_securemeans},