Theorem: HolomorphicAt.cpow (Ray/AnalyticManifold/AnalyticManifold.lean)

State before:
𝕜 : Type
inst✝³¹ : NontriviallyNormedField 𝕜
E✝ A✝ : Type
inst✝³⁰ : NormedAddCommGroup E✝
inst✝²⁹ : NormedSpace 𝕜 E✝
inst✝²⁸ : CompleteSpace E✝
inst✝²⁷ : TopologicalSpace A✝
F B : Type
inst✝²⁶ : NormedAddCommGroup F
inst✝²⁵ : NormedSpace 𝕜 F
inst✝²⁴ : CompleteSpace F
inst✝²³ : TopologicalSpace B
G C : Type
inst✝²² : NormedAddCommGroup G
inst✝²¹ : NormedSpace 𝕜 G
inst✝²⁰ : TopologicalSpace C
H D : Type
inst✝¹⁹ : NormedAddCommGroup H
inst✝¹⁸ : NormedSpace 𝕜 H
inst✝¹⁷ : TopologicalSpace D
M✝ : Type
I✝ : ModelWithCorners 𝕜 E✝ A✝
inst✝¹⁶ : TopologicalSpace M✝
N : Type
J : ModelWithCorners 𝕜 F B
inst✝¹⁵ : TopologicalSpace N
O : Type
K : ModelWithCorners 𝕜 G C
inst✝¹⁴ : TopologicalSpace O
P : Type
L : ModelWithCorners 𝕜 H D
inst✝¹³ : TopologicalSpace P
inst✝¹² : I✝.Boundaryless
inst✝¹¹ : ChartedSpace A✝ M✝
cm : AnalyticManifold I✝ M✝
inst✝¹⁰ : J.Boundaryless
inst✝⁹ : ChartedSpace B N
cn : AnalyticManifold J N
inst✝⁸ : K.Boundaryless
inst✝⁷ : ChartedSpace C O
co : AnalyticManifold K O
inst✝⁶ : L.Boundaryless
inst✝⁵ : ChartedSpace D P
cp : AnalyticManifold L P
E A M : Type
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℂ E
inst✝² : TopologicalSpace A
I : ModelWithCorners ℂ E A
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace A M
f g : M → ℂ
x : M
fa : HolomorphicAt I 𝓘(ℂ, ℂ) f x
ga : HolomorphicAt I 𝓘(ℂ, ℂ) g x
a : 0 < (f x).re ∨ (f x).im ≠ 0
⊢ HolomorphicAt I 𝓘(ℂ, ℂ) (fun x => f x ^ g x) x
Tactic:
have e : (fun x ↦ f x ^ g x) = (fun p : ℂ × ℂ ↦ p.1 ^ p.2) ∘ fun x ↦ (f x, g x) := rfl
State after:
𝕜 : Type
inst✝³¹ : NontriviallyNormedField 𝕜
E✝ A✝ : Type
inst✝³⁰ : NormedAddCommGroup E✝
inst✝²⁹ : NormedSpace 𝕜 E✝
inst✝²⁸ : CompleteSpace E✝
inst✝²⁷ : TopologicalSpace A✝
F B : Type
inst✝²⁶ : NormedAddCommGroup F
inst✝²⁵ : NormedSpace 𝕜 F
inst✝²⁴ : CompleteSpace F
inst✝²³ : TopologicalSpace B
G C : Type
inst✝²² : NormedAddCommGroup G
inst✝²¹ : NormedSpace 𝕜 G
inst✝²⁰ : TopologicalSpace C
H D : Type
inst✝¹⁹ : NormedAddCommGroup H
inst✝¹⁸ : NormedSpace 𝕜 H
inst✝¹⁷ : TopologicalSpace D
M✝ : Type
I✝ : ModelWithCorners 𝕜 E✝ A✝
inst✝¹⁶ : TopologicalSpace M✝
N : Type
J : ModelWithCorners 𝕜 F B
inst✝¹⁵ : TopologicalSpace N
O : Type
K : ModelWithCorners 𝕜 G C
inst✝¹⁴ : TopologicalSpace O
P : Type
L : ModelWithCorners 𝕜 H D
inst✝¹³ : TopologicalSpace P
inst✝¹² : I✝.Boundaryless
inst✝¹¹ : ChartedSpace A✝ M✝
cm : AnalyticManifold I✝ M✝
inst✝¹⁰ : J.Boundaryless
inst✝⁹ : ChartedSpace B N
cn : AnalyticManifold J N
inst✝⁸ : K.Boundaryless
inst✝⁷ : ChartedSpace C O
co : AnalyticManifold K O
inst✝⁶ : L.Boundaryless
inst✝⁵ : ChartedSpace D P
cp : AnalyticManifold L P
E A M : Type
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℂ E
inst✝² : TopologicalSpace A
I : ModelWithCorners ℂ E A
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace A M
f g : M → ℂ
x : M
fa : HolomorphicAt I 𝓘(ℂ, ℂ) f x
ga : HolomorphicAt I 𝓘(ℂ, ℂ) g x
a : 0 < (f x).re ∨ (f x).im ≠ 0
e : (fun x => f x ^ g x) = (fun p => p.1 ^ p.2) ∘ fun x => (f x, g x)
⊢ HolomorphicAt I 𝓘(ℂ, ℂ) (fun x => f x ^ g x) x

