src/HOL/Multivariate_Analysis/Topology_Euclidean_Space.thy
changeset 63540 f8652d0534fa
parent 63492 a662e8139804
child 63593 bbcb05504fdc
equal deleted inserted replaced
63539:70d4d9e5707b 63540:f8652d0534fa
  4341   assume A: "\<forall>a\<in>A. closed a" "\<forall>B\<subseteq>A. finite B \<longrightarrow> U \<inter> \<Inter>B \<noteq> {}" "U \<inter> \<Inter>A = {}"
  4341   assume A: "\<forall>a\<in>A. closed a" "\<forall>B\<subseteq>A. finite B \<longrightarrow> U \<inter> \<Inter>B \<noteq> {}" "U \<inter> \<Inter>A = {}"
  4342   define F where "F = (INF a:insert U A. principal a)"
  4342   define F where "F = (INF a:insert U A. principal a)"
  4343   have "F \<noteq> bot"
  4343   have "F \<noteq> bot"
  4344     unfolding F_def
  4344     unfolding F_def
  4345   proof (rule INF_filter_not_bot)
  4345   proof (rule INF_filter_not_bot)
  4346     fix X assume "X \<subseteq> insert U A" "finite X"
  4346     fix X
  4347     moreover with A(2)[THEN spec, of "X - {U}"] have "U \<inter> \<Inter>(X - {U}) \<noteq> {}"
  4347     assume X: "X \<subseteq> insert U A" "finite X"
       
  4348     with A(2)[THEN spec, of "X - {U}"] have "U \<inter> \<Inter>(X - {U}) \<noteq> {}"
  4348       by auto
  4349       by auto
  4349     ultimately show "(INF a:X. principal a) \<noteq> bot"
  4350     with X show "(INF a:X. principal a) \<noteq> bot"
  4350       by (auto simp add: INF_principal_finite principal_eq_bot_iff)
  4351       by (auto simp add: INF_principal_finite principal_eq_bot_iff)
  4351   qed
  4352   qed
  4352   moreover
  4353   moreover
  4353   have "F \<le> principal U"
  4354   have "F \<le> principal U"
  4354     unfolding F_def by auto
  4355     unfolding F_def by auto
  6599       assume "x \<notin> X"
  6600       assume "x \<notin> X"
  6600       have "x \<in> closure X" using Y by auto
  6601       have "x \<in> closure X" using Y by auto
  6601       then obtain xs where xs: "xs \<longlonglongrightarrow> x" "\<And>n. xs n \<in> X"
  6602       then obtain xs where xs: "xs \<longlonglongrightarrow> x" "\<And>n. xs n \<in> X"
  6602         by (auto simp: closure_sequential)
  6603         by (auto simp: closure_sequential)
  6603       from continuous_on_tendsto_compose[OF cont_h xs(1)] xs(2) Y
  6604       from continuous_on_tendsto_compose[OF cont_h xs(1)] xs(2) Y
  6604       have "(\<lambda>x. f (xs x)) \<longlonglongrightarrow> h x"
  6605       have hx: "(\<lambda>x. f (xs x)) \<longlonglongrightarrow> h x"
  6605         by (auto simp: set_mp extension)
  6606         by (auto simp: set_mp extension)
  6606       moreover
       
  6607       then have "(\<lambda>x. f (xs x)) \<longlonglongrightarrow> y x"
  6607       then have "(\<lambda>x. f (xs x)) \<longlonglongrightarrow> y x"
  6608         using \<open>x \<notin> X\<close> not_eventuallyD xs(2)
  6608         using \<open>x \<notin> X\<close> not_eventuallyD xs(2)
  6609         by (force intro!: filterlim_compose[OF y[OF \<open>x \<in> closure X\<close>]] simp: filterlim_at xs)
  6609         by (force intro!: filterlim_compose[OF y[OF \<open>x \<in> closure X\<close>]] simp: filterlim_at xs)
  6610       ultimately have "h x = y x" by (rule LIMSEQ_unique)
  6610       with hx have "h x = y x" by (rule LIMSEQ_unique)
  6611     } then
  6611     } then
  6612     have "h x = ?g x"
  6612     have "h x = ?g x"
  6613       using extension by auto
  6613       using extension by auto
  6614   }
  6614   }
  6615   ultimately show ?thesis ..
  6615   ultimately show ?thesis ..