l3lab/ntp-mathlib huggingface dataset:
lemma formalMultilinearSeries_geometric_radius (𝕜) [NontriviallyNormedField 𝕜]
    (A : Type*) [NormedRing A] [NormOneClass A] [NormedAlgebra 𝕜 A] :
    (formalMultilinearSeries_geometric 𝕜 A).radius = 1 := by
  apply le_antisymm
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← coe_one, ENNReal.coe_le_coe]
    have := FormalMultilinearSeries.isLittleO_one_of_lt_radius _ hr
    simp_rw [formalMultilinearSeries_geometric_apply_norm, one_mul] at this
    contrapose! this
    simp_rw [IsLittleO, IsBigOWith, not_forall, norm_one, mul_one,
      not_eventually]
    refine ⟨1, one_pos, ?_⟩
    refine ((eventually_ne_atTop 0).mp (eventually_of_forall ?_)).frequently
    intro n hn
    push_neg
    

Proof state:
case a
α : 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✝
𝕜 : Type u_10
inst✝³ : NontriviallyNormedField 𝕜
A : Type u_9
inst✝² : NormedRing A
inst✝¹ : NormOneClass A
inst✝ : NormedAlgebra 𝕜 A
r : ℝ≥0
hr : ↑r < FormalMultilinearSeries.radius (formalMultilinearSeries_geometric 𝕜 A)
this : 1 < r
n : ℕ
hn : n ≠ 0
⊢ 1 < ‖↑r ^ n‖

Next tactic:
rwa [norm_pow, one_lt_pow_iff_of_nonneg (norm_nonneg _) hn,
      Real.norm_of_nonneg (NNReal.coe_nonneg _), ← NNReal.coe_one,
      NNReal.coe_lt_coe]
lemma formalMultilinearSeries_geometric_radius (𝕜) [NontriviallyNormedField 𝕜]
    (A : Type*) [NormedRing A] [NormOneClass A] [NormedAlgebra 𝕜 A] :
    (formalMultilinearSeries_geometric 𝕜 A).radius = 1 := by
  apply le_antisymm
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← coe_one, ENNReal.coe_le_coe]
    have := FormalMultilinearSeries.isLittleO_one_of_lt_radius _ hr
    simp_rw [formalMultilinearSeries_geometric_apply_norm, one_mul] at this
    contrapose! this
    simp_rw [IsLittleO, IsBigOWith, not_forall, norm_one, mul_one,
      not_eventually]
    refine ⟨1, one_pos, ?_⟩
    refine ((eventually_ne_atTop 0).mp (eventually_of_forall ?_)).frequently
    intro n hn
    push_neg
    rwa [norm_pow, one_lt_pow_iff_of_nonneg (norm_nonneg _) hn,
      Real.norm_of_nonneg (NNReal.coe_nonneg _), ← NNReal.coe_one,
      NNReal.coe_lt_coe]
  · 

Proof state:
case a
α : 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✝
𝕜 : Type u_10
inst✝³ : NontriviallyNormedField 𝕜
A : Type u_9
inst✝² : NormedRing A
inst✝¹ : NormOneClass A
inst✝ : NormedAlgebra 𝕜 A
⊢ 1 ≤ FormalMultilinearSeries.radius (formalMultilinearSeries_geometric 𝕜 A)

Next tactic:
refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
lemma formalMultilinearSeries_geometric_radius (𝕜) [NontriviallyNormedField 𝕜]
    (A : Type*) [NormedRing A] [NormOneClass A] [NormedAlgebra 𝕜 A] :
    (formalMultilinearSeries_geometric 𝕜 A).radius = 1 := by
  apply le_antisymm
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← coe_one, ENNReal.coe_le_coe]
    have := FormalMultilinearSeries.isLittleO_one_of_lt_radius _ hr
    simp_rw [formalMultilinearSeries_geometric_apply_norm, one_mul] at this
    contrapose! this
    simp_rw [IsLittleO, IsBigOWith, not_forall, norm_one, mul_one,
      not_eventually]
    refine ⟨1, one_pos, ?_⟩
    refine ((eventually_ne_atTop 0).mp (eventually_of_forall ?_)).frequently
    intro n hn
    push_neg
    rwa [norm_pow, one_lt_pow_iff_of_nonneg (norm_nonneg _) hn,
      Real.norm_of_nonneg (NNReal.coe_nonneg _), ← NNReal.coe_one,
      NNReal.coe_lt_coe]
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    

