src/HOL/Code_Numeral.thy
changeset 61076 bdc1e2f0a86a
parent 60868 dd18c33c001e
child 61274 0261eec37233
equal deleted inserted replaced
61075:f6b0d827240e 61076:bdc1e2f0a86a
     8 imports Nat_Transfer Divides Lifting
     8 imports Nat_Transfer Divides Lifting
     9 begin
     9 begin
    10 
    10 
    11 subsection \<open>Type of target language integers\<close>
    11 subsection \<open>Type of target language integers\<close>
    12 
    12 
    13 typedef integer = "UNIV \<Colon> int set"
    13 typedef integer = "UNIV :: int set"
    14   morphisms int_of_integer integer_of_int ..
    14   morphisms int_of_integer integer_of_int ..
    15 
    15 
    16 setup_lifting type_definition_integer
    16 setup_lifting type_definition_integer
    17 
    17 
    18 lemma integer_eq_iff:
    18 lemma integer_eq_iff:
   613   code_module Code_Numeral \<rightharpoonup> (SML) Arith and (OCaml) Arith and (Haskell) Arith
   613   code_module Code_Numeral \<rightharpoonup> (SML) Arith and (OCaml) Arith and (Haskell) Arith
   614 
   614 
   615 
   615 
   616 subsection \<open>Type of target language naturals\<close>
   616 subsection \<open>Type of target language naturals\<close>
   617 
   617 
   618 typedef natural = "UNIV \<Colon> nat set"
   618 typedef natural = "UNIV :: nat set"
   619   morphisms nat_of_natural natural_of_nat ..
   619   morphisms nat_of_natural natural_of_nat ..
   620 
   620 
   621 setup_lifting type_definition_natural
   621 setup_lifting type_definition_natural
   622 
   622 
   623 lemma natural_eq_iff [termination_simp]:
   623 lemma natural_eq_iff [termination_simp]: