src/HOL/Auth/Smartcard/Smartcard.thy
changeset 82695 d93ead9ac6df
parent 82630 2bb4a8d0111d
equal deleted inserted replaced
82692:8f0b2daa7eaa 82695:d93ead9ac6df
   366     such as  Nonce ?N \<notin> used evs that match Nonce_supply*)
   366     such as  Nonce ?N \<notin> used evs that match Nonce_supply*)
   367 fun possibility_tac ctxt =
   367 fun possibility_tac ctxt =
   368    (REPEAT 
   368    (REPEAT 
   369     (ALLGOALS (simp_tac (ctxt
   369     (ALLGOALS (simp_tac (ctxt
   370       delsimps @{thms used_Cons_simps}
   370       delsimps @{thms used_Cons_simps}
   371       setSolver safe_solver))
   371       |> Simplifier.set_unsafe_solver safe_solver))
   372      THEN
   372      THEN
   373      REPEAT_FIRST (eq_assume_tac ORELSE' 
   373      REPEAT_FIRST (eq_assume_tac ORELSE' 
   374                    resolve_tac ctxt [refl, conjI, @{thm Nonce_supply}])))
   374                    resolve_tac ctxt [refl, conjI, @{thm Nonce_supply}])))
   375 
   375 
   376 (*For harder protocols (such as Recur) where we have to set up some
   376 (*For harder protocols (such as Recur) where we have to set up some
   377   nonces and keys initially*)
   377   nonces and keys initially*)
   378 fun basic_possibility_tac ctxt =
   378 fun basic_possibility_tac ctxt =
   379     REPEAT 
   379     REPEAT 
   380     (ALLGOALS (asm_simp_tac (ctxt setSolver safe_solver))
   380     (ALLGOALS (asm_simp_tac (ctxt |> Simplifier.set_unsafe_solver safe_solver))
   381      THEN
   381      THEN
   382      REPEAT_FIRST (resolve_tac ctxt [refl, conjI]))
   382      REPEAT_FIRST (resolve_tac ctxt [refl, conjI]))
   383 
   383 
   384 val analz_image_freshK_ss = 
   384 val analz_image_freshK_ss = 
   385   simpset_of
   385   simpset_of