/-- The dense inducing extension as a ring homomorphism. -/
noncomputable def DenseInducing.extendRingHom {i : α →+* β} {f : α →+* γ} (ue : UniformInducing i)
    (dr : DenseRange i) (hf : UniformContinuous f) : β →+* γ where
  toFun := (ue.denseInducing dr).extend f
  map_one' := by
    convert DenseInducing.extend_eq (ue.denseInducing dr) hf.continuous 1
    exacts [i.map_one.symm, f.map_one.symm]
  map_zero' := by
    convert DenseInducing.extend_eq (ue.denseInducing dr) hf.continuous 0 <;>
    simp only [map_zero]
  map_add' := by
    have h := (uniformContinuous_uniformly_extend ue dr hf).continuous
    refine' fun x y => DenseRange.induction_on₂ dr _ (fun a b => _) x y
    · exact isClosed_eq (Continuous.comp h continuous_add)
        ((h.comp continuous_fst).add (h.comp continuous_snd))
    · 

Proof state:
case refine'_2
α : Type u_1
inst✝⁹ : UniformSpace α
inst✝⁸ : Semiring α
β : Type u_2
inst✝⁷ : UniformSpace β
inst✝⁶ : Semiring β
inst✝⁵ : TopologicalSemiring β
γ : Type u_3
inst✝⁴ : UniformSpace γ
inst✝³ : Semiring γ
inst✝² : TopologicalSemiring γ
inst✝¹ : T2Space γ
inst✝ : CompleteSpace γ
i : α →+* β
f : α →+* γ
ue : UniformInducing ⇑i
dr : DenseRange ⇑i
hf : UniformContinuous ⇑f
h : Continuous (extend (_ : DenseInducing ⇑i) ⇑f)
x y : β
a b : α
⊢ OneHom.toFun
      (↑{
          toOneHom :=
            { toFun := extend (_ : DenseInducing ⇑i) ⇑f, map_one' := (_ : extend (_ : DenseInducing ⇑i) (⇑f) 1 = 1) },
          map_mul' :=
            (_ :
              ∀ (x y : β),
                OneHom.toFun
                    { toFun := extend (_ : DenseInducing ⇑i) ⇑f,
                      map_one' := (_ : extend (_ : DenseInducing ⇑i) (⇑f) 1 = 1) }
                    (x * y) =
                  OneHom.toFun
                      { toFun := extend (_ : DenseInducing ⇑i) ⇑f,
                        map_one' := (_ : extend (_ : DenseInducing ⇑i) (⇑f) 1 = 1) }
                      x *
                    OneHom.toFun
                      { toFun := extend (_ : DenseInducing ⇑i) ⇑f,
                        map_one' := (_ : extend (_ : DenseInducing ⇑i) (⇑f) 1 = 1) }
                      y) })
      (i a + i b) =
    OneHom.toFun
        (↑{
            toOneHom :=
              { toFun := extend (_ : DenseInducing ⇑i) ⇑f, map_one' := (_ : extend (_ : DenseInducing ⇑i) (⇑f) 1 = 1) },
            map_mul' :=
              (_ :
                ∀ (x y : β),
                  OneHom.toFun
                      { toFun := extend (_ : DenseInducing ⇑i) ⇑f,
                        map_one' := (_ : extend (_ : DenseInducing ⇑i) (⇑f) 1 = 1) }
                      (x * y) =
                    OneHom.toFun
                        { toFun := extend (_ : DenseInducing ⇑i) ⇑f,
                          map_one' := (_ : extend (_ : DenseInducing ⇑i) (⇑f) 1 = 1) }
                        x *
                      OneHom.toFun
                        { toFun := extend (_ : DenseInducing ⇑i) ⇑f,
                          map_one' := (_ : extend (_ : DenseInducing ⇑i) (⇑f) 1 = 1) }
                        y) })
        (i a) +
      OneHom.toFun
        (↑{
            toOneHom :=
              { toFun := extend (_ : DenseInducing ⇑i) ⇑f, map_one' := (_ : extend (_ : DenseInducing ⇑i) (⇑f) 1 = 1) },
            map_mul' :=
              (_ :
                ∀ (x y : β),
                  OneHom.toFun
                      { toFun := extend (_ : DenseInducing ⇑i) ⇑f,
                        map_one' := (_ : extend (_ : DenseInducing ⇑i) (⇑f) 1 = 1) }
                      (x * y) =
                    OneHom.toFun
                        { toFun := extend (_ : DenseInducing ⇑i) ⇑f,
                          map_one' := (_ : extend (_ : DenseInducing ⇑i) (⇑f) 1 = 1) }
                        x *
                      OneHom.toFun
                        { toFun := extend (_ : DenseInducing ⇑i) ⇑f,
                          map_one' := (_ : extend (_ : DenseInducing ⇑i) (⇑f) 1 = 1) }
                        y) })
        (i b)

Next tactic:
simp_rw [← i.map_add, DenseInducing.extend_eq (ue.denseInducing dr) hf.continuous _,
        ← f.map_add]