order.sup_indep

Finite 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.

In distributive lattices, this is equivalent to being pairwise disjoint.

Implementation notes #

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

TODO #

complete_lattice.independent and complete_lattice.set_independent should live in this file.

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 usings.erase i because erase would require decidable equality on ι.

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.

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} [order_bot α] {s : finset ι} {f : ι → α} :
theorem set.pairwise_disjoint.sup_indep {α : Type u_1} {ι : Type u_3} [order_bot α] {s : finset ι} {f : ι → α} :
s.sup_indep f

Alias of sup_indep_iff_pairwise_disjoint.

theorem finset.sup_indep.sup {α : Type u_1} {ι : Type u_3} {ι' : Type u_4} [order_bot α] [decidable_eq ι] {s : finset ι'} {g : ι' → } {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} [order_bot α] [decidable_eq ι] {s : finset ι'} {g : ι' → } {f : ι → α} (hs : s.sup_indep (λ (i : ι'), (g i).sup f)) (hg : ∀ (i' : ι'), i' s(g i').sup_indep f) :

Bind operation for sup_indep.

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