mathlib3 documentation

data.set.intervals.proj_Icc

Projection of a line onto a closed interval #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

Given a linearly ordered type α, in this file we define

We also prove some trivial properties of these maps.

def set.proj_Ici {α : Type u_1} [linear_order α] (a x : α) :

Projection of α to the closed interval [a, ∞[.

Equations
def set.proj_Iic {α : Type u_1} [linear_order α] (b x : α) :

Projection of α to the closed interval ]-∞, b].

Equations
def set.proj_Icc {α : Type u_1} [linear_order α] (a b : α) (h : a b) (x : α) :

Projection of α to the closed interval [a, b].

Equations
@[norm_cast]
theorem set.coe_proj_Ici {α : Type u_1} [linear_order α] (a x : α) :
@[norm_cast]
theorem set.coe_proj_Iic {α : Type u_1} [linear_order α] (b x : α) :
@[norm_cast]
theorem set.coe_proj_Icc {α : Type u_1} [linear_order α] (a b : α) (h : a b) (x : α) :
theorem set.proj_Ici_of_le {α : Type u_1} [linear_order α] {a x : α} (hx : x a) :
set.proj_Ici a x = a, _⟩
theorem set.proj_Iic_of_le {α : Type u_1} [linear_order α] {b x : α} (hx : b x) :
set.proj_Iic b x = b, _⟩
theorem set.proj_Icc_of_le_left {α : Type u_1} [linear_order α] {a b : α} (h : a b) {x : α} (hx : x a) :
set.proj_Icc a b h x = a, _⟩
theorem set.proj_Icc_of_right_le {α : Type u_1} [linear_order α] {a b : α} (h : a b) {x : α} (hx : b x) :
set.proj_Icc a b h x = b, _⟩
@[simp]
theorem set.proj_Ici_self {α : Type u_1} [linear_order α] (a : α) :
set.proj_Ici a a = a, _⟩
@[simp]
theorem set.proj_Iic_self {α : Type u_1} [linear_order α] (b : α) :
set.proj_Iic b b = b, _⟩
@[simp]
theorem set.proj_Icc_left {α : Type u_1} [linear_order α] {a b : α} (h : a b) :
set.proj_Icc a b h a = a, _⟩
@[simp]
theorem set.proj_Icc_right {α : Type u_1} [linear_order α] {a b : α} (h : a b) :
set.proj_Icc a b h b = b, _⟩
theorem set.proj_Ici_eq_self {α : Type u_1} [linear_order α] {a x : α} :
set.proj_Ici a x = a, _⟩ x a
theorem set.proj_Iic_eq_self {α : Type u_1} [linear_order α] {b x : α} :
set.proj_Iic b x = b, _⟩ b x
theorem set.proj_Icc_eq_left {α : Type u_1} [linear_order α] {a b x : α} (h : a < b) :
set.proj_Icc a b _ x = a, _⟩ x a
theorem set.proj_Icc_eq_right {α : Type u_1} [linear_order α] {a b x : α} (h : a < b) :
set.proj_Icc a b _ x = b, _⟩ b x
theorem set.proj_Ici_of_mem {α : Type u_1} [linear_order α] {a x : α} (hx : x set.Ici a) :
set.proj_Ici a x = x, hx⟩
theorem set.proj_Iic_of_mem {α : Type u_1} [linear_order α] {b x : α} (hx : x set.Iic b) :
set.proj_Iic b x = x, hx⟩
theorem set.proj_Icc_of_mem {α : Type u_1} [linear_order α] {a b : α} (h : a b) {x : α} (hx : x set.Icc a b) :
set.proj_Icc a b h x = x, hx⟩
@[simp]
theorem set.proj_Ici_coe {α : Type u_1} [linear_order α] {a : α} (x : (set.Ici a)) :
@[simp]
theorem set.proj_Iic_coe {α : Type u_1} [linear_order α] {b : α} (x : (set.Iic b)) :
@[simp]
theorem set.proj_Icc_coe {α : Type u_1} [linear_order α] {a b : α} (h : a b) (x : (set.Icc a b)) :
set.proj_Icc a b h x = x
theorem set.proj_Icc_surj_on {α : Type u_1} [linear_order α] {a b : α} (h : a b) :
theorem set.proj_Icc_surjective {α : Type u_1} [linear_order α] {a b : α} (h : a b) :
@[simp]
theorem set.range_proj_Ici {α : Type u_1} [linear_order α] {a : α} :
@[simp]
theorem set.range_proj_Iic {α : Type u_1} [linear_order α] {a : α} :
@[simp]
theorem set.range_proj_Icc {α : Type u_1} [linear_order α] {a b : α} (h : a b) :
theorem set.monotone_proj_Ici {α : Type u_1} [linear_order α] {a : α} :
theorem set.monotone_proj_Iic {α : Type u_1} [linear_order α] {a : α} :
theorem set.monotone_proj_Icc {α : Type u_1} [linear_order α] {a b : α} (h : a b) :
theorem set.strict_mono_on_proj_Icc {α : Type u_1} [linear_order α] {a b : α} (h : a b) :
def set.Ici_extend {α : Type u_1} {β : Type u_2} [linear_order α] {a : α} (f : (set.Ici a) β) :
α β

