386 map (fold (NominalPackage.mk_perm []) pis') (tl ts)))) |
386 map (fold (NominalPackage.mk_perm []) pis') (tl ts)))) |
387 (fn _ => EVERY ([simp_tac eqvt_ss 1, rtac ihyp' 1, |
387 (fn _ => EVERY ([simp_tac eqvt_ss 1, rtac ihyp' 1, |
388 REPEAT_DETERM_N (nprems_of ihyp - length gprems) |
388 REPEAT_DETERM_N (nprems_of ihyp - length gprems) |
389 (simp_tac swap_simps_ss 1), |
389 (simp_tac swap_simps_ss 1), |
390 REPEAT_DETERM_N (length gprems) |
390 REPEAT_DETERM_N (length gprems) |
391 (simp_tac (HOL_ss |
391 (simp_tac (HOL_basic_ss |
392 addsimps inductive_forall_def' :: gprems2 |
392 addsimps [inductive_forall_def'] |
393 addsimprocs [NominalPackage.perm_simproc]) 1)])); |
393 addsimprocs [NominalPackage.perm_simproc]) 1 THEN |
|
394 resolve_tac gprems2 1)])); |
394 val final = Goal.prove ctxt'' [] [] (term_of concl) |
395 val final = Goal.prove ctxt'' [] [] (term_of concl) |
395 (fn _ => cut_facts_tac [th] 1 THEN full_simp_tac (HOL_ss |
396 (fn _ => cut_facts_tac [th] 1 THEN full_simp_tac (HOL_ss |
396 addsimps vc_compat_ths'' @ freshs2' @ |
397 addsimps vc_compat_ths'' @ freshs2' @ |
397 perm_fresh_fresh @ fresh_atm) 1); |
398 perm_fresh_fresh @ fresh_atm) 1); |
398 val final' = ProofContext.export ctxt'' ctxt' [final]; |
399 val final' = ProofContext.export ctxt'' ctxt' [final]; |