Directed indexed families and sets #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
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 #
- directed r f: Predicate stating that the indexed family- fis- r-directed.
- directed_on r s: Predicate stating that the set- sis- r-directed.
- is_directed α r: Prop-valued mixin stating that- αis- r-directed. Follows the style of the unbundled relation classes such as- is_total.
- scott_continuous: Predicate stating that a function between preorders preserves- is_lubon directed sets.
References #
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.
    
theorem
directed_on_iff_directed
    {α : Type u}
    {r : α → α → Prop}
    {s : set α} :
directed_on r s ↔ directed r coe
    
theorem
directed_on.directed_coe
    {α : Type u}
    {r : α → α → Prop}
    {s : set α} :
directed_on r s → directed r coe
Alias of the forward direction of directed_on_iff_directed.
    
theorem
directed_on_image
    {α : Type u}
    {β : Type v}
    {r : α → α → Prop}
    {s : set β}
    {f : β → α} :
directed_on r (f '' s) ↔ directed_on (f ⁻¹'o r) s
    
theorem
directed_on.mono'
    {α : Type u}
    {r r' : α → α → Prop}
    {s : set α}
    (hs : directed_on r s)
    (h : ∀ ⦃a : α⦄, a ∈ s → ∀ ⦃b : α⦄, b ∈ s → r a b → r' a b) :
directed_on r' s
    
theorem
directed_on.mono
    {α : Type u}
    {r r' : α → α → Prop}
    {s : set α}
    (h : directed_on r s)
    (H : ∀ {a b : α}, r a b → r' a b) :
directed_on r' s
    
theorem
antitone.directed_ge
    {α : Type u}
    {β : Type v}
    [semilattice_sup α]
    [preorder β]
    {f : α → β}
    (hf : antitone f) :
    
theorem
monotone.directed_ge
    {α : Type u}
    {β : Type v}
    [semilattice_inf α]
    [preorder β]
    {f : α → β}
    (hf : monotone f) :
    
theorem
antitone.directed_le
    {α : Type u}
    {β : Type v}
    [semilattice_inf α]
    [preorder β]
    {f : α → β}
    (hf : antitone f) :
@[class]
    
is_directed α r states that for any elements a, b there exists an element c such that
r a c and r b c.
    
theorem
directed_on_univ_iff
    {α : Type u}
    {r : α → α → Prop} :
directed_on r set.univ ↔ is_directed α r
@[protected, instance]
    
theorem
is_directed_mono
    {α : Type u}
    {r : α → α → Prop}
    (s : α → α → Prop)
    [is_directed α r]
    (h : ∀ ⦃a b : α⦄, r a b → s a b) :
is_directed α s
@[protected, instance]
@[protected, instance]
    
theorem
directed_on.insert
    {α : Type u}
    {r : α → α → Prop}
    (h : reflexive r)
    (a : α)
    {s : set α}
    (hd : directed_on r s)
    (ha : ∀ (b : α), b ∈ s → (∃ (c : α) (H : c ∈ s), r a c ∧ r b c)) :
directed_on r (has_insert.insert a s)
    
theorem
directed_on_singleton
    {α : Type u}
    {r : α → α → Prop}
    (h : reflexive r)
    (a : α) :
directed_on r {a}
    
theorem
directed_on_pair
    {α : Type u}
    {r : α → α → Prop}
    (h : reflexive r)
    {a b : α}
    (hab : r a b) :
directed_on r {a, b}
    
theorem
directed_on_pair'
    {α : Type u}
    {r : α → α → Prop}
    (h : reflexive r)
    {a b : α}
    (hab : r a b) :
directed_on r {b, a}
@[protected]
    
theorem
is_min.is_bot
    {α : Type u}
    [preorder α]
    {a : α}
    [is_directed α ge]
    (h : is_min a) :
is_bot a
@[protected]
    
theorem
is_max.is_top
    {α : Type u}
    [preorder α]
    {a : α}
    [is_directed α has_le.le]
    (h : is_max a) :
is_top a
    
theorem
exists_lt_of_directed_le
    (β : Type v)
    [partial_order β]
    [is_directed β has_le.le]
    [nontrivial β] :
@[protected, instance]
@[protected, instance]
@[protected, instance]
@[protected, instance]