1143 using that \<open>x < y\<close> by (auto simp add: field_split_simps algebra_simps) |
1143 using that \<open>x < y\<close> by (auto simp add: field_split_simps algebra_simps) |
1144 moreover have "(q x - q y)/(x - y) \<le> phi y" |
1144 moreover have "(q x - q y)/(x - y) \<le> phi y" |
1145 unfolding phi_def proof (rule cInf_greatest, auto) |
1145 unfolding phi_def proof (rule cInf_greatest, auto) |
1146 fix t assume "t \<in> I" "y < t" |
1146 fix t assume "t \<in> I" "y < t" |
1147 have "(q x - q y) / (x - y) \<le> (q x - q t) / (x - t)" |
1147 have "(q x - q y) / (x - y) \<le> (q x - q t) / (x - t)" |
1148 apply (rule convex_on_diff[OF q(2)]) using \<open>y < t\<close> \<open>x < y\<close> \<open>t \<in> I\<close> \<open>x \<in> I\<close> by auto |
1148 apply (rule convex_on_slope_le[OF q(2)]) using \<open>y < t\<close> \<open>x < y\<close> \<open>t \<in> I\<close> \<open>x \<in> I\<close> by auto |
1149 also have "... \<le> (q y - q t) / (y - t)" |
1149 also have "... \<le> (q y - q t) / (y - t)" |
1150 apply (rule convex_on_diff[OF q(2)]) using \<open>y < t\<close> \<open>x < y\<close> \<open>t \<in> I\<close> \<open>x \<in> I\<close> by auto |
1150 apply (rule convex_on_slope_le[OF q(2)]) using \<open>y < t\<close> \<open>x < y\<close> \<open>t \<in> I\<close> \<open>x \<in> I\<close> by auto |
1151 finally show "(q x - q y) / (x - y) \<le> (q y - q t) / (y - t)" by simp |
1151 finally show "(q x - q y) / (x - y) \<le> (q y - q t) / (y - t)" by simp |
1152 next |
1152 next |
1153 obtain e where "0 < e" "ball y e \<subseteq> I" using \<open>open I\<close> \<open>y \<in> I\<close> openE by blast |
1153 obtain e where "0 < e" "ball y e \<subseteq> I" using \<open>open I\<close> \<open>y \<in> I\<close> openE by blast |
1154 then have "y + e/2 \<in> {y<..} \<inter> I" by (auto simp: dist_real_def) |
1154 then have "y + e/2 \<in> {y<..} \<inter> I" by (auto simp: dist_real_def) |
1155 then show "{y<..} \<inter> I = {} \<Longrightarrow> False" by auto |
1155 then show "{y<..} \<inter> I = {} \<Longrightarrow> False" by auto |