Extend a function [a, ∞[ → β to a map α → β.

Equations
def set.Iic_extend {α : Type u_1} {β : Type u_2} [linear_order α] {b : α} (f : (set.Iic b) β) :
α β

Extend a function ]-∞, b] → β to a map α → β.

Equations
def set.Icc_extend {α : Type u_1} {β : Type u_2} [linear_order α] {a b : α} (h : a b) (f : (set.Icc a b) β) :
α β

Extend a function [a, b] → β to a map α → β.

Equations
@[simp]
theorem set.Ici_extend_apply {α : Type u_1} {β : Type u_2} [linear_order α] {a : α} (f : (set.Ici a) β) (x : α) :
@[simp]
theorem set.Iic_extend_apply {α : Type u_1} {β : Type u_2} [linear_order α] {b : α} (f : (set.Iic b) β) (x : α) :
theorem set.Icc_extend_apply {α : Type u_1} {β : Type u_2} [linear_order α] {a b : α} (h : a b) (f : (set.Icc a b) β) (x : α) :
@[simp]
theorem set.range_Ici_extend {α : Type u_1} {β : Type u_2} [linear_order α] {a : α} (f : (set.Ici a) β) :
@[simp]
theorem set.range_Iic_extend {α : Type u_1} {β : Type u_2} [linear_order α] {b : α} (f : (set.Iic b) β) :
@[simp]
theorem set.Icc_extend_range {α : Type u_1} {β : Type u_2} [linear_order α] {a b : α} (h : a b) (f : (set.Icc a b) β) :
theorem set.Ici_extend_of_le {α : Type u_1} {β : Type u_2} [linear_order α] {a x : α} (f : (set.Ici a) β) (hx : x a) :
set.Ici_extend f x = f a, _⟩
theorem set.Iic_extend_of_le {α : Type u_1} {β : Type u_2} [linear_order α] {b x : α} (f : (set.Iic b) β) (hx : b x) :
set.Iic_extend f x = f b, _⟩
theorem set.Icc_extend_of_le_left {α : Type u_1} {β : Type u_2} [linear_order α] {a b : α} (h : a b) {x : α} (f : (set.Icc a b) β) (hx : x a) :
set.Icc_extend h f x = f a, _⟩
theorem set.Icc_extend_of_right_le {α : Type u_1} {β : Type u_2} [linear_order α] {a b : α} (h : a b) {x : α} (f : (set.Icc a b) β) (hx : b x) :
set.Icc_extend h f x = f b, _⟩
@[simp]
theorem set.Ici_extend_self {α : Type u_1} {β : Type u_2} [linear_order α] {a : α} (f : (set.Ici a) β) :
set.Ici_extend f a = f a, _⟩
@[simp]
theorem set.Iic_extend_self {α : Type u_1} {β : Type u_2} [linear_order α] {b : α} (f : (set.Iic b) β) :
set.Iic_extend f b = f b, _⟩
@[simp]
theorem set.Icc_extend_left {α : Type u_1} {β : Type u_2} [linear_order α] {a b : α} (h : a b) (f : (set.Icc a b) β) :
set.Icc_extend h f a = f a, _⟩
@[simp]
theorem set.Icc_extend_right {α : Type u_1} {β : Type u_2} [linear_order α] {a b : α} (h : a b) (f : (set.Icc a b) β) :
set.Icc_extend h f b = f b, _⟩
theorem set.Ici_extend_of_mem {α : Type u_1} {β : Type u_2} [linear_order α] {a x : α} (f : (set.Ici a) β) (hx : x set.Ici a) :
set.Ici_extend f x = f x, hx⟩
theorem set.Iic_extend_of_mem {α : Type u_1} {β : Type u_2} [linear_order α] {b x : α} (f : (set.Iic b) β) (hx : x set.Iic b) :
set.Iic_extend f x = f x, hx⟩
theorem set.Icc_extend_of_mem {α : Type u_1} {β : Type u_2} [linear_order α] {a b : α} (h : a b) {x : α} (f : (set.Icc a b) β) (hx : x set.Icc a b) :
set.Icc_extend h f x = f x, hx⟩
@[simp]
theorem set.Ici_extend_coe {α : Type u_1} {β : Type u_2} [linear_order α] {a : α} (f : (set.Ici a) β) (x : (set.Ici a)) :
@[simp]
theorem set.Iic_extend_coe {α : Type u_1} {β : Type u_2} [linear_order α] {b : α} (f : (set.Iic b) β) (x : (set.Iic b)) :
@[simp]
theorem set.Icc_extend_coe {α : Type u_1} {β : Type u_2} [linear_order α] {a b : α} (h : a b) (f : (set.Icc a b) β) (x : (set.Icc a b)) :
theorem set.Icc_extend_eq_self {α : Type u_1} {β : Type u_2} [linear_order α] {a b : α} (h : a b) (f : α β) (ha : (x : α), 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.

@[protected]
theorem monotone.Ici_extend {α : Type u_1} {β : Type u_2} [linear_order α] [preorder β] {a : α} {f : (set.Ici a) β} (hf : monotone f) :
@[protected]
theorem monotone.Iic_extend {α : Type u_1} {β : Type u_2} [linear_order α] [preorder β] {b : α} {f : (set.Iic b) β} (hf : monotone f) :
@[protected]
theorem monotone.Icc_extend {α : Type u_1} {β : Type u_2} [linear_order α] [preorder β] {a b : α} (h : a b) {f : (set.Icc a b) β} (hf : monotone f) :
theorem strict_mono.strict_mono_on_Ici_extend {α : Type u_1} {β : Type u_2} [linear_order α] [preorder β] {a : α} {f : (set.Ici a) β} (hf : strict_mono f) :
theorem strict_mono.strict_mono_on_Iic_extend {α : Type u_1} {β : Type u_2} [linear_order α] [preorder β] {b : α} {f : (set.Iic b) β} (hf : strict_mono f) :
theorem strict_mono.strict_mono_on_Icc_extend {α : Type u_1} {β : Type u_2} [linear_order α] [preorder β] {a b : α} (h : a b) {f : (set.Icc a b) β} (hf : strict_mono f) :
@[protected]
theorem set.ord_connected.Ici_extend {α : Type u_1} [linear_order α] {a : α} {s : set (set.Ici a)} (hs : s.ord_connected) :
{x : α | set.Ici_extend (λ (_x : (set.Ici a)), _x s) x}.ord_connected
@[protected]
theorem set.ord_connected.Iic_extend {α : Type u_1} [linear_order α] {b : α} {s : set (set.Iic b)} (hs : s.ord_connected) :
{x : α | set.Iic_extend (λ (_x : (set.Iic b)), _x s) x}.ord_connected
@[protected]
theorem set.ord_connected.restrict {α : Type u_1} [linear_order α] {s t : set α} (hs : s.ord_connected) :
{x : t | t.restrict (λ (_x : α), _x s) x}.ord_connected