[GOAL]
E : Type u_1
L : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : AddCommGroup L
inst✝⁴ : Countable L
inst✝³ : AddAction L E
inst✝² : MeasurableSpace L
inst✝¹ : MeasurableVAdd L E
inst✝ : VAddInvariantMeasure L E μ
fund : IsAddFundamentalDomain L F
hS : NullMeasurableSet s
h : ↑↑μ F < ↑↑μ s
⊢ ∃ x y, x ≠ y ∧ ¬Disjoint (x +ᵥ s) (y +ᵥ s)
[PROOFSTEP]
contrapose! h
[GOAL]
E : Type u_1
L : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : AddCommGroup L
inst✝⁴ : Countable L
inst✝³ : AddAction L E
inst✝² : MeasurableSpace L
inst✝¹ : MeasurableVAdd L E
inst✝ : VAddInvariantMeasure L E μ
fund : IsAddFundamentalDomain L F
hS : NullMeasurableSet s
h : ∀ (x y : L), x ≠ y → Disjoint (x +ᵥ s) (y +ᵥ s)
⊢ ↑↑μ s ≤ ↑↑μ F
[PROOFSTEP]
exact
  ((fund.measure_eq_tsum _).trans
        (measure_iUnion₀ (Pairwise.mono h fun i j hij => (hij.mono inf_le_left inf_le_left).aedisjoint) fun _ =>
            (hS.vadd _).inter fund.nullMeasurableSet).symm).trans_le
    (measure_mono <| Set.iUnion_subset fun _ => Set.inter_subset_right _ _)
