# HG changeset patch # User Cezary Kaliszyk # Date 1269689219 -3600 # Node ID 4abf7d631ef088067e82ea1467c7abffec0fdafb # Parent 5c4566797bcba5b1ce3c476aa3da13df8f0a3000 Equivariance when bn functions are lists. diff -r 5c4566797bcb -r 4abf7d631ef0 Nominal/Fv.thy --- a/Nominal/Fv.thy Sat Mar 27 12:20:17 2010 +0100 +++ b/Nominal/Fv.thy Sat Mar 27 12:26:59 2010 +0100 @@ -944,7 +944,7 @@ val typ = domain_type (fastype_of fnctn); val arg = the (AList.lookup (op=) frees typ); in - ([HOLogic.mk_eq ((perm_at $ pi $ (fnctn $ arg)), (fnctn $ (perm_arg arg $ pi $ arg)))], ctxt) + ([HOLogic.mk_eq ((perm_arg (fnctn $ arg) $ pi $ (fnctn $ arg)), (fnctn $ (perm_arg arg $ pi $ arg)))], ctxt) end *} @@ -953,7 +953,7 @@ let val ([pi], ctxt') = Variable.variant_fixes ["p"] ctxt; val pi = Free (pi, @{typ perm}); - val tac = asm_full_simp_tac (HOL_ss addsimps (@{thm atom_eqvt} :: simps @ all_eqvts ctxt')) + val tac = asm_full_simp_tac (HOL_ss addsimps (@{thms atom_eqvt permute_list.simps} @ simps @ all_eqvts ctxt')) val ths_loc = prove_by_induct tys (build_eqvt_gl pi) ind tac funs ctxt' val ths = Variable.export ctxt' ctxt ths_loc val add_eqvt = Attrib.internal (fn _ => Nominal_ThmDecls.eqvt_add)