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 ofsandt. SeeFinset.sup/Finset.biUnionfor finite unions.Finset.instInterFinset: Definess ∩ t(ors ⊓ t) as the intersection ofsandt. SeeFinset.inffor 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 \ tfor finsetssandt.
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
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
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.