Documentation

Mathlib.Order.Partition.Basic

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.

Main definitions #

TODO #

structure Partition {α : Type u_1} [CompleteLattice α] (s : α) :
Type u_1

A Partition of an element s of a CompleteLattice is a collection of independent nontrivial elements whose supremum is s.

Instances For
    @[deprecated Partition.bot_notMem' (since := "2025-05-23")]
    theorem Partition.bot_not_mem' {α : Type u_1} [CompleteLattice α] {s : α} (self : Partition s) :
    self.parts

    Alias of Partition.bot_notMem'.


    The bottom element is not a part.

    instance Partition.instSetLike {α : Type u_1} [CompleteLattice α] {s : α} :
    Equations
      def Partition.Simps.coe {α : Type u_1} [CompleteLattice α] {s : α} (P : Partition s) :
      Set α

      See Note [custom simps projection].

      Equations
        Instances For
          @[simp]
          theorem Partition.coe_parts {α : Type u_1} {s : α} [CompleteLattice α] {P : Partition s} :
          P.parts = P
          theorem Partition.ext {α : Type u_1} {s : α} [CompleteLattice α] {P Q : Partition s} (hP : ∀ (x : α), x P x Q) :
          P = Q
          theorem Partition.ext_iff {α : Type u_1} {s : α} [CompleteLattice α] {P Q : Partition s} :
          P = Q ∀ (x : α), x P x Q
          @[simp]
          theorem Partition.sSupIndep {α : Type u_1} {s : α} [CompleteLattice α] (P : Partition s) :
          theorem Partition.disjoint {α : Type u_1} {s x y : α} [CompleteLattice α] {P : Partition s} (hx : x P) (hy : y P) (hxy : x y) :
          theorem Partition.pairwiseDisjoint {α : Type u_1} {s : α} [CompleteLattice α] {P : Partition s} :
          @[simp]
          theorem Partition.sSup_eq {α : Type u_1} {s : α} [CompleteLattice α] (P : Partition s) :
          sSup P = s
          @[simp]
          theorem Partition.iSup_eq {α : Type u_1} {s : α} [CompleteLattice α] (P : Partition s) :
          xP, x = s
          theorem Partition.le_of_mem {α : Type u_1} {s x : α} [CompleteLattice α] (P : Partition s) (hx : x P) :
          x s
          theorem Partition.parts_nonempty {α : Type u_1} {s : α} [CompleteLattice α] (P : Partition s) (hs : s ) :
          (↑P).Nonempty
          @[simp]
          theorem Partition.bot_notMem {α : Type u_1} {s : α} [CompleteLattice α] (P : Partition s) :
          P
          @[deprecated Partition.bot_notMem (since := "2025-05-23")]
          theorem Partition.bot_not_mem {α : Type u_1} {s : α} [CompleteLattice α] (P : Partition s) :
          P

          Alias of Partition.bot_notMem.

          theorem Partition.ne_bot_of_mem {α : Type u_1} {s x : α} [CompleteLattice α] {P : Partition s} (hx : x P) :
          theorem Partition.bot_lt_of_mem {α : Type u_1} {s x : α} [CompleteLattice α] {P : Partition s} (hx : x P) :
          < x
          def Partition.copy {α : Type u_1} {s : α} [CompleteLattice α] {t : α} (P : Partition s) (hst : s = t) :

          Convert a Partition s into a Partition t via an equality s = t.

          Equations
            Instances For
              @[simp]
              theorem Partition.coe_copy {α : Type u_1} {s : α} [CompleteLattice α] {t : α} (P : Partition s) (hst : s = t) :
              (P.copy hst) = P
              @[simp]
              theorem Partition.mem_copy_iff {α : Type u_1} {s : α} [CompleteLattice α] {t x : α} {P : Partition s} (hst : s = t) :
              x P.copy hst x P
              def Partition.partscopyEquiv {α : Type u_1} {s : α} [CompleteLattice α] {t : α} (P : Partition s) (hst : s = t) :
              (P.copy hst) P

              The natural equivalence between the subtype of parts and the subtype of parts of a copy.

              Equations
                Instances For
                  @[simp]
                  theorem Partition.partscopyEquiv_apply_coe {α : Type u_1} {s : α} [CompleteLattice α] {t : α} (P : Partition s) (hst : s = t) (a : { a : α // (fun (x : α) => x (P.copy hst)) a }) :
                  ((P.partscopyEquiv hst) a) = a
                  @[simp]
                  theorem Partition.partscopyEquiv_symm_apply_coe {α : Type u_1} {s : α} [CompleteLattice α] {t : α} (P : Partition s) (hst : s = t) (b : { b : α // (fun (x : α) => x P) b }) :
                  ((P.partscopyEquiv hst).symm b) = b
                  def Partition.removeBot {α : Type u_1} {s : α} [CompleteLattice α] (P : Set α) (indep : _root_.sSupIndep P) (sSup_eq : sSup P = s) :

                  A constructor for Partition s that removes from the set of parts.

                  Equations
                    Instances For
                      @[simp]
                      theorem Partition.coe_removeBot {α : Type u_1} {s : α} [CompleteLattice α] (P : Set α) (indep : _root_.sSupIndep P) (sSup_eq : sSup P = s) :
                      (removeBot P indep sSup_eq) = P \ {}