src/HOL/Library/Product_Vector.thy
changeset 62102 877463945ce9
parent 62101 26c0a70f78a3
child 62131 1baed43f453e
equal deleted inserted replaced
62101:26c0a70f78a3 62102:877463945ce9
   274 
   274 
   275 instantiation prod :: (metric_space, metric_space) uniformity_dist
   275 instantiation prod :: (metric_space, metric_space) uniformity_dist
   276 begin
   276 begin
   277 
   277 
   278 definition [code del]:
   278 definition [code del]:
   279   "(uniformity :: (('a \<times> 'b) \<times> ('a \<times> 'b)) filter) = 
   279   "(uniformity :: (('a \<times> 'b) \<times> ('a \<times> 'b)) filter) =
   280     (INF e:{0 <..}. principal {(x, y). dist x y < e})"
   280     (INF e:{0 <..}. principal {(x, y). dist x y < e})"
   281 
   281 
   282 instance 
   282 instance
   283   by standard (rule uniformity_prod_def)
   283   by standard (rule uniformity_prod_def)
   284 end
   284 end
       
   285 
       
   286 declare uniformity_Abort[where 'a="'a :: metric_space \<times> 'b :: metric_space", code]
   285 
   287 
   286 instantiation prod :: (metric_space, metric_space) metric_space
   288 instantiation prod :: (metric_space, metric_space) metric_space
   287 begin
   289 begin
   288 
   290 
   289 lemma dist_Pair_Pair: "dist (a, b) (c, d) = sqrt ((dist a c)\<^sup>2 + (dist b d)\<^sup>2)"
   291 lemma dist_Pair_Pair: "dist (a, b) (c, d) = sqrt ((dist a c)\<^sup>2 + (dist b d)\<^sup>2)"
   564 end
   566 end
   565 
   567 
   566 lemma inner_Pair_0: "inner x (0, b) = inner (snd x) b" "inner x (a, 0) = inner (fst x) a"
   568 lemma inner_Pair_0: "inner x (0, b) = inner (snd x) b" "inner x (a, 0) = inner (fst x) a"
   567     by (cases x, simp)+
   569     by (cases x, simp)+
   568 
   570 
   569 lemma 
   571 lemma
   570   fixes x :: "'a::real_normed_vector"
   572   fixes x :: "'a::real_normed_vector"
   571   shows norm_Pair1 [simp]: "norm (0,x) = norm x" 
   573   shows norm_Pair1 [simp]: "norm (0,x) = norm x"
   572     and norm_Pair2 [simp]: "norm (x,0) = norm x"
   574     and norm_Pair2 [simp]: "norm (x,0) = norm x"
   573 by (auto simp: norm_Pair)
   575 by (auto simp: norm_Pair)
   574 
   576 
   575 
   577 
   576 end
   578 end