src/HOL/Real/RComplete.thy
changeset 25162 ad4d5365d9d8
parent 25140 273772abbea2
child 27435 b3f8e9bdf9a7
equal deleted inserted replaced
25161:aa8474398030 25162:ad4d5365d9d8
  1206   apply (erule ssubst)
  1206   apply (erule ssubst)
  1207   apply (simp del: real_of_int_of_nat_eq)
  1207   apply (simp del: real_of_int_of_nat_eq)
  1208   apply simp
  1208   apply simp
  1209 done
  1209 done
  1210 
  1210 
  1211 lemma natfloor_div_nat: "1 <= x ==> y \<noteq> 0 ==>
  1211 lemma natfloor_div_nat: "1 <= x ==> y > 0 ==>
  1212   natfloor (x / real y) = natfloor x div y"
  1212   natfloor (x / real y) = natfloor x div y"
  1213 proof -
  1213 proof -
  1214   assume "1 <= (x::real)" and "(y::nat) \<noteq> 0"
  1214   assume "1 <= (x::real)" and "(y::nat) > 0"
  1215   have "natfloor x = (natfloor x) div y * y + (natfloor x) mod y"
  1215   have "natfloor x = (natfloor x) div y * y + (natfloor x) mod y"
  1216     by simp
  1216     by simp
  1217   then have a: "real(natfloor x) = real ((natfloor x) div y) * real y +
  1217   then have a: "real(natfloor x) = real ((natfloor x) div y) * real y +
  1218     real((natfloor x) mod y)"
  1218     real((natfloor x) mod y)"
  1219     by (simp only: real_of_nat_add [THEN sym] real_of_nat_mult [THEN sym])
  1219     by (simp only: real_of_nat_add [THEN sym] real_of_nat_mult [THEN sym])