Proof state:
case a
α : 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✝
𝕜 : Type u_10
inst✝³ : NontriviallyNormedField 𝕜
A : Type u_9
inst✝² : NormedRing A
inst✝¹ : NormOneClass A
inst✝ : NormedAlgebra 𝕜 A
r : ℝ≥0
hr : ↑r < 1
⊢ ↑r ≤ FormalMultilinearSeries.radius (formalMultilinearSeries_geometric 𝕜 A)

Next tactic:
rw [← Nat.cast_one, ENNReal.coe_lt_coe_nat, Nat.cast_one] at hr
lemma formalMultilinearSeries_geometric_radius (𝕜) [NontriviallyNormedField 𝕜]
    (A : Type*) [NormedRing A] [NormOneClass A] [NormedAlgebra 𝕜 A] :
    (formalMultilinearSeries_geometric 𝕜 A).radius = 1 := by
  apply le_antisymm
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← coe_one, ENNReal.coe_le_coe]
    have := FormalMultilinearSeries.isLittleO_one_of_lt_radius _ hr
    simp_rw [formalMultilinearSeries_geometric_apply_norm, one_mul] at this
    contrapose! this
    simp_rw [IsLittleO, IsBigOWith, not_forall, norm_one, mul_one,
      not_eventually]
    refine ⟨1, one_pos, ?_⟩
    refine ((eventually_ne_atTop 0).mp (eventually_of_forall ?_)).frequently
    intro n hn
    push_neg
    rwa [norm_pow, one_lt_pow_iff_of_nonneg (norm_nonneg _) hn,
      Real.norm_of_nonneg (NNReal.coe_nonneg _), ← NNReal.coe_one,
      NNReal.coe_lt_coe]
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← Nat.cast_one, ENNReal.coe_lt_coe_nat, Nat.cast_one] at hr
    

Proof state:
case a
α : 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✝
𝕜 : Type u_10
inst✝³ : NontriviallyNormedField 𝕜
A : Type u_9
inst✝² : NormedRing A
inst✝¹ : NormOneClass A
inst✝ : NormedAlgebra 𝕜 A
r : ℝ≥0
hr : r < 1
⊢ ↑r ≤ FormalMultilinearSeries.radius (formalMultilinearSeries_geometric 𝕜 A)

Next tactic:
apply FormalMultilinearSeries.le_radius_of_isBigO
lemma formalMultilinearSeries_geometric_radius (𝕜) [NontriviallyNormedField 𝕜]
    (A : Type*) [NormedRing A] [NormOneClass A] [NormedAlgebra 𝕜 A] :
    (formalMultilinearSeries_geometric 𝕜 A).radius = 1 := by
  apply le_antisymm
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← coe_one, ENNReal.coe_le_coe]
    have := FormalMultilinearSeries.isLittleO_one_of_lt_radius _ hr
    simp_rw [formalMultilinearSeries_geometric_apply_norm, one_mul] at this
    contrapose! this
    simp_rw [IsLittleO, IsBigOWith, not_forall, norm_one, mul_one,
      not_eventually]
    refine ⟨1, one_pos, ?_⟩
    refine ((eventually_ne_atTop 0).mp (eventually_of_forall ?_)).frequently
    intro n hn
    push_neg
    rwa [norm_pow, one_lt_pow_iff_of_nonneg (norm_nonneg _) hn,
      Real.norm_of_nonneg (NNReal.coe_nonneg _), ← NNReal.coe_one,
      NNReal.coe_lt_coe]
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← Nat.cast_one, ENNReal.coe_lt_coe_nat, Nat.cast_one] at hr
    apply FormalMultilinearSeries.le_radius_of_isBigO
    