State before:
𝕜 : Type
inst✝³¹ : NontriviallyNormedField 𝕜
E✝ A✝ : Type
inst✝³⁰ : NormedAddCommGroup E✝
inst✝²⁹ : NormedSpace 𝕜 E✝
inst✝²⁸ : CompleteSpace E✝
inst✝²⁷ : TopologicalSpace A✝
F B : Type
inst✝²⁶ : NormedAddCommGroup F
inst✝²⁵ : NormedSpace 𝕜 F
inst✝²⁴ : CompleteSpace F
inst✝²³ : TopologicalSpace B
G C : Type
inst✝²² : NormedAddCommGroup G
inst✝²¹ : NormedSpace 𝕜 G
inst✝²⁰ : TopologicalSpace C
H D : Type
inst✝¹⁹ : NormedAddCommGroup H
inst✝¹⁸ : NormedSpace 𝕜 H
inst✝¹⁷ : TopologicalSpace D
M✝ : Type
I✝ : ModelWithCorners 𝕜 E✝ A✝
inst✝¹⁶ : TopologicalSpace M✝
N : Type
J : ModelWithCorners 𝕜 F B
inst✝¹⁵ : TopologicalSpace N
O : Type
K : ModelWithCorners 𝕜 G C
inst✝¹⁴ : TopologicalSpace O
P : Type
L : ModelWithCorners 𝕜 H D
inst✝¹³ : TopologicalSpace P
inst✝¹² : I✝.Boundaryless
inst✝¹¹ : ChartedSpace A✝ M✝
cm : AnalyticManifold I✝ M✝
inst✝¹⁰ : J.Boundaryless
inst✝⁹ : ChartedSpace B N
cn : AnalyticManifold J N
inst✝⁸ : K.Boundaryless
inst✝⁷ : ChartedSpace C O
co : AnalyticManifold K O
inst✝⁶ : L.Boundaryless
inst✝⁵ : ChartedSpace D P
cp : AnalyticManifold L P
E A M : Type
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℂ E
inst✝² : TopologicalSpace A
I : ModelWithCorners ℂ E A
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace A M
f g : M → ℂ
x : M
fa : HolomorphicAt I 𝓘(ℂ, ℂ) f x
ga : HolomorphicAt I 𝓘(ℂ, ℂ) g x
a : 0 < (f x).re ∨ (f x).im ≠ 0
e : (fun x => f x ^ g x) = (fun p => p.1 ^ p.2) ∘ fun x => (f x, g x)
⊢ HolomorphicAt I 𝓘(ℂ, ℂ) (fun x => f x ^ g x) x
Tactic:
rw [e]
State after:
𝕜 : Type
inst✝³¹ : NontriviallyNormedField 𝕜
E✝ A✝ : Type
inst✝³⁰ : NormedAddCommGroup E✝
inst✝²⁹ : NormedSpace 𝕜 E✝
inst✝²⁸ : CompleteSpace E✝
inst✝²⁷ : TopologicalSpace A✝
F B : Type
inst✝²⁶ : NormedAddCommGroup F
inst✝²⁵ : NormedSpace 𝕜 F
inst✝²⁴ : CompleteSpace F
inst✝²³ : TopologicalSpace B
G C : Type
inst✝²² : NormedAddCommGroup G
inst✝²¹ : NormedSpace 𝕜 G
inst✝²⁰ : TopologicalSpace C
H D : Type
inst✝¹⁹ : NormedAddCommGroup H
inst✝¹⁸ : NormedSpace 𝕜 H
inst✝¹⁷ : TopologicalSpace D
M✝ : Type
I✝ : ModelWithCorners 𝕜 E✝ A✝
inst✝¹⁶ : TopologicalSpace M✝
N : Type
J : ModelWithCorners 𝕜 F B
inst✝¹⁵ : TopologicalSpace N
O : Type
K : ModelWithCorners 𝕜 G C
inst✝¹⁴ : TopologicalSpace O
P : Type
L : ModelWithCorners 𝕜 H D
inst✝¹³ : TopologicalSpace P
inst✝¹² : I✝.Boundaryless
inst✝¹¹ : ChartedSpace A✝ M✝
cm : AnalyticManifold I✝ M✝
inst✝¹⁰ : J.Boundaryless
inst✝⁹ : ChartedSpace B N
cn : AnalyticManifold J N
inst✝⁸ : K.Boundaryless
inst✝⁷ : ChartedSpace C O
co : AnalyticManifold K O
inst✝⁶ : L.Boundaryless
inst✝⁵ : ChartedSpace D P
cp : AnalyticManifold L P
E A M : Type
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℂ E
inst✝² : TopologicalSpace A
I : ModelWithCorners ℂ E A
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace A M
f g : M → ℂ
x : M
fa : HolomorphicAt I 𝓘(ℂ, ℂ) f x
ga : HolomorphicAt I 𝓘(ℂ, ℂ) g x
a : 0 < (f x).re ∨ (f x).im ≠ 0
e : (fun x => f x ^ g x) = (fun p => p.1 ^ p.2) ∘ fun x => (f x, g x)
⊢ HolomorphicAt I 𝓘(ℂ, ℂ) ((fun p => p.1 ^ p.2) ∘ fun x => (f x, g x)) x

