Theorem: Finset.analyticAt_prod
File: Mathlib/Analysis/Analytic/Constructions.lean

tactic: induction' N using Finset.induction with a B aB hB
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
𝕝 : Type u_7
inst✝⁵ : NontriviallyNormedField 𝕝
inst✝⁴ : NormedAlgebra 𝕜 𝕝
A✝ : Type u_8
inst✝³ : NormedRing A✝
inst✝² : NormedAlgebra 𝕜 A✝
A : Type u_9
inst✝¹ : NormedCommRing A
inst✝ : NormedAlgebra 𝕜 A
f : α → E → A
c : E
N : Finset α
h : ∀ n ∈ N, AnalyticAt 𝕜 (f n) c
⊢ AnalyticAt 𝕜 (fun z => ∏ n ∈ N, f n z) c
state_after: case empty
α : 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
𝕝 : Type u_7
inst✝⁵ : NontriviallyNormedField 𝕝
inst✝⁴ : NormedAlgebra 𝕜 𝕝
A✝ : Type u_8
inst✝³ : NormedRing A✝
inst✝² : NormedAlgebra 𝕜 A✝
A : Type u_9
inst✝¹ : NormedCommRing A
inst✝ : NormedAlgebra 𝕜 A
f : α → E → A
c : E
h : ∀ n ∈ ∅, AnalyticAt 𝕜 (f n) c
⊢ AnalyticAt 𝕜 (fun z => ∏ n ∈ ∅, f n z) c

case insert
α : 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
𝕝 : Type u_7
inst✝⁵ : NontriviallyNormedField 𝕝
inst✝⁴ : NormedAlgebra 𝕜 𝕝
A✝ : Type u_8
inst✝³ : NormedRing A✝
inst✝² : NormedAlgebra 𝕜 A✝
A : Type u_9
inst✝¹ : NormedCommRing A
inst✝ : NormedAlgebra 𝕜 A
f : α → E → A
c : E
a : α
B : Finset α
aB : a ∉ B
hB : (∀ n ∈ B, AnalyticAt 𝕜 (f n) c) → AnalyticAt 𝕜 (fun z => ∏ n ∈ B, f n z) c
h : ∀ n ∈ insert a B, AnalyticAt 𝕜 (f n) c
⊢ AnalyticAt 𝕜 (fun z => ∏ n ∈ insert a B, f n z) c

tactic: simp only [Finset.prod_empty]
state_before: case empty
α : 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
𝕝 : Type u_7
inst✝⁵ : NontriviallyNormedField 𝕝
inst✝⁴ : NormedAlgebra 𝕜 𝕝
A✝ : Type u_8
inst✝³ : NormedRing A✝
inst✝² : NormedAlgebra 𝕜 A✝
A : Type u_9
inst✝¹ : NormedCommRing A
inst✝ : NormedAlgebra 𝕜 A
f : α → E → A
c : E
h : ∀ n ∈ ∅, AnalyticAt 𝕜 (f n) c
⊢ AnalyticAt 𝕜 (fun z => ∏ n ∈ ∅, f n z) c
state_after: case empty
α : 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
𝕝 : Type u_7
inst✝⁵ : NontriviallyNormedField 𝕝
inst✝⁴ : NormedAlgebra 𝕜 𝕝
A✝ : Type u_8
inst✝³ : NormedRing A✝
inst✝² : NormedAlgebra 𝕜 A✝
A : Type u_9
inst✝¹ : NormedCommRing A
inst✝ : NormedAlgebra 𝕜 A
f : α → E → A
c : E
h : ∀ n ∈ ∅, AnalyticAt 𝕜 (f n) c
⊢ AnalyticAt 𝕜 (fun z => 1) c

tactic: exact analyticAt_const
state_before: case empty
α : 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
𝕝 : Type u_7
inst✝⁵ : NontriviallyNormedField 𝕝
inst✝⁴ : NormedAlgebra 𝕜 𝕝
A✝ : Type u_8
inst✝³ : NormedRing A✝
inst✝² : NormedAlgebra 𝕜 A✝
A : Type u_9
inst✝¹ : NormedCommRing A
inst✝ : NormedAlgebra 𝕜 A
f : α → E → A
c : E
h : ∀ n ∈ ∅, AnalyticAt 𝕜 (f n) c
⊢ AnalyticAt 𝕜 (fun z => 1) c
state_after: no goals

