src/HOL/Multivariate_Analysis/Linear_Algebra.thy
changeset 56536 aefb4a8da31f
parent 56480 093ea91498e6
child 57418 6ab1c7cb0b8d
equal deleted inserted replaced
56535:34023a586608 56536:aefb4a8da31f
   485     and z: "0 \<le> z"
   485     and z: "0 \<le> z"
   486     and xy: "x\<^sup>2 \<le> y\<^sup>2 + z\<^sup>2"
   486     and xy: "x\<^sup>2 \<le> y\<^sup>2 + z\<^sup>2"
   487   shows "x \<le> y + z"
   487   shows "x \<le> y + z"
   488 proof -
   488 proof -
   489   have "y\<^sup>2 + z\<^sup>2 \<le> y\<^sup>2 + 2 * y * z + z\<^sup>2"
   489   have "y\<^sup>2 + z\<^sup>2 \<le> y\<^sup>2 + 2 * y * z + z\<^sup>2"
   490     using z y by (simp add: mult_nonneg_nonneg)
   490     using z y by simp
   491   with xy have th: "x\<^sup>2 \<le> (y + z)\<^sup>2"
   491   with xy have th: "x\<^sup>2 \<le> (y + z)\<^sup>2"
   492     by (simp add: power2_eq_square field_simps)
   492     by (simp add: power2_eq_square field_simps)
   493   from y z have yz: "y + z \<ge> 0"
   493   from y z have yz: "y + z \<ge> 0"
   494     by arith
   494     by arith
   495   from power2_le_imp_le[OF th yz] show ?thesis .
   495   from power2_le_imp_le[OF th yz] show ?thesis .