src/HOL/Analysis/Euclidean_Space.thy
changeset 70136 f03a01a18c6e
parent 69597 ff784d5a5bfb
child 77490 2c86ea8961b5
equal deleted inserted replaced
70135:ad6d4a14adb5 70136:f03a01a18c6e
    11   Inner_Product
    11   Inner_Product
    12   Product_Vector
    12   Product_Vector
    13 begin
    13 begin
    14 
    14 
    15 
    15 
    16 subsection%unimportant \<open>Interlude: Some properties of real sets\<close>
    16 subsection\<^marker>\<open>tag unimportant\<close> \<open>Interlude: Some properties of real sets\<close>
    17 
    17 
    18 lemma seq_mono_lemma:
    18 lemma seq_mono_lemma:
    19   assumes "\<forall>(n::nat) \<ge> m. (d n :: real) < e n"
    19   assumes "\<forall>(n::nat) \<ge> m. (d n :: real) < e n"
    20     and "\<forall>n \<ge> m. e n \<le> e m"
    20     and "\<forall>n \<ge> m. e n \<le> e m"
    21   shows "\<forall>n \<ge> m. d n < e m"
    21   shows "\<forall>n \<ge> m. d n < e m"
   209   also have "\<dots> = 2 * real DIM('n) * e" by simp
   209   also have "\<dots> = 2 * real DIM('n) * e" by simp
   210   finally show ?thesis .
   210   finally show ?thesis .
   211 qed
   211 qed
   212 
   212 
   213 
   213 
   214 subsection%unimportant \<open>Subclass relationships\<close>
   214 subsection\<^marker>\<open>tag unimportant\<close> \<open>Subclass relationships\<close>
   215 
   215 
   216 instance euclidean_space \<subseteq> perfect_space
   216 instance euclidean_space \<subseteq> perfect_space
   217 proof
   217 proof
   218   fix x :: 'a show "\<not> open {x}"
   218   fix x :: 'a show "\<not> open {x}"
   219   proof
   219   proof
   232   qed
   232   qed
   233 qed
   233 qed
   234 
   234 
   235 subsection \<open>Class instances\<close>
   235 subsection \<open>Class instances\<close>
   236 
   236 
   237 subsubsection%unimportant \<open>Type \<^typ>\<open>real\<close>\<close>
   237 subsubsection\<^marker>\<open>tag unimportant\<close> \<open>Type \<^typ>\<open>real\<close>\<close>
   238 
   238 
   239 instantiation real :: euclidean_space
   239 instantiation real :: euclidean_space
   240 begin
   240 begin
   241 
   241 
   242 definition
   242 definition
   248 end
   248 end
   249 
   249 
   250 lemma DIM_real[simp]: "DIM(real) = 1"
   250 lemma DIM_real[simp]: "DIM(real) = 1"
   251   by simp
   251   by simp
   252 
   252 
   253 subsubsection%unimportant \<open>Type \<^typ>\<open>complex\<close>\<close>
   253 subsubsection\<^marker>\<open>tag unimportant\<close> \<open>Type \<^typ>\<open>complex\<close>\<close>
   254 
   254 
   255 instantiation complex :: euclidean_space
   255 instantiation complex :: euclidean_space
   256 begin
   256 begin
   257 
   257 
   258 definition Basis_complex_def: "Basis = {1, \<i>}"
   258 definition Basis_complex_def: "Basis = {1, \<i>}"
   269   by (simp add: Basis_complex_def)
   269   by (simp add: Basis_complex_def)
   270 
   270 
   271 lemma complex_Basis_i [iff]: "\<i> \<in> Basis"
   271 lemma complex_Basis_i [iff]: "\<i> \<in> Basis"
   272   by (simp add: Basis_complex_def)
   272   by (simp add: Basis_complex_def)
   273 
   273 
   274 subsubsection%unimportant \<open>Type \<^typ>\<open>'a \<times> 'b\<close>\<close>
   274 subsubsection\<^marker>\<open>tag unimportant\<close> \<open>Type \<^typ>\<open>'a \<times> 'b\<close>\<close>
   275 
   275 
   276 instantiation prod :: (real_inner, real_inner) real_inner
   276 instantiation prod :: (real_inner, real_inner) real_inner
   277 begin
   277 begin
   278 
   278 
   279 definition inner_prod_def:
   279 definition inner_prod_def: