Theorem: MeasureTheory.Measure.haar.index_pos
File: Mathlib/MeasureTheory/Measure/Haar/Basic.lean

tactic: unfold index
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : Set.Nonempty (interior V)
⊢ 0 < index (↑K) V

tactic: rw [Nat.sInf_def, Nat.find_pos, mem_image]
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : Set.Nonempty (interior V)
⊢ 0 < sInf (Finset.card '' {t | ↑K ⊆ ⋃ (g : G) (_ : g ∈ t), (fun h => g * h) ⁻¹' V})

tactic: rintro ⟨t, h1t, h2t⟩
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : Set.Nonempty (interior V)
⊢ ¬∃ x, x ∈ {t | ↑K ⊆ ⋃ (g : G) (_ : g ∈ t), (fun h => g * h) ⁻¹' V} ∧ Finset.card x = 0

tactic: rw [Finset.card_eq_zero] at h2t
state_before: case intro.intro
G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : Set.Nonempty (interior V)
t : Finset G
h1t : t ∈ {t | ↑K ⊆ ⋃ (g : G) (_ : g ∈ t), (fun h => g * h) ⁻¹' V}
h2t : Finset.card t = 0
⊢ False

tactic: subst h2t
state_before: case intro.intro
G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : Set.Nonempty (interior V)
t : Finset G
h1t : t ∈ {t | ↑K ⊆ ⋃ (g : G) (_ : g ∈ t), (fun h => g * h) ⁻¹' V}
h2t : t = ∅
⊢ False

tactic: obtain ⟨g, hg⟩ := K.interior_nonempty
state_before: case intro.intro
G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : Set.Nonempty (interior V)
h1t : ∅ ∈ {t | ↑K ⊆ ⋃ (g : G) (_ : g ∈ t), (fun h => g * h) ⁻¹' V}
⊢ False

tactic: show g ∈ (∅ : Set G)
state_before: case intro.intro.intro
G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : Set.Nonempty (interior V)
h1t : ∅ ∈ {t | ↑K ⊆ ⋃ (g : G) (_ : g ∈ t), (fun h => g * h) ⁻¹' V}
g : G
hg : g ∈ interior ↑K
⊢ False

tactic: convert h1t (interior_subset hg)
state_before: case intro.intro.intro
G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : Set.Nonempty (interior V)
h1t : ∅ ∈ {t | ↑K ⊆ ⋃ (g : G) (_ : g ∈ t), (fun h => g * h) ⁻¹' V}
g : G
hg : g ∈ interior ↑K
⊢ g ∈ ∅

tactic: symm
state_before: case h.e'_5
G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : Set.Nonempty (interior V)
h1t : ∅ ∈ {t | ↑K ⊆ ⋃ (g : G) (_ : g ∈ t), (fun h => g * h) ⁻¹' V}
g : G
hg : g ∈ interior ↑K
⊢ ∅ = ⋃ (g : G) (_ : g ∈ ∅), (fun h => g * h) ⁻¹' V

tactic: simp only [Finset.not_mem_empty, iUnion_of_empty, iUnion_empty]
state_before: case h.e'_5
G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : Set.Nonempty (interior V)
h1t : ∅ ∈ {t | ↑K ⊆ ⋃ (g : G) (_ : g ∈ t), (fun h => g * h) ⁻¹' V}
g : G
hg : g ∈ interior ↑K
⊢ (⋃ (g : G) (_ : g ∈ ∅), (fun h => g * h) ⁻¹' V) = ∅

tactic: exact index_defined K.isCompact hV
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : Set.Nonempty (interior V)
⊢ ∃ n, n ∈ Finset.card '' {t | ↑K ⊆ ⋃ (g : G) (_ : g ∈ t), (fun h => g * h) ⁻¹' V}