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]
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 โปยน' Set.uIoc โ†‘i โ†‘j = Set.uIoc 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) :
val '' Set.Iic i = Set.Iic โ†‘i
@[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) :
val '' Set.Iio i = Set.Iio โ†‘i
@[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 '' Set.uIoc i j = Set.uIoc โ†‘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.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) :
@[simp]
theorem Fin.image_castLE_uIoo {m n : โ„•} (i j : Fin m) (h : m โ‰ค n) :

(Pre)images under Fin.castAdd #

@[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_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) :
@[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) :
Fin.cast h โปยน' Set.Icc i j = Set.Icc (Fin.cast โ‹ฏ i) (Fin.cast โ‹ฏ j)
@[simp]
theorem Fin.preimage_cast_Ico {m n : โ„•} (h : m = n) (i j : Fin n) :
Fin.cast h โปยน' Set.Ico i j = Set.Ico (Fin.cast โ‹ฏ i) (Fin.cast โ‹ฏ j)
@[simp]
theorem Fin.preimage_cast_Ioc {m n : โ„•} (h : m = n) (i j : Fin n) :
Fin.cast h โปยน' Set.Ioc i j = Set.Ioc (Fin.cast โ‹ฏ i) (Fin.cast โ‹ฏ j)
@[simp]
theorem Fin.preimage_cast_Ioo {m n : โ„•} (h : m = n) (i j : Fin n) :
Fin.cast h โปยน' Set.Ioo i j = Set.Ioo (Fin.cast โ‹ฏ i) (Fin.cast โ‹ฏ j)
@[simp]
theorem Fin.preimage_cast_uIcc {m n : โ„•} (h : m = n) (i j : Fin n) :
Fin.cast h โปยน' Set.uIcc i j = Set.uIcc (Fin.cast โ‹ฏ i) (Fin.cast โ‹ฏ j)
@[simp]
theorem Fin.preimage_cast_uIoc {m n : โ„•} (h : m = n) (i j : Fin n) :
Fin.cast h โปยน' Set.uIoc i j = Set.uIoc (Fin.cast โ‹ฏ i) (Fin.cast โ‹ฏ j)
@[simp]
theorem Fin.preimage_cast_uIoo {m n : โ„•} (h : m = n) (i j : Fin n) :
Fin.cast h โปยน' Set.uIoo i j = Set.uIoo (Fin.cast โ‹ฏ i) (Fin.cast โ‹ฏ j)

Fin.castSucc #

Fin.natAdd #

@[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) :
@[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) โปยน' Set.uIoc (i.addNat m) (j.addNat m) = Set.uIoc 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) '' Set.uIoc i j = Set.uIoc (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 #

Fin.rev #