namespace http://mathhub.info/MitM/core/typedsets ❚
import base http://mathhub.info/MitM/Foundation ❚
theory UpDownSet : base:?Logic =
include ?POSet ❙
upset : {P : poset} (set (P.universe)) ⟶ bool ❘ = [P,F] ∀[x] ∀[y] x ∈ F ∧ (P.ord) x y ⇒ y ∈ F ❘ # upset 2❙
downset : {P : poset} (set (P.universe)) ⟶ bool ❘ = [P,F] ∀[x] ∀[y] x ∈ F ∧ (P.ord) y x ⇒ y ∈ F ❘ # downset 2❙
❚
theory filter : base:?Logic =
include ?POSet ❙
include ?UpDownSet ❙
include ?Relations ❙
include ?LeastMost ❙
include ?DirectedSet❙
prop_isFilter : {P : poset} (set (P.universe)) ⟶ bool ❘ = [P,F] upset F ∧ (P.prop_directedSubset) F ❘ # isFilter 2❙
prop_isProperFilter : {P : poset} (set (P.universe)) ⟶ bool ❘ = [P,F] isFilter F ∧ ¬ F ≐ fullset (P.universe) ❙
prop_isUltrafilter : {P : poset} (set (P.universe)) ⟶ bool ❘ = [P,F] isGreatest F ([x] isFilter x) ([x,y] subset (P.universe) x y) ❙
❚