-- Mathlib/MeasureTheory/Integral/Periodic.lean
theorem intervalIntegral_add_eq_of_pos (hf : Periodic f T) (hT : 0 < T) (t s : ℝ) :
    ∫ x in t..t + T, f x = ∫ x in s..s + T, f x

Proof state:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f : ℝ → E
T : ℝ
inst✝ : NormedSpace ℝ E
hf : Periodic f T
hT : 0 < T
t s : ℝ
⊢ ∫ (x : ℝ) in t..t + T, f x = ∫ (x : ℝ) in s..s + T, f x

Tactic:
simp only [integral_of_le, hT.le, le_add_iff_nonneg_right]

Result:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f : ℝ → E
T : ℝ
inst✝ : NormedSpace ℝ E
hf : Periodic f T
hT : 0 < T
t s : ℝ
⊢ ∫ (x : ℝ) in Ioc t (t + T), f x ∂volume = ∫ (x : ℝ) in Ioc s (s + T), f x ∂volume

Proof state:
case hs
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f : ℝ → E
T : ℝ
inst✝ : NormedSpace ℝ E
hf : Periodic f T
hT : 0 < T
t s : ℝ
this : VAddInvariantMeasure ↥(zmultiples T) ℝ volume
⊢ IsAddFundamentalDomain (↥(zmultiples T)) (Ioc t (t + T)) volume

case ht
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f : ℝ → E
T : ℝ
inst✝ : NormedSpace ℝ E
hf : Periodic f T
hT : 0 < T
t s : ℝ
this : VAddInvariantMeasure ↥(zmultiples T) ℝ volume
⊢ IsAddFundamentalDomain (↥(zmultiples T)) (Ioc s (s + T)) volume

case hf
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f : ℝ → E
T : ℝ
inst✝ : NormedSpace ℝ E
hf : Periodic f T
hT : 0 < T
t s : ℝ
this : VAddInvariantMeasure ↥(zmultiples T) ℝ volume
⊢ ∀ (g : ↥(zmultiples T)) (x : ℝ), f (g +ᵥ x) = f x

Tactic:
exacts [isAddFundamentalDomain_Ioc hT t, isAddFundamentalDomain_Ioc hT s, hf.map_vadd_zmultiples]

Result:
no goals

Proof state:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f : ℝ → E
T : ℝ
inst✝ : NormedSpace ℝ E
hf : Periodic f T
hT : 0 < T
t s : ℝ
⊢ ∫ (x : ℝ) in Ioc t (t + T), f x ∂volume = ∫ (x : ℝ) in Ioc s (s + T), f x ∂volume

Tactic:
haveI : VAddInvariantMeasure (AddSubgroup.zmultiples T) ℝ volume :=
  ⟨fun c s _ => measure_preimage_add _ _ _⟩

Result:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f : ℝ → E
T : ℝ
inst✝ : NormedSpace ℝ E
hf : Periodic f T
hT : 0 < T
t s : ℝ
this : VAddInvariantMeasure ↥(zmultiples T) ℝ volume
⊢ ∫ (x : ℝ) in Ioc t (t + T), f x ∂volume = ∫ (x : ℝ) in Ioc s (s + T), f x ∂volume

Proof state:
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f : ℝ → E
T : ℝ
inst✝ : NormedSpace ℝ E
hf : Periodic f T
hT : 0 < T
t s : ℝ
this : VAddInvariantMeasure ↥(zmultiples T) ℝ volume
⊢ ∫ (x : ℝ) in Ioc t (t + T), f x ∂volume = ∫ (x : ℝ) in Ioc s (s + T), f x ∂volume

Tactic:
apply IsAddFundamentalDomain.setIntegral_eq (G := AddSubgroup.zmultiples T)

Result:
case hs
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f : ℝ → E
T : ℝ
inst✝ : NormedSpace ℝ E
hf : Periodic f T
hT : 0 < T
t s : ℝ
this : VAddInvariantMeasure ↥(zmultiples T) ℝ volume
⊢ IsAddFundamentalDomain (↥(zmultiples T)) (Ioc t (t + T)) volume

case ht
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f : ℝ → E
T : ℝ
inst✝ : NormedSpace ℝ E
hf : Periodic f T
hT : 0 < T
t s : ℝ
this : VAddInvariantMeasure ↥(zmultiples T) ℝ volume
⊢ IsAddFundamentalDomain (↥(zmultiples T)) (Ioc s (s + T)) volume

case hf
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f : ℝ → E
T : ℝ
inst✝ : NormedSpace ℝ E
hf : Periodic f T
hT : 0 < T
t s : ℝ
this : VAddInvariantMeasure ↥(zmultiples T) ℝ volume
⊢ ∀ (g : ↥(zmultiples T)) (x : ℝ), f (g +ᵥ x) = f x