Projection of a line onto a closed interval #
Given a linearly ordered type α, in this file we define
Set.projIci (a : α)to be the mapα → [a, ∞)sending(-∞, a]toa, and each pointx ∈ [a, ∞)to itself;Set.projIic (b : α)to be the mapα → (-∞, b[sending[b, ∞)tob, and each pointx ∈ (-∞, b]to itself;Set.projIcc (a b : α) (h : a ≤ b)to be the mapα → [a, b]sending(-∞, a]toa,[b, ∞)tob, and each pointx ∈ [a, b]to itself;Set.IccExtend {a b : α} (h : a ≤ b) (f : Icc a b → β)to be the extension offtoαdefined asf ∘ projIcc a b h.Set.IciExtend {a : α} (f : Ici a → β)to be the extension offtoαdefined asf ∘ projIci a.Set.IicExtend {b : α} (f : Iic b → β)to be the extension offtoαdefined asf ∘ projIic b.
We also prove some trivial properties of these maps.
Projection of α to the closed interval [a, b].
Instances For
theorem
Set.projIcc_of_le_left
{α : Type u_1}
[LinearOrder α]
{a b : α}
(h : a ≤ b)
{x : α}
(hx : x ≤ a)
:
theorem
Set.projIcc_of_right_le
{α : Type u_1}
[LinearOrder α]
{a b : α}
(h : a ≤ b)
{x : α}
(hx : b ≤ x)
:
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Set.projIcc_surjective
{α : Type u_1}
[LinearOrder α]
{a b : α}
(h : a ≤ b)
:
Function.Surjective (projIcc a b h)
@[simp]
@[simp]
@[simp]
theorem
Set.strictMonoOn_projIci
{α : Type u_1}
[LinearOrder α]
{a : α}
:
StrictMonoOn (projIci a) (Ici a)
theorem
Set.strictMonoOn_projIic
{α : Type u_1}
[LinearOrder α]
{b : α}
:
StrictMonoOn (projIic b) (Iic b)
theorem
Set.strictMonoOn_projIcc
{α : Type u_1}
[LinearOrder α]
{a b : α}
(h : a ≤ b)
:
StrictMonoOn (projIcc a b h) (Icc a b)
Extend a function [a, ∞) → β to a map α → β.
Equations
- Set.IciExtend f = f ∘ Set.projIci a
Instances For
Extend a function (-∞, b] → β to a map α → β.
Equations
- Set.IicExtend f = f ∘ Set.projIic b
Instances For
def
Set.IccExtend
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
{a b : α}
(h : a ≤ b)
(f : ↑(Icc a b) → β)
:
α → β
Extend a function [a, b] → β to a map α → β.
Equations
- Set.IccExtend h f = f ∘ Set.projIcc a b h
Instances For
@[simp]
theorem
Set.range_IciExtend
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
{a : α}
(f : ↑(Ici a) → β)
:
@[simp]
theorem
Set.range_IicExtend
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
{b : α}
(f : ↑(Iic b) → β)
:
@[simp]
theorem
Set.IciExtend_self
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
{a : α}
(f : ↑(Ici a) → β)
:
@[simp]
theorem
Set.IicExtend_self
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
{b : α}
(f : ↑(Iic b) → β)
:
@[simp]
theorem
Set.IciExtend_coe
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
{a : α}
(f : ↑(Ici a) → β)
(x : ↑(Ici a))
:
@[simp]
theorem
Set.IicExtend_coe
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
{b : α}
(f : ↑(Iic b) → β)
(x : ↑(Iic b))
:
@[simp]
theorem
Set.IccExtend_val
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
{a b : α}
(h : a ≤ b)
(f : ↑(Icc a b) → β)
(x : ↑(Icc a b))
:
theorem
Set.IccExtend_eq_self
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
{a b : α}
(h : a ≤ b)
(f : α → β)
(ha : ∀ x < a, f x = f a)
(hb : ∀ (x : α), b < x → f x = f b)
:
If f : α → β is a constant both on $(-∞, a]$ and on $[b, +∞)$, then the extension of this
function from $[a, b]$ to the whole line is equal to the original function.
theorem
Monotone.IciExtend
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[Preorder β]
{a : α}
{f : ↑(Set.Ici a) → β}
(hf : Monotone f)
:
theorem
Monotone.IicExtend
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[Preorder β]
{b : α}
{f : ↑(Set.Iic b) → β}
(hf : Monotone f)
:
theorem
Monotone.IccExtend
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[Preorder β]
{a b : α}
(h : a ≤ b)
{f : ↑(Set.Icc a b) → β}
(hf : Monotone f)
:
Monotone (Set.IccExtend h f)
theorem
StrictMono.strictMonoOn_IciExtend
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[Preorder β]
{a : α}
{f : ↑(Set.Ici a) → β}
(hf : StrictMono f)
:
StrictMonoOn (Set.IciExtend f) (Set.Ici a)
theorem
StrictMono.strictMonoOn_IicExtend
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[Preorder β]
{b : α}
{f : ↑(Set.Iic b) → β}
(hf : StrictMono f)
:
StrictMonoOn (Set.IicExtend f) (Set.Iic b)
theorem
StrictMono.strictMonoOn_IccExtend
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[Preorder β]
{a b : α}
(h : a ≤ b)
{f : ↑(Set.Icc a b) → β}
(hf : StrictMono f)
:
StrictMonoOn (Set.IccExtend h f) (Set.Icc a b)
theorem
Set.OrdConnected.IciExtend
{α : Type u_1}
[LinearOrder α]
{a : α}
{s : Set ↑(Ici a)}
(hs : s.OrdConnected)
:
theorem
Set.OrdConnected.IicExtend
{α : Type u_1}
[LinearOrder α]
{b : α}
{s : Set ↑(Iic b)}
(hs : s.OrdConnected)
:
theorem
Set.OrdConnected.restrict
{α : Type u_1}
[LinearOrder α]
{s t : Set α}
(hs : s.OrdConnected)
: