Documentation

Mathlib.Order.Directed

Directed indexed families and sets #

This file defines directed indexed families and directed sets. An indexed family/set is directed iff each pair of elements has a shared upper bound.

Main declarations #

References #

def Directed {α : Type u} {ι : Sort w} (r : α → α → Prop) (f : ι → α) :

A family of elements of α is directed (with respect to a relation ≼ on α) if there is a member of the family ≼-above any pair in the family.

Equations
  • Directed r f = ∀ (x y : ι), ∃ z, r (f x) (f z) ∧ r (f y) (f z)
Instances For
    def DirectedOn {α : Type u} (r : α → α → Prop) (s : Set α) :

    A subset of α is directed if there is an element of the set ≼-above any pair of elements in the set.

    Equations
    Instances For
      theorem directedOn_iff_directed {α : Type u} {r : α → α → Prop} {s : Set α} :
      DirectedOn r s ↔ Directed r Subtype.val
      theorem DirectedOn.directed_val {α : Type u} {r : α → α → Prop} {s : Set α} :
      DirectedOn r s → Directed r Subtype.val

      Alias of the forward direction of directedOn_iff_directed.

      theorem directedOn_range {α : Type u} {ι : Sort w} {r : α → α → Prop} {f : ι → α} :
      theorem Directed.directedOn_range {α : Type u} {ι : Sort w} {r : α → α → Prop} {f : ι → α} :

      Alias of the forward direction of directedOn_range.

      theorem directedOn_image {α : Type u} {β : Type v} {r : α → α → Prop} {s : Set β} {f : β → α} :
      theorem DirectedOn.mono' {α : Type u} {r : α → α → Prop} {r' : α → α → Prop} {s : Set α} (hs : DirectedOn r s) (h : ⦃a : α⦄ → a ∈ s → ⦃b : α⦄ → b ∈ s → r a b → r' a b) :
      theorem DirectedOn.mono {α : Type u} {r : α → α → Prop} {r' : α → α → Prop} {s : Set α} (h : DirectedOn r s) (H : {a b : α} → r a b → r' a b) :
      theorem directed_comp {α : Type u} {β : Type v} {r : α → α → Prop} {ι : Sort u_1} {f : ι → β} {g : β → α} :
      Directed r (g ∘ f) ↔ Directed (g ⁻¹'o r) f
      theorem Directed.mono {α : Type u} {r : α → α → Prop} {s : α → α → Prop} {ι : Sort u_1} {f : ι → α} (H : (a b : α) → r a b → s a b) (h : Directed r f) :
      theorem Directed.mono_comp {α : Type u} {β : Type v} (r : α → α → Prop) {ι : Sort u_1} {rb : β → β → Prop} {g : α → β} {f : ι → α} (hg : ⦃x y : α⦄ → r x y → rb (g x) (g y)) (hf : Directed r f) :
      Directed rb (g ∘ f)
      theorem directed_of_sup {α : Type u} {β : Type v} [SemilatticeSup α] {f : α → β} {r : β → β → Prop} (H : ⦃i j : α⦄ → i ≤ j → r (f i) (f j)) :

      A monotone function on a sup-semilattice is directed.

      theorem Monotone.directed_le {α : Type u} {β : Type v} [SemilatticeSup α] [Preorder β] {f : α → β} :
      Monotone f → Directed (fun x x_1 => x ≤ x_1) f
      theorem Antitone.directed_ge {α : Type u} {β : Type v} [SemilatticeSup α] [Preorder β] {f : α → β} (hf : Antitone f) :
      Directed (fun x x_1 => x ≥ x_1) f
      theorem directedOn_of_sup_mem {α : Type u} [SemilatticeSup α] {S : Set α} (H : ∀ ⦃i j : α⦄, i ∈ S → j ∈ S → i ⊔ j ∈ S) :
      DirectedOn (fun x x_1 => x ≤ x_1) S

      A set stable by supremum is ≤-directed.

      theorem Directed.extend_bot {α : Type u} {β : Type v} {ι : Sort w} [Preorder α] [OrderBot α] {e : ι → β} {f : ι → α} (hf : Directed (fun x x_1 => x ≤ x_1) f) (he : Function.Injective e) :
      Directed (fun x x_1 => x ≤ x_1) (Function.extend e f ⊥)
      theorem directed_of_inf {α : Type u} {β : Type v} [SemilatticeInf α] {r : β → β → Prop} {f : α → β} (hf : (a₁ a₂ : α) → a₁ ≤ a₂ → r (f a₂) (f a₁)) :

      An antitone function on an inf-semilattice is directed.

      theorem Monotone.directed_ge {α : Type u} {β : Type v} [SemilatticeInf α] [Preorder β] {f : α → β} (hf : Monotone f) :
      Directed (fun x x_1 => x ≥ x_1) f
      theorem Antitone.directed_le {α : Type u} {β : Type v} [SemilatticeInf α] [Preorder β] {f : α → β} (hf : Antitone f) :
      Directed (fun x x_1 => x ≤ x_1) f
      theorem directedOn_of_inf_mem {α : Type u} [SemilatticeInf α] {S : Set α} (H : ∀ ⦃i j : α⦄, i ∈ S → j ∈ S → i ⊓ j ∈ S) :
      DirectedOn (fun x x_1 => x ≥ x_1) S

      A set stable by infimum is ≥-directed.

      theorem IsTotal.directed {α : Type u} {ι : Sort w} {r : α → α → Prop} [IsTotal α r] (f : ι → α) :
      class IsDirected (α : Type u_1) (r : α → α → Prop) :
      • directed : ∀ (a b : α), ∃ c, r a c ∧ r b c

        For every pair of elements a and b there is a c such that r a c and r b c

      IsDirected α r states that for any elements a, b there exists an element c such that r a c and r b c.

      Instances
        theorem directed_of {α : Type u} (r : α → α → Prop) [IsDirected α r] (a : α) (b : α) :
        ∃ c, r a c ∧ r b c
        theorem directed_id {α : Type u} {r : α → α → Prop} [IsDirected α r] :
        theorem directed_id_iff {α : Type u} {r : α → α → Prop} :
        theorem directedOn_univ {α : Type u} {r : α → α → Prop} [IsDirected α r] :
        DirectedOn r Set.univ
        theorem directedOn_univ_iff {α : Type u} {r : α → α → Prop} :
        DirectedOn r Set.univ ↔ IsDirected α r
        theorem isDirected_mono {α : Type u} {r : α → α → Prop} (s : α → α → Prop) [IsDirected α r] (h : ⦃a b : α⦄ → r a b → s a b) :
        theorem exists_ge_ge {α : Type u} [LE α] [IsDirected α fun x x_1 => x ≤ x_1] (a : α) (b : α) :
        ∃ c, a ≤ c ∧ b ≤ c
        theorem exists_le_le {α : Type u} [LE α] [IsDirected α fun x x_1 => x ≥ x_1] (a : α) (b : α) :
        ∃ c, c ≤ a ∧ c ≤ b
        instance OrderDual.isDirected_ge {α : Type u} [LE α] [IsDirected α fun x x_1 => x ≤ x_1] :
        IsDirected αᵒᵈ fun x x_1 => x ≥ x_1
        Equations
        instance OrderDual.isDirected_le {α : Type u} [LE α] [IsDirected α fun x x_1 => x ≥ x_1] :
        IsDirected αᵒᵈ fun x x_1 => x ≤ x_1
        Equations
        theorem DirectedOn.insert {α : Type u} {r : α → α → Prop} (h : Reflexive r) (a : α) {s : Set α} (hd : DirectedOn r s) (ha : ∀ (b : α), b ∈ s → ∃ c, c ∈ s ∧ r a c ∧ r b c) :
        theorem directedOn_singleton {α : Type u} {r : α → α → Prop} (h : Reflexive r) (a : α) :
        theorem directedOn_pair {α : Type u} {r : α → α → Prop} (h : Reflexive r) {a : α} {b : α} (hab : r a b) :
        DirectedOn r {a, b}
        theorem directedOn_pair' {α : Type u} {r : α → α → Prop} (h : Reflexive r) {a : α} {b : α} (hab : r a b) :
        DirectedOn r {b, a}
        theorem IsMin.isBot {α : Type u} [Preorder α] {a : α} [IsDirected α fun x x_1 => x ≥ x_1] (h : IsMin a) :
        theorem IsMax.isTop {α : Type u} [Preorder α] {a : α} [IsDirected α fun x x_1 => x ≤ x_1] (h : IsMax a) :
        theorem DirectedOn.is_bot_of_is_min {α : Type u} [Preorder α] {s : Set α} (hd : DirectedOn (fun x x_1 => x ≥ x_1) s) {m : α} (hm : m ∈ s) (hmin : ∀ (a : α), a ∈ s → a ≤ m → m ≤ a) (a : α) :
        a ∈ s → m ≤ a
        theorem DirectedOn.is_top_of_is_max {α : Type u} [Preorder α] {s : Set α} (hd : DirectedOn (fun x x_1 => x ≤ x_1) s) {m : α} (hm : m ∈ s) (hmax : ∀ (a : α), a ∈ s → m ≤ a → a ≤ m) (a : α) :
        a ∈ s → a ≤ m
        theorem isTop_or_exists_gt {α : Type u} [Preorder α] [IsDirected α fun x x_1 => x ≤ x_1] (a : α) :
        IsTop a ∨ ∃ b, a < b
        theorem isBot_or_exists_lt {α : Type u} [Preorder α] [IsDirected α fun x x_1 => x ≥ x_1] (a : α) :
        IsBot a ∨ ∃ b, b < a
        theorem isBot_iff_isMin {α : Type u} [Preorder α] {a : α} [IsDirected α fun x x_1 => x ≥ x_1] :
        theorem isTop_iff_isMax {α : Type u} [Preorder α] {a : α} [IsDirected α fun x x_1 => x ≤ x_1] :
        theorem exists_lt_of_directed_ge (β : Type v) [PartialOrder β] [IsDirected β fun x x_1 => x ≥ x_1] [Nontrivial β] :
        ∃ a b, a < b
        theorem exists_lt_of_directed_le (β : Type v) [PartialOrder β] [IsDirected β fun x x_1 => x ≤ x_1] [Nontrivial β] :
        ∃ a b, a < b