clean
case mp.a.left.e_a
n m : Nat
ih : ∀ (k : Fin (n ^ m)) (x : Fin m → Fin n), k.decodeFun = x ↔ encodeFun x = k
k✝ : Fin (n ^ (m + 1))
x : Fin (m + 1) → Fin n
ih1 : (encodeFun fun k => x k.succ).decodeFun = fun k => x k.succ
k : Nat
hk : k < n ^ (m + 1)
hnpos : n > 0
h : ⟨k, hk⟩.decodeFun = x
⊢ ↑((let_fun hn := ⋯;
        fun x =>
        match x with
        | ⟨0, isLt⟩ => ⟨k % n, ⋯⟩
        | ⟨i.succ, hi⟩ =>
          let_fun h := ⋯;
          ⟨k / n, h⟩.decodeFun ⟨i, ⋯⟩)
        0) =
    k % n
case mp.a.left.e_a
n m : Nat
ih : ∀ (k : Fin (n ^ m)) (x : Fin m → Fin n), k.decodeFun = x ↔ encodeFun x = k
k✝ : Fin (n ^ (m + 1))
x : Fin (m + 1) → Fin n
ih1 : (encodeFun fun k => x k.succ).decodeFun = fun k => x k.succ
k : Nat
hk : k < n ^ (m + 1)
hnpos : n > 0
h : ⟨k, hk⟩.decodeFun = x
⊢ ↑(match 0 with
      | ⟨0, isLt⟩ => ⟨k % n, ⋯⟩
      | ⟨i.succ, hi⟩ => ⟨k / n, ⋯⟩.decodeFun ⟨i, ⋯⟩) =
    k % n