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