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 #
memPartition f n: the membership partition of the firstnsets inf.memPartitionSet:memPartitionSet f n xis the set in the partitionmemPartition f nto whichxbelongs.
Main statements #
disjoint_memPartition: the sets inmemPartition f nare disjointsUnion_memPartition: the union of the sets inmemPartition f nisunivfinite_memPartition:memPartition f nis finite
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
disjoint_memPartition
{α : Type u_1}
(f : ℕ → Set α)
(n : ℕ)
{u v : Set α}
(hu : u ∈ memPartition f n)
(hv : v ∈ memPartition f n)
(huv : u ≠ v)
:
Disjoint u v
@[simp]
noncomputable instance
instFintype_memPartition
{α : Type u_1}
(f : ℕ → Set α)
(n : ℕ)
:
Fintype ↑(memPartition f n)
Equations
- instFintype_memPartition f n = ⋯.fintype
The set in memPartition f n to which a : α belongs.
Equations
- memPartitionSet f 0 = fun (x : α) => Set.univ
- memPartitionSet f n.succ = fun (a : α) => if a ∈ f n then memPartitionSet f n a ∩ f n else memPartitionSet f n a \ f n
Instances For
@[simp]
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_eq_iff
{α : Type u_1}
{f : ℕ → Set α}
{n : ℕ}
(a : α)
{s : Set α}
(hs : s ∈ memPartition f n)
:
theorem
memPartitionSet_of_mem
{α : Type u_1}
{f : ℕ → Set α}
{n : ℕ}
{a : α}
{s : Set α}
(hs : s ∈ memPartition f n)
(ha : a ∈ s)
: