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 familyf
isr
-directed.directed_on r s
: Predicate stating that the sets
isr
-directed.is_directed α r
: Prop-valued mixin stating thatα
isr
-directed. Follows the style of the unbundled relation classes such asis_total
.scott_continuous
: Predicate stating that a function between preorders preservesis_lub
on 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]