src/HOL/Nominal/nominal_inductive.ML
changeset 29287 5b0bfd63b5da
parent 29281 b22ccb3998db
child 29585 c23295521af5
equal deleted inserted replaced
29286:5de880bda02d 29287:5b0bfd63b5da
   150     val ind_params = InductivePackage.params_of raw_induct;
   150     val ind_params = InductivePackage.params_of raw_induct;
   151     val raw_induct = atomize_induct ctxt raw_induct;
   151     val raw_induct = atomize_induct ctxt raw_induct;
   152     val elims = map (atomize_induct ctxt) elims;
   152     val elims = map (atomize_induct ctxt) elims;
   153     val monos = InductivePackage.get_monos ctxt;
   153     val monos = InductivePackage.get_monos ctxt;
   154     val eqvt_thms = NominalThmDecls.get_eqvt_thms ctxt;
   154     val eqvt_thms = NominalThmDecls.get_eqvt_thms ctxt;
   155     val _ = (case names \\ foldl (apfst prop_of #> OldTerm.add_term_consts) [] eqvt_thms of
   155     val _ = (case names \\ fold (Term.add_const_names o Thm.prop_of) eqvt_thms [] of
   156         [] => ()
   156         [] => ()
   157       | xs => error ("Missing equivariance theorem for predicate(s): " ^
   157       | xs => error ("Missing equivariance theorem for predicate(s): " ^
   158           commas_quote xs));
   158           commas_quote xs));
   159     val induct_cases = map fst (fst (RuleCases.get (the
   159     val induct_cases = map fst (fst (RuleCases.get (the
   160       (Induct.lookup_inductP ctxt (hd names)))));
   160       (Induct.lookup_inductP ctxt (hd names)))));