Loogle!
Result
Found 250 definitions mentioning List and Fin. Of these, only the first 200 are shown.
- List.get ๐ Init.Prelude
{ฮฑ : Type u} (as : List ฮฑ) : Fin as.length โ ฮฑ - List.findFinIdx? ๐ Init.Data.List.Basic
{ฮฑ : Type u} (p : ฮฑ โ Bool) (l : List ฮฑ) : Option (Fin l.length) - List.finIdxOf? ๐ Init.Data.List.Basic
{ฮฑ : Type u} [BEq ฮฑ] (a : ฮฑ) (l : List ฮฑ) : Option (Fin l.length) - List.findFinIdx?.go ๐ Init.Data.List.Basic
{ฮฑ : Type u} (p : ฮฑ โ Bool) (l l' : List ฮฑ) (i : โ) (h : l'.length + i = l.length) : Option (Fin l.length) - List.sizeOf_get ๐ Init.Data.List.BasicAux
{ฮฑ : Type u_1} [SizeOf ฮฑ] (as : List ฮฑ) (i : Fin as.length) : sizeOf (as.get i) < sizeOf as - List.get_last ๐ Init.Data.List.BasicAux
{ฮฑ : Type u_1} {a : ฮฑ} {as : List ฮฑ} {i : Fin (as ++ [a]).length} (h : ยฌโi < as.length) : (as ++ [a]).get i = a - List.get_mem ๐ Init.Data.List.Lemmas
{ฮฑ : Type u_1} (l : List ฮฑ) (n : Fin l.length) : l.get n โ l - List.get_cons_succ' ๐ Init.Data.List.Lemmas
{ฮฑ : Type u_1} {a : ฮฑ} {as : List ฮฑ} {i : Fin as.length} : (a :: as).get i.succ = as.get i - List.get_of_mem ๐ Init.Data.List.Lemmas
{ฮฑ : Type u_1} {a : ฮฑ} {l : List ฮฑ} (h : a โ l) : โ n, l.get n = a - List.mem_iff_get ๐ Init.Data.List.Lemmas
{ฮฑ : Type u_1} {a : ฮฑ} {l : List ฮฑ} : a โ l โ โ n, l.get n = a - List.get_eq_getElem ๐ Init.Data.List.Lemmas
{ฮฑ : Type u_1} (l : List ฮฑ) (i : Fin l.length) : l.get i = l[โi] - List.get_of_eq ๐ Init.Data.List.Lemmas
{ฮฑ : Type u_1} {l l' : List ฮฑ} (h : l = l') (i : Fin l.length) : l.get i = l'.get โจโi, โฏโฉ - List.get_cons_zero ๐ Init.Data.List.Lemmas
{ฮฑโ : Type u_1} {a : ฮฑโ} {l : List ฮฑโ} : (a :: l).get 0 = a - List.get_cons_cons_one ๐ Init.Data.List.Lemmas
{ฮฑโ : Type u_1} {aโ aโ : ฮฑโ} {as : List ฮฑโ} : (aโ :: aโ :: as).get 1 = aโ - List.finIdxOf?.eq_1 ๐ Init.Data.List.Find
{ฮฑ : Type u} [BEq ฮฑ] (a : ฮฑ) : List.finIdxOf? a = List.findFinIdx? fun x => x == a - List.findFinIdx?.eq_1 ๐ Init.Data.List.Find
{ฮฑ : Type u} (p : ฮฑ โ Bool) (l : List ฮฑ) : List.findFinIdx? p l = List.findFinIdx?.go p l l 0 โฏ - List.findIdx?_eq_map_findFinIdx?_val ๐ Init.Data.List.Find
{ฮฑ : Type u_1} {xs : List ฮฑ} {p : ฮฑ โ Bool} : List.findIdx? p xs = Option.map (fun x => โx) (List.findFinIdx? p xs) - List.idxOf?_eq_map_finIdxOf?_val ๐ Init.Data.List.Find
{ฮฑ : Type u_1} [BEq ฮฑ] {xs : List ฮฑ} {a : ฮฑ} : List.idxOf? a xs = Option.map (fun x => โx) (List.finIdxOf? a xs) - List.finIdxOf?_eq_none_iff ๐ Init.Data.List.Find
{ฮฑ : Type u_1} [BEq ฮฑ] [LawfulBEq ฮฑ] {l : List ฮฑ} {a : ฮฑ} : List.finIdxOf? a l = none โ a โ l - List.findFinIdx?_eq_none_iff ๐ Init.Data.List.Find
{ฮฑ : Type u_1} {l : List ฮฑ} {p : ฮฑ โ Bool} : List.findFinIdx? p l = none โ โ x โ l, ยฌp x = true - List.findFinIdx?.go.eq_1 ๐ Init.Data.List.Find
{ฮฑ : Type u} (p : ฮฑ โ Bool) (l : List ฮฑ) (x : โ) (x_1 : [].length + x = l.length) : List.findFinIdx?.go p l [] x x_1 = none - List.findIdx?_go_eq_map_findFinIdx?_go_val ๐ Init.Data.List.Find
{ฮฑ : Type u_1} {l xs : List ฮฑ} {p : ฮฑ โ Bool} {i : โ} {h : xs.length + i = l.length} : List.findIdx?.go p xs i = Option.map (fun x => โx) (List.findFinIdx?.go p l xs i h) - List.findFinIdx?.go.eq_2 ๐ Init.Data.List.Find
{ฮฑ : Type u} (p : ฮฑ โ Bool) (l : List ฮฑ) (x : โ) (a : ฮฑ) (l_1 : List ฮฑ) (x_1 : (a :: l_1).length + x = l.length) : List.findFinIdx?.go p l (a :: l_1) x x_1 = if p a = true then some โจx, โฏโฉ else List.findFinIdx?.go p l l_1 (x + 1) โฏ - List.findFinIdx?_cons ๐ Init.Data.List.Find
{ฮฑ : Type u_1} {p : ฮฑ โ Bool} {x : ฮฑ} {xs : List ฮฑ} : List.findFinIdx? p (x :: xs) = if p x = true then some 0 else Option.map Fin.succ (List.findFinIdx? p xs) - List.finIdxOf?_cons ๐ Init.Data.List.Find
{ฮฑ : Type u_1} {b : ฮฑ} [BEq ฮฑ] (a : ฮฑ) (xs : List ฮฑ) : List.finIdxOf? b (a :: xs) = if (a == b) = true then some โจ0, โฏโฉ else Option.map (fun x => x.succ) (List.finIdxOf? b xs) - List.findFinIdx?.go.eq_def ๐ Init.Data.List.Find
{ฮฑ : Type u} (p : ฮฑ โ Bool) (l xโ : List ฮฑ) (xโยน : โ) (xโยฒ : xโ.length + xโยน = l.length) : List.findFinIdx?.go p l xโ xโยน xโยฒ = match xโ, xโยน, xโยฒ with | [], x, x_1 => none | a :: l_1, i, h => if p a = true then some โจi, โฏโฉ else List.findFinIdx?.go p l l_1 (i + 1) โฏ - List.findFinIdx?_eq_some_iff ๐ Init.Data.List.Find
{ฮฑ : Type u_1} {xs : List ฮฑ} {p : ฮฑ โ Bool} {i : Fin xs.length} : List.findFinIdx? p xs = some i โ p xs[i] = true โง โ (j : Fin xs.length) (hji : j < i), ยฌp xs[j] = true - List.findFinIdx?_subtype ๐ Init.Data.List.Find
{ฮฑ : Type u_1} {p : ฮฑ โ Prop} {l : List { x // p x }} {f : { x // p x } โ Bool} {g : ฮฑ โ Bool} (hf : โ (x : ฮฑ) (h : p x), f โจx, hโฉ = g x) : List.findFinIdx? f l = Option.map (fun i => Fin.cast โฏ i) (List.findFinIdx? g l.unattach) - List.finIdxOf?_eq_some_iff ๐ Init.Data.List.Find
{ฮฑ : Type u_1} [BEq ฮฑ] [LawfulBEq ฮฑ] {l : List ฮฑ} {a : ฮฑ} {i : Fin l.length} : List.finIdxOf? a l = some i โ l[i] = a โง โ j < i, ยฌl[j] = a - List.findFinIdx?_eq_pmap_findIdx? ๐ Init.Data.List.Find
{ฮฑ : Type u_1} {xs : List ฮฑ} {p : ฮฑ โ Bool} : List.findFinIdx? p xs = Option.pmap (fun i m => โจi, โฏโฉ) (List.findIdx? p xs) โฏ - List.ofFn ๐ Init.Data.List.OfFn
{ฮฑ : Type u_1} {n : โ} (f : Fin n โ ฮฑ) : List ฮฑ - List.ofFn_zero ๐ Init.Data.List.OfFn
{ฮฑ : Type u_1} (f : Fin 0 โ ฮฑ) : List.ofFn f = [] - List.ofFn_eq_nil_iff ๐ Init.Data.List.OfFn
{n : โ} {ฮฑ : Type u_1} {f : Fin n โ ฮฑ} : List.ofFn f = [] โ n = 0 - List.ofFn.eq_1 ๐ Init.Data.List.OfFn
{ฮฑ : Type u_1} {n : โ} (f : Fin n โ ฮฑ) : List.ofFn f = Fin.foldr n (fun x1 x2 => f x1 :: x2) [] - List.mem_ofFn ๐ Init.Data.List.OfFn
{ฮฑ : Type u_1} {n : โ} (f : Fin n โ ฮฑ) (a : ฮฑ) : a โ List.ofFn f โ โ i, f i = a - List.getElem?_ofFn ๐ Init.Data.List.OfFn
{n : โ} {ฮฑ : Type u_1} (f : Fin n โ ฮฑ) (i : โ) : (List.ofFn f)[i]? = if h : i < n then some (f โจi, hโฉ) else none - List.head_ofFn ๐ Init.Data.List.OfFn
{ฮฑ : Type u_1} {n : โ} (f : Fin n โ ฮฑ) (h : List.ofFn f โ []) : (List.ofFn f).head h = f โจ0, โฏโฉ - List.getLast_ofFn ๐ Init.Data.List.OfFn
{ฮฑ : Type u_1} {n : โ} (f : Fin n โ ฮฑ) (h : List.ofFn f โ []) : (List.ofFn f).getLast h = f โจn - 1, โฏโฉ - List.getElem_ofFn ๐ Init.Data.List.OfFn
{n : โ} {ฮฑ : Type u_1} (f : Fin n โ ฮฑ) (i : โ) (h : i < (List.ofFn f).length) : (List.ofFn f)[i] = f โจi, โฏโฉ - List.ofFn_succ ๐ Init.Data.List.OfFn
{ฮฑ : Type u_1} {n : โ} (f : Fin (n + 1) โ ฮฑ) : List.ofFn f = f 0 :: List.ofFn fun i => f i.succ - List.finRange ๐ Init.Data.List.FinRange
(n : โ) : List (Fin n) - List.finRange.eq_1 ๐ Init.Data.List.FinRange
(n : โ) : List.finRange n = List.ofFn fun i => i - List.finRange_reverse ๐ Init.Data.List.FinRange
(n : โ) : (List.finRange n).reverse = List.map Fin.rev (List.finRange n) - List.finRange_zero ๐ Init.Data.List.FinRange
: List.finRange 0 = [] - List.getElem_finRange ๐ Init.Data.List.FinRange
{n : โ} (i : โ) (h : i < (List.finRange n).length) : (List.finRange n)[i] = Fin.cast โฏ โจi, hโฉ - List.finRange_succ ๐ Init.Data.List.FinRange
(n : โ) : List.finRange (n + 1) = 0 :: List.map Fin.succ (List.finRange n) - List.finRange_succ_last ๐ Init.Data.List.FinRange
(n : โ) : List.finRange (n + 1) = List.map Fin.castSucc (List.finRange n) ++ [Fin.last n] - List.map_get_sublist ๐ Init.Data.List.Nat.Pairwise
{ฮฑ : Type u_1} {l : List ฮฑ} {is : List (Fin l.length)} (h : List.Pairwise (fun x1 x2 => โx1 < โx2) is) : (List.map l.get is).Sublist l - List.sublist_eq_map_get ๐ Init.Data.List.Nat.Pairwise
{ฮฑโ : Type u_1} {l' l : List ฮฑโ} (h : l'.Sublist l) : โ is, l' = List.map l.get is โง List.Pairwise (fun x1 x2 => x1 < x2) is - List.map_getElem_sublist ๐ Init.Data.List.Nat.Pairwise
{ฮฑ : Type u_1} {l : List ฮฑ} {is : List (Fin l.length)} (h : List.Pairwise (fun x1 x2 => x1 < x2) is) : (List.map (fun x => l[x]) is).Sublist l - List.sublist_eq_map_getElem ๐ Init.Data.List.Nat.Pairwise
{ฮฑ : Type u_1} {l l' : List ฮฑ} (h : l'.Sublist l) : โ is, l' = List.map (fun x => l[x]) is โง List.Pairwise (fun x1 x2 => x1 < x2) is - List.findFinIdx?_toArray ๐ Init.Data.List.ToArray
{ฮฑ : Type u_1} (p : ฮฑ โ Bool) (l : List ฮฑ) : Array.findFinIdx? p l.toArray = List.findFinIdx? p l - List.finIdxOf?_toArray ๐ Init.Data.List.ToArray
{ฮฑ : Type u_1} [BEq ฮฑ] (a : ฮฑ) (l : List ฮฑ) : l.toArray.finIdxOf? a = List.finIdxOf? a l - Array.getElem_fin_eq_getElem_toList ๐ Init.Data.Array.Lemmas
{ฮฑ : Type u_1} (xs : Array ฮฑ) (i : Fin xs.size) : xs[i] = xs.toList[i] - Array.getElem_fin_eq_toList_get ๐ Init.Data.Array.Lemmas
{ฮฑ : Type u_1} (xs : Array ฮฑ) (i : Fin xs.size) : xs[i] = xs.toList[i] - List.mapFinIdx_eq_ofFn ๐ Init.Data.List.MapIdx
{ฮฑ : Type u_1} {ฮฒ : Type u_2} {as : List ฮฑ} {f : (i : โ) โ ฮฑ โ i < as.length โ ฮฒ} : as.mapFinIdx f = List.ofFn fun i => f (โi) as[i] โฏ - Array.toList_ofFn ๐ Init.Data.Array.OfFn
{n : โ} {ฮฑ : Type u_1} (f : Fin n โ ฮฑ) : (Array.ofFn f).toList = List.ofFn f - Vector.toList_ofFn ๐ Init.Data.Vector.Lemmas
{n : โ} {ฮฑ : Type u_1} (f : Fin n โ ฮฑ) : (Vector.ofFn f).toList = List.ofFn f - Std.Tactic.BVDecide.LRAT.Internal.DefaultFormula.existsRatHint_of_ratHintsExhaustive ๐ Std.Tactic.BVDecide.LRAT.Internal.Formula.RatAddSound
{n : โ} (f : Std.Tactic.BVDecide.LRAT.Internal.DefaultFormula n) (f_readyForRatAdd : f.ReadyForRatAdd) (pivot : Std.Sat.Literal (Std.Tactic.BVDecide.LRAT.Internal.PosFin n)) (ratHints : Array (โ ร Array โ)) (ratHintsExhaustive_eq_true : f.ratHintsExhaustive pivot ratHints = true) (c' : Std.Tactic.BVDecide.LRAT.Internal.DefaultClause n) (c'_in_f : c' โ f.toList) (negPivot_in_c' : pivot.negate โ Std.Tactic.BVDecide.LRAT.Internal.Clause.toList c') : โ i, f.clauses[ratHints[i].1]! = some c' - Fin.list ๐ Batteries.Data.Fin.Basic
(n : โ) : List (Fin n) - List.list_reverse ๐ Batteries.Data.List.FinRange
(n : โ) : (List.finRange n).reverse = List.map Fin.rev (List.finRange n) - List.list_zero ๐ Batteries.Data.List.FinRange
: List.finRange 0 = [] - List.getElem_list ๐ Batteries.Data.List.FinRange
{n : โ} (i : โ) (h : i < (List.finRange n).length) : (List.finRange n)[i] = Fin.cast โฏ โจi, hโฉ - List.list_succ ๐ Batteries.Data.List.FinRange
(n : โ) : List.finRange (n + 1) = 0 :: List.map Fin.succ (List.finRange n) - List.list_succ_last ๐ Batteries.Data.List.FinRange
(n : โ) : List.finRange (n + 1) = List.map Fin.castSucc (List.finRange n) ++ [Fin.last n] - List.pairwise_iff_get ๐ Batteries.Data.List.Pairwise
{ฮฑโ : Type u_1} {R : ฮฑโ โ ฮฑโ โ Prop} {l : List ฮฑโ} : List.Pairwise R l โ โ (i j : Fin l.length), i < j โ R (l.get i) (l.get j) - Batteries.Linter.UnnecessarySeqFocus.getPath ๐ Batteries.Linter.UnnecessarySeqFocus
: Lean.Elab.Info โ Lean.PersistentArray Lean.Elab.InfoTree โ List ((n : โ) ร Fin n) โ Option Lean.Elab.Info - List.get_reverse' ๐ Mathlib.Data.List.Basic
{ฮฑ : Type u} (l : List ฮฑ) (n : Fin l.reverse.length) (hn' : l.length - 1 - โn < l.length) : l.reverse.get n = l.get โจl.length - 1 - โn, hn'โฉ - List.get_attach ๐ Mathlib.Data.List.Basic
{ฮฑ : Type u} (l : List ฮฑ) (i : Fin l.attach.length) : โ(l.attach.get i) = l.get โจโi, โฏโฉ - List.get_eq_get? ๐ Mathlib.Data.List.Basic
{ฮฑ : Type u} (l : List ฮฑ) (i : Fin l.length) : l.get i = l[i]?.get โฏ - List.get_eq_getElem? ๐ Mathlib.Data.List.Basic
{ฮฑ : Type u} (l : List ฮฑ) (i : Fin l.length) : l.get i = l[i]?.get โฏ - List.nodup_iff_injective_get ๐ Mathlib.Data.List.Nodup
{ฮฑ : Type u} {l : List ฮฑ} : l.Nodup โ Function.Injective l.get - List.get_idxOf ๐ Mathlib.Data.List.Nodup
{ฮฑ : Type u} [DecidableEq ฮฑ] {l : List ฮฑ} (H : l.Nodup) (i : Fin l.length) : List.idxOf (l.get i) l = โi - List.get_indexOf ๐ Mathlib.Data.List.Nodup
{ฮฑ : Type u} [DecidableEq ฮฑ] {l : List ฮฑ} (H : l.Nodup) (i : Fin l.length) : List.idxOf (l.get i) l = โi - List.not_nodup_of_get_eq_of_ne ๐ Mathlib.Data.List.Nodup
{ฮฑ : Type u} (xs : List ฮฑ) (n m : Fin xs.length) (h : xs.get n = xs.get m) (hne : n โ m) : ยฌxs.Nodup - List.Nodup.get_inj_iff ๐ Mathlib.Data.List.Nodup
{ฮฑ : Type u} {l : List ฮฑ} (h : l.Nodup) {i j : Fin l.length} : l.get i = l.get j โ i = j - List.Nodup.erase_get ๐ Mathlib.Data.List.Nodup
{ฮฑ : Type u} [DecidableEq ฮฑ] {l : List ฮฑ} (hl : l.Nodup) (i : Fin l.length) : l.erase (l.get i) = l.eraseIdx โi - List.nodup_iff_injective_getElem ๐ Mathlib.Data.List.Nodup
{ฮฑ : Type u} {l : List ฮฑ} : l.Nodup โ Function.Injective fun i => l[โi] - Set.range_list_get ๐ Mathlib.Data.Set.List
{ฮฑ : Type u_1} (l : List ฮฑ) : Set.range l.get = {x | x โ l} - List.cons_get_drop_succ ๐ Mathlib.Data.List.TakeDrop
{ฮฑ : Type u} {l : List ฮฑ} {n : Fin l.length} : l.get n :: List.drop (โn + 1) l = List.drop (โn) l - List.get_inits ๐ Mathlib.Data.List.Infix
{ฮฑ : Type u_1} (l : List ฮฑ) (n : Fin l.inits.length) : l.inits.get n = List.take (โn) l - List.get_tails ๐ Mathlib.Data.List.Infix
{ฮฑ : Type u_1} (l : List ฮฑ) (n : Fin l.tails.length) : l.tails.get n = List.drop (โn) l - List.equivSigmaTuple ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} : List ฮฑ โ (n : โ) ร (Fin n โ ฮฑ) - List.ofFn_injective ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {n : โ} : Function.Injective List.ofFn - List.ofFn_const ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} (n : โ) (c : ฮฑ) : (List.ofFn fun x => c) = List.replicate n c - List.ofFnRec ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {C : List ฮฑ โ Sort u_1} (h : (n : โ) โ (f : Fin n โ ฮฑ) โ C (List.ofFn f)) (l : List ฮฑ) : C l - List.forall_iff_forall_tuple ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {P : List ฮฑ โ Prop} : (โ (l : List ฮฑ), P l) โ โ (n : โ) (f : Fin n โ ฮฑ), P (List.ofFn f) - List.ofFn_inj ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {n : โ} {f g : Fin n โ ฮฑ} : List.ofFn f = List.ofFn g โ f = g - List.exists_iff_exists_tuple ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {P : List ฮฑ โ Prop} : (โ l, P l) โ โ n f, P (List.ofFn f) - List.forall_mem_ofFn_iff ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {n : โ} {f : Fin n โ ฮฑ} {P : ฮฑ โ Prop} : (โ i โ List.ofFn f, P i) โ โ (j : Fin n), P (f j) - List.ofFn_succ' ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {n : โ} (f : Fin n.succ โ ฮฑ) : List.ofFn f = (List.ofFn fun i => f i.castSucc).concat (f (Fin.last n)) - List.map_ofFn ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {ฮฒ : Type u_1} {n : โ} (f : Fin n โ ฮฑ) (g : ฮฑ โ ฮฒ) : List.map g (List.ofFn f) = List.ofFn (g โ f) - List.mem_ofFn' ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {n : โ} (f : Fin n โ ฮฑ) (a : ฮฑ) : a โ List.ofFn f โ a โ Set.range f - List.ofFn_congr ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {m n : โ} (h : m = n) (f : Fin m โ ฮฑ) : List.ofFn f = List.ofFn fun i => f (Fin.cast โฏ i) - List.ofFnRec_ofFn ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {C : List ฮฑ โ Sort u_1} (h : (n : โ) โ (f : Fin n โ ฮฑ) โ C (List.ofFn f)) {n : โ} (f : Fin n โ ฮฑ) : List.ofFnRec h (List.ofFn f) = h n f - List.ofFn_fin_repeat ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {m : โ} (a : Fin m โ ฮฑ) (n : โ) : List.ofFn (Fin.repeat n a) = (List.replicate n (List.ofFn a)).flatten - List.ofFn_inj' ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {m n : โ} {f : Fin m โ ฮฑ} {g : Fin n โ ฮฑ} : List.ofFn f = List.ofFn g โ โจm, fโฉ = โจn, gโฉ - List.equivSigmaTuple_apply_fst ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} (l : List ฮฑ) : (List.equivSigmaTuple l).fst = l.length - List.ofFn_fin_append ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {m n : โ} (a : Fin m โ ฮฑ) (b : Fin n โ ฮฑ) : List.ofFn (Fin.append a b) = List.ofFn a ++ List.ofFn b - List.ofFn_cons ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {n : โ} (a : ฮฑ) (f : Fin n โ ฮฑ) : List.ofFn (Fin.cons a f) = a :: List.ofFn f - List.equivSigmaTuple_apply_snd ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} (l : List ฮฑ) (aโ : Fin l.length) : (List.equivSigmaTuple l).snd aโ = l.get aโ - List.ofFn_getElem ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} (l : List ฮฑ) : (List.ofFn fun i => l[โi]) = l - List.ofFn_add ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {m n : โ} (f : Fin (m + n) โ ฮฑ) : List.ofFn f = (List.ofFn fun i => f (Fin.castAdd n i)) ++ List.ofFn fun j => f (Fin.natAdd m j) - List.ofFn_getElem_eq_map ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {ฮฒ : Type u_1} (l : List ฮฑ) (f : ฮฑ โ ฮฒ) : (List.ofFn fun i => f l[โi]) = List.map f l - List.get?_ofFn ๐ Mathlib.Data.List.OfFn
{n : โ} {ฮฑ : Type u_1} (f : Fin n โ ฮฑ) (i : โ) : (List.ofFn f)[i]? = if h : i < n then some (f โจi, hโฉ) else none - List.getLast_ofFn_succ ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {n : โ} (f : Fin n.succ โ ฮฑ) : (List.ofFn f).getLast โฏ = f (Fin.last n) - List.equivSigmaTuple_symm_apply ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} (f : (n : โ) ร (Fin n โ ฮฑ)) : List.equivSigmaTuple.symm f = List.ofFn f.snd - List.last_ofFn_succ ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {n : โ} (f : Fin n.succ โ ฮฑ) (h : List.ofFn f โ [] := โฏ) : (List.ofFn f).getLast h = f (Fin.last n) - List.last_ofFn ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {n : โ} (f : Fin n โ ฮฑ) (h : List.ofFn f โ []) (hn : n - 1 < n := โฏ) : (List.ofFn f).getLast h = f โจn - 1, hnโฉ - List.ofFn_mul ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {m n : โ} (f : Fin (m * n) โ ฮฑ) : List.ofFn f = (List.ofFn fun i => List.ofFn fun j => f โจโi * n + โj, โฏโฉ).flatten - List.ofFn_mul' ๐ Mathlib.Data.List.OfFn
{ฮฑ : Type u} {m n : โ} (f : Fin (m * n) โ ฮฑ) : List.ofFn f = (List.ofFn fun i => List.ofFn fun j => f โจm * โi + โj, โฏโฉ).flatten - List.map_coe_finRange ๐ Mathlib.Data.List.FinRange
(n : โ) : List.map Fin.val (List.finRange n) = List.range n - List.ofFn_id ๐ Mathlib.Data.List.FinRange
(n : โ) : List.ofFn id = List.finRange n - List.mem_finRange ๐ Mathlib.Data.List.FinRange
{n : โ} (a : Fin n) : a โ List.finRange n - List.finRange_eq_nil ๐ Mathlib.Data.List.FinRange
{n : โ} : List.finRange n = [] โ n = 0 - List.ofFn_eq_map ๐ Mathlib.Data.List.FinRange
{ฮฑ : Type u} {n : โ} {f : Fin n โ ฮฑ} : List.ofFn f = List.map f (List.finRange n) - List.finRange_map_get ๐ Mathlib.Data.List.FinRange
{ฮฑ : Type u} (l : List ฮฑ) : List.map l.get (List.finRange l.length) = l - List.ofFn_eq_pmap ๐ Mathlib.Data.List.FinRange
{ฮฑ : Type u} {n : โ} {f : Fin n โ ฮฑ} : List.ofFn f = List.pmap (fun i hi => f โจi, hiโฉ) (List.range n) โฏ - List.finRange_map_getElem ๐ Mathlib.Data.List.FinRange
{ฮฑ : Type u} (l : List ฮฑ) : List.map (fun x => l[โx]) (List.finRange l.length) = l - List.finRange_succ_eq_map ๐ Mathlib.Data.List.FinRange
(n : โ) : List.finRange n.succ = 0 :: List.map Fin.succ (List.finRange n) - List.finRange_eq_pmap_range ๐ Mathlib.Data.List.FinRange
(n : โ) : List.finRange n = List.pmap Fin.mk (List.range n) โฏ - Fin.univ_image_get ๐ Mathlib.Data.Fintype.Basic
{ฮฑ : Type u_1} [DecidableEq ฮฑ] (l : List ฮฑ) : Finset.image l.get Finset.univ = l.toFinset - Fin.univ_image_get' ๐ Mathlib.Data.Fintype.Basic
{ฮฑ : Type u_1} {ฮฒ : Type u_2} [DecidableEq ฮฒ] (l : List ฮฑ) (f : ฮฑ โ ฮฒ) : Finset.image (fun x => f (l.get x)) Finset.univ = (List.map f l).toFinset - Fin.univ_image_getElem' ๐ Mathlib.Data.Fintype.Basic
{ฮฑ : Type u_1} {ฮฒ : Type u_2} [DecidableEq ฮฒ] (l : List ฮฑ) (f : ฮฑ โ ฮฒ) : Finset.image (fun i => f l[โi]) Finset.univ = (List.map f l).toFinset - List.get_cyclicPermutations ๐ Mathlib.Data.List.Rotate
{ฮฑ : Type u} (l : List ฮฑ) (n : Fin l.cyclicPermutations.length) : l.cyclicPermutations.get n = l.rotate โn - List.get_rotate ๐ Mathlib.Data.List.Rotate
{ฮฑ : Type u} (l : List ฮฑ) (n : โ) (k : Fin (l.rotate n).length) : (l.rotate n).get k = l.get โจ(โk + n) % l.length, โฏโฉ - List.get_rotate_one ๐ Mathlib.Data.List.Rotate
{ฮฑ : Type u} (l : List ฮฑ) (k : Fin (l.rotate 1).length) : (l.rotate 1).get k = l.get โจ(โk + 1) % l.length, โฏโฉ - List.get_eq_get_rotate ๐ Mathlib.Data.List.Rotate
{ฮฑ : Type u} (l : List ฮฑ) (n : โ) (k : Fin l.length) : l.get k = (l.rotate n).get โจ(l.length - n % l.length + โk) % l.length, โฏโฉ - List.Sorted.rel_get_of_lt ๐ Mathlib.Data.List.Sort
{ฮฑ : Type u} {r : ฮฑ โ ฮฑ โ Prop} {l : List ฮฑ} (h : List.Sorted r l) {a b : Fin l.length} (hab : a < b) : r (l.get a) (l.get b) - List.Sorted.rel_get_of_le ๐ Mathlib.Data.List.Sort
{ฮฑ : Type u} {r : ฮฑ โ ฮฑ โ Prop} [IsRefl ฮฑ r] {l : List ฮฑ} (h : List.Sorted r l) {a b : Fin l.length} (hab : a โค b) : r (l.get a) (l.get b) - List.Nodup.getEquivOfForallMemList ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} [DecidableEq ฮฑ] (l : List ฮฑ) (nd : l.Nodup) (h : โ (x : ฮฑ), x โ l) : Fin l.length โ ฮฑ - List.Nodup.getEquiv ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} [DecidableEq ฮฑ] (l : List ฮฑ) (H : l.Nodup) : Fin l.length โ { x // x โ l } - List.Nodup.getBijectionOfForallMemList ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} (l : List ฮฑ) (nd : l.Nodup) (h : โ (x : ฮฑ), x โ l) : { f // Function.Bijective f } - List.Sorted.get_mono ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} [Preorder ฮฑ] {l : List ฮฑ} (h : List.Sorted (fun x1 x2 => x1 โค x2) l) : Monotone l.get - List.Sorted.get_strictMono ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} [Preorder ฮฑ] {l : List ฮฑ} (h : List.Sorted (fun x1 x2 => x1 < x2) l) : StrictMono l.get - List.Nodup.getBijectionOfForallMemList_coe ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} (l : List ฮฑ) (nd : l.Nodup) (h : โ (x : ฮฑ), x โ l) (i : Fin l.length) : โ(List.Nodup.getBijectionOfForallMemList l nd h) i = l.get i - List.Sorted.getIso ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} [Preorder ฮฑ] [DecidableEq ฮฑ] (l : List ฮฑ) (H : List.Sorted (fun x1 x2 => x1 < x2) l) : Fin l.length โo { x // x โ l } - List.Nodup.getEquivOfForallMemList_apply ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} [DecidableEq ฮฑ] (l : List ฮฑ) (nd : l.Nodup) (h : โ (x : ฮฑ), x โ l) (i : Fin l.length) : (List.Nodup.getEquivOfForallMemList l nd h) i = l.get i - List.Nodup.getEquivOfForallMemList_symm_apply_val ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} [DecidableEq ฮฑ] (l : List ฮฑ) (nd : l.Nodup) (h : โ (x : ฮฑ), x โ l) (a : ฮฑ) : โ((List.Nodup.getEquivOfForallMemList l nd h).symm a) = List.idxOf a l - List.duplicate_iff_exists_distinct_get ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} {l : List ฮฑ} {x : ฮฑ} : List.Duplicate x l โ โ n m, โ (_ : n < m), x = l.get n โง x = l.get m - List.Nodup.getEquiv_apply_coe ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} [DecidableEq ฮฑ] (l : List ฮฑ) (H : l.Nodup) (i : Fin l.length) : โ((List.Nodup.getEquiv l H) i) = l.get i - List.Nodup.getEquiv_symm_apply_val ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} [DecidableEq ฮฑ] (l : List ฮฑ) (H : l.Nodup) (x : { x // x โ l }) : โ((List.Nodup.getEquiv l H).symm x) = List.idxOf (โx) l - List.sublist_iff_exists_fin_orderEmbedding_get_eq ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} {l l' : List ฮฑ} : l.Sublist l' โ โ f, โ (ix : Fin l.length), l.get ix = l'.get (f ix) - List.Sorted.coe_getIso_apply ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} [Preorder ฮฑ] {l : List ฮฑ} [DecidableEq ฮฑ] (H : List.Sorted (fun x1 x2 => x1 < x2) l) {i : Fin l.length} : โ((List.Sorted.getIso l H) i) = l.get i - List.Sorted.coe_getIso_symm_apply ๐ Mathlib.Data.List.NodupEquivFin
{ฮฑ : Type u_1} [Preorder ฮฑ] {l : List ฮฑ} [DecidableEq ฮฑ] (H : List.Sorted (fun x1 x2 => x1 < x2) l) {x : { x // x โ l }} : โ((List.Sorted.getIso l H).symm x) = List.idxOf (โx) l - List.Vector.toList_ofFn ๐ Mathlib.Data.Vector.Basic
{ฮฑ : Type u_1} {n : โ} (f : Fin n โ ฮฑ) : (List.Vector.ofFn f).toList = List.ofFn f - List.Vector.toList_set ๐ Mathlib.Data.Vector.Basic
{ฮฑ : Type u_1} {n : โ} (v : List.Vector ฮฑ n) (i : Fin n) (a : ฮฑ) : (v.set i a).toList = v.toList.set (โi) a - List.Vector.set.eq_1 ๐ Mathlib.Data.Vector.Basic
{ฮฑ : Type u_1} {n : โ} (v : List.Vector ฮฑ n) (i : Fin n) (a : ฮฑ) : v.set i a = โจ(โv).set (โi) a, โฏโฉ - List.Vector.eraseIdx_val ๐ Mathlib.Data.Vector.Basic
{ฮฑ : Type u_1} {n : โ} {i : Fin n} {v : List.Vector ฮฑ n} : โ(List.Vector.eraseIdx i v) = (โv).eraseIdx โi - List.Vector.eraseNth_val ๐ Mathlib.Data.Vector.Basic
{ฮฑ : Type u_1} {n : โ} {i : Fin n} {v : List.Vector ฮฑ n} : โ(List.Vector.eraseIdx i v) = (โv).eraseIdx โi - List.Vector.insertIdx_val ๐ Mathlib.Data.Vector.Basic
{ฮฑ : Type u_1} {n : โ} {a : ฮฑ} {i : Fin (n + 1)} {v : List.Vector ฮฑ n} : โ(List.Vector.insertIdx a i v) = List.insertIdx (โi) a โv - List.Vector.insertNth_val ๐ Mathlib.Data.Vector.Basic
{ฮฑ : Type u_1} {n : โ} {a : ฮฑ} {i : Fin (n + 1)} {v : List.Vector ฮฑ n} : โ(List.Vector.insertIdx a i v) = List.insertIdx (โi) a โv - Fin.prod_univ_get ๐ Mathlib.Algebra.BigOperators.Fin
{ฮฑ : Type u_1} [CommMonoid ฮฑ] (l : List ฮฑ) : โ i, l[โi] = l.prod - Fin.sum_univ_get ๐ Mathlib.Algebra.BigOperators.Fin
{ฮฑ : Type u_1} [AddCommMonoid ฮฑ] (l : List ฮฑ) : โ i, l[โi] = l.sum - Fin.prod_univ_get' ๐ Mathlib.Algebra.BigOperators.Fin
{ฮฑ : Type u_1} {ฮฒ : Type u_2} [CommMonoid ฮฒ] (l : List ฮฑ) (f : ฮฑ โ ฮฒ) : โ i, f l[โi] = (List.map f l).prod - Fin.sum_univ_get' ๐ Mathlib.Algebra.BigOperators.Fin
{ฮฑ : Type u_1} {ฮฒ : Type u_2} [AddCommMonoid ฮฒ] (l : List ฮฑ) (f : ฮฑ โ ฮฒ) : โ i, f l[โi] = (List.map f l).sum - List.alternatingProd_eq_finset_prod ๐ Mathlib.Algebra.BigOperators.Fin
{G : Type u_3} [CommGroup G] (L : List G) : L.alternatingProd = โ i, L[i] ^ (-1) ^ โi - List.alternatingSum_eq_finset_sum ๐ Mathlib.Algebra.BigOperators.Fin
{G : Type u_3} [AddCommGroup G] (L : List G) : L.alternatingSum = โ i, (-1) ^ โi โข L[i] - Fin.sort_univ ๐ Mathlib.Data.Finset.Sort
(n : โ) : Finset.sort (fun x y => x โค y) Finset.univ = List.finRange n - Finset.listMap_orderEmbOfFin_finRange ๐ Mathlib.Data.Finset.Sort
{ฮฑ : Type u_1} [LinearOrder ฮฑ] (s : Finset ฮฑ) {k : โ} (h : s.card = k) : List.map (โ(s.orderEmbOfFin h)) (List.finRange k) = Finset.sort (fun x1 x2 => x1 โค x2) s - Finset.orderEmbOfFin_apply ๐ Mathlib.Data.Finset.Sort
{ฮฑ : Type u_1} [LinearOrder ฮฑ] (s : Finset ฮฑ) {k : โ} (h : s.card = k) (i : Fin k) : (s.orderEmbOfFin h) i = (Finset.sort (fun x1 x2 => x1 โค x2) s)[i] - Composition.blocksFun_mem_blocks ๐ Mathlib.Combinatorics.Enumerative.Composition
{n : โ} (c : Composition n) (i : Fin c.length) : c.blocksFun i โ c.blocks - Composition.blocksFun_congr ๐ Mathlib.Combinatorics.Enumerative.Composition
{nโ nโ : โ} (cโ : Composition nโ) (cโ : Composition nโ) (iโ : Fin cโ.length) (iโ : Fin cโ.length) (hn : nโ = nโ) (hc : cโ.blocks = cโ.blocks) (hi : โiโ = โiโ) : cโ.blocksFun iโ = cโ.blocksFun iโ - Equiv.Perm.signAux_eq_signAux2 ๐ Mathlib.GroupTheory.Perm.Sign
{ฮฑ : Type u} [DecidableEq ฮฑ] {n : โ} (l : List ฮฑ) (f : Equiv.Perm ฮฑ) (e : ฮฑ โ Fin n) (_h : โ (x : ฮฑ), f x โ x โ x โ l) : Equiv.Perm.signAux ((e.symm.trans f).trans e) = Equiv.Perm.signAux2 l f - RelSeries.fromListChain'_toFun ๐ Mathlib.Order.RelSeries
{ฮฑ : Type u_1} {r : Rel ฮฑ ฮฑ} (x : List ฮฑ) (x_ne_nil : x โ []) (hx : List.Chain' r x) (i : Fin (x.length - 1 + 1)) : (RelSeries.fromListChain' x x_ne_nil hx).toFun i = x[Fin.cast โฏ i] - Matrix.Pivot.listTransvecCol ๐ Mathlib.LinearAlgebra.Matrix.Transvection
{๐ : Type u_3} [Field ๐] {r : โ} (M : Matrix (Fin r โ Unit) (Fin r โ Unit) ๐) : List (Matrix (Fin r โ Unit) (Fin r โ Unit) ๐) - Matrix.Pivot.listTransvecRow ๐ Mathlib.LinearAlgebra.Matrix.Transvection
{๐ : Type u_3} [Field ๐] {r : โ} (M : Matrix (Fin r โ Unit) (Fin r โ Unit) ๐) : List (Matrix (Fin r โ Unit) (Fin r โ Unit) ๐) - Matrix.Pivot.listTransvecCol.eq_1 ๐ Mathlib.LinearAlgebra.Matrix.Transvection
{๐ : Type u_3} [Field ๐] {r : โ} (M : Matrix (Fin r โ Unit) (Fin r โ Unit) ๐) : Matrix.Pivot.listTransvecCol M = List.ofFn fun i => Matrix.transvection (Sum.inl i) (Sum.inr ()) (-M (Sum.inl i) (Sum.inr ()) / M (Sum.inr ()) (Sum.inr ())) - Matrix.Pivot.listTransvecRow.eq_1 ๐ Mathlib.LinearAlgebra.Matrix.Transvection
{๐ : Type u_3} [Field ๐] {r : โ} (M : Matrix (Fin r โ Unit) (Fin r โ Unit) ๐) : Matrix.Pivot.listTransvecRow M = List.ofFn fun i => Matrix.transvection (Sum.inr ()) (Sum.inl i) (-M (Sum.inr ()) (Sum.inl i) / M (Sum.inr ()) (Sum.inr ())) - Matrix.Pivot.listTransvecCol_getElem ๐ Mathlib.LinearAlgebra.Matrix.Transvection
{๐ : Type u_3} [Field ๐] {r : โ} (M : Matrix (Fin r โ Unit) (Fin r โ Unit) ๐) {i : โ} (h : i < (Matrix.Pivot.listTransvecCol M).length) : (Matrix.Pivot.listTransvecCol M)[i] = Matrix.transvection (Sum.inl โจi, โฏโฉ) (Sum.inr ()) (-M (Sum.inl โจi, โฏโฉ) (Sum.inr ()) / M (Sum.inr ()) (Sum.inr ())) - Matrix.Pivot.listTransvecRow_getElem ๐ Mathlib.LinearAlgebra.Matrix.Transvection
{๐ : Type u_3} [Field ๐] {r : โ} (M : Matrix (Fin r โ Unit) (Fin r โ Unit) ๐) {i : โ} (h : i < (Matrix.Pivot.listTransvecRow M).length) : (Matrix.Pivot.listTransvecRow M)[i] = Matrix.transvection (Sum.inr ()) (Sum.inl โจi, โฏโฉ) (-M (Sum.inr ()) (Sum.inl โจi, โฏโฉ) / M (Sum.inr ()) (Sum.inr ())) - Matrix.Pivot.exists_isTwoBlockDiagonal_list_transvec_mul_mul_list_transvec ๐ Mathlib.LinearAlgebra.Matrix.Transvection
{๐ : Type u_3} [Field ๐] {r : โ} (M : Matrix (Fin r โ Unit) (Fin r โ Unit) ๐) : โ L L', ((List.map Matrix.TransvectionStruct.toMatrix L).prod * M * (List.map Matrix.TransvectionStruct.toMatrix L').prod).IsTwoBlockDiagonal - Matrix.Pivot.exists_isTwoBlockDiagonal_of_ne_zero ๐ Mathlib.LinearAlgebra.Matrix.Transvection
{๐ : Type u_3} [Field ๐] {r : โ} (M : Matrix (Fin r โ Unit) (Fin r โ Unit) ๐) (hM : M (Sum.inr ()) (Sum.inr ()) โ 0) : โ L L', ((List.map Matrix.TransvectionStruct.toMatrix L).prod * M * (List.map Matrix.TransvectionStruct.toMatrix L').prod).IsTwoBlockDiagonal - Matrix.Pivot.exists_list_transvec_mul_mul_list_transvec_eq_diagonal_induction ๐ Mathlib.LinearAlgebra.Matrix.Transvection
{๐ : Type u_3} [Field ๐] {r : โ} (IH : โ (M : Matrix (Fin r) (Fin r) ๐), โ Lโ Lโ' Dโ, (List.map Matrix.TransvectionStruct.toMatrix Lโ).prod * M * (List.map Matrix.TransvectionStruct.toMatrix Lโ').prod = Matrix.diagonal Dโ) (M : Matrix (Fin r โ Unit) (Fin r โ Unit) ๐) : โ L L' D, (List.map Matrix.TransvectionStruct.toMatrix L).prod * M * (List.map Matrix.TransvectionStruct.toMatrix L').prod = Matrix.diagonal D - List.Nat.antidiagonalTuple ๐ Mathlib.Data.Fin.Tuple.NatAntidiagonal
(k aโ : โ) : List (Fin k โ โ) - List.Nat.antidiagonalTuple.eq_2 ๐ Mathlib.Data.Fin.Tuple.NatAntidiagonal
(n : โ) : List.Nat.antidiagonalTuple 0 n.succ = [] - List.Nat.antidiagonalTuple_zero_succ ๐ Mathlib.Data.Fin.Tuple.NatAntidiagonal
(n : โ) : List.Nat.antidiagonalTuple 0 (n + 1) = [] - List.Nat.antidiagonalTuple_zero_zero ๐ Mathlib.Data.Fin.Tuple.NatAntidiagonal
: List.Nat.antidiagonalTuple 0 0 = [![]] - List.Nat.antidiagonalTuple.eq_1 ๐ Mathlib.Data.Fin.Tuple.NatAntidiagonal
: List.Nat.antidiagonalTuple 0 0 = [![]] - List.Nat.mem_antidiagonalTuple ๐ Mathlib.Data.Fin.Tuple.NatAntidiagonal
{n k : โ} {x : Fin k โ โ} : x โ List.Nat.antidiagonalTuple k n โ โ i, x i = n - List.Nat.antidiagonalTuple_zero_right ๐ Mathlib.Data.Fin.Tuple.NatAntidiagonal
(k : โ) : List.Nat.antidiagonalTuple k 0 = [0] - List.Nat.antidiagonalTuple_one ๐ Mathlib.Data.Fin.Tuple.NatAntidiagonal
(n : โ) : List.Nat.antidiagonalTuple 1 n = [![n]] - List.Nat.antidiagonalTuple_two ๐ Mathlib.Data.Fin.Tuple.NatAntidiagonal
(n : โ) : List.Nat.antidiagonalTuple 2 n = List.map (fun i => ![i.1, i.2]) (List.Nat.antidiagonal n) - List.Nat.antidiagonalTuple.eq_3 ๐ Mathlib.Data.Fin.Tuple.NatAntidiagonal
(xโ k : โ) : List.Nat.antidiagonalTuple k.succ xโ = List.flatMap (fun ni => List.map (fun x => Fin.cons ni.1 x) (List.Nat.antidiagonalTuple k ni.2)) (List.Nat.antidiagonal xโ) - Nat.finMulAntidiag_existsUnique_prime_dvd ๐ Mathlib.Algebra.Order.Antidiag.Nat
{d n p : โ} (hn : Squarefree n) (hp : p โ n.primeFactorsList) (f : Fin d โ โ) (hf : f โ d.finMulAntidiag n) : โ! i, p โฃ f i - Nat.finMulAntidiag_exists_unique_prime_dvd ๐ Mathlib.Algebra.Order.Antidiag.Nat
{d n p : โ} (hn : Squarefree n) (hp : p โ n.primeFactorsList) (f : Fin d โ โ) (hf : f โ d.finMulAntidiag n) : โ! i, p โฃ f i - List.toFinsupp_apply_fin ๐ Mathlib.Data.List.ToFinsupp
{M : Type u_1} [Zero M] (l : List M) [DecidablePred fun x => l.getD x 0 โ 0] (n : Fin l.length) : l.toFinsupp โn = l[n] - Composition.sigmaCompositionAux.eq_1 ๐ Mathlib.Analysis.Analytic.Composition
{n : โ} (a : Composition n) (b : Composition a.length) (i : Fin (a.gather b).length) : a.sigmaCompositionAux b i = { blocks := (a.blocks.splitWrtComposition b)[โi], blocks_pos := โฏ, blocks_sum := โฏ } - Composition.sigma_pi_composition_eq_iff ๐ Mathlib.Analysis.Analytic.Composition
{n : โ} (u v : (c : Composition n) ร ((i : Fin c.length) โ Composition (c.blocksFun i))) : u = v โ (List.ofFn fun i => (u.snd i).blocks) = List.ofFn fun i => (v.snd i).blocks - HasFDerivAt.list_prod' ๐ Mathlib.Analysis.Calculus.FDeriv.Mul
{๐ : Type u_1} [NontriviallyNormedField ๐] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐ E] {ฮน : Type u_5} {๐ธ : Type u_6} [NormedRing ๐ธ] [NormedAlgebra ๐ ๐ธ] {f : ฮน โ E โ ๐ธ} {f' : ฮน โ E โL[๐] ๐ธ} {l : List ฮน} {x : E} (h : โ i โ l, HasFDerivAt (fun x => f i x) (f' i) x) : HasFDerivAt (fun x => (List.map (fun x_1 => f x_1 x) l).prod) (โ i, (List.map (fun x_1 => f x_1 x) (List.take (โi) l)).prod โข (f' l[i]).smulRight (List.map (fun x_1 => f x_1 x) (List.drop (โi).succ l)).prod) x - HasStrictFDerivAt.list_prod' ๐ Mathlib.Analysis.Calculus.FDeriv.Mul
{๐ : Type u_1} [NontriviallyNormedField ๐] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐ E] {ฮน : Type u_5} {๐ธ : Type u_6} [NormedRing ๐ธ] [NormedAlgebra ๐ ๐ธ] {f : ฮน โ E โ ๐ธ} {f' : ฮน โ E โL[๐] ๐ธ} {l : List ฮน} {x : E} (h : โ i โ l, HasStrictFDerivAt (fun x => f i x) (f' i) x) : HasStrictFDerivAt (fun x => (List.map (fun x_1 => f x_1 x) l).prod) (โ i, (List.map (fun x_1 => f x_1 x) (List.take (โi) l)).prod โข (f' l[i]).smulRight (List.map (fun x_1 => f x_1 x) (List.drop (โi).succ l)).prod) x - HasFDerivWithinAt.list_prod' ๐ Mathlib.Analysis.Calculus.FDeriv.Mul
{๐ : Type u_1} [NontriviallyNormedField ๐] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐ E] {s : Set E} {ฮน : Type u_5} {๐ธ : Type u_6} [NormedRing ๐ธ] [NormedAlgebra ๐ ๐ธ] {f : ฮน โ E โ ๐ธ} {f' : ฮน โ E โL[๐] ๐ธ} {l : List ฮน} {x : E} (h : โ i โ l, HasFDerivWithinAt (fun x => f i x) (f' i) s x) : HasFDerivWithinAt (fun x => (List.map (fun x_1 => f x_1 x) l).prod) (โ i, (List.map (fun x_1 => f x_1 x) (List.take (โi) l)).prod โข (f' l[i]).smulRight (List.map (fun x_1 => f x_1 x) (List.drop (โi).succ l)).prod) s x - fderiv_list_prod' ๐ Mathlib.Analysis.Calculus.FDeriv.Mul
{๐ : Type u_1} [NontriviallyNormedField ๐] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐ E] {ฮน : Type u_5} {๐ธ : Type u_6} [NormedRing ๐ธ] [NormedAlgebra ๐ ๐ธ] {f : ฮน โ E โ ๐ธ} {l : List ฮน} {x : E} (h : โ i โ l, DifferentiableAt ๐ (fun x => f i x) x) : fderiv ๐ (fun x => (List.map (fun x_1 => f x_1 x) l).prod) x = โ i, (List.map (fun x_1 => f x_1 x) (List.take (โi) l)).prod โข (fderiv ๐ (fun x => f l[i] x) x).smulRight (List.map (fun x_1 => f x_1 x) (List.drop (โi).succ l)).prod - fderivWithin_list_prod' ๐ Mathlib.Analysis.Calculus.FDeriv.Mul
{๐ : Type u_1} [NontriviallyNormedField ๐] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐ E] {s : Set E} {ฮน : Type u_5} {๐ธ : Type u_6} [NormedRing ๐ธ] [NormedAlgebra ๐ ๐ธ] {f : ฮน โ E โ ๐ธ} {l : List ฮน} {x : E} (hxs : UniqueDiffWithinAt ๐ s x) (h : โ i โ l, DifferentiableWithinAt ๐ (fun x => f i x) s x) : fderivWithin ๐ (fun x => (List.map (fun x_1 => f x_1 x) l).prod) s x = โ i, (List.map (fun x_1 => f x_1 x) (List.take (โi) l)).prod โข (fderivWithin ๐ (fun x => f l[i] x) s x).smulRight (List.map (fun x_1 => f x_1 x) (List.drop (โi).succ l)).prod - hasStrictFDerivAt_list_prod' ๐ Mathlib.Analysis.Calculus.FDeriv.Mul
{๐ : Type u_1} [NontriviallyNormedField ๐] {ฮน : Type u_5} {๐ธ : Type u_6} [NormedRing ๐ธ] [NormedAlgebra ๐ ๐ธ] [Fintype ฮน] {l : List ฮน} {x : ฮน โ ๐ธ} : HasStrictFDerivAt (fun x => (List.map x l).prod) (โ i, (List.map x (List.take (โi) l)).prod โข (ContinuousLinearMap.proj l[i]).smulRight (List.map x (List.drop (โi).succ l)).prod) x - hasFDerivAt_list_prod' ๐ Mathlib.Analysis.Calculus.FDeriv.Mul
{๐ : Type u_1} [NontriviallyNormedField ๐] {ฮน : Type u_5} {๐ธ' : Type u_7} [NormedCommRing ๐ธ'] [NormedAlgebra ๐ ๐ธ'] [Fintype ฮน] {l : List ฮน} {x : ฮน โ ๐ธ'} : HasFDerivAt (fun x => (List.map x l).prod) (โ i, (List.map x (List.take (โi) l)).prod โข (ContinuousLinearMap.proj l[i]).smulRight (List.map x (List.drop (โi).succ l)).prod) x - hasFDerivAt_list_prod_attach' ๐ Mathlib.Analysis.Calculus.FDeriv.Mul
{๐ : Type u_1} [NontriviallyNormedField ๐] {ฮน : Type u_5} {๐ธ : Type u_6} [NormedRing ๐ธ] [NormedAlgebra ๐ ๐ธ] {l : List ฮน} {x : { i // i โ l } โ ๐ธ} : HasFDerivAt (fun x => (List.map x l.attach).prod) (โ i, (List.map x (List.take (โi) l.attach)).prod โข (ContinuousLinearMap.proj l.attach[Fin.cast โฏ i]).smulRight (List.map x (List.drop (โi).succ l.attach)).prod) x - hasStrictFDerivAt_list_prod_attach' ๐ Mathlib.Analysis.Calculus.FDeriv.Mul
{๐ : Type u_1} [NontriviallyNormedField ๐] {ฮน : Type u_5} {๐ธ : Type u_6} [NormedRing ๐ธ] [NormedAlgebra ๐ ๐ธ] {l : List ฮน} {x : { i // i โ l } โ ๐ธ} : HasStrictFDerivAt (fun x => (List.map x l.attach).prod) (โ i, (List.map x (List.take (โi) l.attach)).prod โข (ContinuousLinearMap.proj l.attach[Fin.cast โฏ i]).smulRight (List.map x (List.drop (โi).succ l.attach)).prod) x - YoungDiagram.rowLen_ofRowLens ๐ Mathlib.Combinatorics.Young.YoungDiagram
{w : List โ} {hw : List.Sorted (fun x1 x2 => x1 โฅ x2) w} (i : Fin w.length) : (YoungDiagram.ofRowLens w hw).rowLen โi = w[i] - Primrec.list_ofFn ๐ Mathlib.Computability.Primrec
{ฮฑ : Type u_1} {ฯ : Type u_3} [Primcodable ฮฑ] [Primcodable ฯ] {n : โ} {f : Fin n โ ฮฑ โ ฯ} : (โ (i : Fin n), Primrec (f i)) โ Primrec fun a => List.ofFn fun i => f i a
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. You can also try the
#loogle
command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
๐Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
๐"differ"
finds all lemmas that have"differ"
somewhere in their lemma name.By subexpression:
๐_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
๐Real.sqrt ?a * Real.sqrt ?a
If the pattern has parameters, they are matched in any order. Both of these will find
List.map
:
๐(?a -> ?b) -> List ?a -> List ?b
๐List ?a -> (?a -> ?b) -> List ?b
By main conclusion:
๐|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allโ
andโ
) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
๐|- _ < _ โ tsum _ < tsum _
will findtsum_lt_tsum
even though the hypothesisf i < g i
is not the last.
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
๐ Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ โ _
woould find all lemmas which mention the constants Real.sin
and tsum
, have "two"
as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _
(if
there were any such lemmas). Metavariables (?a
) are
assigned independently in each filter.
The #lucky
button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO.
This is Loogle revision d56dbe9
serving mathlib revision 3d845f2