equal
deleted
inserted
replaced
358 THEN |
358 THEN |
359 REPEAT_FIRST (eq_assume_tac ORELSE' |
359 REPEAT_FIRST (eq_assume_tac ORELSE' |
360 resolve_tac [refl, conjI, Nonce_supply])) |
360 resolve_tac [refl, conjI, Nonce_supply])) |
361 |
361 |
362 (*Tactic for possibility theorems (ML script version)*) |
362 (*Tactic for possibility theorems (ML script version)*) |
363 fun possibility_tac state = gen_possibility_tac (simpset()) state |
363 fun possibility_tac state = gen_possibility_tac (simpset_of (Thm.theory_of_thm state)) state |
364 |
364 |
365 (*For harder protocols (such as SET_CR!), where we have to set up some |
365 (*For harder protocols (such as SET_CR!), where we have to set up some |
366 nonces and keys initially*) |
366 nonces and keys initially*) |
367 fun basic_possibility_tac st = st |> |
367 fun basic_possibility_tac st = st |> |
368 REPEAT |
368 REPEAT |
369 (ALLGOALS (asm_simp_tac (simpset() setSolver safe_solver)) |
369 (ALLGOALS (asm_simp_tac (simpset_of (Thm.theory_of_thm st) setSolver safe_solver)) |
370 THEN |
370 THEN |
371 REPEAT_FIRST (resolve_tac [refl, conjI])) |
371 REPEAT_FIRST (resolve_tac [refl, conjI])) |
372 *} |
372 *} |
373 |
373 |
374 method_setup possibility = {* |
374 method_setup possibility = {* |