/-
Copyright (c) 2026 Terence Rokop. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Terence Rokop
-/modulepublicimportGeb.Mathlib.Data.List.NodupEquivFinpublicimportGeb.Mathlib.Data.Vector.OfFnpublicimportMathlib.Data.Fin.SuccPred
Choice-free inversion of an injective vector
The operation inverts an injective ι : Vector (Fin n) k — the
vector, not a function Fin k → Fin n, since morphisms of
FinSetSkel are vectors. The hypothesis is stated over ι.get, the
application-normal form, rather than over ι.toList.Nodup;
List.nodup_iff_injective_get relates the two.
This module targets mathlib rather than Lean core or Batteries: its
statement is an Equiv, which exists in neither.
Main definitions
Vector.invOfInjective — the inverse of an injective vector.
Main statements
Vector.invOfInjective_apply — the inverse's forward direction is
the vector's lookup.
Tags
vector, injective, equiv, choice-free
@[expose]publicsectionnamespaceVector
An injective vector corresponds to the set of its entries.