equal
deleted
inserted
replaced
280 let |
280 let |
281 val args = map (apsnd (prep_constraint lthy)) raw_args; |
281 val args = map (apsnd (prep_constraint lthy)) raw_args; |
282 val ((goal, goal_pat, typedef_result), lthy') = |
282 val ((goal, goal_pat, typedef_result), lthy') = |
283 prepare_typedef prep_term def name (b, args, mx) set opt_morphs lthy; |
283 prepare_typedef prep_term def name (b, args, mx) set opt_morphs lthy; |
284 fun after_qed [[th]] = snd o typedef_result th; |
284 fun after_qed [[th]] = snd o typedef_result th; |
285 in Proof.theorem_i NONE after_qed [[(goal, [goal_pat])]] lthy' end; |
285 in Proof.theorem NONE after_qed [[(goal, [goal_pat])]] lthy' end; |
286 |
286 |
287 in |
287 in |
288 |
288 |
289 val typedef = gen_typedef Syntax.check_term (K I); |
289 val typedef = gen_typedef Syntax.check_term (K I); |
290 val typedef_cmd = gen_typedef Syntax.read_term Typedecl.read_constraint; |
290 val typedef_cmd = gen_typedef Syntax.read_term Typedecl.read_constraint; |