Theorem: AnalyticWithinAt.comp
File: Mathlib/Analysis/Analytic/Within.lean

Proof steps:
state_before: α : Type u_1
𝕜 : Type u_2
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type u_3
F : Type u_4
G : Type u_5
H : Type u_6
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedSpace 𝕜 G
inst✝³ : NormedAddCommGroup H
inst✝² : NormedSpace 𝕜 H
inst✝¹ : CompleteSpace F
inst✝ : CompleteSpace G
f : F → G
g : E → F
s : Set F
t : Set E
x : E
hf : AnalyticWithinAt 𝕜 f s (g x)
hg : AnalyticWithinAt 𝕜 g t x
h : MapsTo g t s
⊢ AnalyticWithinAt 𝕜 (f ∘ g) t x
state_after: case intro.intro.intro
α : Type u_1
𝕜 : Type u_2
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type u_3
F : Type u_4
G : Type u_5
H : Type u_6
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedSpace 𝕜 G
inst✝³ : NormedAddCommGroup H
inst✝² : NormedSpace 𝕜 H
inst✝¹ : CompleteSpace F
inst✝ : CompleteSpace G
f : F → G
g : E → F
s : Set F
t : Set E
x : E
hf : AnalyticWithinAt 𝕜 f s (g x)
hg : AnalyticWithinAt 𝕜 g t x
h : MapsTo g t s
f' : F → G
left✝ : f (g x) = f' (g x)
ef : f =ᶠ[𝓝[s] g x] f'
hf' : AnalyticAt 𝕜 f' (g x)
⊢ AnalyticWithinAt 𝕜 (f ∘ g) t x
tactic: rcases hf.exists_analyticAt with ⟨f', _, ef, hf'⟩
state_before: case intro.intro.intro
α : Type u_1
𝕜 : Type u_2
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type u_3
F : Type u_4
G : Type u_5
H : Type u_6
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedSpace 𝕜 G
inst✝³ : NormedAddCommGroup H
inst✝² : NormedSpace 𝕜 H
inst✝¹ : CompleteSpace F
inst✝ : CompleteSpace G
f : F → G
g : E → F
s : Set F
t : Set E
x : E
hf : AnalyticWithinAt 𝕜 f s (g x)
hg : AnalyticWithinAt 𝕜 g t x
h : MapsTo g t s
f' : F → G
left✝ : f (g x) = f' (g x)
ef : f =ᶠ[𝓝[s] g x] f'
hf' : AnalyticAt 𝕜 f' (g x)
⊢ AnalyticWithinAt 𝕜 (f ∘ g) t x
state_after: case intro.intro.intro.intro.intro.intro
α : Type u_1
𝕜 : Type u_2
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type u_3
F : Type u_4
G : Type u_5
H : Type u_6
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedSpace 𝕜 G
inst✝³ : NormedAddCommGroup H
inst✝² : NormedSpace 𝕜 H
inst✝¹ : CompleteSpace F
inst✝ : CompleteSpace G
f : F → G
g : E → F
s : Set F
t : Set E
x : E
hf : AnalyticWithinAt 𝕜 f s (g x)
hg : AnalyticWithinAt 𝕜 g t x
h : MapsTo g t s
f' : F → G
left✝ : f (g x) = f' (g x)
ef : f =ᶠ[𝓝[s] g x] f'
hf' : AnalyticAt 𝕜 f' (g x)
g' : E → F
gx : g x = g' x
eg : g =ᶠ[𝓝[t] x] g'
hg' : AnalyticAt 𝕜 g' x
⊢ AnalyticWithinAt 𝕜 (f ∘ g) t x
tactic: rcases hg.exists_analyticAt with ⟨g', gx, eg, hg'⟩
state_before: case intro.intro.intro.intro.intro.intro
α : Type u_1
𝕜 : Type u_2
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type u_3
F : Type u_4
G : Type u_5
H : Type u_6
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedSpace 𝕜 G
inst✝³ : NormedAddCommGroup H
inst✝² : NormedSpace 𝕜 H
inst✝¹ : CompleteSpace F
inst✝ : CompleteSpace G
f : F → G
g : E → F
s : Set F
t : Set E
x : E
hf : AnalyticWithinAt 𝕜 f s (g x)
hg : AnalyticWithinAt 𝕜 g t x
h : MapsTo g t s
f' : F → G
left✝ : f (g x) = f' (g x)
ef : f =ᶠ[𝓝[s] g x] f'
hf' : AnalyticAt 𝕜 f' (g x)
g' : E → F
gx : g x = g' x
eg : g =ᶠ[𝓝[t] x] g'
hg' : AnalyticAt 𝕜 g' x
⊢ AnalyticWithinAt 𝕜 (f ∘ g) t x
state_after: case intro.intro.intro.intro.intro.intro.refine_1
α : Type u_1
𝕜 : Type u_2
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type u_3
F : Type u_4
G : Type u_5
H : Type u_6
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedSpace 𝕜 G
inst✝³ : NormedAddCommGroup H
inst✝² : NormedSpace 𝕜 H
inst✝¹ : CompleteSpace F
inst✝ : CompleteSpace G
f : F → G
g : E → F
s : Set F
t : Set E
x : E
hf : AnalyticWithinAt 𝕜 f s (g x)
hg : AnalyticWithinAt 𝕜 g t x
h : MapsTo g t s
f' : F → G
left✝ : f (g x) = f' (g x)
ef : f =ᶠ[𝓝[s] g x] f'
hf' : AnalyticAt 𝕜 f' (g x)
g' : E → F
gx : g x = g' x
eg : g =ᶠ[𝓝[t] x] g'
hg' : AnalyticAt 𝕜 g' x
⊢ ContinuousWithinAt (f ∘ g) t x

