src/HOL/Multivariate_Analysis/Linear_Algebra.thy
changeset 53842 b98c6cd90230
parent 53716 b42d9a71fc1a
child 53938 eb93cca4589a
equal deleted inserted replaced
53841:73536e119310 53842:b98c6cd90230
   163   "norm (y - x1) < e / 2 \<Longrightarrow> norm (y - x2) < e / 2 \<Longrightarrow> norm (x1 - x2) < e"
   163   "norm (y - x1) < e / 2 \<Longrightarrow> norm (y - x2) < e / 2 \<Longrightarrow> norm (x1 - x2) < e"
   164   using dist_triangle_half_r unfolding dist_norm[symmetric] by auto
   164   using dist_triangle_half_r unfolding dist_norm[symmetric] by auto
   165 
   165 
   166 lemma norm_triangle_half_l:
   166 lemma norm_triangle_half_l:
   167   assumes "norm (x - y) < e / 2"
   167   assumes "norm (x - y) < e / 2"
   168     and "norm (x' - (y)) < e / 2"
   168     and "norm (x' - y) < e / 2"
   169   shows "norm (x - x') < e"
   169   shows "norm (x - x') < e"
   170   using dist_triangle_half_l[OF assms[unfolded dist_norm[symmetric]]]
   170   using dist_triangle_half_l[OF assms[unfolded dist_norm[symmetric]]]
   171   unfolding dist_norm[symmetric] .
   171   unfolding dist_norm[symmetric] .
   172 
   172 
   173 lemma norm_triangle_le: "norm x + norm y \<le> e \<Longrightarrow> norm (x + y) \<le> e"
   173 lemma norm_triangle_le: "norm x + norm y \<le> e \<Longrightarrow> norm (x + y) \<le> e"
   225 subsection {* Orthogonality. *}
   225 subsection {* Orthogonality. *}
   226 
   226 
   227 context real_inner
   227 context real_inner
   228 begin
   228 begin
   229 
   229 
   230 definition "orthogonal x y \<longleftrightarrow> (x \<bullet> y = 0)"
   230 definition "orthogonal x y \<longleftrightarrow> x \<bullet> y = 0"
   231 
   231 
   232 lemma orthogonal_clauses:
   232 lemma orthogonal_clauses:
   233   "orthogonal a 0"
   233   "orthogonal a 0"
   234   "orthogonal a x \<Longrightarrow> orthogonal a (c *\<^sub>R x)"
   234   "orthogonal a x \<Longrightarrow> orthogonal a (c *\<^sub>R x)"
   235   "orthogonal a x \<Longrightarrow> orthogonal a (-x)"
   235   "orthogonal a x \<Longrightarrow> orthogonal a (- x)"
   236   "orthogonal a x \<Longrightarrow> orthogonal a y \<Longrightarrow> orthogonal a (x + y)"
   236   "orthogonal a x \<Longrightarrow> orthogonal a y \<Longrightarrow> orthogonal a (x + y)"
   237   "orthogonal a x \<Longrightarrow> orthogonal a y \<Longrightarrow> orthogonal a (x - y)"
   237   "orthogonal a x \<Longrightarrow> orthogonal a y \<Longrightarrow> orthogonal a (x - y)"
   238   "orthogonal 0 a"
   238   "orthogonal 0 a"
   239   "orthogonal x a \<Longrightarrow> orthogonal (c *\<^sub>R x) a"
   239   "orthogonal x a \<Longrightarrow> orthogonal (c *\<^sub>R x) a"
   240   "orthogonal x a \<Longrightarrow> orthogonal (-x) a"
   240   "orthogonal x a \<Longrightarrow> orthogonal (- x) a"
   241   "orthogonal x a \<Longrightarrow> orthogonal y a \<Longrightarrow> orthogonal (x + y) a"
   241   "orthogonal x a \<Longrightarrow> orthogonal y a \<Longrightarrow> orthogonal (x + y) a"
   242   "orthogonal x a \<Longrightarrow> orthogonal y a \<Longrightarrow> orthogonal (x - y) a"
   242   "orthogonal x a \<Longrightarrow> orthogonal y a \<Longrightarrow> orthogonal (x - y) a"
   243   unfolding orthogonal_def inner_add inner_diff by auto
   243   unfolding orthogonal_def inner_add inner_diff by auto
   244 
   244 
   245 end
   245 end