Lattice structure on finite sets #
This file puts a lattice structure on finite sets using the union and intersection operators.
For Finset α
, where α
is a lattice, see also Mathlib/Data/Finset/Lattice/Fold.lean
.
Main declarations #
There is a natural lattice structure on the subsets of a set.
In Lean, we use lattice notation to talk about things involving unions and intersections. See
Mathlib/Order/Lattice.lean
. For the lattice structure on finsets, ⊥
is called bot
with
⊥ = ∅
and ⊤
is called top
with ⊤ = univ
.
Finset.instHasSubsetFinset
: Lots of API about lattices, otherwise behaves as one would expect.Finset.instUnionFinset
: Definess ∪ t
(ors ⊔ t
) as the union ofs
andt
. SeeFinset.sup
/Finset.biUnion
for finite unions.Finset.instInterFinset
: Definess ∩ t
(ors ⊓ t
) as the intersection ofs
andt
. SeeFinset.inf
for finite intersections.
Operations on two or more finsets #
Finset.instUnionFinset
: see "The lattice structure on subsets of finsets"Finset.instInterFinset
: see "The lattice structure on subsets of finsets"Finset.instSDiffFinset
: Defines the set differences \ t
for finsetss
andt
.
Tags #
finite sets, finset
Lattice structure #
s ∪ t
is the set such that a ∈ s ∪ t
iff a ∈ s
or a ∈ t
.
s ∩ t
is the set such that a ∈ s ∩ t
iff a ∈ s
and a ∈ t
.
Equations
- Finset.instLattice = Lattice.mk (fun (x1 x2 : Finset α) => x1 ∩ x2) ⋯ ⋯ ⋯
union #
Equations
- Finset.instDistribLattice = DistribLattice.mk ⋯
Alias of Finset.inter_union_distrib_left
.
Alias of Finset.union_inter_distrib_right
.
Alias of Finset.union_inter_distrib_left
.
Alias of Finset.inter_union_distrib_right
.