src/HOL/Inductive.thy
changeset 33963 977b94b64905
parent 33959 2afc55e8ed27
child 33966 b863967f23ea
equal deleted inserted replaced
33962:abf9fa17452a 33963:977b94b64905
    12   ("Tools/inductive_codegen.ML")
    12   ("Tools/inductive_codegen.ML")
    13   "Tools/Datatype/datatype_aux.ML"
    13   "Tools/Datatype/datatype_aux.ML"
    14   "Tools/Datatype/datatype_prop.ML"
    14   "Tools/Datatype/datatype_prop.ML"
    15   "Tools/Datatype/datatype_case.ML"
    15   "Tools/Datatype/datatype_case.ML"
    16   ("Tools/Datatype/datatype_abs_proofs.ML")
    16   ("Tools/Datatype/datatype_abs_proofs.ML")
    17   ("Tools/Datatype/datatype.ML")
    17   ("Tools/Datatype/datatype_data.ML")
    18   ("Tools/old_primrec.ML")
    18   ("Tools/old_primrec.ML")
    19   ("Tools/primrec.ML")
    19   ("Tools/primrec.ML")
    20   ("Tools/Datatype/datatype_codegen.ML")
    20   ("Tools/Datatype/datatype_codegen.ML")
    21 begin
    21 begin
    22 
    22 
   280 subsection {* Inductive datatypes and primitive recursion *}
   280 subsection {* Inductive datatypes and primitive recursion *}
   281 
   281 
   282 text {* Package setup. *}
   282 text {* Package setup. *}
   283 
   283 
   284 use "Tools/Datatype/datatype_abs_proofs.ML"
   284 use "Tools/Datatype/datatype_abs_proofs.ML"
   285 use "Tools/Datatype/datatype.ML"
   285 use "Tools/Datatype/datatype_data.ML"
   286 setup Datatype.setup
   286 setup Datatype_Data.setup
   287 
   287 
   288 use "Tools/old_primrec.ML"
   288 use "Tools/old_primrec.ML"
   289 use "Tools/primrec.ML"
   289 use "Tools/primrec.ML"
   290 
   290 
   291 use "Tools/Datatype/datatype_codegen.ML"
   291 use "Tools/Datatype/datatype_codegen.ML"
   304 parse_translation (advanced) {*
   304 parse_translation (advanced) {*
   305 let
   305 let
   306   fun fun_tr ctxt [cs] =
   306   fun fun_tr ctxt [cs] =
   307     let
   307     let
   308       val x = Free (Name.variant (Term.add_free_names cs []) "x", dummyT);
   308       val x = Free (Name.variant (Term.add_free_names cs []) "x", dummyT);
   309       val ft = DatatypeCase.case_tr true Datatype.info_of_constr
   309       val ft = DatatypeCase.case_tr true Datatype_Data.info_of_constr
   310                  ctxt [x, cs]
   310                  ctxt [x, cs]
   311     in lambda x ft end
   311     in lambda x ft end
   312 in [("_lam_pats_syntax", fun_tr)] end
   312 in [("_lam_pats_syntax", fun_tr)] end
   313 *}
   313 *}
   314 
   314