Theorem: Balanced.smul_mono
File: Mathlib/Analysis/LocallyConvex/Basic.lean

tactic: obtain rfl | hb := eq_or_ne b 0
state_before: 𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x : E
a✝ b✝ : 𝕜
hs : Balanced 𝕝 s
a : 𝕝
b : 𝕜
h : ‖a‖ ≤ ‖b‖
⊢ a • s ⊆ b • s

tactic: rintro _ ⟨x, hx, rfl⟩
state_before: case inr
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x : E
a✝ b✝ : 𝕜
hs : Balanced 𝕝 s
a : 𝕝
b : 𝕜
h : ‖a‖ ≤ ‖b‖
hb : b ≠ 0
⊢ a • s ⊆ b • s

tactic: refine' ⟨b⁻¹ • a • x, _, smul_inv_smul₀ hb _⟩
state_before: case inr.intro.intro
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x✝ : E
a✝ b✝ : 𝕜
hs : Balanced 𝕝 s
a : 𝕝
b : 𝕜
h : ‖a‖ ≤ ‖b‖
hb : b ≠ 0
x : E
hx : x ∈ s
⊢ (fun x => a • x) x ∈ b • s

tactic: rw [← smul_assoc]
state_before: case inr.intro.intro
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x✝ : E
a✝ b✝ : 𝕜
hs : Balanced 𝕝 s
a : 𝕝
b : 𝕜
h : ‖a‖ ≤ ‖b‖
hb : b ≠ 0
x : E
hx : x ∈ s
⊢ b⁻¹ • a • x ∈ s

tactic: refine' hs _ _ (smul_mem_smul_set hx)
state_before: case inr.intro.intro
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x✝ : E
a✝ b✝ : 𝕜
hs : Balanced 𝕝 s
a : 𝕝
b : 𝕜
h : ‖a‖ ≤ ‖b‖
hb : b ≠ 0
x : E
hx : x ∈ s
⊢ (b⁻¹ • a) • x ∈ s

tactic: rw [norm_smul, norm_inv, ← div_eq_inv_mul]
state_before: case inr.intro.intro
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x✝ : E
a✝ b✝ : 𝕜
hs : Balanced 𝕝 s
a : 𝕝
b : 𝕜
h : ‖a‖ ≤ ‖b‖
hb : b ≠ 0
x : E
hx : x ∈ s
⊢ ‖b⁻¹ • a‖ ≤ 1

tactic: exact div_le_one_of_le h (norm_nonneg _)
state_before: case inr.intro.intro
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x✝ : E
a✝ b✝ : 𝕜
hs : Balanced 𝕝 s
a : 𝕝
b : 𝕜
h : ‖a‖ ≤ ‖b‖
hb : b ≠ 0
x : E
hx : x ∈ s
⊢ ‖a‖ / ‖b‖ ≤ 1

tactic: rw [norm_zero] at h
state_before: case inl
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x : E
a✝ b : 𝕜
hs : Balanced 𝕝 s
a : 𝕝
h : ‖a‖ ≤ ‖0‖
⊢ a • s ⊆ 0 • s

tactic: rw [norm_eq_zero.1 (h.antisymm <| norm_nonneg _)]
state_before: case inl
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x : E
a✝ b : 𝕜
hs : Balanced 𝕝 s
a : 𝕝
h : ‖a‖ ≤ 0
⊢ a • s ⊆ 0 • s

tactic: obtain rfl | h := s.eq_empty_or_nonempty
state_before: case inl
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x : E
a✝ b : 𝕜
hs : Balanced 𝕝 s
a : 𝕝
h : ‖a‖ ≤ 0
⊢ 0 • s ⊆ 0 • s

tactic: simp_rw [smul_set_empty]
state_before: case inl.inl
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
t u v A B : Set E
x : E
a✝ b : 𝕜
a : 𝕝
h : ‖a‖ ≤ 0
hs : Balanced 𝕝 ∅
⊢ 0 • ∅ ⊆ 0 • ∅

tactic: rfl
state_before: case inl.inl
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
t u v A B : Set E
x : E
a✝ b : 𝕜
a : 𝕝
h : ‖a‖ ≤ 0
hs : Balanced 𝕝 ∅
⊢ ∅ ⊆ ∅

tactic: simp_rw [zero_smul_set h]
state_before: case inl.inr
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x : E
a✝ b : 𝕜
hs : Balanced 𝕝 s
a : 𝕝
h✝ : ‖a‖ ≤ 0
h : Set.Nonempty s
⊢ 0 • s ⊆ 0 • s

tactic: rfl
state_before: case inl.inr
𝕜 : Type u_3
𝕝 : Type u_1
E : Type u_2
ι : Sort ?u.58606
κ : ι → Sort ?u.58611
inst✝⁶ : NormedField 𝕜
inst✝⁵ : NormedRing 𝕝
inst✝⁴ : NormedSpace 𝕜 𝕝
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : SMulWithZero 𝕝 E
inst✝ : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x : E
a✝ b : 𝕜
hs : Balanced 𝕝 s
a : 𝕝
h✝ : ‖a‖ ≤ 0
h : Set.Nonempty s
⊢ 0 ⊆ 0