HepLean Documentation

Mathlib.Data.List.FinRange

Lists of elements of Fin n #

This file develops some results on finRange n.

@[simp]
theorem List.mem_finRange {n : } (a : Fin n) :
@[simp]
theorem List.finRange_eq_nil {n : } :
List.finRange n = [] n = 0
theorem List.pairwise_lt_finRange (n : ) :
List.Pairwise (fun (x1 x2 : Fin n) => x1 < x2) (List.finRange n)
theorem List.pairwise_le_finRange (n : ) :
List.Pairwise (fun (x1 x2 : Fin n) => x1 x2) (List.finRange n)
theorem List.get_finRange {n i : } (h : i < (List.finRange n).length) :
(List.finRange n).get i, h = i,
@[deprecated List.get_finRange]
theorem List.nthLe_finRange {n i : } (h : i < (List.finRange n).length) :
(List.finRange n).get i, h = i,

Alias of List.get_finRange.

@[simp]
theorem List.finRange_map_get {α : Type u} (l : List α) :
List.map l.get (List.finRange l.length) = l
@[simp]
theorem List.indexOf_finRange {k : } (i : Fin k) :
@[simp]
theorem List.ofFn_eq_pmap {α : Type u} {n : } {f : Fin nα} :
List.ofFn f = List.pmap (fun (i : ) (hi : i < n) => f i, hi) (List.range n)
theorem List.ofFn_eq_map {α : Type u} {n : } {f : Fin nα} :
theorem List.nodup_ofFn_ofInjective {α : Type u} {n : } {f : Fin nα} (hf : Function.Injective f) :
(List.ofFn f).Nodup
theorem List.nodup_ofFn {α : Type u} {n : } {f : Fin nα} :
theorem Equiv.Perm.ofFn_comp_perm {n : } {α : Type u} (σ : Equiv.Perm (Fin n)) (f : Fin nα) :
(List.ofFn (f σ)).Perm (List.ofFn f)

The list obtained from a permutation of a tuple f is permutation equivalent to the list obtained from f.