Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 6dfa952

Browse files
committed
refactor(order/filter): make `filter.has_mem semireducible (#4807)
This way `simp only []` does not simplify `s ∈ f` to `s ∈ f.sets`. * Add protected simp lemmas `filter.mem_mk` and `filter.mem_sets`. * Use implicit argument in `filter.mem_generate_iff`. * Use `∃ t, s ∈ ...` instead of `s ∈ ⋃ t, ...` in `filter.mem_infi_finite` and `filter.mem_infi_finite'`. * Use an implicit argument in `(non/ne_)empty_of_mem_ultrafilter`.
1 parent 7807f3d commit 6dfa952

File tree

11 files changed

+66
-80
lines changed

11 files changed

+66
-80
lines changed

src/analysis/calculus/fderiv.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2165,7 +2165,7 @@ lemma fderiv_const_mul (hc : differentiable_at 𝕜 c x) (d : 𝕜) :
21652165
end mul
21662166

21672167
section algebra_inverse
2168-
variables {R :Type*} [normed_ring R] [normed_algebra 𝕜 R] [complete_space R]
2168+
variables {R : Type*} [normed_ring R] [normed_algebra 𝕜 R] [complete_space R]
21692169
open normed_ring continuous_linear_map ring
21702170

21712171
/-- At an invertible element `x` of a normed algebra `R`, the Fréchet derivative of the inversion

src/data/analysis/topology.lean

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,9 @@ is_open_iff_nhds.2 $ λ a m, by simpa using F.mem_nhds.2 ⟨s, m, subset.refl _
107107
theorem ext' [T : topological_space α] {σ : Type*} {F : ctop α σ}
108108
(H : ∀ a s, s ∈ 𝓝 a ↔ ∃ b, a ∈ F b ∧ F b ⊆ s) :
109109
F.to_topsp = T :=
110-
topological_space_eq $ funext $ λ s, begin
111-
have : ∀ T s, @topological_space.is_open _ T s ↔ _ := @is_open_iff_mem_nhds α,
112-
rw [this, this],
113-
apply congr_arg (λ f : α → filter α, ∀ a ∈ s, s ∈ f a),
114-
funext a, apply filter_eq, apply set.ext, intro x,
110+
begin
111+
refine eq_of_nhds_eq_nhds (λ x, _),
112+
ext s,
115113
rw [mem_nhds_to_topsp, H]
116114
end
117115

src/order/filter/basic.lean

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,15 @@ structure filter (α : Type*) :=
9595
(inter_sets {x y} : x ∈ sets → y ∈ sets → x ∩ y ∈ sets)
9696

9797
/-- If `F` is a filter on `α`, and `U` a subset of `α` then we can write `U ∈ F` as on paper. -/
98-
@[reducible]
9998
instance {α : Type*}: has_mem (set α) (filter α) := ⟨λ U F, U ∈ F.sets⟩
10099

101100
namespace filter
102101
variables {α : Type u} {f g : filter α} {s t : set α}
103102

