src/Doc/Codegen/Adaptation.thy
changeset 51171 e8b2d90da499
parent 51162 310b94ed1815
child 51172 16eb76ca1e4a
equal deleted inserted replaced
51170:b3cdcba073d5 51171:e8b2d90da499
   134        of target-language arrays.  Part of @{text "HOL-Main"}.
   134        of target-language arrays.  Part of @{text "HOL-Main"}.
   135 
   135 
   136     \item[@{text "Code_Target_Int"}] implements type @{typ int}
   136     \item[@{text "Code_Target_Int"}] implements type @{typ int}
   137        by @{typ integer} and thus by target-language built-in integers.
   137        by @{typ integer} and thus by target-language built-in integers.
   138 
   138 
   139     \item[@{text "Code_Binary_Nat"}] \label{eff_nat} implements type
   139     \item[@{text "Code_Binary_Nat"}] implements type
   140        @{typ nat} using a binary rather than a linear representation,
   140        @{typ nat} using a binary rather than a linear representation,
   141        which yields a considerable speedup for computations.
   141        which yields a considerable speedup for computations.
   142        Pattern matching with @{term "0\<Colon>nat"} / @{const "Suc"} is eliminated
   142        Pattern matching with @{term "0\<Colon>nat"} / @{const "Suc"} is eliminated
       
   143        by a preprocessor.\label{abstract_nat}
       
   144 
       
   145     \item[@{text "Code_Target_Nat"}] implements type @{typ nat}
       
   146        by @{typ integer} and thus by target-language built-in integers.
       
   147        Pattern matching with @{term "0\<Colon>nat"} / @{const "Suc"} is eliminated
   143        by a preprocessor.
   148        by a preprocessor.
   144 
       
   145     \item[@{text "Code_Target_Nat"}] implements type @{typ int}
       
   146        by @{typ integer} and thus by target-language built-in integers;
       
   147        contains @{text "Code_Binary_Nat"} as a prerequisite.
       
   148 
   149 
   149     \item[@{text "Code_Target_Numeral"}] is a convenience theory
   150     \item[@{text "Code_Target_Numeral"}] is a convenience theory
   150        containing both @{text "Code_Target_Nat"} and
   151        containing both @{text "Code_Target_Nat"} and
   151        @{text "Code_Target_Int"}.
   152        @{text "Code_Target_Int"}.
   152 
   153