src/HOL/Code_Evaluation.thy
changeset 58036 f23045003476
parent 56928 1e50fddbe1f5
child 58038 f8e6197668c9
equal deleted inserted replaced
58032:e92cdae8b3b5 58036:f23045003476
   126 
   126 
   127 code_printing
   127 code_printing
   128   constant "term_of \<Colon> integer \<Rightarrow> term" \<rightharpoonup> (Eval) "HOLogic.mk'_number/ HOLogic.code'_integerT"
   128   constant "term_of \<Colon> integer \<Rightarrow> term" \<rightharpoonup> (Eval) "HOLogic.mk'_number/ HOLogic.code'_integerT"
   129 | constant "term_of \<Colon> String.literal \<Rightarrow> term" \<rightharpoonup> (Eval) "HOLogic.mk'_literal"
   129 | constant "term_of \<Colon> String.literal \<Rightarrow> term" \<rightharpoonup> (Eval) "HOLogic.mk'_literal"
   130 
   130 
       
   131 declare [[code drop: "term_of :: integer \<Rightarrow> _"]]
       
   132 
       
   133 lemma term_of_integer [unfolded typerep_fun_def typerep_num_def typerep_integer_def, code]:
       
   134   "Code_Evaluation.term_of (i :: integer) =
       
   135    Code_Evaluation.App
       
   136     (Code_Evaluation.Const (STR ''Num.numeral_class.numeral'') (TYPEREP(num \<Rightarrow> integer)))
       
   137     (term_of (num_of_integer i))"
       
   138 by(rule term_of_anything[THEN meta_eq_to_obj_eq])
       
   139 
   131 code_reserved Eval HOLogic
   140 code_reserved Eval HOLogic
   132 
   141 
   133 
   142 
   134 subsection {* Generic reification *}
   143 subsection {* Generic reification *}
   135 
   144