apply_fun (fun x : R => x ^ ringChar R)
case inr
R : Type u_1
inst✝¹ : CommSemiring R
inst✝ : PerfectRing R
h✝ : ¬ringChar R = 0
⊢ Function.surjInv (_ : Function.Surjective fun x => x ^ ringChar R) 0 = 0
case inr
R : Type u_1
inst✝¹ : CommSemiring R
inst✝ : PerfectRing R
h✝ : ¬ringChar R = 0
⊢ (fun x => x ^ ringChar R) (Function.surjInv (_ : Function.Surjective fun x => x ^ ringChar R) 0) =
    (fun x => x ^ ringChar R) 0

case inr.inj
R : Type u_1
inst✝¹ : CommSemiring R
inst✝ : PerfectRing R
h✝ : ¬ringChar R = 0
⊢ Function.Injective fun x => x ^ ringChar R