exact this
n : Nat
ih : ∀ (f : Fin n → Fin n), inj f → surj f
f : Fin (n + 1) → Fin (n + 1)
h : inj f
n' : Fin (n + 1) := ⟨n, ⋯⟩
f' : Fin n → Fin n :=
  fun x =>
    let x' := ⟨↑x, ⋯⟩;
    let y := f x';
    if isLt : ↑y < n then ⟨↑y, isLt⟩
    else
      let_fun eqx := ⋯;
      let_fun isLt := ⋯;
      ⟨↑(f ⟨n, ⋯⟩), isLt⟩
x y : Fin n
eq : f' x = f' y
x' : Fin (n + 1) := ⟨↑x, ⋯⟩
y' : Fin (n + 1) := ⟨↑y, ⋯⟩
hx : ¬↑(f x') < n
hy : ¬↑(f y') < n
eqx : f x' = ⟨n, ⋯⟩
eqy : f y' = ⟨n, ⋯⟩
this✝¹ : f x' = f y'
this✝ : x' = y'
this : ↑x' = ↑y'
⊢ ↑x = ↑y
no goals