Changed proof of strong induction rule to avoid infinite loop
when premises of introduction rules contain equations.
--- a/src/HOL/Nominal/nominal_inductive.ML Tue Aug 12 21:48:59 2008 +0200
+++ b/src/HOL/Nominal/nominal_inductive.ML Wed Aug 13 03:00:33 2008 +0200
@@ -388,9 +388,10 @@
REPEAT_DETERM_N (nprems_of ihyp - length gprems)
(simp_tac swap_simps_ss 1),
REPEAT_DETERM_N (length gprems)
- (simp_tac (HOL_ss
- addsimps inductive_forall_def' :: gprems2
- addsimprocs [NominalPackage.perm_simproc]) 1)]));
+ (simp_tac (HOL_basic_ss
+ addsimps [inductive_forall_def']
+ addsimprocs [NominalPackage.perm_simproc]) 1 THEN
+ resolve_tac gprems2 1)]));
val final = Goal.prove ctxt'' [] [] (term_of concl)
(fn _ => cut_facts_tac [th] 1 THEN full_simp_tac (HOL_ss
addsimps vc_compat_ths'' @ freshs2' @