equal
deleted
inserted
replaced
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 |