Theorem: SeparatingDual.completeSpace_of_completeSpace_continuousMultilinearMap
File: Mathlib/Analysis/NormedSpace/HahnBanach/SeparatingDual.lean

tactic: refine Metric.complete_of_cauchySeq_tendsto fun f hf => ?_
state_before: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
⊢ CompleteSpace F
state_after: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
⊢ ∃ a, Tendsto f atTop (𝓝 a)

tactic: have : ∀ i, ∃ φ : M i →L[𝕜] 𝕜, φ (m i) = 1 := fun i ↦ exists_eq_one (hm i)
state_before: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
⊢ ∃ a, Tendsto f atTop (𝓝 a)
state_after: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
this : ∀ (i : ι), ∃ φ, φ (m i) = 1
⊢ ∃ a, Tendsto f atTop (𝓝 a)

tactic: choose φ hφ using this
state_before: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
this : ∀ (i : ι), ∃ φ, φ (m i) = 1
⊢ ∃ a, Tendsto f atTop (𝓝 a)
state_after: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
⊢ ∃ a, Tendsto f atTop (𝓝 a)

tactic: let g : ℕ → (ContinuousMultilinearMap 𝕜 M F) := fun n ↦
  compContinuousLinearMapL φ
  (ContinuousMultilinearMap.smulRightL 𝕜 _ F ((ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
state_before: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
⊢ ∃ a, Tendsto f atTop (𝓝 a)
state_after: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
⊢ ∃ a, Tendsto f atTop (𝓝 a)

tactic: have : CauchySeq g := by
  refine (ContinuousLinearMap.lipschitz _).cauchySeq_comp ?_
  exact (ContinuousLinearMap.lipschitz _).cauchySeq_comp hf
state_before: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
⊢ ∃ a, Tendsto f atTop (𝓝 a)
state_after: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
this : CauchySeq g
⊢ ∃ a, Tendsto f atTop (𝓝 a)

tactic: obtain ⟨a, ha⟩ : ∃ a, Tendsto g atTop (𝓝 a) := cauchy_iff_exists_le_nhds.mp this
state_before: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
this : CauchySeq g
⊢ ∃ a, Tendsto f atTop (𝓝 a)
state_after: case intro
R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
this : CauchySeq g
a : ContinuousMultilinearMap 𝕜 M F
ha : Tendsto g atTop (𝓝 a)
⊢ ∃ a, Tendsto f atTop (𝓝 a)

tactic: refine ⟨a m, ?_⟩
state_before: case intro
R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
this : CauchySeq g
a : ContinuousMultilinearMap 𝕜 M F
ha : Tendsto g atTop (𝓝 a)
⊢ ∃ a, Tendsto f atTop (𝓝 a)
state_after: case intro
R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
this : CauchySeq g
a : ContinuousMultilinearMap 𝕜 M F
ha : Tendsto g atTop (𝓝 a)
⊢ Tendsto f atTop (𝓝 (a m))

tactic: have : Tendsto (fun n ↦ g n m) atTop (𝓝 (a m)) := ((continuous_eval_const _).tendsto _).comp ha
state_before: case intro
R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
this : CauchySeq g
a : ContinuousMultilinearMap 𝕜 M F
ha : Tendsto g atTop (𝓝 a)
⊢ Tendsto f atTop (𝓝 (a m))
state_after: case intro
R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
this✝ : CauchySeq g
a : ContinuousMultilinearMap 𝕜 M F
ha : Tendsto g atTop (𝓝 a)
this : Tendsto (fun n => (g n) m) atTop (𝓝 (a m))
⊢ Tendsto f atTop (𝓝 (a m))

tactic: simpa [g, hφ]
state_before: case intro
R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
this✝ : CauchySeq g
a : ContinuousMultilinearMap 𝕜 M F
ha : Tendsto g atTop (𝓝 a)
this : Tendsto (fun n => (g n) m) atTop (𝓝 (a m))
⊢ Tendsto f atTop (𝓝 (a m))
state_after: no goals

tactic: refine (ContinuousLinearMap.lipschitz _).cauchySeq_comp ?_
state_before: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
⊢ CauchySeq g
state_after: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
⊢ CauchySeq fun n => ((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n)

tactic: exact (ContinuousLinearMap.lipschitz _).cauchySeq_comp hf
state_before: R : Type u_1
V : Type u_2
inst✝¹⁹ : Field R
inst✝¹⁸ : AddCommGroup V
inst✝¹⁷ : TopologicalSpace R
inst✝¹⁶ : TopologicalSpace V
inst✝¹⁵ : TopologicalRing R
inst✝¹⁴ : TopologicalAddGroup V
inst✝¹³ : Module R V
inst✝¹² : SeparatingDual R V
𝕜 : Type u_3
E : Type u_4
F : Type u_5
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
inst✝⁶ : SeparatingDual 𝕜 E
inst✝⁵ : Nontrivial E
ι : Type u_6
inst✝⁴ : Fintype ι
M : ι → Type u_7
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
inst✝¹ : ∀ (i : ι), SeparatingDual 𝕜 (M i)
inst✝ : CompleteSpace (ContinuousMultilinearMap 𝕜 M F)
m : (i : ι) → M i
hm : ∀ (i : ι), m i ≠ 0
f : ℕ → F
hf : CauchySeq f
φ : (i : ι) → M i →L[𝕜] 𝕜
hφ : ∀ (i : ι), (φ i) (m i) = 1
g : ℕ → ContinuousMultilinearMap 𝕜 M F :=
  fun n =>
    (compContinuousLinearMapL φ) (((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n))
⊢ CauchySeq fun n => ((smulRightL 𝕜 (fun x => 𝕜) F) (ContinuousMultilinearMap.mkPiAlgebra 𝕜 ι 𝕜)) (f n)
state_after: no goals