src/HOL/Code_Numeral.thy
changeset 60868 dd18c33c001e
parent 60758 d8d85a8172b5
child 61076 bdc1e2f0a86a
equal deleted inserted replaced
60867:86e7560e07d0 60868:dd18c33c001e
   510 
   510 
   511 lemma integer_of_int_code [code]:
   511 lemma integer_of_int_code [code]:
   512   "integer_of_int k = (if k < 0 then - (integer_of_int (- k))
   512   "integer_of_int k = (if k < 0 then - (integer_of_int (- k))
   513      else if k = 0 then 0
   513      else if k = 0 then 0
   514      else let
   514      else let
   515        (l, j) = divmod_int k 2;
   515        l = 2 * integer_of_int (k div 2);
   516        l' = 2 * integer_of_int l
   516        j = k mod 2
   517      in if j = 0 then l' else l' + 1)"
   517      in if j = 0 then l else l + 1)"
   518   by (auto simp add: split_def Let_def integer_eq_iff zmult_div_cancel)
   518   by (auto simp add: split_def Let_def integer_eq_iff zmult_div_cancel)
   519 
   519 
   520 hide_const (open) Pos Neg sub dup divmod_abs
   520 hide_const (open) Pos Neg sub dup divmod_abs
   521 
   521 
   522 
   522