Proof state:
case a.h
α : 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✝
𝕜 : Type u_10
inst✝³ : NontriviallyNormedField 𝕜
A : Type u_9
inst✝² : NormedRing A
inst✝¹ : NormOneClass A
inst✝ : NormedAlgebra 𝕜 A
r : ℝ≥0
hr : r < 1
⊢ (fun n => ‖formalMultilinearSeries_geometric 𝕜 A n‖ * ↑r ^ n) =O[atTop] fun x => 1

Next tactic:
simp_rw [formalMultilinearSeries_geometric_apply_norm, one_mul]
lemma formalMultilinearSeries_geometric_radius (𝕜) [NontriviallyNormedField 𝕜]
    (A : Type*) [NormedRing A] [NormOneClass A] [NormedAlgebra 𝕜 A] :
    (formalMultilinearSeries_geometric 𝕜 A).radius = 1 := by
  apply le_antisymm
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← coe_one, ENNReal.coe_le_coe]
    have := FormalMultilinearSeries.isLittleO_one_of_lt_radius _ hr
    simp_rw [formalMultilinearSeries_geometric_apply_norm, one_mul] at this
    contrapose! this
    simp_rw [IsLittleO, IsBigOWith, not_forall, norm_one, mul_one,
      not_eventually]
    refine ⟨1, one_pos, ?_⟩
    refine ((eventually_ne_atTop 0).mp (eventually_of_forall ?_)).frequently
    intro n hn
    push_neg
    rwa [norm_pow, one_lt_pow_iff_of_nonneg (norm_nonneg _) hn,
      Real.norm_of_nonneg (NNReal.coe_nonneg _), ← NNReal.coe_one,
      NNReal.coe_lt_coe]
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← Nat.cast_one, ENNReal.coe_lt_coe_nat, Nat.cast_one] at hr
    apply FormalMultilinearSeries.le_radius_of_isBigO
    simp_rw [formalMultilinearSeries_geometric_apply_norm, one_mul]
    

Proof state:
case a.h
α : 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✝
𝕜 : Type u_10
inst✝³ : NontriviallyNormedField 𝕜
A : Type u_9
inst✝² : NormedRing A
inst✝¹ : NormOneClass A
inst✝ : NormedAlgebra 𝕜 A
r : ℝ≥0
hr : r < 1
⊢ (fun n => ↑r ^ n) =O[atTop] fun x => 1

Next tactic:
refine isBigO_of_le atTop (fun n ↦ ?_)
lemma formalMultilinearSeries_geometric_radius (𝕜) [NontriviallyNormedField 𝕜]
    (A : Type*) [NormedRing A] [NormOneClass A] [NormedAlgebra 𝕜 A] :
    (formalMultilinearSeries_geometric 𝕜 A).radius = 1 := by
  apply le_antisymm
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← coe_one, ENNReal.coe_le_coe]
    have := FormalMultilinearSeries.isLittleO_one_of_lt_radius _ hr
    simp_rw [formalMultilinearSeries_geometric_apply_norm, one_mul] at this
    contrapose! this
    simp_rw [IsLittleO, IsBigOWith, not_forall, norm_one, mul_one,
      not_eventually]
    refine ⟨1, one_pos, ?_⟩
    refine ((eventually_ne_atTop 0).mp (eventually_of_forall ?_)).frequently
    intro n hn
    push_neg
    rwa [norm_pow, one_lt_pow_iff_of_nonneg (norm_nonneg _) hn,
      Real.norm_of_nonneg (NNReal.coe_nonneg _), ← NNReal.coe_one,
      NNReal.coe_lt_coe]
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← Nat.cast_one, ENNReal.coe_lt_coe_nat, Nat.cast_one] at hr
    apply FormalMultilinearSeries.le_radius_of_isBigO
    simp_rw [formalMultilinearSeries_geometric_apply_norm, one_mul]
    refine isBigO_of_le atTop (fun n ↦ ?_)
    

