equal
deleted
inserted
replaced
760 (*Oops2*) dresolve_tac ctxt [@{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 dresolve_tac ctxt @{thms Gets_imp_knows_Spy_analz_Snd} 18 THEN |
766 (*SR_U9*) dtac (@{thm Gets_imp_knows_Spy_analz_Snd}) 19 THEN |
766 (*SR_U9*) dresolve_tac ctxt @{thms Gets_imp_knows_Spy_analz_Snd} 19 THEN |
767 REPEAT_FIRST (eresolve_tac ctxt [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 |
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 ctxt [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 (resolve_tac ctxt @{thms 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}, |
835 @{thm analz_image_Key_Un_Nonce}]))]))) *} |
835 @{thm analz_image_Key_Un_Nonce}]))]))) *} |