K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
letI : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
letI : TopologicalRing K.topologicalClosure :=
  Subring.instTopologicalRing K.topologicalClosure.toSubring
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
set ι : K → K.topologicalClosure := ⇑(Subfield.inclusion K.le_topologicalClosure)
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
have ui : UniformInducing ι :=
  ⟨by
    erw [uniformity_subtype, uniformity_subtype, Filter.comap_comap]
    congr ⟩
case refine_2
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)

case refine_1
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
⊢ DenseRange ι
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
let di := ui.denseInducing (?_ : DenseRange ι)
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
⊢ Filter.comap ((fun q => (↑q.fst, ↑q.snd)) ∘ fun x => (ι x.fst, ι x.snd)) (uniformity ℂ) =
    Filter.comap (fun q => (↑q.fst, ↑q.snd)) (uniformity ℂ)
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
⊢ Filter.comap (fun x => (ι x.fst, ι x.snd)) (uniformity { x // x ∈ Subfield.topologicalClosure K }) =
    uniformity { x // x ∈ K }
erw [uniformity_subtype, uniformity_subtype, Filter.comap_comap]
no goals
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
⊢ Filter.comap ((fun q => (↑q.fst, ↑q.snd)) ∘ fun x => (ι x.fst, ι x.snd)) (uniformity ℂ) =
    Filter.comap (fun q => (↑q.fst, ↑q.snd)) (uniformity ℂ)
congr
case refine_2
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
case refine_2
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
let extψ := DenseInducing.extendRingHom ui di.dense hc
case refine_2
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
case refine_2
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
haveI hψ := (uniformContinuous_uniformly_extend ui di.dense hc).continuous
case refine_2.inl
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)

case refine_2.inr
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = ⊤
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
case refine_2
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
cases' Complex.subfield_eq_of_closed (Subfield.isClosed_topologicalClosure K) with h h
case refine_2.inl.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
⊢ ψ.toFun = ↑(Subfield.subtype K)
case refine_2.inl
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
left
case refine_2.inl.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
⊢ ψ.toFun = ↑(Subfield.subtype K)
case refine_2.inl.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
⊢ ψ.toFun = ↑(Subfield.subtype K)
let j := RingEquiv.subfieldCongr h
case refine_2.inl.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
⊢ ψ.toFun = ↑(Subfield.subtype K)
case refine_2.inl.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
⊢ ψ.toFun = ↑(Subfield.subtype K)
let ψ₁ := RingHom.comp extψ (RingHom.comp j.symm.toRingHom ofReal.rangeRestrict)
case refine_2.inl.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
⊢ ψ.toFun = ↑(Subfield.subtype K)
case refine_2.inl.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
⊢ ψ.toFun = ↑(Subfield.subtype K)
have hψ₁ : Continuous ψ₁ := by
  simpa only [RingHom.coe_comp] using hψ.comp ((continuous_algebraMap ℝ ℂ).subtype_mk _)
case refine_2.inl.h.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
⊢ OneHom.toFun (↑↑ψ) x = ↑(Subfield.subtype K) x
case refine_2.inl.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
⊢ ψ.toFun = ↑(Subfield.subtype K)
ext1 x
case refine_2.inl.h.h.intro
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
⊢ OneHom.toFun (↑↑ψ) x = ↑(Subfield.subtype K) x

K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
⊢ ∃ r, ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
case refine_2.inl.h.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
⊢ OneHom.toFun (↑↑ψ) x = ↑(Subfield.subtype K) x
rsuffices ⟨r, hr⟩ : ∃ r : ℝ, ofReal.rangeRestrict r = j (ι x)
case intro
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑ofReal r = ↑(↑j (ι x))
⊢ ∃ r, ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
⊢ ∃ r, ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
obtain ⟨r, hr⟩ := SetLike.coe_mem (j (ι x))
no goals
case intro
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑ofReal r = ↑(↑j (ι x))
⊢ ∃ r, ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
exact ⟨r, Subtype.ext hr⟩
no goals
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
⊢ Continuous ↑ψ₁
simpa only [RingHom.coe_comp] using hψ.comp ((continuous_algebraMap ℝ ℂ).subtype_mk _)
case refine_2.inl.h.h.intro
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝¹ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this✝ : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
this : ↑ψ₁ r = ↑ofReal r
⊢ OneHom.toFun (↑↑ψ) x = ↑(Subfield.subtype K) x
case refine_2.inl.h.h.intro
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
⊢ OneHom.toFun (↑↑ψ) x = ↑(Subfield.subtype K) x
have :=
  RingHom.congr_fun (ringHom_eq_ofReal_of_continuous hψ₁) r
case refine_2.inl.h.h.intro
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝¹ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this✝ : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
this : ↑extψ (↑↑(RingEquiv.symm j) (↑j (ι x))) = ↑ofReal r
⊢ OneHom.toFun (↑↑ψ) x = ↑(Subfield.subtype K) x
case refine_2.inl.h.h.intro
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝¹ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this✝ : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
this : ↑ψ₁ r = ↑ofReal r
⊢ OneHom.toFun (↑↑ψ) x = ↑(Subfield.subtype K) x
rw [RingHom.comp_apply, RingHom.comp_apply, hr, RingEquiv.toRingHom_eq_coe] at this
case h.e'_2
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝¹ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this✝ : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
this : ↑extψ (↑↑(RingEquiv.symm j) (↑j (ι x))) = ↑ofReal r
⊢ OneHom.toFun (↑↑ψ) x = ↑extψ (↑↑(RingEquiv.symm j) (↑j (ι x)))

case h.e'_3
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝¹ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this✝ : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
this : ↑extψ (↑↑(RingEquiv.symm j) (↑j (ι x))) = ↑ofReal r
⊢ ↑(Subfield.subtype K) x = ↑ofReal r
case refine_2.inl.h.h.intro
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝¹ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this✝ : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
this : ↑extψ (↑↑(RingEquiv.symm j) (↑j (ι x))) = ↑ofReal r
⊢ OneHom.toFun (↑↑ψ) x = ↑(Subfield.subtype K) x
convert this using 1
no goals
case h.e'_2
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝¹ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this✝ : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
this : ↑extψ (↑↑(RingEquiv.symm j) (↑j (ι x))) = ↑ofReal r
⊢ OneHom.toFun (↑↑ψ) x = ↑extψ (↑↑(RingEquiv.symm j) (↑j (ι x)))
exact (DenseInducing.extend_eq di hc.continuous _).symm
case h.e'_3
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝¹ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this✝ : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
this : ↑extψ (↑↑(RingEquiv.symm j) (↑j (ι x))) = ↑ofReal r
⊢ ↑(Subfield.subtype K) x = ↑(↑j (ι x))
case h.e'_3
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝¹ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this✝ : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
this : ↑extψ (↑↑(RingEquiv.symm j) (↑j (ι x))) = ↑ofReal r
⊢ ↑(Subfield.subtype K) x = ↑ofReal r
rw [← ofReal.coe_rangeRestrict, hr]
no goals
case h.e'_3
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝¹ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this✝ : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = RingHom.fieldRange ofReal
j : { x // x ∈ Subfield.topologicalClosure K } ≃+* { x // x ∈ RingHom.fieldRange ofReal } := RingEquiv.subfieldCongr h
ψ₁ : ℝ →+* ℂ := RingHom.comp extψ (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm j)) (RingHom.rangeRestrict ofReal))
hψ₁ : Continuous ↑ψ₁
x : { x // x ∈ K }
r : ℝ
hr : ↑(RingHom.rangeRestrict ofReal) r = ↑j (ι x)
this : ↑extψ (↑↑(RingEquiv.symm j) (↑j (ι x))) = ↑ofReal r
⊢ ↑(Subfield.subtype K) x = ↑(↑j (ι x))
rfl
case refine_2.inr
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
case refine_2.inr
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = ⊤
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
let ψ₁ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.subfieldCongr h).symm.toRingHom
      (@Subfield.topEquiv ℂ _).symm.toRingHom)
