Theorem: ConvexBody.smul_le_of_le
File: Mathlib/Analysis/Convex/Body.lean

tactic: rw [← SetLike.coe_subset_coe, coe_smul', coe_smul']
state_before: V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
⊢ a • K ≤ b • K
state_after: V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
⊢ a • ↑K ⊆ b • ↑K

tactic: by_cases ha : a = 0
state_before: V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
⊢ a • ↑K ⊆ b • ↑K
state_after: case pos
V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : a = 0
⊢ a • ↑K ⊆ b • ↑K

case neg
V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : ¬a = 0
⊢ a • ↑K ⊆ b • ↑K

tactic: rw [ha, Set.zero_smul_set K.nonempty, Set.zero_subset]
state_before: case pos
V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : a = 0
⊢ a • ↑K ⊆ b • ↑K
state_after: case pos
V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : a = 0
⊢ 0 ∈ b • ↑K

tactic: exact Set.mem_smul_set.mpr ⟨0, h_zero, smul_zero _⟩
state_before: case pos
V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : a = 0
⊢ 0 ∈ b • ↑K
state_after: no goals

tactic: intro x hx
state_before: case neg
V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : ¬a = 0
⊢ a • ↑K ⊆ b • ↑K
state_after: case neg
V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : ¬a = 0
x : V
hx : x ∈ a • ↑K
⊢ x ∈ b • ↑K

tactic: obtain ⟨y, hy, rfl⟩ := Set.mem_smul_set.mp hx
state_before: case neg
V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : ¬a = 0
x : V
hx : x ∈ a • ↑K
⊢ x ∈ b • ↑K
state_after: case neg.intro.intro
V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : ¬a = 0
y : V
hy : y ∈ ↑K
hx : a • y ∈ a • ↑K
⊢ a • y ∈ b • ↑K

tactic: rw [← Set.mem_inv_smul_set_iff₀ ha, smul_smul]
state_before: case neg.intro.intro
V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : ¬a = 0
y : V
hy : y ∈ ↑K
hx : a • y ∈ a • ↑K
⊢ a • y ∈ b • ↑K
state_after: case neg.intro.intro
V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : ¬a = 0
y : V
hy : y ∈ ↑K
hx : a • y ∈ a • ↑K
⊢ y ∈ (a⁻¹ * b) • ↑K

tactic: exact Convex.mem_smul_of_zero_mem K.convex h_zero hy
  (by rwa [← NNReal.mul_le_iff_le_inv ha, mul_one] : 1 ≤ a⁻¹ * b)
state_before: case neg.intro.intro
V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : ¬a = 0
y : V
hy : y ∈ ↑K
hx : a • y ∈ a • ↑K
⊢ y ∈ (a⁻¹ * b) • ↑K
state_after: no goals

tactic: rwa [← NNReal.mul_le_iff_le_inv ha, mul_one]
state_before: V : Type u_1
inst✝⁴ : TopologicalSpace V
inst✝³ : AddCommGroup V
inst✝² : Module ℝ V
inst✝¹ : ContinuousSMul ℝ V
inst✝ : ContinuousAdd V
K : ConvexBody V
h_zero : 0 ∈ K
a b : ℝ≥0
h : a ≤ b
ha : ¬a = 0
y : V
hy : y ∈ ↑K
hx : a • y ∈ a • ↑K
⊢ 1 ≤ a⁻¹ * b
state_after: no goals