mathlib documentation

order.sup_indep

Supremum independence #

In this file, we define supremum independence of indexed sets. An indexed family f : ι → α is sup-independent if, for all a, f a and the supremum of the rest are disjoint.

Main definitions #

Main statements #

Implementation notes #

For the finite version, we avoid the "obvious" definition ∀ i ∈ s, disjoint (f i) ((s.erase i).sup f) because erase would require decidable equality on ι.

On lattices with a bottom element, via finset.sup #

def finset.sup_indep {α : Type u_1} {ι : Type u_3} [lattice α] [order_bot α] (s : finset ι) (f : ι → α) :
Prop

Supremum independence of finite sets. We avoid the "obvious" definition using s.erase i because erase would require decidable equality on ι.

Equations
@[protected, instance]
def finset.sup_indep.decidable {α : Type u_1} {ι : Type u_3} [lattice α] [order_bot α] {s : finset ι} {f : ι → α} [decidable_eq ι] [decidable_eq α] :
Equations
theorem finset.sup_indep.subset {α : Type u_1} {ι : Type u_3} [lattice α] [order_bot α] {s t : finset ι} {f : ι → α} (ht : t.sup_indep f) (h : s t) :
theorem finset.sup_indep_empty {α : Type u_1} {ι : Type u_3} [lattice α] [order_bot α] (f : ι → α) :
theorem finset.sup_indep_singleton {α : Type u_1} {ι : Type u_3} [lattice α] [order_bot α] (i : ι) (f : ι → α) :
{i}.sup_indep f
theorem finset.sup_indep.pairwise_disjoint {α : Type u_1} {ι : Type u_3} [lattice α] [order_bot α] {s : finset ι} {f : ι → α} (hs : s.sup_indep f) :
theorem finset.sup_indep_iff_disjoint_erase {α : Type u_1} {ι : Type u_3} [lattice α] [order_bot α] {s : finset ι} {f : ι → α} [decidable_eq ι] :
s.sup_indep f ∀ (i : ι), i sdisjoint (f i) ((s.erase i).sup f)

The RHS looks like the definition of complete_lattice.independent.

@[simp]
theorem finset.sup_indep_pair {α : Type u_1} {ι : Type u_3} [lattice α] [order_bot α] {f : ι → α} [decidable_eq ι] {i j : ι} (hij : i j) :
{i, j}.sup_indep f disjoint (f i) (f j)
theorem finset.sup_indep_univ_bool {α : Type u_1} [lattice α] [order_bot α] (f : bool → α) :
@[simp]
theorem finset.sup_indep_univ_fin_two {α : Type u_1} [lattice α] [order_bot α] (f : fin 2 → α) :
theorem finset.sup_indep.attach {α : Type u_1} {ι : Type u_3} [lattice α] [order_bot α] {s : finset ι} {f : ι → α} (hs : s.sup_indep f) :
theorem finset.sup_indep_iff_pairwise_disjoint {α : Type u_1} {ι : Type u_3} [distrib_lattice α] [order_bot α] {s : finset ι} {f : ι → α} :
theorem set.pairwise_disjoint.sup_indep {α : Type u_1} {ι : Type u_3} [distrib_lattice α] [order_bot α] {s : finset ι} {f : ι → α} :

Alias of sup_indep_iff_pairwise_disjoint.

theorem finset.sup_indep.sup {α : Type u_1} {ι : Type u_3} {ι' : Type u_4} [distrib_lattice α] [order_bot α] [decidable_eq ι] {s : finset ι'} {g : ι' → finset ι} {f : ι → α} (hs : s.sup_indep (λ (i : ι'), (g i).sup f)) (hg : ∀ (i' : ι'), i' s(g i').sup_indep f) :
(s.sup g).sup_indep f

Bind operation for sup_indep.

theorem finset.sup_indep.bUnion {α : Type u_1} {ι : Type u_3} {ι' : Type u_4} [distrib_lattice α] [order_bot α] [decidable_eq ι] {s : finset ι'} {g : ι' → finset ι} {f : ι → α} (hs : s.sup_indep (λ (i : ι'), (g i).sup f)) (hg : ∀ (i' : ι'), i' s(g i').sup_indep f) :

Bind operation for sup_indep.

On complete lattices via has_Sup.Sup #

def complete_lattice.set_independent {α : Type u_1} [complete_lattice α] (s : set α) :
Prop

An independent set of elements in a complete lattice is one in which every element is disjoint from the Sup of the rest.

Equations

If the elements of a set are independent, then any pair within that set is disjoint.