Proof state:
case a.h
α : 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✝
𝕜 : Type u_10
inst✝³ : NontriviallyNormedField 𝕜
A : Type u_9
inst✝² : NormedRing A
inst✝¹ : NormOneClass A
inst✝ : NormedAlgebra 𝕜 A
r : ℝ≥0
hr : r < 1
n : ℕ
⊢ ‖↑r ^ n‖ ≤ ‖1‖

Next tactic:
rw [norm_one, Real.norm_of_nonneg (pow_nonneg (coe_nonneg r) _)]
lemma formalMultilinearSeries_geometric_radius (𝕜) [NontriviallyNormedField 𝕜]
    (A : Type*) [NormedRing A] [NormOneClass A] [NormedAlgebra 𝕜 A] :
    (formalMultilinearSeries_geometric 𝕜 A).radius = 1 := by
  apply le_antisymm
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← coe_one, ENNReal.coe_le_coe]
    have := FormalMultilinearSeries.isLittleO_one_of_lt_radius _ hr
    simp_rw [formalMultilinearSeries_geometric_apply_norm, one_mul] at this
    contrapose! this
    simp_rw [IsLittleO, IsBigOWith, not_forall, norm_one, mul_one,
      not_eventually]
    refine ⟨1, one_pos, ?_⟩
    refine ((eventually_ne_atTop 0).mp (eventually_of_forall ?_)).frequently
    intro n hn
    push_neg
    rwa [norm_pow, one_lt_pow_iff_of_nonneg (norm_nonneg _) hn,
      Real.norm_of_nonneg (NNReal.coe_nonneg _), ← NNReal.coe_one,
      NNReal.coe_lt_coe]
  · refine le_of_forall_nnreal_lt (fun r hr ↦ ?_)
    rw [← Nat.cast_one, ENNReal.coe_lt_coe_nat, Nat.cast_one] at hr
    apply FormalMultilinearSeries.le_radius_of_isBigO
    simp_rw [formalMultilinearSeries_geometric_apply_norm, one_mul]
    refine isBigO_of_le atTop (fun n ↦ ?_)
    rw [norm_one, Real.norm_of_nonneg (pow_nonneg (coe_nonneg r) _)]
    

Proof state:
case a.h
α : 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✝
𝕜 : Type u_10
inst✝³ : NontriviallyNormedField 𝕜
A : Type u_9
inst✝² : NormedRing A
inst✝¹ : NormOneClass A
inst✝ : NormedAlgebra 𝕜 A
r : ℝ≥0
hr : r < 1
n : ℕ
⊢ ↑r ^ n ≤ 1

Next tactic:
exact (pow_le_one _ (coe_nonneg r) hr.le)
lemma hasFPowerSeriesOnBall_inv_one_sub
    (𝕜 𝕝 : Type*) [NontriviallyNormedField 𝕜] [NontriviallyNormedField 𝕝] [NormedAlgebra 𝕜 𝕝] :
    HasFPowerSeriesOnBall (fun x : 𝕝 ↦ (1 - x)⁻¹) (formalMultilinearSeries_geometric 𝕜 𝕝) 0 1 := by
  

Proof state:
α : 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
𝕜 : Type u_9
𝕝 : Type u_10
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : NontriviallyNormedField 𝕝
inst✝ : NormedAlgebra 𝕜 𝕝
⊢ HasFPowerSeriesOnBall (fun x => (1 - x)⁻¹) (formalMultilinearSeries_geometric 𝕜 𝕝) 0 1

