𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
⊢ ∀ (i : E ≃L[𝕜] F), range toContinuousLinearMap ∈ 𝓝 ↑i
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
⊢ IsOpen (range toContinuousLinearMap)
rw [isOpen_iff_mem_nhds, forall_range_iff]
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
⊢ IsOpen (range toContinuousLinearMap)
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
⊢ ∀ (i : E ≃L[𝕜] F), range toContinuousLinearMap ∈ 𝓝 ↑i
refine' fun e => IsOpen.mem_nhds _ (mem_range_self _)
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
⊢ IsOpen (range toContinuousLinearMap)
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
⊢ IsOpen (range toContinuousLinearMap)
let O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => (e.symm : F →L[𝕜] E).comp f
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
⊢ IsOpen (range toContinuousLinearMap)
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
⊢ IsOpen (range toContinuousLinearMap)
have h_O : Continuous O := isBoundedBilinearMap_comp.continuous_right
case h.e'_3
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
⊢ range toContinuousLinearMap = O ⁻¹' {x | IsUnit x}
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
⊢ IsOpen (range toContinuousLinearMap)
convert show IsOpen (O ⁻¹' { x | IsUnit x }) from Units.isOpen.preimage h_O using 1
case h.e'_3.h
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
f' : E →L[𝕜] F
⊢ f' ∈ range toContinuousLinearMap ↔ f' ∈ O ⁻¹' {x | IsUnit x}
case h.e'_3
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
⊢ range toContinuousLinearMap = O ⁻¹' {x | IsUnit x}
ext f'
case h.e'_3.h.mp
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
f' : E →L[𝕜] F
⊢ f' ∈ range toContinuousLinearMap → f' ∈ O ⁻¹' {x | IsUnit x}

case h.e'_3.h.mpr
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
f' : E →L[𝕜] F
⊢ f' ∈ O ⁻¹' {x | IsUnit x} → f' ∈ range toContinuousLinearMap
case h.e'_3.h
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
f' : E →L[𝕜] F
⊢ f' ∈ range toContinuousLinearMap ↔ f' ∈ O ⁻¹' {x | IsUnit x}
constructor
case h.e'_3.h.mp.intro
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
e' : E ≃L[𝕜] F
⊢ ↑e' ∈ O ⁻¹' {x | IsUnit x}
case h.e'_3.h.mp
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
f' : E →L[𝕜] F
⊢ f' ∈ range toContinuousLinearMap → f' ∈ O ⁻¹' {x | IsUnit x}
rintro ⟨e', rfl⟩
no goals
case h.e'_3.h.mp.intro
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
e' : E ≃L[𝕜] F
⊢ ↑e' ∈ O ⁻¹' {x | IsUnit x}
exact ⟨(e'.trans e.symm).toUnit, rfl⟩
case h.e'_3.h.mpr.intro
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
f' : E →L[𝕜] F
w : (E →L[𝕜] E)ˣ
hw : ↑w = O f'
⊢ f' ∈ range toContinuousLinearMap
case h.e'_3.h.mpr
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
f' : E →L[𝕜] F
⊢ f' ∈ O ⁻¹' {x | IsUnit x} → f' ∈ range toContinuousLinearMap
rintro ⟨w, hw⟩
case h.e'_3.h.mpr.intro
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
f' : E →L[𝕜] F
w : (E →L[𝕜] E)ˣ
hw : ↑w = O f'
⊢ ↑(ContinuousLinearEquiv.trans (↑(unitsEquiv 𝕜 E) w) e) = f'
case h.e'_3.h.mpr.intro
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
f' : E →L[𝕜] F
w : (E →L[𝕜] E)ˣ
hw : ↑w = O f'
⊢ f' ∈ range toContinuousLinearMap
use (unitsEquiv 𝕜 E w).trans e
case h.e'_3.h.mpr.intro.h
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
f' : E →L[𝕜] F
w : (E →L[𝕜] E)ˣ
hw : ↑w = O f'
x : E
⊢ ↑↑(ContinuousLinearEquiv.trans (↑(unitsEquiv 𝕜 E) w) e) x = ↑f' x
case h.e'_3.h.mpr.intro
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
f' : E →L[𝕜] F
w : (E →L[𝕜] E)ˣ
hw : ↑w = O f'
⊢ ↑(ContinuousLinearEquiv.trans (↑(unitsEquiv 𝕜 E) w) e) = f'
ext x
no goals
case h.e'_3.h.mpr.intro.h
𝕜 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
G : Type ?u.451582
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
inst✝ : CompleteSpace E
e : E ≃L[𝕜] F
O : (E →L[𝕜] F) → E →L[𝕜] E := fun f => comp (↑(ContinuousLinearEquiv.symm e)) f
h_O : Continuous O
f' : E →L[𝕜] F
w : (E →L[𝕜] E)ˣ
hw : ↑w = O f'
x : E
⊢ ↑↑(ContinuousLinearEquiv.trans (↑(unitsEquiv 𝕜 E) w) e) x = ↑f' x
simp [hw]