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 #
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
.
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.
A subset of α is directed if there is an element of the set ≼
-above any
pair of elements in the set.
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 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 : α → α → Prop}
{s : set α}
(h : directed_on r s)
{r' : α → α → Prop}
(H : ∀ {a b : α}, r a b → r' a b) :
directed_on r' s
theorem
directed.mono
{α : Type u}
{r s : α → α → Prop}
{ι : Sort u_1}
{f : ι → α}
(H : ∀ (a b : α), r a b → s a b)
(h : directed r f) :
directed s 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) :
theorem
directed_of_sup
{α : Type u}
{β : Type v}
[semilattice_sup α]
{f : α → β}
{r : β → β → Prop}
(H : ∀ ⦃i j : α⦄, i ≤ j → r (f i) (f j)) :
directed r f
A monotone function on a sup-semilattice is directed.
theorem
monotone.directed_le
{α : Type u}
{β : Type v}
[semilattice_sup α]
[preorder β]
{f : α → β} :
theorem
directed.extend_bot
{α : Type u}
{β : Type v}
{ι : Sort w}
[preorder α]
[order_bot α]
{e : ι → β}
{f : ι → α}
(hf : directed has_le.le f)
(he : function.injective e) :
directed has_le.le (function.extend e f ⊥)
theorem
directed_of_inf
{α : Type u}
{β : Type v}
[semilattice_inf α]
{r : β → β → Prop}
{f : α → β}
(hf : ∀ (a₁ a₂ : α), a₁ ≤ a₂ → r (f a₂) (f a₁)) :
directed r f
An antitone function on an inf-semilattice is directed.
@[class]
- directed : ∀ (a b : α), ∃ (c : α), r a c ∧ r b c
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_of
{α : Type u}
(r : α → α → Prop)
[is_directed α r]
(a b : α) :
∃ (c : α), r a c ∧ 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]
@[protected]
theorem
is_min.is_bot
{α : Type u}
[preorder α]
{a : α}
[is_directed α (function.swap has_le.le)]
(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
is_bot_iff_is_min
{α : Type u}
[preorder α]
{a : α}
[is_directed α (function.swap has_le.le)] :
@[protected, instance]
@[protected, instance]
@[protected, instance]
@[protected, instance]