equal
deleted
inserted
replaced
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 |