theorem complete_lattice.set_independent_pair {α : Type u_1} [complete_lattice α] {a b : α} (hab : a b) :
theorem complete_lattice.set_independent.disjoint_Sup {α : Type u_1} [complete_lattice α] {s : set α} (hs : complete_lattice.set_independent s) {x : α} {y : set α} (hx : x s) (hy : y s) (hxy : x y) :

If the elements of a set are independent, then any element is disjoint from the Sup of some subset of the rest.

def complete_lattice.independent {ι : Sort u_1} {α : Type u_2} [complete_lattice α] (t : ι → α) :
Prop

An independent indexed family of elements in a complete lattice is one in which every element is disjoint from the supr of the rest.

Example: an indexed family of non-zero elements in a vector space is linearly independent iff the indexed family of subspaces they generate is independent in this sense.

Example: an indexed family of submodules of a module is independent in this sense if and only the natural map from the direct sum of the submodules to the module is injective.

Equations
theorem complete_lattice.independent_def {α : Type u_1} {ι : Type u_3} [complete_lattice α] {t : ι → α} :
complete_lattice.independent t ∀ (i : ι), disjoint (t i) (⨆ (j : ι) (H : j i), t j)
theorem complete_lattice.independent_def' {α : Type u_1} [complete_lattice α] {ι : Type u_2} {t : ι → α} :
complete_lattice.independent t ∀ (i : ι), disjoint (t i) (Sup (t '' {j : ι | j i}))
theorem complete_lattice.independent_def'' {α : Type u_1} [complete_lattice α] {ι : Type u_2} {t : ι → α} :
complete_lattice.independent t ∀ (i : ι), disjoint (t i) (Sup {a : α | ∃ (j : ι) (H : j i), t j = a})
@[simp]
@[simp]
theorem complete_lattice.independent.pairwise_disjoint {α : Type u_1} {ι : Type u_3} [complete_lattice α] {t : ι → α} (ht : complete_lattice.independent t) :

If the elements of a set are independent, then any pair within that set is disjoint.

theorem complete_lattice.independent.mono {ι : Type u_1} {α : Type u_2} [complete_lattice α] {s t : ι → α} (hs : complete_lattice.independent s) (hst : t s) :
theorem complete_lattice.independent.comp {ι : Sort u_1} {ι' : Sort u_2} {α : Type u_3} [complete_lattice α] {s : ι → α} (hs : complete_lattice.independent s) (f : ι' → ι) (hf : function.injective f) :

Composing an independent indexed family with an injective function on the index results in another indepedendent indexed family.

theorem complete_lattice.independent_pair {α : Type u_1} {ι : Type u_3} [complete_lattice α] {t : ι → α} {i j : ι} (hij : i j) (huniv : ∀ (k : ι), k = i k = j) :
theorem complete_lattice.independent.map_order_iso {ι : Sort u_1} {α : Type u_2} {β : Type u_3} [complete_lattice α] [complete_lattice β] (f : α ≃o β) {a : ι → α} (ha : complete_lattice.independent a) :

Composing an indepedent indexed family with an order isomorphism on the elements results in another indepedendent indexed family.

@[simp]
theorem complete_lattice.independent_map_order_iso_iff {ι : Sort u_1} {α : Type u_2} {β : Type u_3} [complete_lattice α] [complete_lattice β] (f : α ≃o β) {a : ι → α} :
theorem complete_lattice.independent.disjoint_bsupr {ι : Type u_1} {α : Type u_2} [complete_lattice α] {t : ι → α} (ht : complete_lattice.independent t) {x : ι} {y : set ι} (hx : x y) :
disjoint (t x) (⨆ (i : ι) (H : i y), t i)

If the elements of a set are independent, then any element is disjoint from the supr of some subset of the rest.

theorem complete_lattice.independent_iff_sup_indep {α : Type u_1} {ι : Type u_3} [complete_lattice α] {s : finset ι} {f : ι → α} :
theorem complete_lattice.independent.sup_indep {α : Type u_1} {ι : Type u_3} [complete_lattice α] {s : finset ι} {f : ι → α} :

Alias of complete_lattice.independent_iff_sup_indep.

theorem finset.sup_indep.independent {α : Type u_1} {ι : Type u_3} [complete_lattice α] {s : finset ι} {f : ι → α} :

Alias of complete_lattice.independent_iff_sup_indep.

Alias of set_independent_iff_pairwise_disjoint.

theorem complete_lattice.independent_iff_pairwise_disjoint {α : Type u_1} {ι : Type u_3} [order.frame α] {f : ι → α} :