Documentation

Mathlib.Order.Interval.Set.Fin

(Pre)images of set intervals under Fin operations #

In this file we prove basic lemmas about preimages and images of the intervals under the following operations:

(Pre)images under Fin.val #

@[simp]
@[simp]
theorem Fin.preimage_val_Ici_val {n : } (i : Fin n) :
@[simp]
theorem Fin.preimage_val_Ioi_val {n : } (i : Fin n) :
@[simp]
theorem Fin.preimage_val_Iic_val {n : } (i : Fin n) :
@[simp]
theorem Fin.preimage_val_Iio_val {n : } (i : Fin n) :
@[simp]
theorem Fin.preimage_val_Icc_val {n : } (i j : Fin n) :
val ⁻¹' Set.Icc i j = Set.Icc i j
@[simp]
theorem Fin.preimage_val_Ico_val {n : } (i j : Fin n) :
val ⁻¹' Set.Ico i j = Set.Ico i j
@[simp]
theorem Fin.preimage_val_Ioc_val {n : } (i j : Fin n) :
val ⁻¹' Set.Ioc i j = Set.Ioc i j
@[simp]
theorem Fin.preimage_val_Ioo_val {n : } (i j : Fin n) :
val ⁻¹' Set.Ioo i j = Set.Ioo i j
@[simp]
theorem Fin.image_val_Ici {n : } (i : Fin n) :
val '' Set.Ici i = Set.Ico (↑i) n
@[simp]
theorem Fin.image_val_Iic {n : } (i : Fin n) :
@[simp]
theorem Fin.image_val_Ioi {n : } (i : Fin n) :
val '' Set.Ioi i = Set.Ioo (↑i) n
@[simp]
theorem Fin.image_val_Iio {n : } (i : Fin n) :
@[simp]
theorem Fin.image_val_Icc {n : } (i j : Fin n) :
val '' Set.Icc i j = Set.Icc i j
@[simp]
theorem Fin.image_val_Ico {n : } (i j : Fin n) :
val '' Set.Ico i j = Set.Ico i j
@[simp]
theorem Fin.image_val_Ioc {n : } (i j : Fin n) :
val '' Set.Ioc i j = Set.Ioc i j
@[simp]
theorem Fin.image_val_Ioo {n : } (i j : Fin n) :
val '' Set.Ioo i j = Set.Ioo i j

Preimages under Fin.castLE #

@[simp]
theorem Fin.preimage_castLE_Ici_castLE {m n : } (i : Fin m) (h : m n) :
@[simp]
theorem Fin.preimage_castLE_Ioi_castLE {m n : } (i : Fin m) (h : m n) :
@[simp]
theorem Fin.preimage_castLE_Iic_castLE {m n : } (i : Fin m) (h : m n) :
@[simp]
theorem Fin.preimage_castLE_Iio_castLE {m n : } (i : Fin m) (h : m n) :
@[simp]
theorem Fin.preimage_castLE_Icc_castLE {m n : } (i j : Fin m) (h : m n) :
@[simp]
theorem Fin.preimage_castLE_Ico_castLE {m n : } (i j : Fin m) (h : m n) :
@[simp]
theorem Fin.preimage_castLE_Ioc_castLE {m n : } (i j : Fin m) (h : m n) :
@[simp]
theorem Fin.preimage_castLE_Ioo_castLE {m n : } (i j : Fin m) (h : m n) :
@[simp]
theorem Fin.image_castLE_Iic {m n : } (i : Fin m) (h : m n) :
@[simp]
theorem Fin.image_castLE_Iio {m n : } (i : Fin m) (h : m n) :
@[simp]
theorem Fin.image_castLE_Icc {m n : } (i j : Fin m) (h : m n) :
castLE h '' Set.Icc i j = Set.Icc (castLE h i) (castLE h j)
@[simp]
theorem Fin.image_castLE_Ico {m n : } (i j : Fin m) (h : m n) :
castLE h '' Set.Ico i j = Set.Ico (castLE h i) (castLE h j)
@[simp]
theorem Fin.image_castLE_Ioc {m n : } (i j : Fin m) (h : m n) :
castLE h '' Set.Ioc i j = Set.Ioc (castLE h i) (castLE h j)
@[simp]
theorem Fin.image_castLE_Ioo {m n : } (i j : Fin m) (h : m n) :
castLE h '' Set.Ioo i j = Set.Ioo (castLE h i) (castLE h j)

