equal
deleted
inserted
replaced
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]) |