equal
deleted
inserted
replaced
301 using rbt_height_bheight[OF assms] by (simp) |
301 using rbt_height_bheight[OF assms] by (simp) |
302 also have "\<dots> \<le> size1 t" using assms |
302 also have "\<dots> \<le> size1 t" using assms |
303 by (simp add: powr_realpow bheight_size_bound rbt_def) |
303 by (simp add: powr_realpow bheight_size_bound rbt_def) |
304 finally have "2 powr (height t / 2) \<le> size1 t" . |
304 finally have "2 powr (height t / 2) \<le> size1 t" . |
305 hence "height t / 2 \<le> log 2 (size1 t)" |
305 hence "height t / 2 \<le> log 2 (size1 t)" |
306 by(simp add: le_log_iff size1_def del: Int.divide_le_eq_numeral1(1)) |
306 by (simp add: le_log_iff size1_def del: divide_le_eq_numeral1(1)) |
307 thus ?thesis by simp |
307 thus ?thesis by simp |
308 qed |
308 qed |
309 |
309 |
310 end |
310 end |