src/HOL/Auth/Public.thy
changeset 32149 ef59550a55d3
parent 30549 d2d7874648bd
child 32630 133e4a6474e3
equal deleted inserted replaced
32148:253f6808dabe 32149:ef59550a55d3
   405   addsimps @{thms analz_image_freshK_simps}
   405   addsimps @{thms analz_image_freshK_simps}
   406 
   406 
   407 (*Tactic for possibility theorems*)
   407 (*Tactic for possibility theorems*)
   408 fun possibility_tac ctxt =
   408 fun possibility_tac ctxt =
   409     REPEAT (*omit used_Says so that Nonces start from different traces!*)
   409     REPEAT (*omit used_Says so that Nonces start from different traces!*)
   410     (ALLGOALS (simp_tac (local_simpset_of ctxt delsimps [@{thm used_Says}]))
   410     (ALLGOALS (simp_tac (simpset_of ctxt delsimps [@{thm used_Says}]))
   411      THEN
   411      THEN
   412      REPEAT_FIRST (eq_assume_tac ORELSE' 
   412      REPEAT_FIRST (eq_assume_tac ORELSE' 
   413                    resolve_tac [refl, conjI, @{thm Nonce_supply}]))
   413                    resolve_tac [refl, conjI, @{thm Nonce_supply}]))
   414 
   414 
   415 (*For harder protocols (such as Recur) where we have to set up some
   415 (*For harder protocols (such as Recur) where we have to set up some
   416   nonces and keys initially*)
   416   nonces and keys initially*)
   417 fun basic_possibility_tac ctxt =
   417 fun basic_possibility_tac ctxt =
   418     REPEAT 
   418     REPEAT 
   419     (ALLGOALS (asm_simp_tac (local_simpset_of ctxt setSolver safe_solver))
   419     (ALLGOALS (asm_simp_tac (simpset_of ctxt setSolver safe_solver))
   420      THEN
   420      THEN
   421      REPEAT_FIRST (resolve_tac [refl, conjI]))
   421      REPEAT_FIRST (resolve_tac [refl, conjI]))
   422 
   422 
   423 end
   423 end
   424 *}
   424 *}