Theorem: Module.punctured_nhds_neBot
File: Mathlib/Topology/Algebra/Module/Basic.lean

tactic: rcases exists_ne (0 : M) with ⟨y, hy⟩
state_before: R : Type u_2
M : Type u_1
inst✝⁹ : Ring R
inst✝⁸ : TopologicalSpace R
inst✝⁷ : TopologicalSpace M
inst✝⁶ : AddCommGroup M
inst✝⁵ : ContinuousAdd M
inst✝⁴ : Module R M
inst✝³ : ContinuousSMul R M
inst✝² : Nontrivial M
inst✝¹ : NeBot (𝓝[{0}ᶜ] 0)
inst✝ : NoZeroSMulDivisors R M
x : M
⊢ NeBot (𝓝[{x}ᶜ] x)

tactic: suffices : Tendsto (fun c : R => x + c • y) (𝓝[≠] 0) (𝓝[≠] x)
state_before: case intro
R : Type u_2
M : Type u_1
inst✝⁹ : Ring R
inst✝⁸ : TopologicalSpace R
inst✝⁷ : TopologicalSpace M
inst✝⁶ : AddCommGroup M
inst✝⁵ : ContinuousAdd M
inst✝⁴ : Module R M
inst✝³ : ContinuousSMul R M
inst✝² : Nontrivial M
inst✝¹ : NeBot (𝓝[{0}ᶜ] 0)
inst✝ : NoZeroSMulDivisors R M
x y : M
hy : y ≠ 0
⊢ NeBot (𝓝[{x}ᶜ] x)

tactic: exact this.neBot
state_before: case intro
R : Type u_2
M : Type u_1
inst✝⁹ : Ring R
inst✝⁸ : TopologicalSpace R
inst✝⁷ : TopologicalSpace M
inst✝⁶ : AddCommGroup M
inst✝⁵ : ContinuousAdd M
inst✝⁴ : Module R M
inst✝³ : ContinuousSMul R M
inst✝² : Nontrivial M
inst✝¹ : NeBot (𝓝[{0}ᶜ] 0)
inst✝ : NoZeroSMulDivisors R M
x y : M
hy : y ≠ 0
this : Tendsto (fun c => x + c • y) (𝓝[{0}ᶜ] 0) (𝓝[{x}ᶜ] x)
⊢ NeBot (𝓝[{x}ᶜ] x)

case this
R : Type u_2
M : Type u_1
inst✝⁹ : Ring R
inst✝⁸ : TopologicalSpace R
inst✝⁷ : TopologicalSpace M
inst✝⁶ : AddCommGroup M
inst✝⁵ : ContinuousAdd M
inst✝⁴ : Module R M
inst✝³ : ContinuousSMul R M
inst✝² : Nontrivial M
inst✝¹ : NeBot (𝓝[{0}ᶜ] 0)
inst✝ : NoZeroSMulDivisors R M
x y : M
hy : y ≠ 0
⊢ Tendsto (fun c => x + c • y) (𝓝[{0}ᶜ] 0) (𝓝[{x}ᶜ] x)

tactic: refine' Tendsto.inf _ (tendsto_principal_principal.2 <| _)
state_before: case this
R : Type u_2
M : Type u_1
inst✝⁹ : Ring R
inst✝⁸ : TopologicalSpace R
inst✝⁷ : TopologicalSpace M
inst✝⁶ : AddCommGroup M
inst✝⁵ : ContinuousAdd M
inst✝⁴ : Module R M
inst✝³ : ContinuousSMul R M
inst✝² : Nontrivial M
inst✝¹ : NeBot (𝓝[{0}ᶜ] 0)
inst✝ : NoZeroSMulDivisors R M
x y : M
hy : y ≠ 0
⊢ Tendsto (fun c => x + c • y) (𝓝[{0}ᶜ] 0) (𝓝[{x}ᶜ] x)

tactic: convert tendsto_const_nhds.add ((@tendsto_id R _).smul_const y)
state_before: case this.refine'_1
R : Type u_2
M : Type u_1
inst✝⁹ : Ring R
inst✝⁸ : TopologicalSpace R
inst✝⁷ : TopologicalSpace M
inst✝⁶ : AddCommGroup M
inst✝⁵ : ContinuousAdd M
inst✝⁴ : Module R M
inst✝³ : ContinuousSMul R M
inst✝² : Nontrivial M
inst✝¹ : NeBot (𝓝[{0}ᶜ] 0)
inst✝ : NoZeroSMulDivisors R M
x y : M
hy : y ≠ 0
⊢ Tendsto (fun c => x + c • y) (𝓝 0) (𝓝 x)

tactic: rw [zero_smul, add_zero]
state_before: case h.e'_5.h.e'_3
R : Type u_2
M : Type u_1
inst✝⁹ : Ring R
inst✝⁸ : TopologicalSpace R
inst✝⁷ : TopologicalSpace M
inst✝⁶ : AddCommGroup M
inst✝⁵ : ContinuousAdd M
inst✝⁴ : Module R M
inst✝³ : ContinuousSMul R M
inst✝² : Nontrivial M
inst✝¹ : NeBot (𝓝[{0}ᶜ] 0)
inst✝ : NoZeroSMulDivisors R M
x y : M
hy : y ≠ 0
⊢ x = x + 0 • y

tactic: intro c hc
state_before: case this.refine'_2
R : Type u_2
M : Type u_1
inst✝⁹ : Ring R
inst✝⁸ : TopologicalSpace R
inst✝⁷ : TopologicalSpace M
inst✝⁶ : AddCommGroup M
inst✝⁵ : ContinuousAdd M
inst✝⁴ : Module R M
inst✝³ : ContinuousSMul R M
inst✝² : Nontrivial M
inst✝¹ : NeBot (𝓝[{0}ᶜ] 0)
inst✝ : NoZeroSMulDivisors R M
x y : M
hy : y ≠ 0
⊢ ∀ (a : R), a ∈ {0}ᶜ → x + a • y ∈ {x}ᶜ

tactic: simpa [hy] using hc
state_before: case this.refine'_2
R : Type u_2
M : Type u_1
inst✝⁹ : Ring R
inst✝⁸ : TopologicalSpace R
inst✝⁷ : TopologicalSpace M
inst✝⁶ : AddCommGroup M
inst✝⁵ : ContinuousAdd M
inst✝⁴ : Module R M
inst✝³ : ContinuousSMul R M
inst✝² : Nontrivial M
inst✝¹ : NeBot (𝓝[{0}ᶜ] 0)
inst✝ : NoZeroSMulDivisors R M
x y : M
hy : y ≠ 0
c : R
hc : c ∈ {0}ᶜ
⊢ x + c • y ∈ {x}ᶜ