equal
deleted
inserted
replaced
259 fun gen_typedef prep_term ((def, name), typ, set, opt_morphs) thy = |
259 fun gen_typedef prep_term ((def, name), typ, set, opt_morphs) thy = |
260 let |
260 let |
261 val (_, goal, goal_pat, typedef_result) = |
261 val (_, goal, goal_pat, typedef_result) = |
262 prepare_typedef prep_term def name typ set opt_morphs thy; |
262 prepare_typedef prep_term def name typ set opt_morphs thy; |
263 fun after_qed [[th]] = ProofContext.theory (snd o typedef_result th); |
263 fun after_qed [[th]] = ProofContext.theory (snd o typedef_result th); |
264 in |
264 in Proof.theorem_i NONE after_qed [[(goal, [goal_pat])]] (ProofContext.init thy) end; |
265 ProofContext.init thy |
|
266 |> Proof.theorem_i PureThy.internalK NONE after_qed [[(goal, [goal_pat])]] |
|
267 end; |
|
268 |
265 |
269 in |
266 in |
270 |
267 |
271 val typedef = gen_typedef ProofContext.read_term; |
268 val typedef = gen_typedef ProofContext.read_term; |
272 val typedef_i = gen_typedef ProofContext.cert_term; |
269 val typedef_i = gen_typedef ProofContext.cert_term; |