103+
@[simp] protected lemma mem_mk {t : set (set α)} {h₁ h₂ h₃} : s ∈ mk t h₁ h₂ h₃ ↔ s ∈ t := iff.rfl
104+
105+
@[simp] protected lemma mem_sets : s ∈ f.sets ↔ s ∈ f := iff.rfl
106+
104107
instance inhabited_mem : inhabited {s : set α // s ∈ f} := ⟨⟨univ, f.univ_sets⟩⟩
105108

106109
lemma filter_eq : ∀{f g : filter α}, f.sets = g.sets → f = g
@@ -110,7 +113,7 @@ lemma filter_eq_iff : f = g ↔ f.sets = g.sets :=
110113
⟨congr_arg _, filter_eq⟩
111114

112115
protected lemma ext_iff : f = g ↔ ∀ s, s ∈ f ↔ s ∈ g :=
113-
by rw [filter_eq_iff, ext_iff]
116+
by simp only [filter_eq_iff, ext_iff, filter.mem_sets]
114117

115118
@[ext]
116119
protected lemma ext : (∀ s, s ∈ f ↔ s ∈ g) → f = g :=
@@ -218,7 +221,7 @@ section join
218221
/-- The join of a filter of filters is defined by the relation `s ∈ join f ↔ {t | s ∈ t} ∈ f`. -/
219222
def join (f : filter (filter α)) : filter α :=
220223
{ sets := {s | {t : filter α | s ∈ t} ∈ f},
221-
univ_sets := by simp only [univ_mem_sets, mem_set_of_eq]; exact univ_mem_sets,
224+
univ_sets := by simp only [mem_set_of_eq, univ_sets, ← filter.mem_sets, set_of_true],
222225
sets_of_superset := assume x y hx xy,
223226
mem_sets_of_superset hx $ assume f h, mem_sets_of_superset h xy,
224227
inter_sets := assume x y hx hy,
@@ -260,7 +263,8 @@ iff.intro
260263
(assume x y _ hxy hx, mem_sets_of_superset hx hxy)
261264
(assume x y _ _ hx hy, inter_mem_sets hx hy))
262265

263-
lemma mem_generate_iff (s : set $ set α) {U : set α} : U ∈ generate s ↔ ∃ t ⊆ s, finite t ∧ ⋂₀ t ⊆ U :=
266+
lemma mem_generate_iff {s : set $ set α} {U : set α} :
267+
U ∈ generate s ↔ ∃ t ⊆ s, finite t ∧ ⋂₀ t ⊆ U :=
264268
begin
265269
split ; intro h,
266270
{ induction h with V V_in V W V_in hVW hV V W V_in W_in hV hW,
@@ -295,8 +299,9 @@ end
295299
protected def mk_of_closure (s : set (set α)) (hs : (generate s).sets = s) : filter α :=
296300
{ sets := s,
297301
univ_sets := hs ▸ (univ_mem_sets : univ ∈ generate s),
298-
sets_of_superset := assume x y, hs ▸ (mem_sets_of_superset : x ∈ generate s → x ⊆ y → y ∈ generate s),
299-
inter_sets := assume x y, hs ▸ (inter_mem_sets : x ∈ generate s → y ∈ generate s → x ∩ y ∈ generate s) }
302+
sets_of_superset := λ x y, hs ▸ (mem_sets_of_superset : x ∈ generate s → x ⊆ y → y ∈ generate s),
303+
inter_sets := λ x y, hs ▸ (inter_mem_sets : x ∈ generate s → y ∈ generate s →
304+
x ∩ y ∈ generate s) }
300305

301306
lemma mk_of_closure_sets {s : set (set α)} {hs : (generate s).sets = s} :
302307
filter.mk_of_closure s hs = generate s :=
@@ -438,7 +443,7 @@ iff.rfl
438443

439444
@[simp] lemma mem_supr_sets {x : set α} {f : ι → filter α} :
440445
x ∈ supr f ↔ (∀i, x ∈ f i) :=
441-
by simp only [supr_sets_eq, iff_self, mem_Inter]
446+
by simp only [← filter.mem_sets, supr_sets_eq, iff_self, mem_Inter]
442447

443448
lemma infi_eq_generate (s : ι → filter α) : infi s = generate (⋃ i, (s i).sets) :=
444449
show generate _ = generate _, from congr_arg _ supr_range
@@ -590,25 +595,24 @@ let ⟨i⟩ := ne, u := { filter .
590595
rcases h a b with ⟨c, ha, hb⟩,
591596
exact ⟨c, inter_mem_sets (ha hx) (hb hy)⟩
592597
end } in
593-
have u = infi f, from eq_infi_of_mem_sets_iff_exists_mem (λ s, by simp only [mem_Union]),
598+
have u = infi f, from eq_infi_of_mem_sets_iff_exists_mem
599+
(λ s, by simp only [filter.mem_mk, mem_Union, filter.mem_sets]),
594600
congr_arg filter.sets this.symm
595601

596602
lemma mem_infi {f : ι → filter α} (h : directed (≥) f) [nonempty ι] (s) :
597603
s ∈ infi f ↔ ∃ i, s ∈ f i :=
598-
by simp only [infi_sets_eq h, mem_Union]
599-
600-
lemma binfi_sets_eq {f : β → filter α} {s : set β}
601-
(h : directed_on (f ⁻¹'o (≥)) s) (ne : s.nonempty) :
602-
(⨅ i∈s, f i).sets = (⋃ i ∈ s, (f i).sets) :=
603-
by haveI := ne.to_subtype;
604-
calc (⨅ i ∈ s, f i).sets = (⨅ t : {t // t ∈ s}, (f t.val)).sets : by rw [infi_subtype]; refl
605-
... = (⨆ t : {t // t ∈ s}, (f t.val).sets) : infi_sets_eq h.directed_coe
606-
... = (⨆ t ∈ s, (f t).sets) : by rw [supr_subtype]; refl
604+
by simp only [← filter.mem_sets, infi_sets_eq h, mem_Union]
607605

608606
lemma mem_binfi {f : β → filter α} {s : set β}
609607
(h : directed_on (f ⁻¹'o (≥)) s) (ne : s.nonempty) {t : set α} :
610608
t ∈ (⨅ i∈s, f i) ↔ ∃ i ∈ s, t ∈ f i :=
611-
by simp only [binfi_sets_eq h ne, mem_bUnion_iff]
609+
by haveI : nonempty {x // x ∈ s} := ne.to_subtype;
610+
erw [infi_subtype', mem_infi h.directed_coe, subtype.exists]; refl
611+
612+
lemma binfi_sets_eq {f : β → filter α} {s : set β}
613+
(h : directed_on (f ⁻¹'o (≥)) s) (ne : s.nonempty) :
614+
(⨅ i∈s, f i).sets = (⋃ i ∈ s, (f i).sets) :=
615+
ext $ λ t, by simp [mem_binfi h ne]
612616

613617
lemma infi_sets_eq_finite {ι : Type*} (f : ι → filter α) :
614618
(⨅i, f i).sets = (⋃t:finset ι, (⨅i∈t, f i).sets) :=
@@ -622,21 +626,19 @@ lemma infi_sets_eq_finite' (f : ι → filter α) :
622626
by rw [← infi_sets_eq_finite, ← equiv.plift.surjective.infi_comp]; refl
623627

624628
lemma mem_infi_finite {ι : Type*} {f : ι → filter α} (s) :
625-
s ∈ infi f ↔ s ∈ ⋃t:finset ι, (⨅i∈t, f i).sets :=
626-
set.ext_iff.1 (infi_sets_eq_finite f) s
629+
s ∈ infi f ↔ t:finset ι, s ∈ ⨅i∈t, f i :=
630+
(set.ext_iff.1 (infi_sets_eq_finite f) s).trans mem_Union
627631

628632
lemma mem_infi_finite' {f : ι → filter α} (s) :
629-
s ∈ infi f ↔ s ∈ ⋃t:finset (plift ι), (⨅i∈t, f (plift.down i)).sets :=
630-
set.ext_iff.1 (infi_sets_eq_finite' f) s
633+
s ∈ infi f ↔ t:finset (plift ι), s ∈ ⨅i∈t, f (plift.down i) :=
634+
(set.ext_iff.1 (infi_sets_eq_finite' f) s).trans mem_Union
631635

632636
@[simp] lemma sup_join {f₁ f₂ : filter (filter α)} : (join f₁ ⊔ join f₂) = join (f₁ ⊔ f₂) :=
633-
filter_eq $ set.ext $ assume x,
634-
by simp only [supr_sets_eq, join, mem_sup_sets, iff_self, mem_set_of_eq]
637+
filter.ext $ λ x, by simp only [mem_sup_sets, mem_join_sets]
635638

636639
@[simp] lemma supr_join {ι : Sort w} {f : ι → filter (filter α)} :
637640
(⨆x, join (f x)) = join (⨆x, f x) :=
638-
filter_eq $ set.ext $ assume x,
639-
by simp only [supr_sets_eq, join, iff_self, mem_Inter, mem_set_of_eq]
641+
filter.ext $ assume x, by simp only [mem_supr_sets, mem_join_sets]
640642

641643
instance : bounded_distrib_lattice (filter α) :=
642644
{ le_sup_inf :=
@@ -751,7 +753,7 @@ lemma infi_sets_induct {f : ι → filter α} {s : set α} (hs : s ∈ infi f) {
751753
(upw : ∀{s₁ s₂}, s₁ ⊆ s₂ → p s₁ → p s₂) : p s :=
752754
begin
753755
rw [mem_infi_finite'] at hs,
754-
simp only [mem_Union, (finset.inf_eq_infi _ _).symm] at hs,
756+
simp only [finset.inf_eq_infi] at hs,
755757
rcases hs with ⟨is, his⟩,
756758
revert s,
757759
refine finset.induction_on is _ _,
@@ -770,12 +772,10 @@ le_antisymm
770772
(by simp [le_inf_iff, inter_subset_left, inter_subset_right])
771773

772774
@[simp] lemma sup_principal {s t : set α} : 𝓟 s ⊔ 𝓟 t = 𝓟 (s ∪ t) :=
773-
filter_eq $ set.ext $
774-
by simp only [union_subset_iff, union_subset_iff, mem_sup_sets, forall_const, iff_self, mem_principal_sets]
775+
filter.ext $ λ u, by simp only [union_subset_iff, mem_sup_sets, mem_principal_sets]
775776

776777
@[simp] lemma supr_principal {ι : Sort w} {s : ι → set α} : (⨆x, 𝓟 (s x)) = 𝓟 (⋃i, s i) :=
777-
filter_eq $ set.ext $ assume x, by simp only [supr_sets_eq, mem_principal_sets, mem_Inter];
778-
exact (@supr_le_iff (set α) _ _ _ _).symm
778+
filter.ext $ assume x, by simp only [mem_supr_sets, mem_principal_sets, Union_subset_iff]
779779

780780
@[simp] lemma principal_eq_bot_iff {s : set α} : 𝓟 s = ⊥ ↔ s = ∅ :=
781781
empty_in_sets_eq_bot.symm.trans $ mem_principal_sets.trans subset_empty_iff
@@ -1722,13 +1722,13 @@ lemma ne_bot.map (hf : ne_bot f) (m : α → β) : ne_bot (map m f) :=
17221722
instance map_ne_bot [hf : ne_bot f] : ne_bot (f.map m) := hf.map m
17231723

17241724
lemma sInter_comap_sets (f : α → β) (F : filter β) :
1725-
⋂₀(comap f F).sets = ⋂ U ∈ F, f ⁻¹' U :=
1725+
⋂₀ (comap f F).sets = ⋂ U ∈ F, f ⁻¹' U :=
17261726
begin
17271727
ext x,
17281728
suffices : (∀ (A : set α) (B : set β), B ∈ F → f ⁻¹' B ⊆ A → x ∈ A) ↔
17291729
∀ (B : set β), B ∈ F → f x ∈ B,
1730-
by simp only [mem_sInter, mem_Inter, mem_comap_sets, this, and_imp, mem_comap_sets, exists_prop, mem_sInter,
1731-
iff_self, mem_Inter, mem_preimage, exists_imp_distrib],
1730+
by simp only [mem_sInter, mem_Inter, filter.mem_sets, mem_comap_sets, this, and_imp,
1731+
mem_comap_sets, exists_prop, mem_sInter, mem_Inter, mem_preimage, exists_imp_distrib],
17321732
split,
17331733
{ intros h U U_in,
17341734
simpa only [set.subset.refl, forall_prop_of_true, mem_preimage] using h (f ⁻¹' U) U U_in },
@@ -1748,7 +1748,7 @@ le_antisymm
17481748
map_infi_le
17491749
(assume s (hs : preimage m s ∈ infi f),
17501750
have ∃i, preimage m s ∈ f i,
1751-
by simp only [infi_sets_eq hf, mem_Union] at hs; assumption,
1751+
by simp only [mem_infi hf, mem_Union] at hs; assumption,
17521752
let ⟨i, hi⟩ := this in
17531753
have (⨅ i, map m (f i)) ≤ 𝓟 s, from
17541754
infi_le_of_le i $ by simp only [le_principal_iff, mem_map]; assumption,
@@ -1770,7 +1770,7 @@ lemma map_inf' {f g : filter α} {m : α → β} {t : set α} (htf : t ∈ f) (h
17701770
(h : ∀x∈t, ∀y∈t, m x = m y → x = y) : map m (f ⊓ g) = map m f ⊓ map m g :=
17711771
begin
17721772
refine le_antisymm map_inf_le (assume s hs, _),
1773-
simp only [map, mem_inf_sets, exists_prop, mem_map, mem_preimage, mem_inf_sets] at hs ⊢,
1773+
simp only [mem_inf_sets, exists_prop, mem_map, mem_preimage, mem_inf_sets] at hs ⊢,
17741774
rcases hs with ⟨t₁, h₁, t₂, h₂, hs⟩,
17751775
refine ⟨m '' (t₁ ∩ t), _, m '' (t₂ ∩ t), _, _⟩,
17761776
{ filter_upwards [h₁, htf] assume a h₁ h₂, mem_image_of_mem _ ⟨h₁, h₂⟩ },

src/order/filter/lift.lean

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -91,19 +91,16 @@ infi_le_infi $ assume s, infi_le_infi $ assume hs, hg s hs
9191
lemma map_lift_eq {m : β → γ} (hg : monotone g) : map m (f.lift g) = f.lift (map m ∘ g) :=
9292
have monotone (map m ∘ g),
9393
from map_mono.comp hg,
94-
filter_eq $ set.ext $
95-
by simp only [mem_lift_sets hg, mem_lift_sets this, exists_prop, forall_const, mem_map, iff_self,
96-
function.comp_app]
94+
filter.ext $ λ s,
95+
by simp only [mem_lift_sets hg, mem_lift_sets this, exists_prop, mem_map, function.comp_app]
9796

9897
lemma comap_lift_eq {m : γ → β} (hg : monotone g) : comap m (f.lift g) = f.lift (comap m ∘ g) :=
9998
have monotone (comap m ∘ g),
10099
from comap_mono.comp hg,
101-
filter_eq $ set.ext begin
102-
simp only [mem_lift_sets hg, mem_lift_sets this, comap, mem_lift_sets, mem_set_of_eq, exists_prop,
103-
function.comp_apply],
104-
exact λ s,
105-
⟨λ ⟨b, ⟨a, ha, hb⟩, hs⟩, ⟨a, ha, b, hb, hs⟩,
106-
λ ⟨a, ha, b, hb, hs⟩, ⟨b, ⟨a, ha, hb⟩, hs⟩⟩
100+
begin
101+
ext,
102+
simp only [mem_lift_sets hg, mem_lift_sets this, mem_comap_sets, exists_prop, mem_lift_sets],
103+
exact ⟨λ ⟨b, ⟨a, ha, hb⟩, hs⟩, ⟨a, ha, b, hb, hs⟩, λ ⟨a, ha, b, hb, hs⟩, ⟨b, ⟨a, ha, hb⟩, hs⟩⟩
107104
end
108105

109106
theorem comap_lift_eq2 {m : β → α} {g : set β → filter γ} (hg : monotone g) :

src/order/filter/partial.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Relations.
1818
-/
1919

2020
def rmap (r : rel α β) (f : filter α) : filter β :=
21-
{ sets := r.core ⁻¹' f.sets,
21+
{ sets := {s | r.core s ∈ f},
2222
univ_sets := by { simp [rel.core], apply univ_mem_sets },
2323
sets_of_superset := assume s t hs st, mem_sets_of_superset hs $ rel.core_mono _ st,
2424
inter_sets := by { simp [set.preimage, rel.core_inter], exact λ s t, inter_mem_sets } }

src/order/filter/pointwise.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@ variables [monoid α] [monoid β] {f : filter α} (m : α → β)
130130

131131
@[to_additive]
132132
protected lemma map_mul [is_mul_hom m] {f₁ f₂ : filter α} : map m (f₁ * f₂) = map m f₁ * map m f₂ :=
133-
filter_eq $ set.ext $ assume s,
134133
begin
134+
ext s,
135135
simp only [mem_mul], split,
136136
{ rintro ⟨t₁, t₂, ht₁, ht₂, t₁t₂⟩,
137137
have : m '' (t₁ * t₂) ⊆ s := subset.trans (image_subset m t₁t₂) (image_preimage_subset _ _),

src/order/filter/ultrafilter.lean

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,11 @@ begin
6969
{ intros h s, conv_rhs {rw (show s = sᶜᶜ, by simp)}, exact h _, }
7070
end
7171

72-
lemma ne_empty_of_mem_ultrafilter (s : set α) : is_ultrafilter f → s ∈ f → s ≠ ∅ :=
73-
begin
74-
rintros h hs rfl,
75-
replace h := ((ultrafilter_iff_compl_mem_iff_not_mem'.mp h) ∅).mp hs,
76-
finish [f.univ_sets],
77-
end
72+
lemma nonempty_of_mem_ultrafilter {s : set α} (hf : is_ultrafilter f) (hs : s ∈ f) : s.nonempty :=
73+
hf.1.nonempty_of_mem hs
7874

79-
lemma nonempty_of_mem_ultrafilter (s : set α) : is_ultrafilter fs ∈ f → s.nonempty :=
80-
λ hf hs, ne_empty_iff_nonempty.mp (ne_empty_of_mem_ultrafilter _ hf hs)
75+
lemma ne_empty_of_mem_ultrafilter {s : set α} (hf : is_ultrafilter f) (hs : s ∈ f) : s ≠ ∅ :=
76+
(nonempty_of_mem_ultrafilter hf hs).ne_empty
8177

8278
lemma mem_or_compl_mem_of_ultrafilter (hf : is_ultrafilter f) (s : set α) :
8379
s ∈ f ∨ sᶜ ∈ f :=
@@ -126,17 +122,13 @@ lemma ultrafilter_map {f : filter α} {m : α → β} (h : is_ultrafilter f) :
126122
by rw ultrafilter_iff_compl_mem_iff_not_mem at ⊢ h; exact assume s, h (m ⁻¹' s)
127123

128124
lemma ultrafilter_pure {a : α} : is_ultrafilter (pure a) :=
129-
begin
130-
rw ultrafilter_iff_compl_mem_iff_not_mem, intro s,
131-
rw [mem_pure_sets, mem_pure_sets], exact iff.rfl
132-
end
125+
by simp [ultrafilter_iff_compl_mem_iff_not_mem]
133126

134127
lemma ultrafilter_bind {f : filter α} (hf : is_ultrafilter f) {m : α → filter β}
135128
(hm : ∀ a, is_ultrafilter (m a)) : is_ultrafilter (f.bind m) :=
136129
begin
137130
simp only [ultrafilter_iff_compl_mem_iff_not_mem] at ⊢ hf hm, intro s,
138-
dsimp [bind, join, map, preimage],
139-
simp only [hm], apply hf
131+
simp only [mem_bind_sets', hm, ← compl_set_of, hf]
140132
end
141133

142134
/-- The ultrafilter lemma: Any proper filter is contained in an ultrafilter. -/
@@ -175,7 +167,7 @@ begin
175167
refine ⟨_, λ T hT, filter.generate_sets.basic hT⟩,
176168
rw ← forall_sets_nonempty_iff_ne_bot,
177169
intros T hT,
178-
rcases (mem_generate_iff _).mp hT with ⟨A, h1, h2, h3⟩,
170+
rcases mem_generate_iff.mp hT with ⟨A, h1, h2, h3⟩,
179171
let B := set.finite.to_finset h2,
180172
rw (show A = ↑B, by simp) at *,
181173
rcases cond B h1 with ⟨x, hx⟩,
@@ -224,7 +216,7 @@ begin
224216
simpa [subset_def, and_comm] using this },
225217
resetI,
226218
rcases exists_ultrafilter f' with ⟨g', g'f', u'⟩,
227-
simp only [supr_sets_eq, mem_Inter] at hs,
219+
simp only [mem_supr_sets, mem_Inter] at hs,
228220
have := hs (g'.map coe) (ultrafilter_map u') (map_le_iff_le_comap.mpr g'f'),
229221
rw [←le_principal_iff, map_le_iff_le_comap, comap_principal, j_inv_s, principal_empty,
230222
le_bot_iff] at this,

src/topology/category/Compactum.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,14 +204,14 @@ begin
204204
-- All sets in C0 are nonempty.
205205
have claim2 : ∀ B ∈ C0, set.nonempty B,
206206
{ rintros B ⟨Q,hQ,rfl⟩,
207-
obtain ⟨q⟩ := nonempty_of_mem_ultrafilter _ F.2 hQ,
207+
obtain ⟨q⟩ := nonempty_of_mem_ultrafilter F.2 hQ,
208208
use X.incl q,
209209
simpa, },
210210
-- The intersection of AA with every set in C0 is nonempty.
211211
have claim3 : ∀ B ∈ C0, (AA ∩ B).nonempty,
212212
{ rintros B ⟨Q,hQ,rfl⟩,
213213
have : (Q ∩ cl A).nonempty,
214-
{ apply nonempty_of_mem_ultrafilter _ F.2,
214+
{ apply nonempty_of_mem_ultrafilter F.2,
215215
exact F.1.inter_sets hQ hF },
216216
rcases this with ⟨q,hq1,P,hq2,hq3⟩,
217217
refine ⟨P,hq2,_⟩,

src/topology/metric_space/gluing.lean

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ universes u v w
5353
variables {α : Type u} {β : Type v} {γ : Type w}
5454

5555
open function set premetric
56+
open_locale uniformity
5657

5758
namespace metric
5859
section approx_gluing
@@ -285,7 +286,7 @@ lemma sum.one_dist_le' {x : α} {y : β} : 1 ≤ sum.dist (inr y) (inl x) :=
285286
by rw sum.dist_comm; exact sum.one_dist_le
286287

287288
private lemma sum.mem_uniformity (s : set ((α ⊕ β) × (α ⊕ β))) :
288-
s ∈ (@uniformity (α ⊕ β) _).sets ↔ ∃ ε > 0, ∀ a b, sum.dist a b < ε → (a, b) ∈ s :=
289+
s ∈ 𝓤 (α ⊕ β) ↔ ∃ ε > 0, ∀ a b, sum.dist a b < ε → (a, b) ∈ s :=
289290
begin
290291
split,
291292
{ rintro ⟨hsα, hsβ⟩,
@@ -298,13 +299,13 @@ begin
298299
{ cases not_le_of_lt (lt_of_lt_of_le h (min_le_right _ _)) sum.one_dist_le' },
299300
{ exact hβ (lt_of_lt_of_le h (le_trans (min_le_left _ _) (min_le_right _ _))) } },
300301
{ rintro ⟨ε, ε0, H⟩,
301-
split; rw [filter.mem_map, mem_uniformity_dist];
302+
split; rw [filter.mem_sets, filter.mem_map, mem_uniformity_dist];
302303
exact ⟨ε, ε0, λ x y h, H _ _ (by exact h)⟩ }
303304
end
304305

305-
/-- The distance on the disjoint union indeed defines a metric space. All the distance properties follow from our
306-
choice of the distance. The harder work is to show that the uniform structure defined by the distance coincides
307-
with the disjoint union uniform structure. -/
306+
/-- The distance on the disjoint union indeed defines a metric space. All the distance properties
307+
follow from our choice of the distance. The harder work is to show that the uniform structure
308+
defined by the distance coincides with the disjoint union uniform structure. -/
308309
def metric_space_sum : metric_space (α ⊕ β) :=
309310
{ dist := sum.dist,
310311
dist_self := λx, by cases x; simp only [sum.dist, dist_self],

src/topology/order.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,7 @@ end
533533

534534
theorem nhds_induced [T : topological_space α] (f : β → α) (a : β) :
535535
@nhds β (topological_space.induced f T) a = comap f (𝓝 (f a)) :=
536-
filter_eq $ by ext s; rw mem_nhds_induced; rw mem_comap_sets
536+
by { ext s, rw [mem_nhds_induced, mem_comap_sets] }
537537

538538
lemma induced_iff_nhds_eq [tα : topological_space α] [tβ : topological_space β] (f : β → α) :
539539
tβ = tα.induced f ↔ ∀ b, 𝓝 b = comap f (𝓝 $ f b) :=

0 commit comments

Comments
 (0)