src/HOL/Tools/datatype_abs_proofs.ML
changeset 24959 119793c84647
parent 24814 0384f48a806e
child 25977 b0604cd8e5e1
equal deleted inserted replaced
24958:ff15f76741bd 24959:119793c84647
   319             Logic.mk_equals (list_comb (Const (name, caseT), fns1),
   319             Logic.mk_equals (list_comb (Const (name, caseT), fns1),
   320               list_comb (reccomb, (List.concat (Library.take (i, case_dummy_fns))) @
   320               list_comb (reccomb, (List.concat (Library.take (i, case_dummy_fns))) @
   321                 fns2 @ (List.concat (Library.drop (i + 1, case_dummy_fns))) )));
   321                 fns2 @ (List.concat (Library.drop (i + 1, case_dummy_fns))) )));
   322           val ([def_thm], thy') =
   322           val ([def_thm], thy') =
   323             thy
   323             thy
   324             |> Sign.add_consts_authentic [] [decl]
   324             |> Sign.declare_const [] decl |> snd
   325             |> (PureThy.add_defs_i false o map Thm.no_attributes) [def];
   325             |> (PureThy.add_defs_i false o map Thm.no_attributes) [def];
   326 
   326 
   327         in (defs @ [def_thm], thy')
   327         in (defs @ [def_thm], thy')
   328         end) (([], thy1), (hd descr) ~~ newTs ~~ case_names ~~
   328         end) (([], thy1), (hd descr) ~~ newTs ~~ case_names ~~
   329           (Library.take (length newTs, reccomb_names)));
   329           (Library.take (length newTs, reccomb_names)));