mathlib documentation

data.set.intervals.pi

Intervals in pi-space

In this we prove various simple lemmas about intervals in Π i, α i. Closed intervals (Ici x, Iic x, Icc x y) are equal to products of their projections to α i, while (semi-)open intervals usually include the corresponding products as proper subsets.

@[simp]
theorem set.pi_univ_Ici {ι : Type u_1} {α : ι → Type u_2} [Π (i : ι), preorder (α i)] (x : Π (i : ι), α i) :
set.univ.pi (λ (i : ι), set.Ici (x i)) = set.Ici x

@[simp]
theorem set.pi_univ_Iic {ι : Type u_1} {α : ι → Type u_2} [Π (i : ι), preorder (α i)] (x : Π (i : ι), α i) :
set.univ.pi (λ (i : ι), set.Iic (x i)) = set.Iic x

@[simp]
theorem set.pi_univ_Icc {ι : Type u_1} {α : ι → Type u_2} [Π (i : ι), preorder (α i)] (x y : Π (i : ι), α i) :
set.univ.pi (λ (i : ι), set.Icc (x i) (y i)) = set.Icc x y

theorem set.pi_univ_Ioi_subset {ι : Type u_1} {α : ι → Type u_2} [Π (i : ι), preorder (α i)] (x : Π (i : ι), α i) [nonempty ι] :
set.univ.pi (λ (i : ι), set.Ioi (x i)) set.Ioi x

theorem set.pi_univ_Iio_subset {ι : Type u_1} {α : ι → Type u_2} [Π (i : ι), preorder (α i)] (x : Π (i : ι), α i) [nonempty ι] :
set.univ.pi (λ (i : ι), set.Iio (x i)) set.Iio x

theorem set.pi_univ_Ioo_subset {ι : Type u_1} {α : ι → Type u_2} [Π (i : ι), preorder (α i)] (x y : Π (i : ι), α i) [nonempty ι] :
set.univ.pi (λ (i : ι), set.Ioo (x i) (y i)) set.Ioo x y

theorem set.pi_univ_Ioc_subset {ι : Type u_1} {α : ι → Type u_2} [Π (i : ι), preorder (α i)] (x y : Π (i : ι), α i) [nonempty ι] :
set.univ.pi (λ (i : ι), set.Ioc (x i) (y i)) set.Ioc x y

theorem set.pi_univ_Ico_subset {ι : Type u_1} {α : ι → Type u_2} [Π (i : ι), preorder (α i)] (x y : Π (i : ι), α i) [nonempty ι] :
set.univ.pi (λ (i : ι), set.Ico (x i) (y i)) set.Ico x y

theorem set.pi_univ_Ioc_update_left {ι : Type u_1} {α : ι → Type u_2} [Π (i : ι), preorder (α i)] [decidable_eq ι] {x y : Π (i : ι), α i} {i₀ : ι} {m : α i₀} (hm : x i₀ m) :
set.univ.pi (λ (i : ι), set.Ioc (function.update x i₀ m i) (y i)) = {z : Π (i : ι), α i | m < z i₀} set.univ.pi (λ (i : ι), set.Ioc (x i) (y i))

theorem set.pi_univ_Ioc_update_right {ι : Type u_1} {α : ι → Type u_2} [Π (i : ι), preorder (α i)] [decidable_eq ι] {x y : Π (i : ι), α i} {i₀ : ι} {m : α i₀} (hm : m y i₀) :
set.univ.pi (λ (i : ι), set.Ioc (x i) (function.update y i₀ m i)) = {z : Π (i : ι), α i | z i₀ m} set.univ.pi (λ (i : ι), set.Ioc (x i) (y i))

theorem set.disjoint_pi_univ_Ioc_update_left_right {ι : Type u_1} {α : ι → Type u_2} [Π (i : ι), preorder (α i)] [decidable_eq ι] {x y : Π (i : ι), α i} {i₀ : ι} {m : α i₀} :
disjoint (set.univ.pi (λ (i : ι), set.Ioc (x i) (function.update y i₀ m i))) (set.univ.pi (λ (i : ι), set.Ioc (function.update x i₀ m i) (y i)))

theorem set.pi_univ_Ioc_update_union {ι : Type u_1} {α : ι → Type u_2} [decidable_eq ι] [Π (i : ι), linear_order (α i)] (x y : Π (i : ι), α i) (i₀ : ι) (m : α i₀) (hm : m set.Icc (x i₀) (y i₀)) :
set.univ.pi (λ (i : ι), set.Ioc (x i) (function.update y i₀ m i)) set.univ.pi (λ (i : ι), set.Ioc (function.update x i₀ m i) (y i)) = set.univ.pi (λ (i : ι), set.Ioc (x i) (y i))

theorem set.Icc_diff_pi_univ_Ioo_subset {ι : Type u_1} {α : ι → Type u_2} [decidable_eq ι] [Π (i : ι), linear_order (α i)] (x y x' y' : Π (i : ι), α i) :
set.Icc x y \ set.univ.pi (λ (i : ι), set.Ioo (x' i) (y' i)) (⋃ (i : ι), set.Icc x (function.update y i (x' i))) ⋃ (i : ι), set.Icc (function.update x i (y' i)) y

If x, y, x', and y' are functions Π i : ι, α i, then the set difference between the box [x, y] and the product of the open intervals (x' i, y' i) is covered by the union of the following boxes: for each i : ι, we take [x, update y i (x' i)] and [update x i (y' i), y].

E.g., if x' = x and y' = y, then this lemma states that the difference between a closed box [x, y] and the corresponding open box {z | ∀ i, x i < z i < y i} is covered by the union of the faces of [x, y].

theorem set.Icc_diff_pi_univ_Ioc_subset {ι : Type u_1} {α : ι → Type u_2} [decidable_eq ι] [Π (i : ι), linear_order (α i)] (x y z : Π (i : ι), α i) :
set.Icc x z \ set.univ.pi (λ (i : ι), set.Ioc (y i) (z i)) ⋃ (i : ι), set.Icc x (function.update z i (y i))

If x, y, z are functions Π i : ι, α i, then the set difference between the box [x, z] and the product of the intervals (y i, z i] is covered by the union of the boxes [x, update z i (y i)].

E.g., if x = y, then this lemma states that the difference between a closed box [x, y] and the product of half-open intervals {z | ∀ i, x i < z i ≤ y i} is covered by the union of the faces of [x, y] adjacent to x.