Skip to content

Commit e646e0a

Browse files
committed
extract
1 parent 22c2d19 commit e646e0a

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

Mathlib/Order/Filter/Cofinite.lean

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -286,20 +286,27 @@ A filter is free iff it is smaller than the cofinite filter.
286286
-/
287287
theorem le_cofinite_iff_ker (f : Filter α) : f ≤ cofinite ↔ f.ker = ∅ := by
288288
rw [le_cofinite_iff_compl_singleton_mem, ker_def, iInter₂_eq_empty_iff]
289-
refine forall_congr' fun x => ⟨fun h => ⟨{x}ᶜ, h, by simp⟩,
290-
fun ⟨s, hs, hx⟩ => f.mem_of_superset hs (by simpa using hx)⟩
289+
exact forall_congr' fun x => ⟨fun h => ⟨{x}ᶜ, h, by simp⟩,
290+
fun ⟨s, hs, hx⟩ => mem_of_superset hs (by simpa using hx)⟩
291+
292+
lemma eq_principal_ker_sup_inf_principal_ker_compl (f : Filter α) :
293+
f = 𝓟 f.ker ⊔ (f ⊓ 𝓟 f.kerᶜ) := by
294+
rw [sup_inf_left]
295+
simpa using gi_principal_ker.gc.l_u_le f
296+
297+
lemma inf_principal_ker_compl_le_cofinite (f : Filter α) : f ⊓ 𝓟 f.kerᶜ ≤ cofinite := by
298+
rw [le_cofinite_iff_ker, ker_inf, ker_principal, inter_compl_self]
291299

292300
/--
293301
Every filter is the disjoint supremum of a principal filter and a free filter in a unique way.
294302
-/
295303
theorem existsUnique_eq_principal_sup_free (f : Filter α) :
296304
∃! p : Set α × Filter α, p.2 ≤ cofinite ∧ Disjoint (𝓟 p.1) p.2 ∧ f = 𝓟 p.1 ⊔ p.2 := by
297305
refine ⟨(f.ker, f ⊓ 𝓟 f.kerᶜ), ⟨?_, ?_, ?_⟩, fun q hq => ?_⟩
298-
· rw [le_cofinite_iff_ker, ker_inf, ker_principal, inter_compl_self]
306+
· exact inf_principal_ker_compl_le_cofinite f
299307
· rw [disjoint_principal_left]
300308
exact mem_inf_of_right (mem_principal_self f.kerᶜ)
301-
· rw [sup_inf_left]
302-
simpa using gi_principal_ker.gc.l_u_le f
309+
· exact eq_principal_ker_sup_inf_principal_ker_compl f
303310
· have hqk := congrArg Filter.ker hq.2.2
304311
rw [ker_sup, ker_principal, (le_cofinite_iff_ker q.2).mp hq.1, union_empty] at hqk
305312
refine congrArg₂ Prod.mk hqk.symm (le_antisymm (le_inf ?_ ?_) ?_)

0 commit comments

Comments
 (0)