src/HOL/Analysis/Starlike.thy
changeset 68077 ee8c13ae81e9
parent 68074 8d50467f7555
child 68465 e699ca8e22b7
equal deleted inserted replaced
68076:315043faa871 68077:ee8c13ae81e9
  7028     shows "dim(A \<union> B) = dim A + dim B"
  7028     shows "dim(A \<union> B) = dim A + dim B"
  7029 proof%unimportant -
  7029 proof%unimportant -
  7030   have 1: "\<And>x y. \<lbrakk>x \<in> span A; y \<in> B\<rbrakk> \<Longrightarrow> x \<bullet> y = 0"
  7030   have 1: "\<And>x y. \<lbrakk>x \<in> span A; y \<in> B\<rbrakk> \<Longrightarrow> x \<bullet> y = 0"
  7031     by (erule span_induct [OF _ subspace_hyperplane2]; simp add: assms)
  7031     by (erule span_induct [OF _ subspace_hyperplane2]; simp add: assms)
  7032   have "\<And>x y. \<lbrakk>x \<in> span A; y \<in> span B\<rbrakk> \<Longrightarrow> x \<bullet> y = 0"
  7032   have "\<And>x y. \<lbrakk>x \<in> span A; y \<in> span B\<rbrakk> \<Longrightarrow> x \<bullet> y = 0"
  7033     apply (erule span_induct [OF _ subspace_hyperplane])
  7033     using 1 by (simp add: span_induct [OF _ subspace_hyperplane])
  7034     using 1 by (simp add: )
       
  7035   then have 0: "\<And>x y. \<lbrakk>x \<in> span A; y \<in> span B\<rbrakk> \<Longrightarrow> x \<bullet> y = 0"
  7034   then have 0: "\<And>x y. \<lbrakk>x \<in> span A; y \<in> span B\<rbrakk> \<Longrightarrow> x \<bullet> y = 0"
  7036     by simp
  7035     by simp
  7037   have "dim(A \<union> B) = dim (span (A \<union> B))"
  7036   have "dim(A \<union> B) = dim (span (A \<union> B))"
  7038     by (simp add: dim_span)
  7037     by (simp add: dim_span)
  7039   also have "span (A \<union> B) = ((\<lambda>(a, b). a + b) ` (span A \<times> span B))"
  7038   also have "span (A \<union> B) = ((\<lambda>(a, b). a + b) ` (span A \<times> span B))"