Documentation

Mathlib.Data.Set.MemPartition

Partitions based on membership of a sequence of sets #

Let f : ℕ → Set α be a sequence of sets. For n : ℕ, we can form the set of points that are in f 0 ∪ f 1 ∪ ... ∪ f (n-1); then the set of points in (f 0)ᶜ ∪ f 1 ∪ ... ∪ f (n-1) and so on for all 2^n choices of a set or its complement. The at most 2^n sets we obtain form a partition of univ : Set α. We call that partition memPartition f n (the membership partition of f). For n = 0 we set memPartition f 0 = {univ}.

The partition memPartition f (n + 1) is finer than memPartition f n.

Main definitions #

Main statements #

def memPartition {α : Type u_1} (f : Set α) :
Set (Set α)

memPartition f n is the partition containing at most 2^(n+1) sets, where each set contains the points that for all i belong to one of f i or its complement.

Equations
    Instances For
      @[simp]
      theorem memPartition_zero {α : Type u_1} (f : Set α) :
      theorem memPartition_succ {α : Type u_1} (f : Set α) (n : ) :
      memPartition f (n + 1) = {s : Set α | umemPartition f n, s = u f n s = u \ f n}
      theorem disjoint_memPartition {α : Type u_1} (f : Set α) (n : ) {u v : Set α} (hu : u memPartition f n) (hv : v memPartition f n) (huv : u v) :
      @[simp]
      theorem sUnion_memPartition {α : Type u_1} (f : Set α) (n : ) :
      theorem finite_memPartition {α : Type u_1} (f : Set α) (n : ) :
      instance instFinite_memPartition {α : Type u_1} (f : Set α) (n : ) :
      noncomputable instance instFintype_memPartition {α : Type u_1} (f : Set α) (n : ) :
      Equations
        def memPartitionSet {α : Type u_1} (f : Set α) :
        αSet α

        The set in memPartition f n to which a : α belongs.

        Equations
          Instances For
            @[simp]
            theorem memPartitionSet_zero {α : Type u_1} (f : Set α) (a : α) :
            theorem memPartitionSet_succ {α : Type u_1} (f : Set α) (n : ) (a : α) [Decidable (a f n)] :
            memPartitionSet f (n + 1) a = if a f n then memPartitionSet f n a f n else memPartitionSet f n a \ f n
            theorem memPartitionSet_mem {α : Type u_1} (f : Set α) (n : ) (a : α) :
            theorem mem_memPartitionSet {α : Type u_1} (f : Set α) (n : ) (a : α) :
            theorem memPartitionSet_eq_iff {α : Type u_1} {f : Set α} {n : } (a : α) {s : Set α} (hs : s memPartition f n) :
            memPartitionSet f n a = s a s
            theorem memPartitionSet_of_mem {α : Type u_1} {f : Set α} {n : } {a : α} {s : Set α} (hs : s memPartition f n) (ha : a s) :