case intro.intro.intro.intro.intro.intro.refine_2
α : Type u_1
𝕜 : Type u_2
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type u_3
F : Type u_4
G : Type u_5
H : Type u_6
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedSpace 𝕜 G
inst✝³ : NormedAddCommGroup H
inst✝² : NormedSpace 𝕜 H
inst✝¹ : CompleteSpace F
inst✝ : CompleteSpace G
f : F → G
g : E → F
s : Set F
t : Set E
x : E
hf : AnalyticWithinAt 𝕜 f s (g x)
hg : AnalyticWithinAt 𝕜 g t x
h : MapsTo g t s
f' : F → G
left✝ : f (g x) = f' (g x)
ef : f =ᶠ[𝓝[s] g x] f'
hf' : AnalyticAt 𝕜 f' (g x)
g' : E → F
gx : g x = g' x
eg : g =ᶠ[𝓝[t] x] g'
hg' : AnalyticAt 𝕜 g' x
⊢ f ∘ g =ᶠ[𝓝[t] x] f' ∘ g'

case intro.intro.intro.intro.intro.intro.refine_3
α : Type u_1
𝕜 : Type u_2
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type u_3
F : Type u_4
G : Type u_5
H : Type u_6
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedSpace 𝕜 G
inst✝³ : NormedAddCommGroup H
inst✝² : NormedSpace 𝕜 H
inst✝¹ : CompleteSpace F
inst✝ : CompleteSpace G
f : F → G
g : E → F
s : Set F
t : Set E
x : E
hf : AnalyticWithinAt 𝕜 f s (g x)
hg : AnalyticWithinAt 𝕜 g t x
h : MapsTo g t s
f' : F → G
left✝ : f (g x) = f' (g x)
ef : f =ᶠ[𝓝[s] g x] f'
hf' : AnalyticAt 𝕜 f' (g x)
g' : E → F
gx : g x = g' x
eg : g =ᶠ[𝓝[t] x] g'
hg' : AnalyticAt 𝕜 g' x
⊢ AnalyticAt 𝕜 (f' ∘ g') x
tactic: refine analyticWithinAt_iff_exists_analyticAt.mpr ⟨?_, f' ∘ g', ?_, ?_⟩