@[instance]
def
cfilter.has_coe_to_fun
{α : Type u_1}
{σ : Type u_3}
[partial_order α] :
has_coe_to_fun (cfilter α σ)
@[simp]
theorem
cfilter.coe_mk
{α : Type u_1}
{σ : Type u_3}
[partial_order α]
(f : σ → α)
(pt : σ)
(inf : σ → σ → σ)
(h₁ : ∀ (a b : σ), f (inf a b) ≤ f a)
(h₂ : ∀ (a b : σ), f (inf a b) ≤ f b)
(a : σ) :
⇑{f := f, pt := pt, inf := inf, inf_le_left := h₁, inf_le_right := h₂} a = f a
Map a cfilter to an equivalent representation type.
Equations
- cfilter.of_equiv E {f := f, pt := p, inf := g, inf_le_left := h₁, inf_le_right := h₂} = {f := λ (a : τ), f (⇑(E.symm) a), pt := ⇑E p, inf := λ (a b : τ), ⇑E (g (⇑(E.symm) a) (⇑(E.symm) b)), inf_le_left := _, inf_le_right := _}
@[simp]
theorem
cfilter.of_equiv_val
{α : Type u_1}
{σ : Type u_3}
{τ : Type u_4}
[partial_order α]
(E : σ ≃ τ)
(F : cfilter α σ)
(a : τ) :
A filter realizes itself.
Equations
- filter.realizer.of_filter f = {σ := ↥(f.sets), F := {f := subtype.val (λ (x : set α), x ∈ f.sets), pt := ⟨set.univ α, _⟩, inf := λ (_x : ↥(f.sets)), filter.realizer.of_filter._match_2 f _x, inf_le_left := _, inf_le_right := _}, eq := _}
- filter.realizer.of_filter._match_2 f ⟨x, h₁⟩ = λ (_x : ↥(f.sets)), filter.realizer.of_filter._match_1 f x h₁ _x
- filter.realizer.of_filter._match_1 f x h₁ ⟨y, h₂⟩ = ⟨x ∩ y, _⟩
unit
is a realizer for the principal filter
@[simp]
@[simp]
theorem
filter.realizer.principal_F
{α : Type u_1}
(s : set α)
(u : unit) :
⇑((filter.realizer.principal s).F) u = s
unit
is a realizer for the top filter
@[simp]
unit
is a realizer for the bottom filter
@[simp]
def
filter.realizer.map
{α : Type u_1}
{β : Type u_2}
(m : α → β)
{f : filter α} :
f.realizer → (filter.map m f).realizer
Construct a realizer for map m f
given a realizer for f
@[simp]
theorem
filter.realizer.map_σ
{α : Type u_1}
{β : Type u_2}
(m : α → β)
{f : filter α}
(F : f.realizer) :
(filter.realizer.map m F).σ = F.σ
@[simp]
theorem
filter.realizer.map_F
{α : Type u_1}
{β : Type u_2}
(m : α → β)
{f : filter α}
(F : f.realizer)
(s : (filter.realizer.map m F).σ) :
def
filter.realizer.comap
{α : Type u_1}
{β : Type u_2}
(m : α → β)
{f : filter β} :
f.realizer → (filter.comap m f).realizer
Construct a realizer for comap m f
given a realizer for f
Construct a realizer for the sup of two filters
Equations
- F.sup G = {σ := F.σ × G.σ, F := {f := λ (_x : F.σ × G.σ), filter.realizer.sup._match_1 F G _x, pt := (F.F.pt, G.F.pt), inf := λ (_x : F.σ × G.σ), filter.realizer.sup._match_3 F G _x, inf_le_left := _, inf_le_right := _}, eq := _}
- filter.realizer.sup._match_1 F G (s, t) = ⇑(F.F) s ∪ ⇑(G.F) t
- filter.realizer.sup._match_3 F G (a, a') = λ (_x : F.σ × G.σ), filter.realizer.sup._match_2 F G a a' _x
- filter.realizer.sup._match_2 F G a a' (b, b') = (F.F.inf a b, G.F.inf a' b')
Construct a realizer for the inf of two filters
Equations
- F.inf G = {σ := F.σ × G.σ, F := {f := λ (_x : F.σ × G.σ), filter.realizer.inf._match_1 F G _x, pt := (F.F.pt, G.F.pt), inf := λ (_x : F.σ × G.σ), filter.realizer.inf._match_3 F G _x, inf_le_left := _, inf_le_right := _}, eq := _}
- filter.realizer.inf._match_1 F G (s, t) = ⇑(F.F) s ∩ ⇑(G.F) t
- filter.realizer.inf._match_3 F G (a, a') = λ (_x : F.σ × G.σ), filter.realizer.inf._match_2 F G a a' _x
- filter.realizer.inf._match_2 F G a a' (b, b') = (F.F.inf a b, G.F.inf a' b')
Construct a realizer for the cofinite filter
Equations
- filter.realizer.cofinite = {σ := finset α, F := {f := λ (s : finset α), {a : α | a ∉ s}, pt := ∅, inf := has_union.union finset.has_union, inf_le_left := _, inf_le_right := _}, eq := _}
Construct a realizer for filter bind
Equations
- F.bind G = {σ := Σ (s : F.σ), Π (i : α), i ∈ ⇑(F.F) s → (G i).σ, F := {f := λ (_x : Σ (s : F.σ), Π (i : α), i ∈ ⇑(F.F) s → (G i).σ), filter.realizer.bind._match_1 F G _x, pt := ⟨F.F.pt, λ (i : α) (H : i ∈ ⇑(F.F) F.F.pt), (G i).F.pt⟩, inf := λ (_x : Σ (s : F.σ), Π (i : α), i ∈ ⇑(F.F) s → (G i).σ), filter.realizer.bind._match_3 F G _x, inf_le_left := _, inf_le_right := _}, eq := _}
- filter.realizer.bind._match_1 F G ⟨s, f_1⟩ = ⋃ (i : α) (H : i ∈ ⇑(F.F) s), ⇑((G i).F) (f_1 i H)
- filter.realizer.bind._match_3 F G ⟨a, f_1⟩ = λ (_x : Σ (s : F.σ), Π (i : α), i ∈ ⇑(F.F) s → (G i).σ), filter.realizer.bind._match_2 F G a f_1 _x
- filter.realizer.bind._match_2 F G a f_1 ⟨b, f'⟩ = ⟨F.F.inf a b, λ (i : α) (h : i ∈ ⇑(F.F) (F.F.inf a b)), (G i).F.inf (f_1 i _) (f' i _)⟩
Construct a realizer for indexed supremum
Equations
- filter.realizer.Sup F = let F' : (⨆ (i : α), f i).realizer := filter.realizer.of_eq filter.realizer.Sup._proof_1 (filter.realizer.top.bind F) in F'.of_equiv (show (Σ (u : unit), Π (i : α), true → (F i).σ) ≃ Π (i : α), (F i).σ, from {to_fun := λ (_x : Σ (u : unit), Π (i : α), true → (F i).σ), filter.realizer.Sup._match_1 F _x, inv_fun := λ (f_1 : Π (i : α), (F i).σ), ⟨(), λ (i : α) (_x : true), f_1 i⟩, left_inv := _, right_inv := _})
- filter.realizer.Sup._match_1 F ⟨_x, f_1⟩ = λ (i : α), f_1 i true.intro
Construct a realizer for the product of filters
Equations
- F.prod G = (filter.realizer.comap prod.fst F).inf (filter.realizer.comap prod.snd G)