Next tactic:
constructor
lemma hasFPowerSeriesOnBall_inv_one_sub
    (𝕜 𝕝 : Type*) [NontriviallyNormedField 𝕜] [NontriviallyNormedField 𝕝] [NormedAlgebra 𝕜 𝕝] :
    HasFPowerSeriesOnBall (fun x : 𝕝 ↦ (1 - x)⁻¹) (formalMultilinearSeries_geometric 𝕜 𝕝) 0 1 := by
  constructor
  · 

Proof state:
case r_le
α : 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
𝕜 : Type u_9
𝕝 : Type u_10
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : NontriviallyNormedField 𝕝
inst✝ : NormedAlgebra 𝕜 𝕝
⊢ 1 ≤ FormalMultilinearSeries.radius (formalMultilinearSeries_geometric 𝕜 𝕝)

Next tactic:
exact le_of_eq (formalMultilinearSeries_geometric_radius 𝕜 𝕝).symm
lemma hasFPowerSeriesOnBall_inv_one_sub
    (𝕜 𝕝 : Type*) [NontriviallyNormedField 𝕜] [NontriviallyNormedField 𝕝] [NormedAlgebra 𝕜 𝕝] :
    HasFPowerSeriesOnBall (fun x : 𝕝 ↦ (1 - x)⁻¹) (formalMultilinearSeries_geometric 𝕜 𝕝) 0 1 := by
  constructor
  · exact le_of_eq (formalMultilinearSeries_geometric_radius 𝕜 𝕝).symm
  · 

Proof state:
case r_pos
α : 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
𝕜 : Type u_9
𝕝 : Type u_10
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : NontriviallyNormedField 𝕝
inst✝ : NormedAlgebra 𝕜 𝕝
⊢ 0 < 1

Next tactic:
exact one_pos
lemma hasFPowerSeriesOnBall_inv_one_sub
    (𝕜 𝕝 : Type*) [NontriviallyNormedField 𝕜] [NontriviallyNormedField 𝕝] [NormedAlgebra 𝕜 𝕝] :
    HasFPowerSeriesOnBall (fun x : 𝕝 ↦ (1 - x)⁻¹) (formalMultilinearSeries_geometric 𝕜 𝕝) 0 1 := by
  constructor
  · exact le_of_eq (formalMultilinearSeries_geometric_radius 𝕜 𝕝).symm
  · exact one_pos
  · 

Proof state:
case hasSum
α : 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
𝕜 : Type u_9
𝕝 : Type u_10
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : NontriviallyNormedField 𝕝
inst✝ : NormedAlgebra 𝕜 𝕝
⊢ ∀ {y : 𝕝},
    y ∈ EMetric.ball 0 1 → HasSum (fun n => (formalMultilinearSeries_geometric 𝕜 𝕝 n) fun x => y) (1 - (0 + y))⁻¹

Next tactic:
intro y hy
lemma hasFPowerSeriesOnBall_inv_one_sub
    (𝕜 𝕝 : Type*) [NontriviallyNormedField 𝕜] [NontriviallyNormedField 𝕝] [NormedAlgebra 𝕜 𝕝] :
    HasFPowerSeriesOnBall (fun x : 𝕝 ↦ (1 - x)⁻¹) (formalMultilinearSeries_geometric 𝕜 𝕝) 0 1 := by
  constructor
  · exact le_of_eq (formalMultilinearSeries_geometric_radius 𝕜 𝕝).symm
  · exact one_pos
  · intro y hy
    

Proof state:
case hasSum
α : 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
𝕜 : Type u_9
𝕝 : Type u_10
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : NontriviallyNormedField 𝕝
inst✝ : NormedAlgebra 𝕜 𝕝
y : 𝕝
hy : y ∈ EMetric.ball 0 1
⊢ HasSum (fun n => (formalMultilinearSeries_geometric 𝕜 𝕝 n) fun x => y) (1 - (0 + y))⁻¹

Next tactic:
simp_rw [zero_add, formalMultilinearSeries_geometric,
        ContinuousMultilinearMap.mkPiAlgebraFin_apply,
        List.prod_ofFn, Finset.prod_const,
        Finset.card_univ, Fintype.card_fin]
