Theorem: MeasureTheory.smulInvariantMeasure_tfae
File: Mathlib/MeasureTheory/Group/Action.lean

tactic: tfae_have 1 ↔ 2
state_before: G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE
state_after: case tfae_1_iff_2
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
⊢ SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s

G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE

tactic: tfae_have 1 → 6
state_before: G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE
state_after: case tfae_1_to_6
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
⊢ SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ

G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE

tactic: tfae_have 6 → 7
state_before: G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE
state_after: case tfae_6_to_7
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
⊢ (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ

G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE

tactic: tfae_have 7 → 4
state_before: G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE
state_after: case tfae_7_to_4
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
⊢ (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s

G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE

tactic: tfae_have 4 → 5
state_before: G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE
state_after: case tfae_4_to_5
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
⊢ (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s

G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE

tactic: tfae_have 5 → 3
state_before: G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE
state_after: case tfae_5_to_3
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
⊢ (∀ (c : G) (s : Set α), μ (c • s) = μ s) → ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s

G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
tfae_5_to_3 : (∀ (c : G) (s : Set α), μ (c • s) = μ s) → ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE

tactic: tfae_have 3 → 2
state_before: G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
tfae_5_to_3 : (∀ (c : G) (s : Set α), μ (c • s) = μ s) → ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE
state_after: case tfae_3_to_2
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
tfae_5_to_3 : (∀ (c : G) (s : Set α), μ (c • s) = μ s) → ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
⊢ (∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s) →
    ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s

G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
tfae_5_to_3 : (∀ (c : G) (s : Set α), μ (c • s) = μ s) → ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
tfae_3_to_2 :
  (∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s) →
    ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE

tactic: tfae_finish
state_before: G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
tfae_5_to_3 : (∀ (c : G) (s : Set α), μ (c • s) = μ s) → ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
tfae_3_to_2 :
  (∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s) →
    ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
⊢ [SMulInvariantMeasure G α μ, ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s, ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s,
      ∀ (c : G) (s : Set α), μ (c • s) = μ s, ∀ (c : G), map (fun x => c • x) μ = μ,
      ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ].TFAE
state_after: no goals

tactic: exact ⟨fun h => h.1, fun h => ⟨h⟩⟩
state_before: case tfae_1_iff_2
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
⊢ SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
state_after: no goals

tactic: intro h c
state_before: case tfae_1_to_6
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
⊢ SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
state_after: case tfae_1_to_6
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c✝ : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
h : SMulInvariantMeasure G α μ
c : G
⊢ map (fun x => c • x) μ = μ

tactic: exact (measurePreserving_smul c μ).map_eq
state_before: case tfae_1_to_6
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c✝ : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
h : SMulInvariantMeasure G α μ
c : G
⊢ map (fun x => c • x) μ = μ
state_after: no goals

tactic: exact fun H c => ⟨measurable_const_smul c, H c⟩
state_before: case tfae_6_to_7
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
⊢ (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
state_after: no goals

tactic: exact fun H c => (H c).measure_preimage_emb (measurableEmbedding_const_smul c)
state_before: case tfae_7_to_4
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
⊢ (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
state_after: no goals

tactic: exact fun H c s => by
  rw [← preimage_smul_inv]
  apply H
state_before: case tfae_4_to_5
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
⊢ (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
state_after: no goals

tactic: rw [← preimage_smul_inv]
state_before: G : Type u
M : Type v
α : Type w
s✝ : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c✝ : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
H : ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
c : G
s : Set α
⊢ μ (c • s) = μ s
state_after: G : Type u
M : Type v
α : Type w
s✝ : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c✝ : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
H : ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
c : G
s : Set α
⊢ μ ((fun x => c⁻¹ • x) ⁻¹' s) = μ s

tactic: apply H
state_before: G : Type u
M : Type v
α : Type w
s✝ : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c✝ : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
H : ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
c : G
s : Set α
⊢ μ ((fun x => c⁻¹ • x) ⁻¹' s) = μ s
state_after: no goals

tactic: exact fun H c s _ => H c s
state_before: case tfae_5_to_3
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
⊢ (∀ (c : G) (s : Set α), μ (c • s) = μ s) → ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
state_after: no goals

tactic: intro H c s hs
state_before: case tfae_3_to_2
G : Type u
M : Type v
α : Type w
s : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
tfae_5_to_3 : (∀ (c : G) (s : Set α), μ (c • s) = μ s) → ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
⊢ (∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s) →
    ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
state_after: case tfae_3_to_2
G : Type u
M : Type v
α : Type w
s✝ : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c✝ : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
tfae_5_to_3 : (∀ (c : G) (s : Set α), μ (c • s) = μ s) → ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
H : ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
c : G
s : Set α
hs : MeasurableSet s
⊢ μ ((fun x => c • x) ⁻¹' s) = μ s

tactic: rw [preimage_smul]
state_before: case tfae_3_to_2
G : Type u
M : Type v
α : Type w
s✝ : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c✝ : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
tfae_5_to_3 : (∀ (c : G) (s : Set α), μ (c • s) = μ s) → ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
H : ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
c : G
s : Set α
hs : MeasurableSet s
⊢ μ ((fun x => c • x) ⁻¹' s) = μ s
state_after: case tfae_3_to_2
G : Type u
M : Type v
α : Type w
s✝ : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c✝ : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
tfae_5_to_3 : (∀ (c : G) (s : Set α), μ (c • s) = μ s) → ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
H : ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
c : G
s : Set α
hs : MeasurableSet s
⊢ μ (c⁻¹ • s) = μ s

tactic: exact H c⁻¹ s hs
state_before: case tfae_3_to_2
G : Type u
M : Type v
α : Type w
s✝ : Set α
m : MeasurableSpace α
inst✝³ : Group G
inst✝² : MulAction G α
inst✝¹ : MeasurableSpace G
inst✝ : MeasurableSMul G α
c✝ : G
μ : Measure α
tfae_1_iff_2 : SMulInvariantMeasure G α μ ↔ ∀ (c : G) (s : Set α), MeasurableSet s → μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_1_to_6 : SMulInvariantMeasure G α μ → ∀ (c : G), map (fun x => c • x) μ = μ
tfae_6_to_7 : (∀ (c : G), map (fun x => c • x) μ = μ) → ∀ (c : G), MeasurePreserving (fun x => c • x) μ μ
tfae_7_to_4 :
  (∀ (c : G), MeasurePreserving (fun x => c • x) μ μ) → ∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s
tfae_4_to_5 : (∀ (c : G) (s : Set α), μ ((fun x => c • x) ⁻¹' s) = μ s) → ∀ (c : G) (s : Set α), μ (c • s) = μ s
tfae_5_to_3 : (∀ (c : G) (s : Set α), μ (c • s) = μ s) → ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
H : ∀ (c : G) (s : Set α), MeasurableSet s → μ (c • s) = μ s
c : G
s : Set α
hs : MeasurableSet s
⊢ μ (c⁻¹ • s) = μ s
state_after: no goals