src/HOL/Tools/function_package/size.ML
changeset 30345 76fd85bbf139
parent 30280 eb98b49ef835
child 30364 577edc39b501
equal deleted inserted replaced
30344:10a67c5ddddb 30345:76fd85bbf139
   138       in (thm', lthy') end;
   138       in (thm', lthy') end;
   139 
   139 
   140     val ((size_def_thms, size_def_thms'), thy') =
   140     val ((size_def_thms, size_def_thms'), thy') =
   141       thy
   141       thy
   142       |> Sign.add_consts_i (map (fn (s, T) =>
   142       |> Sign.add_consts_i (map (fn (s, T) =>
   143            (NameSpace.base_name s, param_size_fTs @ [T] ---> HOLogic.natT, NoSyn))
   143            (Binding.name (NameSpace.base_name s), param_size_fTs @ [T] ---> HOLogic.natT, NoSyn))
   144            (size_names ~~ recTs1))
   144            (size_names ~~ recTs1))
   145       |> PureThy.add_defs false
   145       |> PureThy.add_defs false
   146         (map (Thm.no_attributes o apsnd (Logic.mk_equals o apsnd (app fs)))
   146         (map (Thm.no_attributes o apsnd (Logic.mk_equals o apsnd (app fs)))
   147            (map Binding.name def_names ~~ (size_fns ~~ rec_combs1)))
   147            (map Binding.name def_names ~~ (size_fns ~~ rec_combs1)))
   148       ||> TheoryTarget.instantiation
   148       ||> TheoryTarget.instantiation