case intro
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
⊢ ↑↑μ ↑s = 0
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
⊢ ↑↑μ ↑s = 0
obtain ⟨x, hx⟩ : ∃ x, x ∉ s := by
  simpa only [Submodule.eq_top_iff', not_exists, Ne.def, not_forall] using hs
case intro.intro.intro
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
⊢ ↑↑μ ↑s = 0
case intro
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
⊢ ↑↑μ ↑s = 0
obtain ⟨c, cpos, cone⟩ : ∃ c : ℝ, 0 < c ∧ c < 1 := ⟨1 / 2, by norm_num, by norm_num⟩
case intro.intro.intro
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
⊢ ↑↑μ ↑s = 0
case intro.intro.intro
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
⊢ ↑↑μ ↑s = 0
have A : Bounded (range fun n : ℕ => c ^ n • x) :=
  haveI : Tendsto (fun n : ℕ => c ^ n • x) atTop (𝓝 ((0 : ℝ) • x)) :=
    (tendsto_pow_atTop_nhds_0_of_lt_1 cpos.le cone).smul_const x
  bounded_range_of_tendsto _ this
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
⊢ Pairwise (Disjoint on fun n => {c ^ n • x} + ↑s)
case intro.intro.intro
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
⊢ ↑↑μ ↑s = 0
apply add_haar_eq_zero_of_disjoint_translates μ _ A _
  (Submodule.closed_of_finiteDimensional s).measurableSet
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
⊢ (Disjoint on fun n => {c ^ n • x} + ↑s) m n
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
⊢ Pairwise (Disjoint on fun n => {c ^ n • x} + ↑s)
intro m n hmn
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
⊢ ∀ ⦃a : E⦄, -(c ^ m • x) + a ∈ s → ¬-(c ^ n • x) + a ∈ s
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
⊢ (Disjoint on fun n => {c ^ n • x} + ↑s) m n
simp only [Function.onFun, image_add_left, singleton_add, disjoint_left, mem_preimage,
  SetLike.mem_coe]
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
⊢ False
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
⊢ ∀ ⦃a : E⦄, -(c ^ m • x) + a ∈ s → ¬-(c ^ n • x) + a ∈ s
intro y hym hyn
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A✝ : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
A : (c ^ n - c ^ m) • x ∈ s
⊢ False
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
⊢ False
have A : (c ^ n - c ^ m) • x ∈ s := by
  convert s.sub_mem hym hyn using 1
  simp only [sub_smul, neg_sub_neg, add_sub_add_right_eq_sub]
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A✝ : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
A : (c ^ n - c ^ m) • x ∈ s
H : c ^ n - c ^ m ≠ 0
⊢ False
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A✝ : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
A : (c ^ n - c ^ m) • x ∈ s
⊢ False
have H : c ^ n - c ^ m ≠ 0 := by
  simpa only [sub_eq_zero, Ne.def] using (strictAnti_pow cpos cone).injective.ne hmn.symm
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A✝ : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
A : (c ^ n - c ^ m) • x ∈ s
H : c ^ n - c ^ m ≠ 0
this : x ∈ s
⊢ False
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A✝ : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
A : (c ^ n - c ^ m) • x ∈ s
H : c ^ n - c ^ m ≠ 0
⊢ False
have : x ∈ s := by
  convert s.smul_mem (c ^ n - c ^ m)⁻¹ A
  rw [smul_smul, inv_mul_cancel H, one_smul]
no goals
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A✝ : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
A : (c ^ n - c ^ m) • x ∈ s
H : c ^ n - c ^ m ≠ 0
this : x ∈ s
⊢ False
exact hx this
no goals
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
⊢ ∃ x, ¬x ∈ s
simpa only [Submodule.eq_top_iff', not_exists, Ne.def, not_forall] using hs
no goals
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
⊢ 0 < 1 / 2
norm_num
no goals
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
⊢ 1 / 2 < 1
norm_num
case h.e'_4
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
⊢ (c ^ n - c ^ m) • x = -(c ^ m • x) + y - (-(c ^ n • x) + y)
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
⊢ (c ^ n - c ^ m) • x ∈ s
convert s.sub_mem hym hyn using 1
no goals
case h.e'_4
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
⊢ (c ^ n - c ^ m) • x = -(c ^ m • x) + y - (-(c ^ n • x) + y)
simp only [sub_smul, neg_sub_neg, add_sub_add_right_eq_sub]
no goals
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A✝ : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
A : (c ^ n - c ^ m) • x ∈ s
⊢ c ^ n - c ^ m ≠ 0
simpa only [sub_eq_zero, Ne.def] using (strictAnti_pow cpos cone).injective.ne hmn.symm
case h.e'_4
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A✝ : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
A : (c ^ n - c ^ m) • x ∈ s
H : c ^ n - c ^ m ≠ 0
⊢ x = (c ^ n - c ^ m)⁻¹ • (c ^ n - c ^ m) • x
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A✝ : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
A : (c ^ n - c ^ m) • x ∈ s
H : c ^ n - c ^ m ≠ 0
⊢ x ∈ s
convert s.smul_mem (c ^ n - c ^ m)⁻¹ A
no goals
case h.e'_4
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Submodule ℝ E
hs : s ≠ ⊤
x : E
hx : ¬x ∈ s
c : ℝ
cpos : 0 < c
cone : c < 1
A✝ : Metric.Bounded (range fun n => c ^ n • x)
m n : ℕ
hmn : m ≠ n
y : E
hym : -(c ^ m • x) + y ∈ s
hyn : -(c ^ n • x) + y ∈ s
A : (c ^ n - c ^ m) • x ∈ s
H : c ^ n - c ^ m ≠ 0
⊢ x = (c ^ n - c ^ m)⁻¹ • (c ^ n - c ^ m) • x
rw [smul_smul, inv_mul_cancel H, one_smul]