src/HOL/Multivariate_Analysis/Convex_Euclidean_Space.thy
changeset 63092 a949b2a5f51d
parent 63077 844725394a37
child 63114 27afe7af7379
equal deleted inserted replaced
63091:54f16a0a3069 63092:a949b2a5f51d
  2425     then have "span ((\<lambda>x. -a+x) ` (s - {a}))=span ((\<lambda>x. -a+x) ` s)"
  2425     then have "span ((\<lambda>x. -a+x) ` (s - {a}))=span ((\<lambda>x. -a+x) ` s)"
  2426       using span_insert_0[of "op + (- a) ` (s - {a})"] by (auto simp del: uminus_add_conv_diff)
  2426       using span_insert_0[of "op + (- a) ` (s - {a})"] by (auto simp del: uminus_add_conv_diff)
  2427     moreover have "{x - a |x. x \<in> (s - {a})} = ((\<lambda>x. -a+x) ` (s - {a}))"
  2427     moreover have "{x - a |x. x \<in> (s - {a})} = ((\<lambda>x. -a+x) ` (s - {a}))"
  2428       by auto
  2428       by auto
  2429     moreover have "insert a (s - {a}) = insert a s"
  2429     moreover have "insert a (s - {a}) = insert a s"
  2430       using assms by auto
  2430       by auto
  2431     ultimately have ?thesis
  2431     ultimately have ?thesis
  2432       using assms affine_hull_insert_span[of "a" "s-{a}"] by auto
  2432       using affine_hull_insert_span[of "a" "s-{a}"] by auto
  2433   }
  2433   }
  2434   ultimately show ?thesis by auto
  2434   ultimately show ?thesis by auto
  2435 qed
  2435 qed
  2436 
  2436 
  2437 lemma affine_hull_span2:
  2437 lemma affine_hull_span2:
  2996   shows "aff_dim S \<le> int (DIM('n))"
  2996   shows "aff_dim S \<le> int (DIM('n))"
  2997 proof -
  2997 proof -
  2998   have "aff_dim (UNIV :: 'n::euclidean_space set) = int(DIM('n))"
  2998   have "aff_dim (UNIV :: 'n::euclidean_space set) = int(DIM('n))"
  2999     using aff_dim_UNIV by auto
  2999     using aff_dim_UNIV by auto
  3000   then show "aff_dim (S:: 'n::euclidean_space set) \<le> int(DIM('n))"
  3000   then show "aff_dim (S:: 'n::euclidean_space set) \<le> int(DIM('n))"
  3001     using assms aff_dim_subset[of S "(UNIV :: ('n::euclidean_space) set)"] subset_UNIV by auto
  3001     using aff_dim_subset[of S "(UNIV :: ('n::euclidean_space) set)"] subset_UNIV by auto
  3002 qed
  3002 qed
  3003 
  3003 
  3004 lemma affine_dim_equal:
  3004 lemma affine_dim_equal:
  3005   fixes S :: "'n::euclidean_space set"
  3005   fixes S :: "'n::euclidean_space set"
  3006   assumes "affine S" "affine T" "S \<noteq> {}" "S \<subseteq> T" "aff_dim S = aff_dim T"
  3006   assumes "affine S" "affine T" "S \<noteq> {}" "S \<subseteq> T" "aff_dim S = aff_dim T"