equal
deleted
inserted
replaced
98 (* ----- calls for building new thy and thms -------------------------------- *) |
98 (* ----- calls for building new thy and thms -------------------------------- *) |
99 |
99 |
100 fun gen_add_domain prep_typ (comp_dnam, eqs''') thy''' = |
100 fun gen_add_domain prep_typ (comp_dnam, eqs''') thy''' = |
101 let |
101 let |
102 val dtnvs = map ((fn (dname,vs) => |
102 val dtnvs = map ((fn (dname,vs) => |
103 (Sign.full_name thy''' dname, map (Sign.read_typ thy''') vs)) |
103 (Sign.full_name thy''' dname, map (Syntax.read_typ_global thy''') vs)) |
104 o fst) eqs'''; |
104 o fst) eqs'''; |
105 val cons''' = map snd eqs'''; |
105 val cons''' = map snd eqs'''; |
106 fun thy_type (dname,tvars) = (Sign.base_name dname, length tvars, NoSyn); |
106 fun thy_type (dname,tvars) = (Sign.base_name dname, length tvars, NoSyn); |
107 fun thy_arity (dname,tvars) = (dname, map (snd o dest_TFree) tvars, pcpoS); |
107 fun thy_arity (dname,tvars) = (dname, map (snd o dest_TFree) tvars, pcpoS); |
108 val thy'' = thy''' |> Theory.add_types (map thy_type dtnvs) |
108 val thy'' = thy''' |> Theory.add_types (map thy_type dtnvs) |
137 |> (snd o (PureThy.add_thmss [(("rews", List.concat rewss @ take_rews), [])])) |
137 |> (snd o (PureThy.add_thmss [(("rews", List.concat rewss @ take_rews), [])])) |
138 |> Theory.parent_path |
138 |> Theory.parent_path |
139 end; |
139 end; |
140 |
140 |
141 val add_domain_i = gen_add_domain Sign.certify_typ; |
141 val add_domain_i = gen_add_domain Sign.certify_typ; |
142 val add_domain = gen_add_domain Sign.read_typ; |
142 val add_domain = gen_add_domain Syntax.read_typ_global; |
143 |
143 |
144 |
144 |
145 (** outer syntax **) |
145 (** outer syntax **) |
146 |
146 |
147 local structure P = OuterParse and K = OuterKeyword in |
147 local structure P = OuterParse and K = OuterKeyword in |