case refine_2.inr
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
case refine_2.inr
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
have hψ₁ : Continuous ψ₁ := by
  simpa only [RingHom.coe_comp] using hψ.comp (continuous_id.subtype_mk _)
case refine_2.inr.inl
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = RingHom.id ℂ
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)

case refine_2.inr.inr
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = starRingEnd ℂ
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
case refine_2.inr
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
cases' ringHom_eq_id_or_conj_of_continuous hψ₁ with h h
no goals
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
⊢ Continuous ↑ψ₁
simpa only [RingHom.coe_comp] using hψ.comp (continuous_id.subtype_mk _)
case refine_2.inr.inl.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = RingHom.id ℂ
⊢ ψ.toFun = ↑(Subfield.subtype K)
case refine_2.inr.inl
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = RingHom.id ℂ
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
left
case refine_2.inr.inl.h.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = RingHom.id ℂ
z : { x // x ∈ K }
⊢ OneHom.toFun (↑↑ψ) z = ↑(Subfield.subtype K) z
case refine_2.inr.inl.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = RingHom.id ℂ
⊢ ψ.toFun = ↑(Subfield.subtype K)
ext1 z
case h.e'_2
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = RingHom.id ℂ
z : { x // x ∈ K }
⊢ OneHom.toFun (↑↑ψ) z = ↑ψ₁ ↑z
case refine_2.inr.inl.h.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = RingHom.id ℂ
z : { x // x ∈ K }
⊢ OneHom.toFun (↑↑ψ) z = ↑(Subfield.subtype K) z
convert RingHom.congr_fun h z using 1
no goals
case h.e'_2
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = RingHom.id ℂ
z : { x // x ∈ K }
⊢ OneHom.toFun (↑↑ψ) z = ↑ψ₁ ↑z
exact (DenseInducing.extend_eq di hc.continuous z).symm
case refine_2.inr.inr.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = starRingEnd ℂ
⊢ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
case refine_2.inr.inr
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = starRingEnd ℂ
⊢ ψ.toFun = ↑(Subfield.subtype K) ∨ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
right
case refine_2.inr.inr.h.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = starRingEnd ℂ
z : { x // x ∈ K }
⊢ OneHom.toFun (↑↑ψ) z = (↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)) z
case refine_2.inr.inr.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = starRingEnd ℂ
⊢ ψ.toFun = ↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)
ext1 z
case h.e'_2
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = starRingEnd ℂ
z : { x // x ∈ K }
⊢ OneHom.toFun (↑↑ψ) z = ↑ψ₁ ↑z
case refine_2.inr.inr.h.h
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = starRingEnd ℂ
z : { x // x ∈ K }
⊢ OneHom.toFun (↑↑ψ) z = (↑(starRingEnd ℂ) ∘ ↑(Subfield.subtype K)) z
convert RingHom.congr_fun h z using 1
no goals
case h.e'_2
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
di : DenseInducing ι := UniformInducing.denseInducing ui ?refine_1
extψ : { x // x ∈ Subfield.topologicalClosure K } →+* ℂ := DenseInducing.extendRingHom ui (_ : DenseRange ι) hc
hψ : Continuous (DenseInducing.extend (_ : DenseInducing ι) ↑ψ)
h✝ : Subfield.topologicalClosure K = ⊤
ψ₁ : ℂ →+* ℂ :=
  RingHom.comp extψ
    (RingHom.comp (RingEquiv.toRingHom (RingEquiv.symm (RingEquiv.subfieldCongr h✝)))
      (RingEquiv.toRingHom (RingEquiv.symm Subfield.topEquiv)))
hψ₁ : Continuous ↑ψ₁
h : ψ₁ = starRingEnd ℂ
z : { x // x ∈ K }
⊢ OneHom.toFun (↑↑ψ) z = ↑ψ₁ ↑z
exact (DenseInducing.extend_eq di hc.continuous z).symm
case refine_1
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
j : { x // x ∈ closure (id '' {x | ↑K x}) } → ↑↑(Subfield.topologicalClosure K) :=
  fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(Subfield.topologicalClosure K)) }
⊢ DenseRange ι
case refine_1
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
⊢ DenseRange ι
let j : { x // x ∈ closure (id '' { x | (K : Set ℂ) x }) } → (K.topologicalClosure : Set ℂ) :=
  fun x =>
  ⟨x, by
    convert x.prop
    simp only [id.def, Set.image_id']
    rfl ⟩
case refine_1
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
j : { x // x ∈ closure (id '' {x | ↑K x}) } → ↑↑(Subfield.topologicalClosure K) :=
  fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(Subfield.topologicalClosure K)) }
⊢ Function.Surjective j
case refine_1
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
j : { x // x ∈ closure (id '' {x | ↑K x}) } → ↑↑(Subfield.topologicalClosure K) :=
  fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(Subfield.topologicalClosure K)) }
⊢ DenseRange ι
convert DenseRange.comp (Function.Surjective.denseRange _)
    (DenseEmbedding.subtype denseEmbedding_id (K : Set ℂ)).dense (by continuity : Continuous j)
case refine_1.mk
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
j : { x // x ∈ closure (id '' {x | ↑K x}) } → ↑↑(Subfield.topologicalClosure K) :=
  fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(Subfield.topologicalClosure K)) }
y : ℂ
hy : y ∈ ↑(Subfield.topologicalClosure K)
⊢ ∃ a, j a = { val := y, property := hy }
case refine_1
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
j : { x // x ∈ closure (id '' {x | ↑K x}) } → ↑↑(Subfield.topologicalClosure K) :=
  fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(Subfield.topologicalClosure K)) }
⊢ Function.Surjective j
rintro ⟨y, hy⟩
no goals
case refine_1.mk
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
j : { x // x ∈ closure (id '' {x | ↑K x}) } → ↑↑(Subfield.topologicalClosure K) :=
  fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(Subfield.topologicalClosure K)) }
y : ℂ
hy : y ∈ ↑(Subfield.topologicalClosure K)
⊢ ∃ a, j a = { val := y, property := hy }
use
  ⟨y, by
    convert hy
    simp only [id.def, Set.image_id']
    rfl ⟩
case h.e'_5
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
x : { x // x ∈ closure (id '' {x | ↑K x}) }
⊢ ↑(Subfield.topologicalClosure K) = closure (id '' {x | ↑K x})
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
x : { x // x ∈ closure (id '' {x | ↑K x}) }
⊢ ↑x ∈ ↑(Subfield.topologicalClosure K)
convert x.prop
case h.e'_5
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
x : { x // x ∈ closure (id '' {x | ↑K x}) }
⊢ ↑(Subfield.topologicalClosure K) = closure {x | ↑K x}
case h.e'_5
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
x : { x // x ∈ closure (id '' {x | ↑K x}) }
⊢ ↑(Subfield.topologicalClosure K) = closure (id '' {x | ↑K x})
simp only [id.def, Set.image_id']
no goals
case h.e'_5
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
x : { x // x ∈ closure (id '' {x | ↑K x}) }
⊢ ↑(Subfield.topologicalClosure K) = closure {x | ↑K x}
rfl
no goals
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
j : { x // x ∈ closure (id '' {x | ↑K x}) } → ↑↑(Subfield.topologicalClosure K) :=
  fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(Subfield.topologicalClosure K)) }
⊢ Continuous j
continuity
case h.e'_5
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
j : { x // x ∈ closure (id '' {x | ↑K x}) } → ↑↑(Subfield.topologicalClosure K) :=
  fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(Subfield.topologicalClosure K)) }
y : ℂ
hy : y ∈ ↑(Subfield.topologicalClosure K)
⊢ closure (id '' {x | ↑K x}) = ↑(Subfield.topologicalClosure K)
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
j : { x // x ∈ closure (id '' {x | ↑K x}) } → ↑↑(Subfield.topologicalClosure K) :=
  fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(Subfield.topologicalClosure K)) }
y : ℂ
hy : y ∈ ↑(Subfield.topologicalClosure K)
⊢ y ∈ closure (id '' {x | ↑K x})
convert hy
case h.e'_5
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
j : { x // x ∈ closure (id '' {x | ↑K x}) } → ↑↑(Subfield.topologicalClosure K) :=
  fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(Subfield.topologicalClosure K)) }
y : ℂ
hy : y ∈ ↑(Subfield.topologicalClosure K)
⊢ closure {x | ↑K x} = ↑(Subfield.topologicalClosure K)
case h.e'_5
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
j : { x // x ∈ closure (id '' {x | ↑K x}) } → ↑↑(Subfield.topologicalClosure K) :=
  fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(Subfield.topologicalClosure K)) }
y : ℂ
hy : y ∈ ↑(Subfield.topologicalClosure K)
⊢ closure (id '' {x | ↑K x}) = ↑(Subfield.topologicalClosure K)
simp only [id.def, Set.image_id']
no goals
case h.e'_5
K : Subfield ℂ
ψ : { x // x ∈ K } →+* ℂ
hc : UniformContinuous ↑ψ
this✝ : TopologicalDivisionRing ℂ := TopologicalDivisionRing.mk
this : TopologicalRing { x // x ∈ Subfield.topologicalClosure K } :=
  Subring.instTopologicalRing (Subfield.topologicalClosure K).toSubring
ι : { x // x ∈ K } → { x // x ∈ Subfield.topologicalClosure K } :=
  ↑(Subfield.inclusion (_ : K ≤ Subfield.topologicalClosure K))
ui : UniformInducing ι
j : { x // x ∈ closure (id '' {x | ↑K x}) } → ↑↑(Subfield.topologicalClosure K) :=
  fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(Subfield.topologicalClosure K)) }
y : ℂ
hy : y ∈ ↑(Subfield.topologicalClosure K)
⊢ closure {x | ↑K x} = ↑(Subfield.topologicalClosure K)
rfl