equal
deleted
inserted
replaced
664 DERIV (\<lambda> z. (- 1 / ln b) * inverse z) z :> (- 1 / ln b) * (- (inverse z ^ Suc (Suc 0)))" |
664 DERIV (\<lambda> z. (- 1 / ln b) * inverse z) z :> (- 1 / ln b) * (- (inverse z ^ Suc (Suc 0)))" |
665 by auto |
665 by auto |
666 then have f''0: "\<And>z :: real. z > 0 \<Longrightarrow> DERIV (\<lambda> z. - 1 / (ln b * z)) z :> 1 / (ln b * z * z)" |
666 then have f''0: "\<And>z :: real. z > 0 \<Longrightarrow> DERIV (\<lambda> z. - 1 / (ln b * z)) z :> 1 / (ln b * z * z)" |
667 unfolding inverse_eq_divide by (auto simp add: mult_assoc) |
667 unfolding inverse_eq_divide by (auto simp add: mult_assoc) |
668 have f''_ge0: "\<And>z :: real. z > 0 \<Longrightarrow> 1 / (ln b * z * z) \<ge> 0" |
668 have f''_ge0: "\<And>z :: real. z > 0 \<Longrightarrow> 1 / (ln b * z * z) \<ge> 0" |
669 using `b > 1` by (auto intro!:less_imp_le simp add: divide_pos_pos[of 1] mult_pos_pos) |
669 using `b > 1` by (auto intro!:less_imp_le simp add: mult_pos_pos) |
670 from f''_ge0_imp_convex[OF pos_is_convex, |
670 from f''_ge0_imp_convex[OF pos_is_convex, |
671 unfolded greaterThan_iff, OF f' f''0 f''_ge0] |
671 unfolded greaterThan_iff, OF f' f''0 f''_ge0] |
672 show ?thesis by auto |
672 show ?thesis by auto |
673 qed |
673 qed |
674 |
674 |