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.preimage_val_uIcc_val {n : } (i j : Fin n) :
val ⁻¹' Set.uIcc i j = Set.uIcc i j
@[simp]
theorem Fin.preimage_val_uIoc_val {n : } (i j : Fin n) :
val ⁻¹' Ι i j = Ι i j
@[simp]
theorem Fin.preimage_val_uIoo_val {n : } (i j : Fin n) :
val ⁻¹' Set.uIoo i j = Set.uIoo 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
@[simp]
theorem Fin.image_val_uIcc {n : } (i j : Fin n) :
val '' Set.uIcc i j = Set.uIcc i j
@[simp]
theorem Fin.image_val_uIoc {n : } (i j : Fin n) :
val '' Ι i j = Ι i j
@[simp]
theorem Fin.image_val_uIoo {n : } (i j : Fin n) :
val '' Set.uIoo i j = Set.uIoo 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.preimage_castLE_uIcc_castLE {m n : } (i j : Fin m) (h : m n) :
@[simp]
theorem Fin.preimage_castLE_uIoc_castLE {m n : } (i j : Fin m) (h : m n) :
castLE h ⁻¹' Ι (castLE h i) (castLE h j) = Ι i j
@[simp]
theorem Fin.preimage_castLE_uIoo_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)
@[simp]
theorem Fin.image_castLE_uIcc {m n : } (i j : Fin m) (h : m n) :
@[simp]
theorem Fin.image_castLE_uIoc {m n : } (i j : Fin m) (h : m n) :
castLE h '' Ι i j = Ι (castLE h i) (castLE h j)
@[simp]
theorem Fin.image_castLE_uIoo {m n : } (i j : Fin m) (h : m n) :

(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.preimage_castAdd_uIcc_castAdd {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.preimage_castAdd_uIoc_castAdd {n : } (m : ) (i j : Fin n) :
castAdd m ⁻¹' Ι (castAdd m i) (castAdd m j) = Ι i j
@[simp]
theorem Fin.preimage_castAdd_uIoo_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) :
@[simp]
theorem Fin.image_castAdd_uIcc {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.image_castAdd_uIoc {n : } (m : ) (i j : Fin n) :
castAdd m '' Ι i j = Ι (castAdd m i) (castAdd m j)
@[simp]
theorem Fin.image_castAdd_uIoo {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) :
@[simp]
theorem Fin.preimage_cast_uIcc {m n : } (h : m = n) (i j : Fin n) :
@[simp]
theorem Fin.preimage_cast_uIoc {m n : } (h : m = n) (i j : Fin n) :
Fin.cast h ⁻¹' Ι i j = Ι (Fin.cast i) (Fin.cast j)
@[simp]
theorem Fin.preimage_cast_uIoo {m n : } (h : m = n) (i j : Fin n) :

Fin.castSucc #

@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem Fin.image_castSucc_uIoc {n : } (i j : Fin n) :

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.preimage_natAdd_uIcc_natAdd {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.preimage_natAdd_uIoc_natAdd {n : } (m : ) (i j : Fin n) :
natAdd m ⁻¹' Ι (natAdd m i) (natAdd m j) = Ι i j
@[simp]
theorem Fin.preimage_natAdd_uIoo_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)
@[simp]
theorem Fin.image_natAdd_uIcc {n : } (m : ) (i j : Fin n) :
@[simp]
theorem Fin.image_natAdd_uIoc {n : } (m : ) (i j : Fin n) :
natAdd m '' Ι i j = Ι (natAdd m i) (natAdd m j)
@[simp]
theorem Fin.image_natAdd_uIoo {n : } (m : ) (i j : Fin n) :

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.preimage_addNat_uIcc_addNat {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) ⁻¹' Set.uIcc (i.addNat m) (j.addNat m) = Set.uIcc i j
@[simp]
theorem Fin.preimage_addNat_uIoc_addNat {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) ⁻¹' Ι (i.addNat m) (j.addNat m) = Ι i j
@[simp]
theorem Fin.preimage_addNat_uIoo_addNat {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) ⁻¹' Set.uIoo (i.addNat m) (j.addNat m) = Set.uIoo 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)
@[simp]
theorem Fin.image_addNat_uIcc {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) '' Set.uIcc i j = Set.uIcc (i.addNat m) (j.addNat m)
@[simp]
theorem Fin.image_addNat_uIoc {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) '' Ι i j = Ι (i.addNat m) (j.addNat m)
@[simp]
theorem Fin.image_addNat_uIoo {n : } (m : ) (i j : Fin n) :
(fun (x : Fin n) => x.addNat m) '' Set.uIoo i j = Set.uIoo (i.addNat m) (j.addNat m)

Fin.succ #

@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem Fin.preimage_succ_uIoc_succ {n : } (i j : Fin n) :
@[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) :
@[simp]
theorem Fin.image_succ_uIcc {n : } (i j : Fin n) :
@[simp]
theorem Fin.image_succ_uIoc {n : } (i j : Fin n) :
succ '' Ι i j = Ι i.succ j.succ
@[simp]
theorem Fin.image_succ_uIoo {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) :
@[simp]
theorem Fin.preimage_rev_uIcc {n : } (i j : Fin n) :
@[simp]
theorem Fin.preimage_rev_uIoo {n : } (i j : Fin n) :