# HG changeset patch # User nipkow # Date 1575465179 -3600 # Node ID dc767054de47a4e7b6f63a0f4fe63dfee840e73e # Parent 1249859d23dd76f6ae47aa6bd16568ff9b127fcb moved lemmas diff -r 1249859d23dd -r dc767054de47 src/HOL/Analysis/Elementary_Topology.thy --- a/src/HOL/Analysis/Elementary_Topology.thy Wed Dec 04 12:00:07 2019 +0100 +++ b/src/HOL/Analysis/Elementary_Topology.thy Wed Dec 04 14:12:59 2019 +0100 @@ -1057,6 +1057,39 @@ done qed +lemma closure_open_Int_superset: + assumes "open S" "S \ closure T" + shows "closure(S \ T) = closure S" +proof - + have "closure S \ closure(S \ T)" + by (metis assms closed_closure closure_minimal inf.orderE open_Int_closure_subset) + then show ?thesis + by (simp add: closure_mono dual_order.antisym) +qed + +lemma closure_Int: "closure (\I) \ \{closure S |S. S \ I}" +proof - + { + fix y + assume "y \ \I" + then have y: "\S \ I. y \ S" by auto + { + fix S + assume "S \ I" + then have "y \ closure S" + using closure_subset y by auto + } + then have "y \ \{closure S |S. S \ I}" + by auto + } + then have "\I \ \{closure S |S. S \ I}" + by auto + moreover have "closed (\{closure S |S. S \ I})" + unfolding closed_Inter closed_closure by auto + ultimately show ?thesis using closure_hull[of "\I"] + hull_minimal[of "\I" "\{closure S |S. S \ I}" "closed"] by auto +qed + lemma islimpt_in_closure: "(x islimpt S) = (x\closure(S-{x}))" unfolding closure_def using islimpt_punctured by blast diff -r 1249859d23dd -r dc767054de47 src/HOL/Analysis/Starlike.thy --- a/src/HOL/Analysis/Starlike.thy Wed Dec 04 12:00:07 2019 +0100 +++ b/src/HOL/Analysis/Starlike.thy Wed Dec 04 14:12:59 2019 +0100 @@ -420,16 +420,6 @@ finally show "(1 - u) *\<^sub>R a + u *\<^sub>R b \ interior S" . qed -lemma closure_open_Int_superset: - assumes "open S" "S \ closure T" - shows "closure(S \ T) = closure S" -proof - - have "closure S \ closure(S \ T)" - by (metis assms closed_closure closure_minimal inf.orderE open_Int_closure_subset) - then show ?thesis - by (simp add: closure_mono dual_order.antisym) -qed - lemma convex_closure_interior: fixes S :: "'a::euclidean_space set" assumes "convex S" and int: "interior S \ {}" @@ -1645,29 +1635,6 @@ then show ?thesis by auto qed -lemma closure_Int: "closure (\I) \ \{closure S |S. S \ I}" -proof - - { - fix y - assume "y \ \I" - then have y: "\S \ I. y \ S" by auto - { - fix S - assume "S \ I" - then have "y \ closure S" - using closure_subset y by auto - } - then have "y \ \{closure S |S. S \ I}" - by auto - } - then have "\I \ \{closure S |S. S \ I}" - by auto - moreover have "closed (\{closure S |S. S \ I})" - unfolding closed_Inter closed_closure by auto - ultimately show ?thesis using closure_hull[of "\I"] - hull_minimal[of "\I" "\{closure S |S. S \ I}" "closed"] by auto -qed - lemma convex_closure_rel_interior_inter: assumes "\S\I. convex (S :: 'n::euclidean_space set)" and "\{rel_interior S |S. S \ I} \ {}"