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.domRestrict {α : Type u_1} [LinearOrder α] {s t : Set α} (hs : s.OrdConnected) :
{x : ↑t | t.domRestrict (fun (x : α) => x ∈ s) x}.OrdConnected
@[deprecated Set.OrdConnected.domRestrict (since := "2026-07-19")]
theorem Set.OrdConnected.restrict {α : Type u_1} [LinearOrder α] {s t : Set α} (hs : s.OrdConnected) :
{x : ↑t | t.domRestrict (fun (x : α) => x ∈ s) x}.OrdConnected
Alias of Set.OrdConnected.domRestrict.