[GOAL]
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
⊢ ∃ x x_1, ↑x ∈ s
[PROOFSTEP]
have h_vol : μ F < μ ((2⁻¹ : ℝ) • s) :=
  by
  rw [addHaar_smul_of_nonneg μ (by norm_num : 0 ≤ (2 : ℝ)⁻¹) s, ←
    mul_lt_mul_right (pow_ne_zero (finrank ℝ E) (two_ne_zero' _)) (pow_ne_top two_ne_top), mul_right_comm,
    ofReal_pow (by norm_num : 0 ≤ (2 : ℝ)⁻¹), ← ofReal_inv_of_pos zero_lt_two]
  norm_num
  rwa [← mul_pow, ENNReal.inv_mul_cancel two_ne_zero two_ne_top, one_pow, one_mul]
[GOAL]
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
⊢ ↑↑μ F < ↑↑μ (2⁻¹ • s)
[PROOFSTEP]
rw [addHaar_smul_of_nonneg μ (by norm_num : 0 ≤ (2 : ℝ)⁻¹) s, ←
  mul_lt_mul_right (pow_ne_zero (finrank ℝ E) (two_ne_zero' _)) (pow_ne_top two_ne_top), mul_right_comm,
  ofReal_pow (by norm_num : 0 ≤ (2 : ℝ)⁻¹), ← ofReal_inv_of_pos zero_lt_two]
[GOAL]
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
⊢ 0 ≤ 2⁻¹
[PROOFSTEP]
norm_num
[GOAL]
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
⊢ 0 ≤ 2⁻¹
[PROOFSTEP]
norm_num
[GOAL]
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
⊢ ↑↑μ F * 2 ^ finrank ℝ E < (ENNReal.ofReal 2)⁻¹ ^ finrank ℝ E * 2 ^ finrank ℝ E * ↑↑μ s
[PROOFSTEP]
norm_num
[GOAL]
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
⊢ ↑↑μ F * 2 ^ finrank ℝ E < 2⁻¹ ^ finrank ℝ E * 2 ^ finrank ℝ E * ↑↑μ s
[PROOFSTEP]
rwa [← mul_pow, ENNReal.inv_mul_cancel two_ne_zero two_ne_top, one_pow, one_mul]
[GOAL]
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
h_vol : ↑↑μ F < ↑↑μ (2⁻¹ • s)
⊢ ∃ x x_1, ↑x ∈ s
[PROOFSTEP]
obtain ⟨x, y, hxy, h⟩ := exists_pair_mem_lattice_not_disjoint_vadd fund ((h_conv.smul _).nullMeasurableSet _) h_vol
[GOAL]
case intro.intro.intro
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h✝ : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
h_vol : ↑↑μ F < ↑↑μ (2⁻¹ • s)
x y : { x // x ∈ L }
hxy : x ≠ y
h : ¬Disjoint (x +ᵥ 2⁻¹ • s) (y +ᵥ 2⁻¹ • s)
⊢ ∃ x x_1, ↑x ∈ s
[PROOFSTEP]
obtain ⟨_, ⟨v, hv, rfl⟩, w, hw, hvw⟩ := Set.not_disjoint_iff.mp h
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h✝ : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
h_vol : ↑↑μ F < ↑↑μ (2⁻¹ • s)
x y : { x // x ∈ L }
hxy : x ≠ y
h : ¬Disjoint (x +ᵥ 2⁻¹ • s) (y +ᵥ 2⁻¹ • s)
v : E
hv : v ∈ 2⁻¹ • s
w : E
hw : w ∈ 2⁻¹ • s
hvw : (fun x => y +ᵥ x) w = (fun x_1 => x +ᵥ x_1) v
⊢ ∃ x x_1, ↑x ∈ s
[PROOFSTEP]
refine' ⟨x - y, sub_ne_zero.2 hxy, _⟩
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h✝ : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
h_vol : ↑↑μ F < ↑↑μ (2⁻¹ • s)
x y : { x // x ∈ L }
hxy : x ≠ y
h : ¬Disjoint (x +ᵥ 2⁻¹ • s) (y +ᵥ 2⁻¹ • s)
v : E
hv : v ∈ 2⁻¹ • s
w : E
hw : w ∈ 2⁻¹ • s
hvw : (fun x => y +ᵥ x) w = (fun x_1 => x +ᵥ x_1) v
⊢ ↑(x - y) ∈ s
[PROOFSTEP]
rw [Set.mem_inv_smul_set_iff₀ (two_ne_zero' ℝ)] at hv hw 
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h✝ : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
h_vol : ↑↑μ F < ↑↑μ (2⁻¹ • s)
x y : { x // x ∈ L }
hxy : x ≠ y
h : ¬Disjoint (x +ᵥ 2⁻¹ • s) (y +ᵥ 2⁻¹ • s)
v : E
hv : 2 • v ∈ s
w : E
hw : 2 • w ∈ s
hvw : (fun x => y +ᵥ x) w = (fun x_1 => x +ᵥ x_1) v
⊢ ↑(x - y) ∈ s
[PROOFSTEP]
simp_rw [AddSubgroup.vadd_def, vadd_eq_add, add_comm _ w, ← sub_eq_sub_iff_add_eq_add, ← AddSubgroup.coe_sub] at hvw 
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h✝ : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
h_vol : ↑↑μ F < ↑↑μ (2⁻¹ • s)
x y : { x // x ∈ L }
hxy : x ≠ y
h : ¬Disjoint (x +ᵥ 2⁻¹ • s) (y +ᵥ 2⁻¹ • s)
v : E
hv : 2 • v ∈ s
w : E
hw : 2 • w ∈ s
hvw : w - v = ↑(x - y)
⊢ ↑(x - y) ∈ s
[PROOFSTEP]
rw [← hvw, ← inv_smul_smul₀ (two_ne_zero' ℝ) (_ - _), smul_sub, sub_eq_add_neg, smul_add]
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h✝ : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
h_vol : ↑↑μ F < ↑↑μ (2⁻¹ • s)
x y : { x // x ∈ L }
hxy : x ≠ y
h : ¬Disjoint (x +ᵥ 2⁻¹ • s) (y +ᵥ 2⁻¹ • s)
v : E
hv : 2 • v ∈ s
w : E
hw : 2 • w ∈ s
hvw : w - v = ↑(x - y)
⊢ 2⁻¹ • 2 • w + 2⁻¹ • -(2 • v) ∈ s
[PROOFSTEP]
refine' h_conv hw (h_symm _ hv) _ _ _
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_1
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h✝ : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
h_vol : ↑↑μ F < ↑↑μ (2⁻¹ • s)
x y : { x // x ∈ L }
hxy : x ≠ y
h : ¬Disjoint (x +ᵥ 2⁻¹ • s) (y +ᵥ 2⁻¹ • s)
v : E
hv : 2 • v ∈ s
w : E
hw : 2 • w ∈ s
hvw : w - v = ↑(x - y)
⊢ 0 ≤ 2⁻¹
[PROOFSTEP]
norm_num
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h✝ : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
h_vol : ↑↑μ F < ↑↑μ (2⁻¹ • s)
x y : { x // x ∈ L }
hxy : x ≠ y
h : ¬Disjoint (x +ᵥ 2⁻¹ • s) (y +ᵥ 2⁻¹ • s)
v : E
hv : 2 • v ∈ s
w : E
hw : 2 • w ∈ s
hvw : w - v = ↑(x - y)
⊢ 0 ≤ 2⁻¹
[PROOFSTEP]
norm_num
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_3
E : Type u_1
L✝ : Type u_2
inst✝⁶ : MeasurableSpace E
μ : Measure E
F s : Set E
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsAddHaarMeasure μ
L : AddSubgroup E
inst✝ : Countable { x // x ∈ L }
fund : IsAddFundamentalDomain { x // x ∈ L } F
h✝ : ↑↑μ F * 2 ^ finrank ℝ E < ↑↑μ s
h_symm : ∀ (x : E), x ∈ s → -x ∈ s
h_conv : Convex ℝ s
h_vol : ↑↑μ F < ↑↑μ (2⁻¹ • s)
x y : { x // x ∈ L }
hxy : x ≠ y
h : ¬Disjoint (x +ᵥ 2⁻¹ • s) (y +ᵥ 2⁻¹ • s)
v : E
hv : 2 • v ∈ s
w : E
hw : 2 • w ∈ s
hvw : w - v = ↑(x - y)
⊢ 2⁻¹ + 2⁻¹ = 1
[PROOFSTEP]
norm_num