State before:
𝕜 : Type
inst✝³¹ : NontriviallyNormedField 𝕜
E✝ A✝ : Type
inst✝³⁰ : NormedAddCommGroup E✝
inst✝²⁹ : NormedSpace 𝕜 E✝
inst✝²⁸ : CompleteSpace E✝
inst✝²⁷ : TopologicalSpace A✝
F B : Type
inst✝²⁶ : NormedAddCommGroup F
inst✝²⁵ : NormedSpace 𝕜 F
inst✝²⁴ : CompleteSpace F
inst✝²³ : TopologicalSpace B
G C : Type
inst✝²² : NormedAddCommGroup G
inst✝²¹ : NormedSpace 𝕜 G
inst✝²⁰ : TopologicalSpace C
H D : Type
inst✝¹⁹ : NormedAddCommGroup H
inst✝¹⁸ : NormedSpace 𝕜 H
inst✝¹⁷ : TopologicalSpace D
M✝ : Type
I✝ : ModelWithCorners 𝕜 E✝ A✝
inst✝¹⁶ : TopologicalSpace M✝
N : Type
J : ModelWithCorners 𝕜 F B
inst✝¹⁵ : TopologicalSpace N
O : Type
K : ModelWithCorners 𝕜 G C
inst✝¹⁴ : TopologicalSpace O
P : Type
L : ModelWithCorners 𝕜 H D
inst✝¹³ : TopologicalSpace P
inst✝¹² : I✝.Boundaryless
inst✝¹¹ : ChartedSpace A✝ M✝
cm : AnalyticManifold I✝ M✝
inst✝¹⁰ : J.Boundaryless
inst✝⁹ : ChartedSpace B N
cn : AnalyticManifold J N
inst✝⁸ : K.Boundaryless
inst✝⁷ : ChartedSpace C O
co : AnalyticManifold K O
inst✝⁶ : L.Boundaryless
inst✝⁵ : ChartedSpace D P
cp : AnalyticManifold L P
E A M : Type
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℂ E
inst✝² : TopologicalSpace A
I : ModelWithCorners ℂ E A
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace A M
f g : M → ℂ
x : M
fa : HolomorphicAt I 𝓘(ℂ, ℂ) f x
ga : HolomorphicAt I 𝓘(ℂ, ℂ) g x
a : 0 < (f x).re ∨ (f x).im ≠ 0
e : (fun x => f x ^ g x) = (fun p => p.1 ^ p.2) ∘ fun x => (f x, g x)
⊢ HolomorphicAt I 𝓘(ℂ, ℂ) ((fun p => p.1 ^ p.2) ∘ fun x => (f x, g x)) x
Tactic:
refine (((analyticAt_fst _).cpow (analyticAt_snd _) ?_).holomorphicAt _ _).comp (fa.prod ga)
State after:
𝕜 : Type
inst✝³¹ : NontriviallyNormedField 𝕜
E✝ A✝ : Type
inst✝³⁰ : NormedAddCommGroup E✝
inst✝²⁹ : NormedSpace 𝕜 E✝
inst✝²⁸ : CompleteSpace E✝
inst✝²⁷ : TopologicalSpace A✝
F B : Type
inst✝²⁶ : NormedAddCommGroup F
inst✝²⁵ : NormedSpace 𝕜 F
inst✝²⁴ : CompleteSpace F
inst✝²³ : TopologicalSpace B
G C : Type
inst✝²² : NormedAddCommGroup G
inst✝²¹ : NormedSpace 𝕜 G
inst✝²⁰ : TopologicalSpace C
H D : Type
inst✝¹⁹ : NormedAddCommGroup H
inst✝¹⁸ : NormedSpace 𝕜 H
inst✝¹⁷ : TopologicalSpace D
M✝ : Type
I✝ : ModelWithCorners 𝕜 E✝ A✝
inst✝¹⁶ : TopologicalSpace M✝
N : Type
J : ModelWithCorners 𝕜 F B
inst✝¹⁵ : TopologicalSpace N
O : Type
K : ModelWithCorners 𝕜 G C
inst✝¹⁴ : TopologicalSpace O
P : Type
L : ModelWithCorners 𝕜 H D
inst✝¹³ : TopologicalSpace P
inst✝¹² : I✝.Boundaryless
inst✝¹¹ : ChartedSpace A✝ M✝
cm : AnalyticManifold I✝ M✝
inst✝¹⁰ : J.Boundaryless
inst✝⁹ : ChartedSpace B N
cn : AnalyticManifold J N
inst✝⁸ : K.Boundaryless
inst✝⁷ : ChartedSpace C O
co : AnalyticManifold K O
inst✝⁶ : L.Boundaryless
inst✝⁵ : ChartedSpace D P
cp : AnalyticManifold L P
E A M : Type
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℂ E
inst✝² : TopologicalSpace A
I : ModelWithCorners ℂ E A
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace A M
f g : M → ℂ
x : M
fa : HolomorphicAt I 𝓘(ℂ, ℂ) f x
ga : HolomorphicAt I 𝓘(ℂ, ℂ) g x
a : 0 < (f x).re ∨ (f x).im ≠ 0
e : (fun x => f x ^ g x) = (fun p => p.1 ^ p.2) ∘ fun x => (f x, g x)
⊢ ((fun x => (f x, g x)) x).1 ∈ Complex.slitPlane