(Pre)images under Fin.castAdd #

@[simp]
theorem Fin.range_castAdd {m n : } [NeZero m] :
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem Fin.preimage_castAdd_Icc_castAdd {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.preimage_castAdd_Ico_castAdd {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.preimage_castAdd_Ioc_castAdd {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.preimage_castAdd_Ioo_castAdd {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.image_castAdd_Ici {n : } (m : ) [NeZero m] (i : Fin n) :
@[simp]
theorem Fin.image_castAdd_Ioi {n : } (m : ) [NeZero m] (i : Fin n) :
@[simp]
theorem Fin.image_castAdd_Iic {n : } (m : ) (i : Fin n) :
@[simp]
theorem Fin.image_castAdd_Iio {n : } (m : ) (i : Fin n) :
@[simp]
theorem Fin.image_castAdd_Icc {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.image_castAdd_Ico {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.image_castAdd_Ioc {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.image_castAdd_Ioo {n : } (m : ) (i j : Fin n) :

(Pre)images under Fin.cast #

theorem Fin.image_cast {m n : } (h : m = n) (s : Set (Fin m)) :
@[simp]
theorem Fin.image_cast_fun {m n : } (h : m = n) :
@[simp]
theorem Fin.preimage_cast_Ici {m n : } (h : m = n) (i : Fin n) :
@[simp]
theorem Fin.preimage_cast_Ioi {m n : } (h : m = n) (i : Fin n) :
@[simp]
theorem Fin.preimage_cast_Iic {m n : } (h : m = n) (i : Fin n) :
@[simp]
theorem Fin.preimage_cast_Iio {m n : } (h : m = n) (i : Fin n) :
@[simp]
theorem Fin.preimage_cast_Icc {m n : } (h : m = n) (i j : Fin n) :
@[simp]
theorem Fin.preimage_cast_Ico {m n : } (h : m = n) (i j : Fin n) :
@[simp]
theorem Fin.preimage_cast_Ioc {m n : } (h : m = n) (i j : Fin n) :
@[simp]
theorem Fin.preimage_cast_Ioo {m n : } (h : m = n) (i j : Fin n) :

Fin.castSucc #

@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]

Fin.natAdd #

theorem Fin.range_natAdd (m n : ) :
Set.range (natAdd m) = {i : Fin (m + n) | m i}
@[simp]
theorem Fin.preimage_natAdd_Ici_natAdd {n : } (m : ) (i : Fin n) :
@[simp]
theorem Fin.preimage_natAdd_Ioi_natAdd {n : } (m : ) (i : Fin n) :
@[simp]
theorem Fin.preimage_natAdd_Iic_natAdd {n : } (m : ) (i : Fin n) :
@[simp]
theorem Fin.preimage_natAdd_Iio_natAdd {n : } (m : ) (i : Fin n) :
@[simp]
theorem Fin.preimage_natAdd_Icc_natAdd {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.preimage_natAdd_Ico_natAdd {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.preimage_natAdd_Ioc_natAdd {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.preimage_natAdd_Ioo_natAdd {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.image_natAdd_Ici {n : } (m : ) (i : Fin n) :
@[simp]
theorem Fin.image_natAdd_Ioi {n : } (m : ) (i : Fin n) :
@[simp]
theorem Fin.image_natAdd_Icc {n : } (m : ) (i j : Fin n) :
natAdd m '' Set.Icc i j = Set.Icc (natAdd m i) (natAdd m j)
@[simp]
theorem Fin.image_natAdd_Ico {n : } (m : ) (i j : Fin n) :
natAdd m '' Set.Ico i j = Set.Ico (natAdd m i) (natAdd m j)
@[simp]
theorem Fin.image_natAdd_Ioc {n : } (m : ) (i j : Fin n) :
natAdd m '' Set.Ioc i j = Set.Ioc (natAdd m i) (natAdd m j)
@[simp]
theorem Fin.image_natAdd_Ioo {n : } (m : ) (i j : Fin n) :
natAdd m '' Set.Ioo i j = Set.Ioo (natAdd m i) (natAdd m j)

Fin.addNat #

@[simp]
theorem Fin.preimage_addNat_Ici_addNat {n : } (m : ) (i : Fin n) :
(fun (x : Fin n) => x.addNat m) ⁻¹' Set.Ici (i.addNat m) = Set.Ici i
@[simp]
theorem Fin.preimage_addNat_Ioi_addNat {n : } (m : ) (i : Fin n) :
(fun (x : Fin n) => x.addNat m) ⁻¹' Set.Ioi (i.addNat m) = Set.Ioi i
@[simp]
theorem Fin.preimage_addNat_Iic_addNat {n : } (m : ) (i : Fin n) :
(fun (x : Fin n) => x.addNat m) ⁻¹' Set.Iic (i.addNat m) = Set.Iic i
@[simp]
theorem Fin.preimage_addNat_Iio_addNat {n : } (m : ) (i : Fin n) :
(fun (x : Fin n) => x.addNat m) ⁻¹' Set.Iio (i.addNat m) = Set.Iio i
@[simp]
theorem Fin.preimage_addNat_Icc_addNat {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) ⁻¹' Set.Icc (i.addNat m) (j.addNat m) = Set.Icc i j
@[simp]
theorem Fin.preimage_addNat_Ico_addNat {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) ⁻¹' Set.Ico (i.addNat m) (j.addNat m) = Set.Ico i j
@[simp]
theorem Fin.preimage_addNat_Ioc_addNat {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) ⁻¹' Set.Ioc (i.addNat m) (j.addNat m) = Set.Ioc i j
@[simp]
theorem Fin.preimage_addNat_Ioo_addNat {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) ⁻¹' Set.Ioo (i.addNat m) (j.addNat m) = Set.Ioo i j
@[simp]
theorem Fin.image_addNat_Ici {n : } (m : ) (i : Fin n) :
(fun (x : Fin n) => x.addNat m) '' Set.Ici i = Set.Ici (i.addNat m)
@[simp]
theorem Fin.image_addNat_Ioi {n : } (m : ) (i : Fin n) :
(fun (x : Fin n) => x.addNat m) '' Set.Ioi i = Set.Ioi (i.addNat m)
@[simp]
theorem Fin.image_addNat_Icc {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) '' Set.Icc i j = Set.Icc (i.addNat m) (j.addNat m)
@[simp]
theorem Fin.image_addNat_Ico {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) '' Set.Ico i j = Set.Ico (i.addNat m) (j.addNat m)
@[simp]
theorem Fin.image_addNat_Ioc {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) '' Set.Ioc i j = Set.Ioc (i.addNat m) (j.addNat m)
@[simp]
theorem Fin.image_addNat_Ioo {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) '' Set.Ioo i j = Set.Ioo (i.addNat m) (j.addNat m)

Fin.succ #

@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem Fin.image_succ_Ici {n : } (i : Fin n) :
@[simp]
theorem Fin.image_succ_Ioi {n : } (i : Fin n) :
@[simp]
theorem Fin.image_succ_Iic {n : } (i : Fin n) :
@[simp]
theorem Fin.image_succ_Iio {n : } (i : Fin n) :
@[simp]
theorem Fin.image_succ_Icc {n : } (i j : Fin n) :
@[simp]
theorem Fin.image_succ_Ico {n : } (i j : Fin n) :
@[simp]
theorem Fin.image_succ_Ioc {n : } (i j : Fin n) :
@[simp]
theorem Fin.image_succ_Ioo {n : } (i j : Fin n) :

Fin.rev #

theorem Fin.image_rev {n : } (s : Set (Fin n)) :
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem Fin.preimage_rev_Icc {n : } (i j : Fin n) :
@[simp]
theorem Fin.preimage_rev_Ico {n : } (i j : Fin n) :
@[simp]
theorem Fin.preimage_rev_Ioc {n : } (i j : Fin n) :
@[simp]
theorem Fin.preimage_rev_Ioo {n : } (i j : Fin n) :