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
    instance Partition.instSetLike {α : Type u_1} [CompleteLattice α] {s : α} :
    Equations
      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
            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 \ {}