@@ -850,11 +850,15 @@ structure HasAntitoneBasis (l : Filter α) (s : ι'' → Set α)
850
850
protected antitone : Antitone s
851
851
#align filter.has_antitone_basis Filter.HasAntitoneBasis
852
852
853
- theorem HasAntitoneBasis.map {l : Filter α} {s : ι'' → Set α} {m : α → β }
854
- (hf : HasAntitoneBasis l s) : HasAntitoneBasis (map m l) fun n => m '' s n :=
853
+ protected theorem HasAntitoneBasis.map {l : Filter α} {s : ι'' → Set α}
854
+ (hf : HasAntitoneBasis l s) (m : α → β) : HasAntitoneBasis (map m l) ( m '' s ·) :=
855
855
⟨HasBasis.map _ hf.toHasBasis, fun _ _ h => image_subset _ <| hf.2 h⟩
856
856
#align filter.has_antitone_basis.map Filter.HasAntitoneBasis.map
857
857
858
+ protected theorem HasAntitoneBasis.comap {l : Filter α} {s : ι'' → Set α}
859
+ (hf : HasAntitoneBasis l s) (m : β → α) : HasAntitoneBasis (comap m l) (m ⁻¹' s ·) :=
860
+ ⟨hf.1 .comap _, fun _ _ h ↦ preimage_mono (hf.2 h)⟩
861
+
858
862
lemma HasAntitoneBasis.iInf_principal {ι : Type *} [Preorder ι] [Nonempty ι] [IsDirected ι (· ≤ ·)]
859
863
{s : ι → Set α} (hs : Antitone s) : (⨅ i, 𝓟 (s i)).HasAntitoneBasis s :=
860
864
⟨hasBasis_iInf_principal hs.directed_ge, hs⟩
@@ -1026,6 +1030,10 @@ theorem HasCountableBasis.isCountablyGenerated {f : Filter α} {p : ι → Prop}
1026
1030
⟨⟨{ t | ∃ i, p i ∧ s i = t }, h.countable.image s, h.toHasBasis.eq_generate⟩⟩
1027
1031
#align filter.has_countable_basis.is_countably_generated Filter.HasCountableBasis.isCountablyGenerated
1028
1032
1033
+ theorem HasBasis.isCountablyGenerated [Countable ι] {f : Filter α} {p : ι → Prop } {s : ι → Set α}
1034
+ (h : f.HasBasis p s) : f.IsCountablyGenerated :=
1035
+ HasCountableBasis.isCountablyGenerated ⟨h, to_countable _⟩
1036
+
1029
1037
theorem antitone_seq_of_seq (s : ℕ → Set α) :
1030
1038
∃ t : ℕ → Set α, Antitone t ∧ ⨅ i, 𝓟 (s i) = ⨅ i, 𝓟 (t i) := by
1031
1039
use fun n => ⋂ m ≤ n, s m; constructor
@@ -1128,21 +1136,20 @@ instance Inf.isCountablyGenerated (f g : Filter α) [IsCountablyGenerated f]
1128
1136
instance map.isCountablyGenerated (l : Filter α) [l.IsCountablyGenerated] (f : α → β) :
1129
1137
(map f l).IsCountablyGenerated :=
1130
1138
let ⟨_x, hxl⟩ := l.exists_antitone_basis
1131
- HasCountableBasis.isCountablyGenerated ⟨ hxl.map. 1 , to_countable _⟩
1139
+ ( hxl.map _).isCountablyGenerated
1132
1140
#align filter.map.is_countably_generated Filter.map.isCountablyGenerated
1133
1141
1134
1142
instance comap.isCountablyGenerated (l : Filter β) [l.IsCountablyGenerated] (f : α → β) :
1135
1143
(comap f l).IsCountablyGenerated :=
1136
1144
let ⟨_x, hxl⟩ := l.exists_antitone_basis
1137
- HasCountableBasis.isCountablyGenerated ⟨ hxl.1 . comap _, to_countable _⟩
1145
+ ( hxl.comap _).isCountablyGenerated
1138
1146
#align filter.comap.is_countably_generated Filter.comap.isCountablyGenerated
1139
1147
1140
1148
instance Sup.isCountablyGenerated (f g : Filter α) [IsCountablyGenerated f]
1141
1149
[IsCountablyGenerated g] : IsCountablyGenerated (f ⊔ g) := by
1142
1150
rcases f.exists_antitone_basis with ⟨s, hs⟩
1143
1151
rcases g.exists_antitone_basis with ⟨t, ht⟩
1144
- exact
1145
- HasCountableBasis.isCountablyGenerated ⟨hs.1 .sup ht.1 , Set.to_countable _⟩
1152
+ exact HasCountableBasis.isCountablyGenerated ⟨hs.1 .sup ht.1 , Set.to_countable _⟩
1146
1153
#align filter.sup.is_countably_generated Filter.Sup.isCountablyGenerated
1147
1154
1148
1155
instance prod.isCountablyGenerated (la : Filter α) (lb : Filter β) [IsCountablyGenerated la]
@@ -1157,7 +1164,7 @@ instance coprod.isCountablyGenerated (la : Filter α) (lb : Filter β) [IsCounta
1157
1164
1158
1165
end IsCountablyGenerated
1159
1166
1160
- theorem isCountablyGenerated_seq [Countable β ] (x : β → Set α) :
1167
+ theorem isCountablyGenerated_seq [Countable ι' ] (x : ι' → Set α) :
1161
1168
IsCountablyGenerated (⨅ i, 𝓟 (x i)) := by
1162
1169
use range x, countable_range x
1163
1170
rw [generate_eq_biInf, iInf_range]
0 commit comments