awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Lean 4 proof step from Mathlib.Analysis.Convolution (goal)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
g : G → E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
f : G → ℝ
x₀ : G
R ε : ℝ
z₀ : E'
hε : 0 ≤ ε
hf : support f ⊆ ball 0 R
hnf : ∀ (x : G), 0 ≤ f x
hintf : Eq (α := ℝ) (∫ (x : G), f x ∂μ) 1
hmg : AEStronglyMeasurable g μ
hg : ∀ x ∈ ball x₀ R, dist (g x) z₀ ≤ ε
hif : Integrable f μ
⊢ (norm.{uE'} (E := ℝ →L[ℝ] E' →L[ℝ] E') (lsmul ℝ ℝ) * ∫ (x : G), ‖f x‖ ∂μ) * ε ≤ ε
have convert_2 : norm.{uE'} (E := ℝ →L[ℝ] E' →L[ℝ] E') (lsmul ℝ ℝ) * ε ≤ ε
Tactic: simp_rw [Real.norm_of_nonneg (hnf _), hintf, mul_one]
-- Lean 4 proof step from Mathlib.Analysis.Convolution (hypothesis)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hφ : Tendsto.{u_1, uG} (β := Set G) (fun (n : ι) ↦ support (φ n)) l (smallSets (𝓝 0))
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hcg : Tendsto (uncurry g) (l ×ˢ 𝓝 x₀) (𝓝 z₀)
hk : Tendsto k l (𝓝 x₀)
⊢ Tendsto (fun (i : ι) ↦ (φ i ⋆[lsmul ℝ ℝ, μ] g i) (k i)) l (𝓝 z₀)
have hφ₁ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
Tactic: simp_rw [tendsto_smallSets_iff] at hφ
Cleared hypotheses: hφ
-- Lean 4 proof step from Mathlib.Analysis.Convolution (goal)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hcg : Tendsto (uncurry g) (l ×ˢ 𝓝 x₀) (𝓝 z₀)
hk : Tendsto k l (𝓝 x₀)
hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
⊢ Tendsto (fun (i : ι) ↦ (φ i ⋆[lsmul ℝ ℝ, μ] g i) (k i)) l (𝓝 z₀)
have rw : ∀ (hcg : ∀ ε > 0, ∀ᶠ (x : ι × G) in l ×ˢ 𝓝 x₀, dist (uncurry g x) z₀ < ε) (hk : Tendsto k l (𝓝 x₀))
  (hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t),
  ∀ ε > 0, ∀ᶠ (x : ι) in l, dist ((φ x ⋆[lsmul ℝ ℝ, μ] g x) (k x)) z₀ < ε
Tactic: rw [Metric.tendsto_nhds] at hcg ⊢
Cleared hypotheses: hcg, hk, hφ
-- Lean 4 proof step from Mathlib.Analysis.Convolution (hypothesis)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hcg : ∀ ε > 0, ∀ᶠ (x : ι × G) in l ×ˢ 𝓝 x₀, dist (uncurry g x) z₀ < ε
hk : Tendsto k l (𝓝 x₀)
hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
⊢ ∀ ε > 0, ∀ᶠ (x : ι) in l, dist ((φ x ⋆[lsmul ℝ ℝ, μ] g x) (k x)) z₀ < ε
have hcg₁ : ∀ ε > 0,
  ∃ (pa : ι → Prop),
    (∀ᶠ (i : ι) in l, pa i) ∧ ∃ ε_1 > 0, ∀ ⦃i : ι⦄, pa i → ∀ ⦃x : G⦄, dist x x₀ < ε_1 → dist (uncurry g (i, x)) z₀ < ε
Tactic: simp_rw [Metric.eventually_prod_nhds_iff] at hcg
Cleared hypotheses: hcg
-- Lean 4 proof step from Mathlib.Analysis.Convolution (hypothesis)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hk : Tendsto k l (𝓝 x₀)
hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
hcg :
  ∀ ε > 0,
    ∃ (pa : ι → Prop),
      (∀ᶠ (i : ι) in l, pa i) ∧ ∃ ε_1 > 0, ∀ ⦃i : ι⦄, pa i → ∀ ⦃x : G⦄, dist x x₀ < ε_1 → dist (uncurry g (i, x)) z₀ < ε
ε : ℝ
hε : ε > 0
⊢ ∀ᶠ (x : ι) in l, dist ((φ x ⋆[lsmul ℝ ℝ, μ] g x) (k x)) z₀ < ε
have h2ε : 0 < ε / 3
Tactic: have h2ε : 0 < ε / 3 := div_pos hε (by simp)
-- Lean 4 proof step from Mathlib.Analysis.Convolution (goal)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hk : Tendsto k l (𝓝 x₀)
hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
hcg :
  ∀ ε > 0,
    ∃ (pa : ι → Prop),
      (∀ᶠ (i : ι) in l, pa i) ∧ ∃ ε_1 > 0, ∀ ⦃i : ι⦄, pa i → ∀ ⦃x : G⦄, dist x x₀ < ε_1 → dist (uncurry g (i, x)) z₀ < ε
ε : ℝ
hε : ε > 0
h2ε : 0 < ε / 3
⊢ ∀ᶠ (x : ι) in l, dist ((φ x ⋆[lsmul ℝ ℝ, μ] g x) (k x)) z₀ < ε
have obtain : ∀ (p : ι → Prop) (hp : ∀ᶠ (i : ι) in l, p i) (δ : ℝ) (hδ : δ > 0)
  (hgδ : ∀ ⦃i : ι⦄, p i → ∀ ⦃x : G⦄, dist x x₀ < δ → dist (uncurry g (i, x)) z₀ < ε / 3),
  ∀ᶠ (x : ι) in l, dist ((φ x ⋆[lsmul ℝ ℝ, μ] g x) (k x)) z₀ < ε
Tactic: obtain ⟨p, hp, δ, hδ, hgδ⟩ := hcg _ h2ε
-- Lean 4 proof step from Mathlib.Analysis.Convolution (hypothesis)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hk : Tendsto k l (𝓝 x₀)
hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
hcg :
  ∀ ε > 0,
    ∃ (pa : ι → Prop),
      (∀ᶠ (i : ι) in l, pa i) ∧ ∃ ε_1 > 0, ∀ ⦃i : ι⦄, pa i → ∀ ⦃x : G⦄, dist x x₀ < ε_1 → dist (uncurry g (i, x)) z₀ < ε
ε : ℝ
hε : ε > 0
h2ε : 0 < ε / 3
p : ι → Prop
hp : ∀ᶠ (i : ι) in l, p i
δ : ℝ
hδ : δ > 0
hgδ : ∀ ⦃i : ι⦄, p i → ∀ ⦃x : G⦄, dist x x₀ < δ → dist (g i x) z₀ < ε / 3
⊢ ∀ᶠ (x : ι) in l, dist ((φ x ⋆[lsmul ℝ ℝ, μ] g x) (k x)) z₀ < ε
have h2k : ∀ᶠ (x : ι) in l, dist (k x) x₀ < δ / 2
Tactic: have h2k := hk.eventually (ball_mem_nhds x₀ <| half_pos hδ)
-- Lean 4 proof step from Mathlib.Analysis.Convolution (hypothesis)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hk : Tendsto k l (𝓝 x₀)
hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
hcg :
  ∀ ε > 0,
    ∃ (pa : ι → Prop),
      (∀ᶠ (i : ι) in l, pa i) ∧ ∃ ε_1 > 0, ∀ ⦃i : ι⦄, pa i → ∀ ⦃x : G⦄, dist x x₀ < ε_1 → dist (uncurry g (i, x)) z₀ < ε
ε : ℝ
hε : ε > 0
h2ε : 0 < ε / 3
p : ι → Prop
hp : ∀ᶠ (i : ι) in l, p i
δ : ℝ
hδ : δ > 0
hgδ : ∀ ⦃i : ι⦄, p i → ∀ ⦃x : G⦄, dist x x₀ < δ → dist (g i x) z₀ < ε / 3
h2k : ∀ᶠ (x : ι) in l, dist (k x) x₀ < δ / 2
⊢ ∀ᶠ (x : ι) in l, dist ((φ x ⋆[lsmul ℝ ℝ, μ] g x) (k x)) z₀ < ε
have h2φ : ∀ᶠ (x : ι) in l, support (φ x) ⊆ ball 0 (δ / 2)
Tactic: have h2φ := hφ (ball (0 : G) _) <| ball_mem_nhds _ (half_pos hδ)
-- Lean 4 proof step from Mathlib.Analysis.Convolution (goal)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hk : Tendsto k l (𝓝 x₀)
hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
hcg :
  ∀ ε > 0,
    ∃ (pa : ι → Prop),
      (∀ᶠ (i : ι) in l, pa i) ∧ ∃ ε_1 > 0, ∀ ⦃i : ι⦄, pa i → ∀ ⦃x : G⦄, dist x x₀ < ε_1 → dist (uncurry g (i, x)) z₀ < ε
ε : ℝ
hε : ε > 0
h2ε : 0 < ε / 3
p : ι → Prop
hp : ∀ᶠ (i : ι) in l, p i
δ : ℝ
hδ : δ > 0
hgδ : ∀ ⦃i : ι⦄, p i → ∀ ⦃x : G⦄, dist x x₀ < δ → dist (g i x) z₀ < ε / 3
h2k : ∀ᶠ (x : ι) in l, dist (k x) x₀ < δ / 2
h2φ : ∀ᶠ (x : ι) in l, support (φ x) ⊆ ball 0 (δ / 2)
⊢ ∀ᶠ (x : ι) in l, dist ((φ x ⋆[lsmul ℝ ℝ, μ] g x) (k x)) z₀ < ε
have h : ∀ (i : ι) (hpi : p i) (hki : dist (k i) x₀ < δ / 2) (hφi : support (φ i) ⊆ ball 0 (δ / 2)) (hnφi : ∀ (x : G), 0 ≤ φ i x)
  (hiφi : Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1) (hmgi : AEStronglyMeasurable (g i) μ),
  dist ((φ i ⋆[lsmul ℝ ℝ, μ] g i) (k i)) z₀ < ε
Tactic: filter_upwards [hp, h2k, h2φ, hnφ, hiφ, hmg] with i hpi hki hφi hnφi hiφi hmgi
-- Lean 4 proof step from Mathlib.Analysis.Convolution (hypothesis)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hk : Tendsto k l (𝓝 x₀)
hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
hcg :
  ∀ ε > 0,
    ∃ (pa : ι → Prop),
      (∀ᶠ (i : ι) in l, pa i) ∧ ∃ ε_1 > 0, ∀ ⦃i : ι⦄, pa i → ∀ ⦃x : G⦄, dist x x₀ < ε_1 → dist (uncurry g (i, x)) z₀ < ε
ε : ℝ
hε : ε > 0
h2ε : 0 < ε / 3
p : ι → Prop
hp : ∀ᶠ (i : ι) in l, p i
δ : ℝ
hδ : δ > 0
hgδ : ∀ ⦃i : ι⦄, p i → ∀ ⦃x : G⦄, dist x x₀ < δ → dist (g i x) z₀ < ε / 3
h2k : ∀ᶠ (x : ι) in l, dist (k x) x₀ < δ / 2
h2φ : ∀ᶠ (x : ι) in l, support (φ x) ⊆ ball 0 (δ / 2)
i : ι
hpi : p i
hki : dist (k i) x₀ < δ / 2
hφi : support (φ i) ⊆ ball 0 (δ / 2)
hnφi : ∀ (x : G), 0 ≤ φ i x
hiφi : Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmgi : AEStronglyMeasurable (g i) μ
⊢ dist ((φ i ⋆[lsmul ℝ ℝ, μ] g i) (k i)) z₀ < ε
have hgi : dist (g i (k i)) z₀ < ε / 3
Tactic: have hgi : dist (g i (k i)) z₀ < ε / 3 := hgδ hpi (hki.trans <| half_lt_self hδ)
-- Lean 4 proof step from Mathlib.Analysis.Convolution (goal)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hk : Tendsto k l (𝓝 x₀)
hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
hcg :
  ∀ ε > 0,
    ∃ (pa : ι → Prop),
      (∀ᶠ (i : ι) in l, pa i) ∧ ∃ ε_1 > 0, ∀ ⦃i : ι⦄, pa i → ∀ ⦃x : G⦄, dist x x₀ < ε_1 → dist (uncurry g (i, x)) z₀ < ε
ε : ℝ
hε : ε > 0
h2ε : 0 < ε / 3
p : ι → Prop
hp : ∀ᶠ (i : ι) in l, p i
δ : ℝ
hδ : δ > 0
hgδ : ∀ ⦃i : ι⦄, p i → ∀ ⦃x : G⦄, dist x x₀ < δ → dist (g i x) z₀ < ε / 3
h2k : ∀ᶠ (x : ι) in l, dist (k x) x₀ < δ / 2
h2φ : ∀ᶠ (x : ι) in l, support (φ x) ⊆ ball 0 (δ / 2)
i : ι
hpi : p i
hki : dist (k i) x₀ < δ / 2
hφi : support (φ i) ⊆ ball 0 (δ / 2)
hnφi : ∀ (x : G), 0 ≤ φ i x
hiφi : Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmgi : AEStronglyMeasurable (g i) μ
hgi : dist (g i (k i)) z₀ < ε / 3
x' : G
hx' : x' ∈ ball (k i) (δ / 2)
⊢ dist (g i x') (g i (k i)) ≤ ε / 3 + ε / 3
have refine : dist x' x₀ < δ
Tactic: refine (dist_triangle_right _ _ _).trans (add_le_add (hgδ hpi ?_).le hgi.le)
-- Lean 4 proof step from Mathlib.Analysis.Convolution (hypothesis)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hk : Tendsto k l (𝓝 x₀)
hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
hcg :
  ∀ ε > 0,
    ∃ (pa : ι → Prop),
      (∀ᶠ (i : ι) in l, pa i) ∧ ∃ ε_1 > 0, ∀ ⦃i : ι⦄, pa i → ∀ ⦃x : G⦄, dist x x₀ < ε_1 → dist (uncurry g (i, x)) z₀ < ε
ε : ℝ
hε : ε > 0
h2ε : 0 < ε / 3
p : ι → Prop
hp : ∀ᶠ (i : ι) in l, p i
δ : ℝ
hδ : δ > 0
hgδ : ∀ ⦃i : ι⦄, p i → ∀ ⦃x : G⦄, dist x x₀ < δ → dist (g i x) z₀ < ε / 3
h2k : ∀ᶠ (x : ι) in l, dist (k x) x₀ < δ / 2
h2φ : ∀ᶠ (x : ι) in l, support (φ x) ⊆ ball 0 (δ / 2)
i : ι
hpi : p i
hki : dist (k i) x₀ < δ / 2
hφi : support (φ i) ⊆ ball 0 (δ / 2)
hnφi : ∀ (x : G), 0 ≤ φ i x
hiφi : Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmgi : AEStronglyMeasurable (g i) μ
hgi : dist (g i (k i)) z₀ < ε / 3
⊢ dist ((φ i ⋆[lsmul ℝ ℝ, μ] g i) (k i)) z₀ < ε
have h1 : ∀ x' ∈ ball (k i) (δ / 2), dist (g i x') (g i (k i)) ≤ ε / 3 + ε / 3
Tactic: have h1 : ∀ x' ∈ ball (k i) (δ / 2), dist (g i x') (g i (k i)) ≤ ε / 3 + ε / 3 := by
    intro x' hx'
    refine (dist_triangle_right _ _ _).trans (add_le_add (hgδ hpi ?_).le hgi.le)
    exact ((dist_triangle _ _ _).trans_lt (add_lt_add hx'.out hki)).trans_eq (add_halves δ)
-- Lean 4 proof step from Mathlib.Analysis.Convolution (hypothesis)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hk : Tendsto k l (𝓝 x₀)
hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
hcg :
  ∀ ε > 0,
    ∃ (pa : ι → Prop),
      (∀ᶠ (i : ι) in l, pa i) ∧ ∃ ε_1 > 0, ∀ ⦃i : ι⦄, pa i → ∀ ⦃x : G⦄, dist x x₀ < ε_1 → dist (uncurry g (i, x)) z₀ < ε
ε : ℝ
hε : ε > 0
h2ε : 0 < ε / 3
p : ι → Prop
hp : ∀ᶠ (i : ι) in l, p i
δ : ℝ
hδ : δ > 0
hgδ : ∀ ⦃i : ι⦄, p i → ∀ ⦃x : G⦄, dist x x₀ < δ → dist (g i x) z₀ < ε / 3
h2k : ∀ᶠ (x : ι) in l, dist (k x) x₀ < δ / 2
h2φ : ∀ᶠ (x : ι) in l, support (φ x) ⊆ ball 0 (δ / 2)
i : ι
hpi : p i
hki : dist (k i) x₀ < δ / 2
hφi : support (φ i) ⊆ ball 0 (δ / 2)
hnφi : ∀ (x : G), 0 ≤ φ i x
hiφi : Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmgi : AEStronglyMeasurable (g i) μ
hgi : dist (g i (k i)) z₀ < ε / 3
h1 : ∀ x' ∈ ball (k i) (δ / 2), dist (g i x') (g i (k i)) ≤ ε / 3 + ε / 3
⊢ dist ((φ i ⋆[lsmul ℝ ℝ, μ] g i) (k i)) z₀ < ε
have this : dist ((φ i ⋆[lsmul ℝ ℝ, μ] g i) (k i)) (g i (k i)) ≤ ε / 3 + ε / 3
Tactic: have := dist_convolution_le (add_pos h2ε h2ε).le hφi hnφi hiφi hmgi h1
-- Lean 4 proof step from Mathlib.Analysis.Convolution (goal)
Goal:
G : Type uG
E' : Type uE'
inst : NormedAddCommGroup E'
inst_1 : MeasurableSpace G
μ : Measure G
inst_2 : SeminormedAddCommGroup G
inst_3 : BorelSpace G
inst_4 : SecondCountableTopology G
inst_5 : μ.IsAddLeftInvariant
inst_6 : SFinite μ
inst_7 : NormedSpace ℝ E'
inst_8 : CompleteSpace E'
ι : Type u_1
g : ι → G → E'
l : Filter ι
x₀ : G
z₀ : E'
φ : ι → G → ℝ
k : ι → G
hnφ : ∀ᶠ (i : ι) in l, ∀ (x : G), 0 ≤ φ i x
hiφ : ∀ᶠ (i : ι) in l, Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmg : ∀ᶠ (i : ι) in l, AEStronglyMeasurable (g i) μ
hk : Tendsto k l (𝓝 x₀)
hφ : ∀ (t : Set G), Membership.mem (γ := Filter G) (𝓝 0) t → ∀ᶠ (x : ι) in l, support (φ x) ⊆ t
hcg :
  ∀ ε > 0,
    ∃ (pa : ι → Prop),
      (∀ᶠ (i : ι) in l, pa i) ∧ ∃ ε_1 > 0, ∀ ⦃i : ι⦄, pa i → ∀ ⦃x : G⦄, dist x x₀ < ε_1 → dist (uncurry g (i, x)) z₀ < ε
ε : ℝ
hε : ε > 0
h2ε : 0 < ε / 3
p : ι → Prop
hp : ∀ᶠ (i : ι) in l, p i
δ : ℝ
hδ : δ > 0
hgδ : ∀ ⦃i : ι⦄, p i → ∀ ⦃x : G⦄, dist x x₀ < δ → dist (g i x) z₀ < ε / 3
h2k : ∀ᶠ (x : ι) in l, dist (k x) x₀ < δ / 2
h2φ : ∀ᶠ (x : ι) in l, support (φ x) ⊆ ball 0 (δ / 2)
i : ι
hpi : p i
hki : dist (k i) x₀ < δ / 2
hφi : support (φ i) ⊆ ball 0 (δ / 2)
hnφi : ∀ (x : G), 0 ≤ φ i x
hiφi : Eq (α := ℝ) (∫ (x : G), φ i x ∂μ) 1
hmgi : AEStronglyMeasurable (g i) μ
hgi : dist (g i (k i)) z₀ < ε / 3
h1 : ∀ x' ∈ ball (k i) (δ / 2), dist (g i x') (g i (k i)) ≤ ε / 3 + ε / 3
this : dist ((φ i ⋆[lsmul ℝ ℝ, μ] g i) (k i)) (g i (k i)) ≤ ε / 3 + ε / 3
⊢ dist ((φ i ⋆[lsmul ℝ ℝ, μ] g i) (k i)) z₀ < ε
have h : ε / 3 + ε / 3 + ε / 3 = ε
Tactic: refine ((dist_triangle _ _ _).trans_lt (add_lt_add_of_le_of_lt this hgi)).trans_eq ?_
-- Lean 4 proof step from Mathlib.Analysis.Convolution (goal)
Goal:
𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
F : Type uF
inst : NormedAddCommGroup E
inst_1 : NormedAddCommGroup E'
inst_2 : NormedAddCommGroup F
f : G → E
g : G → E'
inst_3 : RCLike 𝕜
inst_4 : NormedSpace 𝕜 E
inst_5 : NormedSpace 𝕜 E'
inst_6 : NormedSpace ℝ F
inst_7 : NormedSpace 𝕜 F
inst_8 : MeasurableSpace G
μ ν : Measure G
L : E →L[𝕜] E' →L[𝕜] F
inst_9 : CompleteSpace F
inst_10 : AddGroup G
inst_11 : SFinite μ
inst_12 : SFinite ν
inst_13 : μ.IsAddRightInvariant
inst_14 : MeasurableAdd₂ G
inst_15 : MeasurableNeg G
inst_16 : NormedSpace ℝ E
inst_17 : NormedSpace ℝ E'
inst_18 : CompleteSpace E
inst_19 : CompleteSpace E'
hf : Integrable f ν
hg : Integrable g μ
⊢ Eq.{uF + 1} (α := F) (∫ (x : G), convolution.{u𝕜, uG, uE, uE', uF} (𝕜 := 𝕜) f g L ν x ∂μ : F)
    (((L : (a : E) → E' →L[𝕜] F) (∫ (x : G), f x ∂ν) : (a : E') → F) (∫ (x : G), g x ∂μ) : F)
have refine : Eq.{uF + 1} (α := F)
  (∫ (y : G), ∫ (x : G), (((L : (a : E) → E' →L[𝕜] F) (f y) : E' →L[𝕜] F) : (a : E') → F) (g (x - y)) ∂μ ∂ν : F)
  (((L : (a : E) → E' →L[𝕜] F) (∫ (x : G), f x ∂ν) : (a : E') → F) (∫ (x : G), g x ∂μ) : F)
Tactic: refine (integral_integral_swap (by apply hf.convolution_integrand L hg)).trans ?_
-- Lean 4 proof step from Mathlib.Analysis.Convolution (goal)
Goal:
𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
F : Type uF
inst : NormedAddCommGroup E
inst_1 : NormedAddCommGroup E'
inst_2 : NormedAddCommGroup F
f : G → E
g : G → E'
inst_3 : RCLike 𝕜
inst_4 : NormedSpace 𝕜 E
inst_5 : NormedSpace 𝕜 E'
inst_6 : NormedSpace ℝ F
inst_7 : NormedSpace 𝕜 F
inst_8 : MeasurableSpace G
μ ν : Measure G
L : E →L[𝕜] E' →L[𝕜] F
inst_9 : CompleteSpace F
inst_10 : AddGroup G
inst_11 : SFinite μ
inst_12 : SFinite ν
inst_13 : μ.IsAddRightInvariant
inst_14 : MeasurableAdd₂ G
inst_15 : MeasurableNeg G
inst_16 : NormedSpace ℝ E
inst_17 : NormedSpace ℝ E'
inst_18 : CompleteSpace E
inst_19 : CompleteSpace E'
hf : Integrable f ν
hg : Integrable g μ
⊢ Eq.{uF + 1} (α := F)
    (∫ (y : G), ∫ (x : G), (((L : (a : E) → E' →L[𝕜] F) (f y) : E' →L[𝕜] F) : (a : E') → F) (g (x - y)) ∂μ ∂ν : F)
    (((L : (a : E) → E' →L[𝕜] F) (∫ (x : G), f x ∂ν) : (a : E') → F) (∫ (x : G), g x ∂μ) : F)
have simp_rw : Eq.{uF + 1} (α := F)
  (∫ (y : G), (((L : (a : E) → E' →L[𝕜] F) (f y) : E' →L[𝕜] F) : (a : E') → F) (∫ (x : G), g x ∂μ) ∂ν : F)
  (((L : (a : E) → E' →L[𝕜] F) (∫ (x : G), f x ∂ν) : (a : E') → F) (∫ (x : G), g x ∂μ) : F)
Tactic: simp_rw [integral_comp_comm _ (hg.comp_sub_right _), integral_sub_right_eq_self]
-- Lean 4 proof step from Mathlib.Analysis.Convolution (goal)
Goal:
𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
inst : NormedAddCommGroup E
inst_1 : NormedAddCommGroup E'
inst_2 : NormedAddCommGroup E''
inst_3 : NormedAddCommGroup F
f : G → E
g : G → E'
inst_4 : RCLike 𝕜
inst_5 : NormedSpace 𝕜 E
inst_6 : NormedSpace 𝕜 E'
inst_7 : NormedSpace 𝕜 E''
inst_8 : NormedSpace ℝ F
inst_9 : NormedSpace 𝕜 F
inst_10 : MeasurableSpace G
μ ν : Measure G
L : E →L[𝕜] E' →L[𝕜] F
inst_11 : CompleteSpace F
inst_12 : NormedAddCommGroup F'
inst_13 : NormedSpace ℝ F'
inst_14 : NormedSpace 𝕜 F'
inst_15 : CompleteSpace F'
inst_16 : NormedAddCommGroup F''
inst_17 : NormedSpace ℝ F''
inst_18 : NormedSpace 𝕜 F''
inst_19 : CompleteSpace F''
k : G → E''
L₂ : F →L[𝕜] E'' →L[𝕜] F'
L₃ : E →L[𝕜] F'' →L[𝕜] F'
L₄ : E' →L[𝕜] E'' →L[𝕜] F''
inst_20 : AddGroup G
inst_21 : SFinite μ
inst_22 : SFinite ν
inst_23 : μ.IsAddRightInvariant
inst_24 : MeasurableAdd₂ G
inst_25 : ν.IsAddRightInvariant
inst_26 : MeasurableNeg G
hL :
  ∀ (x : E) (y : E') (z : E''),
    Eq.{uF' + 1} (α := F')
      ((((L₂ : (a : F) → E'' →L[𝕜] F') ((((L : (a : E) → E' →L[𝕜] F) x : E' →L[𝕜] F) : (a : E') → F) y) :
              E'' →L[𝕜] F') :
            (a : E'') → F')
          z :
        F')
      ((((L₃ : (a : E) → F'' →L[𝕜] F') x : F'' →L[𝕜] F') : (a : F'') → F')
          ((((L₄ : (a : E') → E'' →L[𝕜] F'') y : E'' →L[𝕜] F'') : (a : E'') → F'') z : F'') :
        F')
x₀ : G
hfg : ∀ᵐ (y : G) ∂μ, ConvolutionExistsAt.{u𝕜, uG, uE, uE', uF} (𝕜 := 𝕜) (F := F) f g y L ν
hgk : ∀ᵐ (x : G) ∂ν, ConvolutionExistsAt.{u𝕜, uG, uE', uE'', uF''} (𝕜 := 𝕜) (F := F'') g k x L₄ μ
hi :
  Integrable.{uF', uG} (ε := F')
    (uncurry fun (x y : G) ↦
      (((L₃ : (a : E) → F'' →L[𝕜] F') (f y) : F'' →L[𝕜] F') : (a : F'') → F')
        ((((L₄ : (a : E') → E'' →L[𝕜] F'') (g (x - y)) : E'' →L[𝕜] F'') : (a : E'') → F'') (k (x₀ - x)) : F''))
    (μ.prod ν)
⊢ Eq.{uF' + 1} (α := F')
    (∫ (t : G),
      ∫ (s : G),
        (((L₃ : (a : E) → F'' →L[𝕜] F') (f s) : F'' →L[𝕜] F') : (a : F'') → F')
          ((((L₄ : (a : E') → E'' →L[𝕜] F'') (g (t - s)) : E'' →L[𝕜] F'') : (a : E'') → F'') (k (x₀ - t)) : F'') ∂ν ∂μ)
    (∫ (s : G),
      ∫ (t : G),
        (((L₃ : (a : E) → F'' →L[𝕜] F') (f s) : F'' →L[𝕜] F') : (a : F'') → F')
          ((((L₄ : (a : E') → E'' →L[𝕜] F'') (g (t - s)) : E'' →L[𝕜] F'') : (a : E'') → F'') (k (x₀ - t)) : F'') ∂μ ∂ν)
have rw : Eq.{uF' + 1} (α := F')
  (∫ (y : G),
    ∫ (x : G),
      (((L₃ : (a : E) → F'' →L[𝕜] F') (f y) : F'' →L[𝕜] F') : (a : F'') → F')
        ((((L₄ : (a : E') → E'' →L[𝕜] F'') (g (x - y)) : E'' →L[𝕜] F'') : (a : E'') → F'') (k (x₀ - x)) : F'') ∂μ ∂ν)
  (∫ (s : G),
    ∫ (t : G),
      (((L₃ : (a : E) → F'' →L[𝕜] F') (f s) : F'' →L[𝕜] F') : (a : F'') → F')
        ((((L₄ : (a : E') → E'' →L[𝕜] F'') (g (t - s)) : E'' →L[𝕜] F'') : (a : E'') → F'') (k (x₀ - t)) : F'') ∂μ ∂ν)
Tactic: rw [integral_integral_swap hi]