@@ -287,6 +287,17 @@ theorem has_basis.le_basis_iff (hl : l.has_basis p s) (hl' : l'.has_basis p' s')
287
287
l ≤ l' ↔ ∀ i', p' i' → ∃ i (hi : p i), s i ⊆ s' i' :=
288
288
by simp only [hl'.ge_iff, hl.mem_iff]
289
289
290
+ lemma has_basis.ext (hl : l.has_basis p s) (hl' : l'.has_basis p' s')
291
+ (h : ∀ i, p i → ∃ i', p' i' ∧ s' i' ⊆ s i)
292
+ (h' : ∀ i', p' i' → ∃ i, p i ∧ s i ⊆ s' i') : l = l' :=
293
+ begin
294
+ apply le_antisymm,
295
+ { rw hl.le_basis_iff hl',
296
+ simpa using h' },
297
+ { rw hl'.le_basis_iff hl,
298
+ simpa using h },
299
+ end
300
+
290
301
lemma has_basis.inf (hl : l.has_basis p s) (hl' : l'.has_basis p' s') :
291
302
(l ⊓ l').has_basis (λ i : ι × ι', p i.1 ∧ p' i.2 ) (λ i, s i.1 ∩ s' i.2 ) :=
292
303
⟨begin
@@ -299,6 +310,23 @@ lemma has_basis.inf (hl : l.has_basis p s) (hl' : l'.has_basis p' s') :
299
310
use [s i, i, hi, subset.refl _, s' i', i', hi', subset.refl _, H] }
300
311
end ⟩
301
312
313
+ lemma has_basis.sup (hl : l.has_basis p s) (hl' : l'.has_basis p' s') :
314
+ (l ⊔ l').has_basis (λ i : ι × ι', p i.1 ∧ p' i.2 ) (λ i, s i.1 ∪ s' i.2 ) :=
315
+ ⟨begin
316
+ rintros t,
317
+ rw [mem_sup_sets, hl.mem_iff, hl'.mem_iff],
318
+ split,
319
+ { rintros ⟨⟨i, pi, hi⟩, ⟨i', pi', hi'⟩⟩,
320
+ use [(i, i'), pi, pi'],
321
+ finish },
322
+ { rintros ⟨⟨i, i'⟩, ⟨⟨pi, pi'⟩, h⟩⟩,
323
+ split,
324
+ { use [i, pi],
325
+ finish },
326
+ { use [i', pi'],
327
+ finish } }
328
+ end ⟩
329
+
302
330
lemma has_basis.inf_principal (hl : l.has_basis p s) (s' : set α) :
303
331
(l ⊓ 𝓟 s').has_basis p (λ i, s i ∩ s') :=
304
332
⟨λ t, by simp only [mem_inf_principal, hl.mem_iff, subset_def, mem_set_of_eq,
@@ -332,6 +360,11 @@ lemma has_basis_binfi_principal {s : β → set α} {S : set β} (h : directed_o
332
360
exact λ _ _, principal_mono.2
333
361
end ⟩
334
362
363
+ lemma has_basis_binfi_principal'
364
+ (h : ∀ i, p i → ∀ j, p j → ∃ k (h : p k), s k ⊆ s i ∧ s k ⊆ s j) (ne : ∃ i, p i) :
365
+ (⨅ i (h : p i), 𝓟 (s i)).has_basis p s :=
366
+ filter.has_basis_binfi_principal h ne
367
+
335
368
lemma has_basis.map (f : α → β) (hl : l.has_basis p s) :
336
369
(l.map f).has_basis p (λ i, f '' (s i)) :=
337
370
⟨λ t, by simp only [mem_map, image_subset_iff, hl.mem_iff, preimage]⟩
0 commit comments