equal
deleted
inserted
replaced
939 obtain T where "subspace T" and Tsub: "T \<subseteq> {x. i \<bullet> x = 0}" |
939 obtain T where "subspace T" and Tsub: "T \<subseteq> {x. i \<bullet> x = 0}" |
940 and dimT: "dim T = dim ((+) (- a) ` S)" |
940 and dimT: "dim T = dim ((+) (- a) ` S)" |
941 apply (rule choose_subspace_of_subspace [of "dim ((+) (- a) ` S)" "{x::'n. i \<bullet> x = 0}"]) |
941 apply (rule choose_subspace_of_subspace [of "dim ((+) (- a) ` S)" "{x::'n. i \<bullet> x = 0}"]) |
942 apply (simp add: dim_hyperplane [OF \<open>i \<noteq> 0\<close>]) |
942 apply (simp add: dim_hyperplane [OF \<open>i \<noteq> 0\<close>]) |
943 apply (metis DIM_positive Suc_pred dd not_le not_less_eq_eq) |
943 apply (metis DIM_positive Suc_pred dd not_le not_less_eq_eq) |
944 apply (metis span_eq subspace_hyperplane) |
944 apply (metis span_eq_iff subspace_hyperplane) |
945 done |
945 done |
946 have "subspace (span ((+) (- a) ` S))" |
946 have "subspace (span ((+) (- a) ` S))" |
947 using subspace_span by blast |
947 using subspace_span by blast |
948 then obtain h k where "linear h" "linear k" |
948 then obtain h k where "linear h" "linear k" |
949 and heq: "h ` span ((+) (- a) ` S) = T" |
949 and heq: "h ` span ((+) (- a) ` S) = T" |
954 apply (auto simp: dimT) |
954 apply (auto simp: dimT) |
955 done |
955 done |
956 have hcont: "continuous_on A h" and kcont: "continuous_on B k" for A B |
956 have hcont: "continuous_on A h" and kcont: "continuous_on B k" for A B |
957 using \<open>linear h\<close> \<open>linear k\<close> linear_continuous_on linear_conv_bounded_linear by blast+ |
957 using \<open>linear h\<close> \<open>linear k\<close> linear_continuous_on linear_conv_bounded_linear by blast+ |
958 have ihhhh[simp]: "\<And>x. x \<in> S \<Longrightarrow> i \<bullet> h (x - a) = 0" |
958 have ihhhh[simp]: "\<And>x. x \<in> S \<Longrightarrow> i \<bullet> h (x - a) = 0" |
959 using Tsub [THEN subsetD] heq span_inc by fastforce |
959 using Tsub [THEN subsetD] heq span_superset by fastforce |
960 have "sphere 0 1 - {i} homeomorphic {x. i \<bullet> x = 0}" |
960 have "sphere 0 1 - {i} homeomorphic {x. i \<bullet> x = 0}" |
961 apply (rule homeomorphic_punctured_sphere_affine) |
961 apply (rule homeomorphic_punctured_sphere_affine) |
962 using i |
962 using i |
963 apply (auto simp: affine_hyperplane) |
963 apply (auto simp: affine_hyperplane) |
964 by (metis DIM_positive Suc_eq_plus1 add.left_neutral diff_add_cancel not_le not_less_eq_eq of_nat_1 of_nat_diff) |
964 by (metis DIM_positive Suc_eq_plus1 add.left_neutral diff_add_cancel not_le not_less_eq_eq of_nat_1 of_nat_diff) |