mathlib3 documentation

order.directed

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 #

References #

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

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
def directed_on {α : Type u} (r : α α Prop) (s : set α) :
Prop

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

Equations
theorem directed_on_iff_directed {α : Type u} {r : α α Prop} {s : set α} :
theorem directed_on.directed_coe {α : Type u} {r : α α Prop} {s : set α} :

Alias of the forward direction of directed_on_iff_directed.

theorem directed_on_range {α : Type u} {ι : Sort w} {r : α α Prop} {f : ι α} :
theorem directed_on_image {α : Type u} {β : Type v} {r : α α Prop} {s : set β} {f : β α} :
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) :
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) :
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 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} [semilattice_sup α] {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} [semilattice_sup α] [preorder β] {f : α β} :
theorem antitone.directed_ge {α : Type u} {β : Type v} [semilattice_sup α] [preorder β] {f : α β} (hf : antitone f) :
theorem directed_on_of_sup_mem {α : Type u} [semilattice_sup α] {S : set α} (H : ⦃i j : α⦄, i S j S i j S) :

A set stable by supremum is -directed.

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) :
theorem directed_of_inf {α : Type u} {β : Type v} [semilattice_inf α] {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} [semilattice_inf α] [preorder β] {f : α β} (hf : monotone f) :
theorem antitone.directed_le {α : Type u} {β : Type v} [semilattice_inf α] [preorder β] {f : α β} (hf : antitone f) :
theorem directed_on_of_inf_mem {α : Type u} [semilattice_inf α] {S : set α} (H : ⦃i j : α⦄, i S j S i j S) :

A set stable by infimum is -directed.

theorem is_total.directed {α : Type u} {ι : Sort w} {r : α α Prop} [is_total α r] (f : ι α) :
@[class]
structure is_directed (α : Type u_1) (r : α α Prop) :
Prop
  • 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.

Instances of this typeclass
theorem directed_of {α : Type u} (r : α α Prop) [is_directed α r] (a b : α) :
(c : α), r a c r b c
theorem directed_id {α : Type u} {r : α α Prop} [is_directed α r] :
theorem directed_id_iff {α : Type u} {r : α α Prop} :
theorem directed_on_univ {α : Type u} {r : α α Prop} [is_directed α r] :
theorem directed_on_univ_iff {α : Type u} {r : α α Prop} :
@[protected, instance]
def is_total.to_is_directed {α : Type u} {r : α α Prop} [is_total α r] :
theorem is_directed_mono {α : Type u} {r : α α Prop} (s : α α Prop) [is_directed α r] (h : ⦃a b : α⦄, r a b s a b) :
theorem exists_ge_ge {α : Type u} [has_le α] [is_directed α has_le.le] (a b : α) :
(c : α), a c b c
theorem exists_le_le {α : Type u} [has_le α] [is_directed α ge] (a b : α) :
(c : α), c a c b
@[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)) :
theorem directed_on_singleton {α : Type u} {r : α α Prop} (h : reflexive 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) :
@[protected]
theorem is_max.is_top {α : Type u} [preorder α] {a : α} [is_directed α has_le.le] (h : is_max a) :
theorem directed_on.is_bot_of_is_min {α : Type u} [preorder α] {s : set α} (hd : directed_on ge s) {m : α} (hm : m s) (hmin : (a : α), a s a m m a) (a : α) (H : a s) :
m a
theorem directed_on.is_top_of_is_max {α : Type u} [preorder α] {s : set α} (hd : directed_on has_le.le s) {m : α} (hm : m s) (hmax : (a : α), a s m a a m) (a : α) (H : a s) :
a m
theorem is_top_or_exists_gt {α : Type u} [preorder α] [is_directed α has_le.le] (a : α) :
is_top a (b : α), a < b
theorem is_bot_or_exists_lt {α : Type u} [preorder α] [is_directed α ge] (a : α) :
is_bot a (b : α), b < a
theorem is_bot_iff_is_min {α : Type u} [preorder α] {a : α} [is_directed α ge] :
theorem is_top_iff_is_max {α : Type u} [preorder α] {a : α} [is_directed α has_le.le] :
theorem exists_lt_of_directed_ge (β : Type v) [partial_order β] [is_directed β ge] [nontrivial β] :
(a b : β), a < b
theorem exists_lt_of_directed_le (β : Type v) [partial_order β] [is_directed β has_le.le] [nontrivial β] :
(a b : β), a < b
@[protected, instance]
@[protected, instance]
@[protected, instance]
@[protected, instance]
def scott_continuous {α : Type u} {β : Type v} [preorder α] [preorder β] (f : α β) :
Prop

A function between preorders is said to be Scott continuous if it preserves is_lub on directed sets. It can be shown that a function is Scott continuous if and only if it is continuous wrt the Scott topology.

The dual notion

 d : set α⦄, d.nonempty  directed_on () d   a⦄, is_glb d a  is_glb (f '' d) (f a)

does not appear to play a significant role in the literature, so is omitted here.

Equations
@[protected]
theorem scott_continuous.monotone {α : Type u} {β : Type v} [preorder α] [preorder β] {f : α β} (h : scott_continuous f) :