src/HOL/Tools/primrec_package.ML
changeset 22728 ecbbdf50df2f
parent 22692 1e057a3f087d
child 23765 997e5fe47532
equal deleted inserted replaced
22727:473c7f67c64f 22728:ecbbdf50df2f
   202                     (list_comb (Const (rec_name, dummyT),
   202                     (list_comb (Const (rec_name, dummyT),
   203                                 fs @ map Bound (0 ::(length ls downto 1))))
   203                                 fs @ map Bound (0 ::(length ls downto 1))))
   204     val def_name = Sign.base_name fname ^ "_" ^ Sign.base_name tname ^ "_def";
   204     val def_name = Sign.base_name fname ^ "_" ^ Sign.base_name tname ^ "_def";
   205     val def_prop =
   205     val def_prop =
   206       singleton (ProofContext.infer_types (ProofContext.init thy))
   206       singleton (ProofContext.infer_types (ProofContext.init thy))
   207         (Logic.mk_equals (Const (fname, dummyT), rhs), propT) |> #1;
   207         (Logic.mk_equals (Const (fname, dummyT), rhs));
   208   in (def_name, def_prop) end;
   208   in (def_name, def_prop) end;
   209 
   209 
   210 
   210 
   211 (* find datatypes which contain all datatypes in tnames' *)
   211 (* find datatypes which contain all datatypes in tnames' *)
   212 
   212