src/HOL/Tools/typedef_package.ML
changeset 24509 23ee6b7788c2
parent 24255 d86dbde1000c
child 24712 64ed05609568
equal deleted inserted replaced
24508:c8b82fec6447 24509:23ee6b7788c2
   241       cat_error msg ("Failed to prove non-emptiness of " ^ quote (string_of_term set));
   241       cat_error msg ("Failed to prove non-emptiness of " ^ quote (string_of_term set));
   242   in typedef_result non_empty thy end;
   242   in typedef_result non_empty thy end;
   243 
   243 
   244 in
   244 in
   245 
   245 
   246 val add_typedef = gen_typedef ProofContext.read_term;
   246 val add_typedef = gen_typedef Syntax.read_term;
   247 val add_typedef_i = gen_typedef ProofContext.cert_term;
   247 val add_typedef_i = gen_typedef Syntax.check_term;
   248 
   248 
   249 end;
   249 end;
   250 
   250 
   251 
   251 
   252 (* Isar typedef interface *)
   252 (* Isar typedef interface *)
   260     fun after_qed [[th]] = ProofContext.theory (snd o typedef_result th);
   260     fun after_qed [[th]] = ProofContext.theory (snd o typedef_result th);
   261   in Proof.theorem_i NONE after_qed [[(goal, [goal_pat])]] (ProofContext.init thy) end;
   261   in Proof.theorem_i NONE after_qed [[(goal, [goal_pat])]] (ProofContext.init thy) end;
   262 
   262 
   263 in
   263 in
   264 
   264 
   265 val typedef = gen_typedef ProofContext.read_term;
   265 val typedef = gen_typedef Syntax.read_term;
   266 val typedef_i = gen_typedef ProofContext.cert_term;
   266 val typedef_i = gen_typedef Syntax.check_term;
   267 
   267 
   268 end;
   268 end;
   269 
   269 
   270 
   270 
   271 
   271