src/HOL/Auth/NS_Shared.ML
changeset 2374 4148aa5b00a2
parent 2323 3ae9b0ccee21
child 2451 ce85a2aafc7a
equal deleted inserted replaced
2373:490ffa16952e 2374:4148aa5b00a2
   360 \        Key K ~: analz (sees lost Spy evs)";
   360 \        Key K ~: analz (sees lost Spy evs)";
   361 by (etac ns_shared.induct 1);
   361 by (etac ns_shared.induct 1);
   362 by analz_Fake_tac;
   362 by analz_Fake_tac;
   363 by (ALLGOALS 
   363 by (ALLGOALS 
   364     (asm_simp_tac 
   364     (asm_simp_tac 
   365      (!simpset addsimps ([analz_subset_parts RS contra_subsetD,
   365      (!simpset addsimps ([not_parts_not_analz,
   366                           analz_insert_Key_newK] @ pushes)
   366                           analz_insert_Key_newK] @ pushes)
   367                setloop split_tac [expand_if])));
   367                setloop split_tac [expand_if])));
   368 (*NS2*)
   368 (*NS2*)
   369 by (fast_tac (!claset addIs [parts_insertI]
   369 by (fast_tac (!claset addIs [parts_insertI]
   370                       addEs [Says_imp_old_keys RS less_irrefl]
   370                       addEs [Says_imp_old_keys RS less_irrefl]
   371                       addss (!simpset)) 2);
   371                       addss (!simpset)) 2);
   372 (*OR4, OR2, Fake*) 
   372 (*OR4, OR2, Fake*) 
   373 by (REPEAT_FIRST (resolve_tac [conjI, impI] ORELSE' spy_analz_tac));
   373 by (REPEAT_FIRST spy_analz_tac);
   374 (*NS3 and Oops subcases*) (**LEVEL 7 **)
   374 (*NS3 and Oops subcases*) (**LEVEL 7 **)
   375 by (step_tac (!claset delrules [impCE]) 1);
   375 by (step_tac (!claset delrules [impCE]) 1);
   376 by (full_simp_tac (!simpset addsimps [all_conj_distrib]) 2);
   376 by (full_simp_tac (!simpset addsimps [all_conj_distrib]) 2);
   377 by (etac conjE 2);
   377 by (etac conjE 2);
   378 by (mp_tac 2);
   378 by (mp_tac 2);