Theorems · Definition · combinatorics
Function.Injective.invOfMemRange
{α : Type u_1} →
{β : Type u_2} → [Fintype α] → [DecidableEq β] → {f : α → β} → Function.Injective f → ↑(Set.range f) → αThe inverse of an hf : injective function f : α → β, of the type ↥(Set.range f) → α.
This is the computable version of Function.invFun that requires Fintype α and DecidableEq β,
or the function version of applying (Equiv.ofInjective f hf).symm.
This function should not usually be used for actual computation because for most cases,
an explicit inverse can be stated that has better computational properties.
This function computes by checking all terms a : α to find the f a = b, so it is O(N) where
N = Fintype.card α.
- Defined in
- Mathlib.Data.Fintype.Inv
- Cited by
- 6 results in Mathlib
- Foundations
- Depth 59 from the axioms · uses propext, Classical.choice, Quot.sound
- Assumes
- FintypeDecidableEq
Around this declaration
Dashed lines are statement dependencies; solid lines are citations in proofs.
Cites5
Mathlib declarations this one mentions in its statement or cites explicitly in its proof. Plumbing is filtered out.
- Fintypestatement and proof · cited by 7,736
- Set.Elemstatement and proof · cited by 7,166
- Set.rangestatement and proof · cited by 4,705
- Finset.univproof · cited by 3,473
- Finset.chooseproof · cited by 5
Cited by7
Results whose statement or proof uses this declaration.
- Function.Embedding.invOfMemRangeproof · cited by 6
- Function.Injective.left_inv_of_invOfMemRangestatement · cited by 2
- Function.Injective.right_inv_of_invOfMemRangestatement and proof · cited by 2
- Function.Injective.invOfMemRange.congr_simpstatement and proof · cited by 0
- Function.Injective.invFun_restrictstatement and proof · cited by 0
- Function.Injective.invOfMemRange_surjectivestatement · cited by 0
- Equiv.Perm.viaFintypeEmbedding_apply_mem_rangeproof · cited by 0