equal
deleted
inserted
replaced
262 fun read_def_cterm (sign, types, sorts) used freeze (a, T) = |
262 fun read_def_cterm (sign, types, sorts) used freeze (a, T) = |
263 let |
263 let |
264 val T' = Sign.certify_typ sign T |
264 val T' = Sign.certify_typ sign T |
265 handle TYPE (msg, _, _) => error msg; |
265 handle TYPE (msg, _, _) => error msg; |
266 val ts = Syntax.read (#syn (Sign.rep_sg sign)) T' a; |
266 val ts = Syntax.read (#syn (Sign.rep_sg sign)) T' a; |
267 val (_, t', tye) = |
267 val (t', tye) = Sign.infer_types sign types sorts used freeze (ts, T'); |
268 Sign.infer_types sign types sorts used freeze (ts, T'); |
|
269 val ct = cterm_of sign t' |
268 val ct = cterm_of sign t' |
270 handle TYPE (msg, _, _) => error msg |
269 handle TYPE (msg, _, _) => error msg |
271 | TERM (msg, _) => error msg; |
270 | TERM (msg, _) => error msg; |
272 in (ct, tye) end; |
271 in (ct, tye) end; |
273 |
272 |