Skip to content

Commit a35aeb0

Browse files
committed
feat(Topology/DerivedSet): add relative derived set lemmas (leanprover-community#37374)
Add `relDerivedSet`, `relDerivedSet_subset`, and `IsClosed.relDerivedSet_eq`. Co-authored-by: NoneMore <hellgoingup@outlook.com>
1 parent 95eb170 commit a35aeb0

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

Mathlib/Topology/DerivedSet.lean

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,16 @@ lemma derivedSet_union (A B : Set X) : derivedSet (A ∪ B) = derivedSet A ∪ d
4646
lemma derivedSet_mono (A B : Set X) (h : A ⊆ B) : derivedSet A ⊆ derivedSet B :=
4747
fun _ hx ↦ hx.mono <| le_principal_iff.mpr <| mem_principal.mpr h
4848

49+
/-- The relative derived set operator viewed as a monotone self-map of `Set X`. -/
50+
def relDerivedSet : Set X →o Set X where
51+
toFun s := derivedSet s ∩ s
52+
monotone' s t h := Set.inter_subset_inter (derivedSet_mono s t h) h
53+
54+
@[simp] lemma relDerivedSet_apply (A : Set X) : relDerivedSet A = derivedSet A ∩ A := rfl
55+
56+
lemma relDerivedSet_subset {A : Set X} : relDerivedSet A ⊆ A :=
57+
Set.inter_subset_right
58+
4959
theorem Continuous.image_derivedSet {β : Type*} [TopologicalSpace β] {A : Set X} {f : X → β}
5060
(hf1 : Continuous f) (hf2 : Function.Injective f) :
5161
f '' derivedSet A ⊆ derivedSet (f '' A) := by
@@ -68,6 +78,10 @@ lemma isClosed_iff_derivedSet_subset (A : Set X) : IsClosed A ↔ derivedSet A
6878
rw [this, ← accPt_principal_iff_clusterPt] at ha
6979
exact nh (h ha)
7080

81+
lemma IsClosed.relDerivedSet_eq {A : Set X} (hA : IsClosed A) :
82+
relDerivedSet A = derivedSet A := by
83+
simpa using (isClosed_iff_derivedSet_subset A).mp hA
84+
7185
lemma closure_eq_self_union_derivedSet (A : Set X) : closure A = A ∪ derivedSet A := by
7286
ext
7387
simp [closure_eq_cluster_pts, clusterPt_principal]
@@ -95,6 +109,9 @@ lemma isClosed_derivedSet [T1Space X] (A : Set X) : IsClosed (derivedSet A) := b
95109
lemma preperfect_iff_subset_derivedSet {U : Set X} : Preperfect U ↔ U ⊆ derivedSet U :=
96110
Iff.rfl
97111

112+
lemma preperfect_iff_eq_relDerivedSet {U : Set X} : Preperfect U ↔ U = relDerivedSet U := by
113+
simp [preperfect_iff_subset_derivedSet]
114+
98115
lemma perfect_iff_eq_derivedSet {U : Set X} : Perfect U ↔ U = derivedSet U := by
99116
rw [perfect_def, isClosed_iff_derivedSet_subset, preperfect_iff_subset_derivedSet,
100117
← subset_antisymm_iff, eq_comm]

0 commit comments

Comments
 (0)