State before:
𝕜 : Type
inst✝³¹ : NontriviallyNormedField 𝕜
E✝ A✝ : Type
inst✝³⁰ : NormedAddCommGroup E✝
inst✝²⁹ : NormedSpace 𝕜 E✝
inst✝²⁸ : CompleteSpace E✝
inst✝²⁷ : TopologicalSpace A✝
F B : Type
inst✝²⁶ : NormedAddCommGroup F
inst✝²⁵ : NormedSpace 𝕜 F
inst✝²⁴ : CompleteSpace F
inst✝²³ : TopologicalSpace B
G C : Type
inst✝²² : NormedAddCommGroup G
inst✝²¹ : NormedSpace 𝕜 G
inst✝²⁰ : TopologicalSpace C
H D : Type
inst✝¹⁹ : NormedAddCommGroup H
inst✝¹⁸ : NormedSpace 𝕜 H
inst✝¹⁷ : TopologicalSpace D
M✝ : Type
I✝ : ModelWithCorners 𝕜 E✝ A✝
inst✝¹⁶ : TopologicalSpace M✝
N : Type
J : ModelWithCorners 𝕜 F B
inst✝¹⁵ : TopologicalSpace N
O : Type
K : ModelWithCorners 𝕜 G C
inst✝¹⁴ : TopologicalSpace O
P : Type
L : ModelWithCorners 𝕜 H D
inst✝¹³ : TopologicalSpace P
inst✝¹² : I✝.Boundaryless
inst✝¹¹ : ChartedSpace A✝ M✝
cm : AnalyticManifold I✝ M✝
inst✝¹⁰ : J.Boundaryless
inst✝⁹ : ChartedSpace B N
cn : AnalyticManifold J N
inst✝⁸ : K.Boundaryless
inst✝⁷ : ChartedSpace C O
co : AnalyticManifold K O
inst✝⁶ : L.Boundaryless
inst✝⁵ : ChartedSpace D P
cp : AnalyticManifold L P
E A M : Type
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℂ E
inst✝² : TopologicalSpace A
I : ModelWithCorners ℂ E A
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace A M
f g : M → ℂ
x : M
fa : HolomorphicAt I 𝓘(ℂ, ℂ) f x
ga : HolomorphicAt I 𝓘(ℂ, ℂ) g x
a : 0 < (f x).re ∨ (f x).im ≠ 0
e : (fun x => f x ^ g x) = (fun p => p.1 ^ p.2) ∘ fun x => (f x, g x)
⊢ ((fun x => (f x, g x)) x).1 ∈ Complex.slitPlane
Tactic:
exact a
State after:
no goals