lemma hasFPowerSeriesOnBall_inv_one_sub
    (𝕜 𝕝 : Type*) [NontriviallyNormedField 𝕜] [NontriviallyNormedField 𝕝] [NormedAlgebra 𝕜 𝕝] :
    HasFPowerSeriesOnBall (fun x : 𝕝 ↦ (1 - x)⁻¹) (formalMultilinearSeries_geometric 𝕜 𝕝) 0 1 := by
  constructor
  · exact le_of_eq (formalMultilinearSeries_geometric_radius 𝕜 𝕝).symm
  · exact one_pos
  · intro y hy
    simp_rw [zero_add, formalMultilinearSeries_geometric,
        ContinuousMultilinearMap.mkPiAlgebraFin_apply,
        List.prod_ofFn, Finset.prod_const,
        Finset.card_univ, Fintype.card_fin]
    

Proof state:
case hasSum
α : 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
𝕜 : Type u_9
𝕝 : Type u_10
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : NontriviallyNormedField 𝕝
inst✝ : NormedAlgebra 𝕜 𝕝
y : 𝕝
hy : y ∈ EMetric.ball 0 1
⊢ HasSum (fun n => y ^ n) (1 - y)⁻¹

Next tactic:
apply hasSum_geometric_of_norm_lt_1
lemma hasFPowerSeriesOnBall_inv_one_sub
    (𝕜 𝕝 : Type*) [NontriviallyNormedField 𝕜] [NontriviallyNormedField 𝕝] [NormedAlgebra 𝕜 𝕝] :
    HasFPowerSeriesOnBall (fun x : 𝕝 ↦ (1 - x)⁻¹) (formalMultilinearSeries_geometric 𝕜 𝕝) 0 1 := by
  constructor
  · exact le_of_eq (formalMultilinearSeries_geometric_radius 𝕜 𝕝).symm
  · exact one_pos
  · intro y hy
    simp_rw [zero_add, formalMultilinearSeries_geometric,
        ContinuousMultilinearMap.mkPiAlgebraFin_apply,
        List.prod_ofFn, Finset.prod_const,
        Finset.card_univ, Fintype.card_fin]
    apply hasSum_geometric_of_norm_lt_1
    

Proof state:
case hasSum.h
α : 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
𝕜 : Type u_9
𝕝 : Type u_10
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : NontriviallyNormedField 𝕝
inst✝ : NormedAlgebra 𝕜 𝕝
y : 𝕝
hy : y ∈ EMetric.ball 0 1
⊢ ‖y‖ < 1

Next tactic:
simpa only [← ofReal_one, Metric.emetric_ball, Metric.ball,
      dist_eq_norm, sub_zero] using hy
/-- If `𝕝` is a normed field extension of `𝕜`, then the inverse map `𝕝 → 𝕝` is `𝕜`-analytic
away from 0. -/
lemma analyticAt_inv {z : 𝕝} (hz : z ≠ 0) : AnalyticAt 𝕜 Inv.inv z := by
  

Proof state:
α : 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
z : 𝕝
hz : z ≠ 0
⊢ AnalyticAt 𝕜 Inv.inv z

Next tactic:
let f1 : 𝕝 → 𝕝 := fun a ↦ 1 / z * a
/-- If `𝕝` is a normed field extension of `𝕜`, then the inverse map `𝕝 → 𝕝` is `𝕜`-analytic
away from 0. -/
lemma analyticAt_inv {z : 𝕝} (hz : z ≠ 0) : AnalyticAt 𝕜 Inv.inv z := by
  let f1 : 𝕝 → 𝕝 := fun a ↦ 1 / z * a
  

Proof state:
α : 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
z : 𝕝
hz : z ≠ 0
f1 : 𝕝 → 𝕝 := fun a => 1 / z * a
⊢ AnalyticAt 𝕜 Inv.inv z

Next tactic:
let f2 : 𝕝 → 𝕝 := fun b ↦ (1 - b)⁻¹