tactic: simp_rw [Finset.prod_insert aB]
state_before: case insert
α : 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
𝕝 : Type u_7
inst✝⁵ : NontriviallyNormedField 𝕝
inst✝⁴ : NormedAlgebra 𝕜 𝕝
A✝ : Type u_8
inst✝³ : NormedRing A✝
inst✝² : NormedAlgebra 𝕜 A✝
A : Type u_9
inst✝¹ : NormedCommRing A
inst✝ : NormedAlgebra 𝕜 A
f : α → E → A
c : E
a : α
B : Finset α
aB : a ∉ B
hB : (∀ n ∈ B, AnalyticAt 𝕜 (f n) c) → AnalyticAt 𝕜 (fun z => ∏ n ∈ B, f n z) c
h : ∀ n ∈ insert a B, AnalyticAt 𝕜 (f n) c
⊢ AnalyticAt 𝕜 (fun z => ∏ n ∈ insert a B, f n z) c
state_after: case insert
α : 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
𝕝 : Type u_7
inst✝⁵ : NontriviallyNormedField 𝕝
inst✝⁴ : NormedAlgebra 𝕜 𝕝
A✝ : Type u_8
inst✝³ : NormedRing A✝
inst✝² : NormedAlgebra 𝕜 A✝
A : Type u_9
inst✝¹ : NormedCommRing A
inst✝ : NormedAlgebra 𝕜 A
f : α → E → A
c : E
a : α
B : Finset α
aB : a ∉ B
hB : (∀ n ∈ B, AnalyticAt 𝕜 (f n) c) → AnalyticAt 𝕜 (fun z => ∏ n ∈ B, f n z) c
h : ∀ n ∈ insert a B, AnalyticAt 𝕜 (f n) c
⊢ AnalyticAt 𝕜 (fun z => f a z * ∏ n ∈ B, f n z) c

tactic: simp only [Finset.mem_insert] at h
state_before: case insert
α : 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
𝕝 : Type u_7
inst✝⁵ : NontriviallyNormedField 𝕝
inst✝⁴ : NormedAlgebra 𝕜 𝕝
A✝ : Type u_8
inst✝³ : NormedRing A✝
inst✝² : NormedAlgebra 𝕜 A✝
A : Type u_9
inst✝¹ : NormedCommRing A
inst✝ : NormedAlgebra 𝕜 A
f : α → E → A
c : E
a : α
B : Finset α
aB : a ∉ B
hB : (∀ n ∈ B, AnalyticAt 𝕜 (f n) c) → AnalyticAt 𝕜 (fun z => ∏ n ∈ B, f n z) c
h : ∀ n ∈ insert a B, AnalyticAt 𝕜 (f n) c
⊢ AnalyticAt 𝕜 (fun z => f a z * ∏ n ∈ B, f n z) c
state_after: case insert
α : 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
𝕝 : Type u_7
inst✝⁵ : NontriviallyNormedField 𝕝
inst✝⁴ : NormedAlgebra 𝕜 𝕝
A✝ : Type u_8
inst✝³ : NormedRing A✝
inst✝² : NormedAlgebra 𝕜 A✝
A : Type u_9
inst✝¹ : NormedCommRing A
inst✝ : NormedAlgebra 𝕜 A
f : α → E → A
c : E
a : α
B : Finset α
aB : a ∉ B
hB : (∀ n ∈ B, AnalyticAt 𝕜 (f n) c) → AnalyticAt 𝕜 (fun z => ∏ n ∈ B, f n z) c
h : ∀ (n : α), n = a ∨ n ∈ B → AnalyticAt 𝕜 (f n) c
⊢ AnalyticAt 𝕜 (fun z => f a z * ∏ n ∈ B, f n z) c

tactic: exact (h a (Or.inl rfl)).mul (hB fun b m ↦ h b (Or.inr m))
state_before: case insert
α : 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
𝕝 : Type u_7
inst✝⁵ : NontriviallyNormedField 𝕝
inst✝⁴ : NormedAlgebra 𝕜 𝕝
A✝ : Type u_8
inst✝³ : NormedRing A✝
inst✝² : NormedAlgebra 𝕜 A✝
A : Type u_9
inst✝¹ : NormedCommRing A
inst✝ : NormedAlgebra 𝕜 A
f : α → E → A
c : E
a : α
B : Finset α
aB : a ∉ B
hB : (∀ n ∈ B, AnalyticAt 𝕜 (f n) c) → AnalyticAt 𝕜 (fun z => ∏ n ∈ B, f n z) c
h : ∀ (n : α), n = a ∨ n ∈ B → AnalyticAt 𝕜 (f n) c
⊢ AnalyticAt 𝕜 (fun z => f a z * ∏ n ∈ B, f n z) c
state_after: no goals