Partitions #
A Partition of an element a in a complete lattice is an independent family of nontrivial
elements whose supremum is a.
An important special case is where s : Set α, where a Partition s corresponds to a partition
of the elements of s into a family of nonempty sets.
This is equivalent to a transitive and symmetric binary relation r : α → α → Prop
where s is the set of all x for which r x x.
Partitions are ordered by refinement: P ≤ Q if every part of P is less than or equal to a part
of Q.
Main definitions #
Partition s: For[CompleteLattice α]ands : α, aPartition sis an independent collection of nontrivial elements whose supremum iss.Partition.removeBot: A constructor forPartition sthat removes⊥from a set of parts.
TODO #
- Link this to
Finpartition.
A Partition of an element s of a CompleteLattice is a collection of
independent nontrivial elements whose supremum is s.
- parts : Set α
The collection of parts
- sSupIndep' : _root_.sSupIndep self.parts
The parts are
sSupIndep. The bottom element is not a part.
The supremum of all parts is
s.
Instances For
Equations
- Partition.instSetLike = { coe := Partition.parts, coe_injective' := ⋯ }
The natural equivalence between the subtype of parts and the subtype of parts of a copy.
Equations
- P.partscopyEquiv hst = Equiv.setCongr ⋯
Instances For
A constructor for Partition s that removes ⊥ from the set of parts.
Equations
Instances For
There is a unique partition of ⊥.
Equations
- Partition.instUniqueBot = { default := Partition.removeBot ∅ ⋯ ⋯, uniq := ⋯ }
Partitions on s are ordered by refinement: P ≤ Q if every part of P is contained in a part
of Q.
The top partition of s is the partition with the single part s.
Equations
- Partition.instOrderTop = { top := Partition.removeBot {s} ⋯ ⋯, le_top := ⋯ }