Theorem: isConformalMap_complex_linear
File: Mathlib/Analysis/Complex/Conformal.lean

tactic: have minor₁ : ‖map 1‖ ≠ 0 := by simpa only [ext_ring_iff, Ne.def, norm_eq_zero] using nonzero
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
⊢ IsConformalMap (restrictScalars ℝ map)

tactic: refine' ⟨‖map 1‖, minor₁, ⟨‖map 1‖⁻¹ • ((map : ℂ →ₗ[ℂ] E) : ℂ →ₗ[ℝ] E), _⟩, _⟩
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
minor₁ : ‖↑map 1‖ ≠ 0
⊢ IsConformalMap (restrictScalars ℝ map)

tactic: simpa only [ext_ring_iff, Ne.def, norm_eq_zero] using nonzero
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
⊢ ‖↑map 1‖ ≠ 0

tactic: intro x
state_before: case refine'_1
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
minor₁ : ‖↑map 1‖ ≠ 0
⊢ ∀ (x : ℂ), ‖↑(‖↑map 1‖⁻¹ • ↑ℝ ↑map) x‖ = ‖x‖

tactic: simp only [LinearMap.smul_apply]
state_before: case refine'_1
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
minor₁ : ‖↑map 1‖ ≠ 0
x : ℂ
⊢ ‖↑(‖↑map 1‖⁻¹ • ↑ℝ ↑map) x‖ = ‖x‖

tactic: have : x = x • (1 : ℂ) := by rw [smul_eq_mul, mul_one]
state_before: case refine'_1
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
minor₁ : ‖↑map 1‖ ≠ 0
x : ℂ
⊢ ‖‖↑map 1‖⁻¹ • ↑(↑ℝ ↑map) x‖ = ‖x‖

tactic: nth_rw 1 [this]
state_before: case refine'_1
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
minor₁ : ‖↑map 1‖ ≠ 0
x : ℂ
this : x = x • 1
⊢ ‖‖↑map 1‖⁻¹ • ↑(↑ℝ ↑map) x‖ = ‖x‖

tactic: rw [LinearMap.coe_restrictScalars]
state_before: case refine'_1
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
minor₁ : ‖↑map 1‖ ≠ 0
x : ℂ
this : x = x • 1
⊢ ‖‖↑map 1‖⁻¹ • ↑(↑ℝ ↑map) (x • 1)‖ = ‖x‖

tactic: simp only [map.coe_coe, map.map_smul, norm_smul, norm_inv, norm_norm]
state_before: case refine'_1
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
minor₁ : ‖↑map 1‖ ≠ 0
x : ℂ
this : x = x • 1
⊢ ‖‖↑map 1‖⁻¹ • ↑↑map (x • 1)‖ = ‖x‖

tactic: field_simp only [one_mul]
state_before: case refine'_1
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
minor₁ : ‖↑map 1‖ ≠ 0
x : ℂ
this : x = x • 1
⊢ ‖↑map 1‖⁻¹ * (‖x‖ * ‖↑map 1‖) = ‖x‖

tactic: rw [smul_eq_mul, mul_one]
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
minor₁ : ‖↑map 1‖ ≠ 0
x : ℂ
⊢ x = x • 1

tactic: ext1
state_before: case refine'_2
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
minor₁ : ‖↑map 1‖ ≠ 0
⊢ restrictScalars ℝ map =
    ‖↑map 1‖ •
      LinearIsometry.toContinuousLinearMap
        { toLinearMap := ‖↑map 1‖⁻¹ • ↑ℝ ↑map, norm_map' := (_ : ∀ (x : ℂ), ‖↑(‖↑map 1‖⁻¹ • ↑ℝ ↑map) x‖ = ‖x‖) }

tactic: rw [coe_restrictScalars', coe_smul', LinearIsometry.coe_toContinuousLinearMap,
  LinearIsometry.coe_mk, Pi.smul_apply, LinearMap.smul_apply, LinearMap.coe_restrictScalars,
  coe_coe, smul_inv_smul₀ minor₁]
state_before: case refine'_2.h
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : NormedSpace ℂ E
z : ℂ
g : ℂ →L[ℝ] E
f : ℂ → E
map : ℂ →L[ℂ] E
nonzero : map ≠ 0
minor₁ : ‖↑map 1‖ ≠ 0
x✝ : ℂ
⊢ ↑(restrictScalars ℝ map) x✝ =
    ↑(‖↑map 1‖ •
          LinearIsometry.toContinuousLinearMap
            { toLinearMap := ‖↑map 1‖⁻¹ • ↑ℝ ↑map, norm_map' := (_ : ∀ (x : ℂ), ‖↑(‖↑map 1‖⁻¹ • ↑ℝ ↑map) x‖ = ‖x‖) })
      x✝