ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: MeasureTheory.Measure.QuasiMeasurePreserving.image_zpow_ae_eq
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
f✝ : α → β
μa μa' : Measure α
μb μb' : Measure β
μc : Measure γ
f : α → β
s : Set α
e : α ≃ α
he : QuasiMeasurePreserving (⇑e) μ μ
he' : QuasiMeasurePreserving (⇑e.symm) μ μ
k : ℤ
hs : ⇑e '' s =ᵐ[μ] s
⊢ ⇑(e ^ k) '' s =ᵐ[μ] s
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
f✝ : α → β
μa μa' : Measure α
μb μb' : Measure β
μc : Measure γ
f : α → β
s : Set α
e : α ≃ α
he : QuasiMeasurePreserving (⇑e) μ μ
he' : QuasiMeasurePreserving (⇑e.symm) μ μ
k : ℤ
hs : ⇑e '' s =ᵐ[μ] s
⊢ ⇑(e ^ k).symm ⁻¹' s =ᵐ[μ] s
tactic: rw [Equiv.image_eq_preimage]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
f✝ : α → β
μa μa' : Measure α
μb μb' : Measure β
μc : Measure γ
f : α → β
s : Set α
e : α ≃ α
he : QuasiMeasurePreserving (⇑e) μ μ
he' : QuasiMeasurePreserving (⇑e.symm) μ μ
k : ℤ
hs : ⇑e '' s =ᵐ[μ] s
⊢ ⇑(e ^ k).symm ⁻¹' s =ᵐ[μ] s
state_after: case intro.inl
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
f✝ : α → β
μa μa' : Measure α
μb μb' : Measure β
μc : Measure γ
f : α → β
s : Set α
e : α ≃ α
he : QuasiMeasurePreserving (⇑e) μ μ
he' : QuasiMeasurePreserving (⇑e.symm) μ μ
hs : ⇑e '' s =ᵐ[μ] s
k : ℕ
⊢ ⇑(e ^ ↑k).symm ⁻¹' s =ᵐ[μ] s

case intro.inr
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
f✝ : α → β
μa μa' : Measure α
μb μb' : Measure β
μc : Measure γ
f : α → β
s : Set α
e : α ≃ α
he : QuasiMeasurePreserving (⇑e) μ μ
he' : QuasiMeasurePreserving (⇑e.symm) μ μ
hs : ⇑e '' s =ᵐ[μ] s
k : ℕ
⊢ ⇑(e ^ (-↑k)).symm ⁻¹' s =ᵐ[μ] s
tactic: obtain ⟨k, rfl | rfl⟩ := k.eq_nat_or_neg
Theorem: MvPolynomial.esymm_eq_sum_monomial
File: Mathlib/RingTheory/MvPolynomial/Symmetric.lean

Proof steps:
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝³ : CommSemiring R
inst✝² : CommSemiring S
inst✝¹ : Fintype σ
inst✝ : Fintype τ
n : ℕ
⊢ esymm σ R n = ∑ t ∈ powersetCard n univ, (monomial (∑ i ∈ t, Finsupp.single i 1)) 1
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝³ : CommSemiring R
inst✝² : CommSemiring S
inst✝¹ : Fintype σ
inst✝ : Fintype τ
n : ℕ
⊢ esymm σ R n = ∑ x ∈ powersetCard n univ, ∏ i ∈ x, (monomial (Finsupp.single i 1)) 1
tactic: simp_rw [monomial_sum_one]
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝³ : CommSemiring R
inst✝² : CommSemiring S
inst✝¹ : Fintype σ
inst✝ : Fintype τ
n : ℕ
⊢ esymm σ R n = ∑ x ∈ powersetCard n univ, ∏ i ∈ x, (monomial (Finsupp.single i 1)) 1
state_after: no goals
tactic: rfl
Theorem: PartialFun.Iso.mk_inv
File: Mathlib/CategoryTheory/Category/PartialFun.lean

Proof steps:
state_before: α✝ : Type u_1
β✝ : Type u_2
α β : PartialFun
e : α ≃ β
⊢ ↑(⇑e.symm ∘ ⇑e) = 𝟙 α
state_after: α✝ : Type u_1
β✝ : Type u_2
α β : PartialFun
e : α ≃ β
⊢ PFun.id α = 𝟙 α
tactic: simp only [Equiv.symm_comp_self, PFun.coe_id]
state_before: α✝ : Type u_1
β✝ : Type u_2
α β : PartialFun
e : α ≃ β
⊢ PFun.id α = 𝟙 α
state_after: no goals
tactic: rfl
state_before: α✝ : Type u_1
β✝ : Type u_2
α β : PartialFun
e : α ≃ β
⊢ ↑(⇑e ∘ ⇑e.symm) = 𝟙 β
state_after: α✝ : Type u_1
β✝ : Type u_2
α β : PartialFun
e : α ≃ β
⊢ PFun.id β = 𝟙 β
tactic: simp only [Equiv.self_comp_symm, PFun.coe_id]
state_before: α✝ : Type u_1
β✝ : Type u_2
α β : PartialFun
e : α ≃ β
⊢ PFun.id β = 𝟙 β
state_after: no goals
tactic: rfl
Theorem: ArithmeticFunction.vonMangoldt_ne_zero_iff
File: Mathlib/NumberTheory/VonMangoldt.lean

Proof steps:
state_before: n : ℕ
⊢ Λ n ≠ 0 ↔ IsPrimePow n
state_after: case inl

⊢ Λ 1 ≠ 0 ↔ IsPrimePow 1

case inr
n : ℕ
hn : n ≠ 1
⊢ Λ n ≠ 0 ↔ IsPrimePow n
tactic: rcases eq_or_ne n 1 with (rfl | hn)
state_before: case inr
n : ℕ
hn : n ≠ 1
⊢ Λ n ≠ 0 ↔ IsPrimePow n
state_after: no goals
tactic: exact (Real.log_pos (one_lt_cast.2 (minFac_prime hn).one_lt)).ne'.ite_ne_right_iff
Theorem: guard_false
File: Mathlib/Control/Basic.lean

Proof steps:
state_before: α β γ : Type u
F : Type → Type v
inst✝ : Alternative F
h : Decidable False
⊢ guard False = failure
state_after: no goals
tactic: simp [guard, if_neg not_false]
Theorem: MeasureTheory.Measure.zero_le_toSignedMeasure
File: Mathlib/MeasureTheory/Measure/VectorMeasure.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst✝ : IsFiniteMeasure μ
⊢ 0 ≤ μ.toSignedMeasure
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst✝ : IsFiniteMeasure μ
⊢ VectorMeasure.restrict 0 univ ≤ VectorMeasure.restrict μ.toSignedMeasure univ
tactic: rw [← le_restrict_univ_iff_le]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst✝ : IsFiniteMeasure μ
⊢ VectorMeasure.restrict 0 univ ≤ VectorMeasure.restrict μ.toSignedMeasure univ
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst✝ : IsFiniteMeasure μ
j : Set α
hj₁ : MeasurableSet j
x✝ : j ⊆ univ
⊢ ↑0 j ≤ ↑μ.toSignedMeasure j
tactic: refine restrict_le_restrict_of_subset_le _ _ fun j hj₁ _ => ?_
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst✝ : IsFiniteMeasure μ
j : Set α
hj₁ : MeasurableSet j
x✝ : j ⊆ univ
⊢ ↑0 j ≤ ↑μ.toSignedMeasure j
state_after: no goals
tactic: simp only [Measure.toSignedMeasure_apply_measurable hj₁, coe_zero, Pi.zero_apply,
    ENNReal.toReal_nonneg, VectorMeasure.coe_zero]
Theorem: Subgroup.isOpen_of_mem_nhds
File: Mathlib/Topology/Algebra/OpenSubgroup.lean

Proof steps:
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : ContinuousMul G
H : Subgroup G
g : G
hg : ↑H ∈ 𝓝 g
⊢ IsOpen ↑H
state_after: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : ContinuousMul G
H : Subgroup G
g : G
hg : ↑H ∈ 𝓝 g
x : G
hx : x ∈ ↑H
⊢ ↑H ∈ 𝓝 x
tactic: refine isOpen_iff_mem_nhds.2 fun x hx => ?_
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : ContinuousMul G
H : Subgroup G
g : G
hg : ↑H ∈ 𝓝 g
x : G
hx : x ∈ ↑H
⊢ ↑H ∈ 𝓝 x
state_after: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : ContinuousMul G
H : Subgroup G
g : G
hg : ↑H ∈ 𝓝 g
x : G
hx : x ∈ ↑H
hg' : g ∈ H
⊢ ↑H ∈ 𝓝 x
tactic: have hg' : g ∈ H := SetLike.mem_coe.1 (mem_of_mem_nhds hg)
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : ContinuousMul G
H : Subgroup G
g : G
hg : ↑H ∈ 𝓝 g
x : G
hx : x ∈ ↑H
hg' : g ∈ H
⊢ ↑H ∈ 𝓝 x
state_after: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : ContinuousMul G
H : Subgroup G
g : G
hg : ↑H ∈ 𝓝 g
x : G
hx : x ∈ ↑H
hg' : g ∈ H
this : Filter.Tendsto (fun y => y * (x⁻¹ * g)) (𝓝 x) (𝓝 g)
⊢ ↑H ∈ 𝓝 x
tactic: have : Filter.Tendsto (fun y => y * (x⁻¹ * g)) (𝓝 x) (𝓝 g) :=
    (continuous_id.mul continuous_const).tendsto' _ _ (mul_inv_cancel_left _ _)
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : ContinuousMul G
H : Subgroup G
g : G
hg : ↑H ∈ 𝓝 g
x : G
hx : x ∈ ↑H
hg' : g ∈ H
this : Filter.Tendsto (fun y => y * (x⁻¹ * g)) (𝓝 x) (𝓝 g)
⊢ ↑H ∈ 𝓝 x
state_after: no goals
tactic: simpa only [SetLike.mem_coe, Filter.mem_map',
    H.mul_mem_cancel_right (H.mul_mem (H.inv_mem hx) hg')] using this hg
Theorem: Nat.ceil_pos
File: Mathlib/Algebra/Order/Floor.lean

Proof steps:
state_before: F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a : α
n : ℕ
⊢ 0 < ⌈a⌉₊ ↔ 0 < a
state_after: no goals
tactic: rw [lt_ceil, cast_zero]
Theorem: List.length_insertNth_le_succ
File: Mathlib/Data/List/InsertNth.lean

Proof steps:
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
a : α
l : List α
x : α
n : ℕ
⊢ (insertNth n x l).length ≤ l.length + 1
state_after: case inl
ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
a : α
l : List α
x : α
n : ℕ
hn : n ≤ l.length
⊢ (insertNth n x l).length ≤ l.length + 1

case inr
ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
a : α
l : List α
x : α
n : ℕ
hn : l.length < n
⊢ (insertNth n x l).length ≤ l.length + 1
tactic: rcases le_or_lt n l.length with hn | hn
Theorem: CategoryTheory.Subgroupoid.full_empty
File: Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean

Proof steps:
state_before: C : Type u
inst✝ : Groupoid C
S : Subgroupoid C
D : Set C
⊢ full ∅ = ⊥
state_after: case arrows.h.h.h
C : Type u
inst✝ : Groupoid C
S : Subgroupoid C
D : Set C
x✝² x✝¹ : C
x✝ : x✝² ⟶ x✝¹
⊢ x✝ ∈ (full ∅).arrows x✝² x✝¹ ↔ x✝ ∈ ⊥.arrows x✝² x✝¹
tactic: ext
state_before: case arrows.h.h.h
C : Type u
inst✝ : Groupoid C
S : Subgroupoid C
D : Set C
x✝² x✝¹ : C
x✝ : x✝² ⟶ x✝¹
⊢ x✝ ∈ (full ∅).arrows x✝² x✝¹ ↔ x✝ ∈ ⊥.arrows x✝² x✝¹
state_after: no goals
tactic: simp only [Bot.bot, mem_full_iff, mem_empty_iff_false, and_self_iff]
Theorem: AddMonoidAlgebra.mem_grade_iff'
File: Mathlib/Algebra/MonoidAlgebra/Grading.lean

Proof steps:
state_before: M : Type u_1
ι : Type u_2
R : Type u_3
inst✝ : CommSemiring R
m : M
a : R[M]
⊢ a ∈ grade R m ↔ a ∈ LinearMap.range (Finsupp.lsingle m)
state_after: M : Type u_1
ι : Type u_2
R : Type u_3
inst✝ : CommSemiring R
m : M
a : R[M]
⊢ (∃ b, a = Finsupp.single m b) ↔ a ∈ LinearMap.range (Finsupp.lsingle m)
tactic: rw [mem_grade_iff, Finsupp.support_subset_singleton']
state_before: M : Type u_1
ι : Type u_2
R : Type u_3
inst✝ : CommSemiring R
m : M
a : R[M]
⊢ (∃ b, a = Finsupp.single m b) ↔ a ∈ LinearMap.range (Finsupp.lsingle m)
state_after: case h
M : Type u_1
ι : Type u_2
R : Type u_3
inst✝ : CommSemiring R
m : M
a : R[M]
⊢ ∀ (a_1 : R), a = Finsupp.single m a_1 ↔ (Finsupp.lsingle m) a_1 = a
tactic: apply exists_congr
state_before: case h
M : Type u_1
ι : Type u_2
R : Type u_3
inst✝ : CommSemiring R
m : M
a : R[M]
⊢ ∀ (a_1 : R), a = Finsupp.single m a_1 ↔ (Finsupp.lsingle m) a_1 = a
state_after: case h
M : Type u_1
ι : Type u_2
R : Type u_3
inst✝ : CommSemiring R
m : M
a : R[M]
r : R
⊢ a = Finsupp.single m r ↔ (Finsupp.lsingle m) r = a
tactic: intro r
state_before: case h
M : Type u_1
ι : Type u_2
R : Type u_3
inst✝ : CommSemiring R
m : M
a : R[M]
r : R
⊢ a = Finsupp.single m r ↔ (Finsupp.lsingle m) r = a
state_after: no goals
tactic: constructor <;> exact Eq.symm
Theorem: Set.Infinite.ncard
File: Mathlib/Data/Set/Card.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
s t : Set α
hs : s.Infinite
⊢ s.ncard = 0
state_after: no goals
tactic: rw [← Nat.card_coe_set_eq, @Nat.card_eq_zero_of_infinite _ hs.to_subtype]
Theorem: PMF.toOuterMeasure_apply_eq_one_iff
File: Mathlib/Probability/ProbabilityMassFunction/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
p : PMF α
s t : Set α
⊢ p.toOuterMeasure s = 1 ↔ p.support ⊆ s
state_after: case refine_1
α : Type u_1
β : Type u_2
γ : Type u_3
p : PMF α
s t : Set α
h : ∑' (x : α), s.indicator (⇑p) x = 1
a : α
hap : a ∈ p.support
⊢ a ∈ s

case refine_2
α : Type u_1
β : Type u_2
γ : Type u_3
p : PMF α
s t : Set α
h : p.support ⊆ s
⊢ ∑' (x : α), s.indicator (⇑p) x = 1
tactic: refine (p.toOuterMeasure_apply s).symm ▸ ⟨fun h a hap => ?_, fun h => ?_⟩
Theorem: Matrix.IsDiag.fromBlocks_of_isSymm
File: Mathlib/LinearAlgebra/Matrix/IsDiag.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
R : Type u_3
n : Type u_4
m : Type u_5
inst✝ : Zero α
A : Matrix m m α
C : Matrix n m α
D : Matrix n n α
h : (Matrix.fromBlocks A 0 C D).IsSymm
ha : A.IsDiag
hd : D.IsDiag
⊢ (Matrix.fromBlocks A 0 C D).IsDiag
state_after: α : Type u_1
β : Type u_2
R : Type u_3
n : Type u_4
m : Type u_5
inst✝ : Zero α
A : Matrix m m α
C : Matrix n m α
D : Matrix n n α
h : (Matrix.fromBlocks A 0 C D).IsSymm
ha : A.IsDiag
hd : D.IsDiag
⊢ (Matrix.fromBlocks A 0 0ᵀ D).IsDiag
tactic: rw [← (isSymm_fromBlocks_iff.1 h).2.1]
state_before: α : Type u_1
β : Type u_2
R : Type u_3
n : Type u_4
m : Type u_5
inst✝ : Zero α
A : Matrix m m α
C : Matrix n m α
D : Matrix n n α
h : (Matrix.fromBlocks A 0 C D).IsSymm
ha : A.IsDiag
hd : D.IsDiag
⊢ (Matrix.fromBlocks A 0 0ᵀ D).IsDiag
state_after: no goals
tactic: exact ha.fromBlocks hd
Theorem: SimpleGraph.egirth_bot
File: Mathlib/Combinatorics/SimpleGraph/Girth.lean

Proof steps:
state_before: α : Type u_1
G : SimpleGraph α
⊢ ⊥.egirth = ⊤
state_after: no goals
tactic: simp
Theorem: MeasureTheory.integrableOn_Ioi_comp_mul_left_iff
File: Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean

Proof steps:
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
f : ℝ → E
c a : ℝ
ha : 0 < a
⊢ IntegrableOn (fun x => f (a * x)) (Ioi c) volume ↔ IntegrableOn f (Ioi (a * c)) volume
state_after: E : Type u_1
inst✝ : NormedAddCommGroup E
f : ℝ → E
c a : ℝ
ha : 0 < a
⊢ Integrable ((Ioi c).indicator fun x => f (a * x)) volume ↔ IntegrableOn f (Ioi (a * c)) volume
tactic: rw [← integrable_indicator_iff (measurableSet_Ioi : MeasurableSet <| Ioi c)]
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
f : ℝ → E
c a : ℝ
ha : 0 < a
⊢ Integrable ((Ioi c).indicator fun x => f (a * x)) volume ↔ IntegrableOn f (Ioi (a * c)) volume
state_after: E : Type u_1
inst✝ : NormedAddCommGroup E
f : ℝ → E
c a : ℝ
ha : 0 < a
⊢ Integrable ((Ioi c).indicator fun x => f (a * x)) volume ↔ Integrable ((Ioi (a * c)).indicator f) volume
tactic: rw [← integrable_indicator_iff (measurableSet_Ioi : MeasurableSet <| Ioi <| a * c)]
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
f : ℝ → E
c a : ℝ
ha : 0 < a
⊢ Integrable ((Ioi c).indicator fun x => f (a * x)) volume ↔ Integrable ((Ioi (a * c)).indicator f) volume
state_after: case h.e'_1.h.e'_5
E : Type u_1
inst✝ : NormedAddCommGroup E
f : ℝ → E
c a : ℝ
ha : 0 < a
⊢ ((Ioi c).indicator fun x => f (a * x)) = fun x => (Ioi (a * c)).indicator f (a * x)
tactic: convert integrable_comp_mul_left_iff ((Ioi (a * c)).indicator f) ha.ne' using 2
state_before: case h.e'_1.h.e'_5
E : Type u_1
inst✝ : NormedAddCommGroup E
f : ℝ → E
c a : ℝ
ha : 0 < a
⊢ ((Ioi c).indicator fun x => f (a * x)) = fun x => (Ioi (a * c)).indicator f (a * x)
state_after: case h.e'_1.h.e'_5.h
E : Type u_1
inst✝ : NormedAddCommGroup E
f : ℝ → E
c a : ℝ
ha : 0 < a
x : ℝ
⊢ (Ioi c).indicator (fun x => f (a * x)) x = (Ioi (a * c)).indicator f (a * x)
tactic: ext1 x
state_before: case h.e'_1.h.e'_5.h
E : Type u_1
inst✝ : NormedAddCommGroup E
f : ℝ → E
c a : ℝ
ha : 0 < a
x : ℝ
⊢ (Ioi c).indicator (fun x => f (a * x)) x = (Ioi (a * c)).indicator f (a * x)
state_after: case h.e'_1.h.e'_5.h
E : Type u_1
inst✝ : NormedAddCommGroup E
f : ℝ → E
c a : ℝ
ha : 0 < a
x : ℝ
⊢ (Ioi c).indicator (fun x => f (a * x)) x = (Ioi c).indicator (f ∘ HMul.hMul a) x
tactic: rw [← indicator_comp_right, preimage_const_mul_Ioi _ ha, mul_comm a c,
    mul_div_cancel_right₀ _ ha.ne']
state_before: case h.e'_1.h.e'_5.h
E : Type u_1
inst✝ : NormedAddCommGroup E
f : ℝ → E
c a : ℝ
ha : 0 < a
x : ℝ
⊢ (Ioi c).indicator (fun x => f (a * x)) x = (Ioi c).indicator (f ∘ HMul.hMul a) x
state_after: no goals
tactic: rfl
Theorem: Polynomial.toFinsuppIsoAlg_symm_apply_toFinsupp
File: Mathlib/Algebra/Polynomial/AlgebraMap.lean

Proof steps:
state_before: R : Type u
S : Type v
T : Type w
A : Type z
A' : Type u_1
B : Type u_2
a b : R
n : ℕ
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Semiring B
inst✝¹ : Algebra R A
inst✝ : Algebra R B
p q r✝ : R[X]
r : R
⊢ __src✝.toFun ((algebraMap R R[X]) r) = (algebraMap R R[ℕ]) r
state_after: no goals
tactic: dsimp
Theorem: MulAction.sum_card_fixedBy_eq_card_orbits_mul_card_group
File: Mathlib/GroupTheory/GroupAction/Quotient.lean

Proof steps:
state_before: α : Type u
β : Type v
γ : Type w
inst✝⁵ inst✝⁴ : Group α
inst✝³ : MulAction α β
x : β
inst✝² : Fintype α
inst✝¹ : (a : α) → Fintype ↑(fixedBy β a)
inst✝ : Fintype (Quotient (orbitRel α β))
⊢ ∑ a : α, Fintype.card ↑(fixedBy β a) = Fintype.card (Quotient (orbitRel α β)) * Fintype.card α
state_after: no goals
tactic: rw [← Fintype.card_prod, ← Fintype.card_sigma,
    Fintype.card_congr (sigmaFixedByEquivOrbitsProdGroup α β)]
Theorem: IsAddGroupHom.neg_ker_zero'
File: Mathlib/Deprecated/Subgroup.lean

Proof steps:
state_before: G : Type u_1
H : Type u_2
A : Type u_3
a✝ a₁ a₂ b✝ c : G
inst✝¹ : Group G
inst✝ : Group H
f : G → H
hf : IsGroupHom f
a b : G
h : f a = f b
⊢ f (a⁻¹ * b) = 1
state_after: G : Type u_1
H : Type u_2
A : Type u_3
a✝ a₁ a₂ b✝ c : G
inst✝¹ : Group G
inst✝ : Group H
f : G → H
hf : IsGroupHom f
a b : G
h : f a = f b
this : (f a)⁻¹ * f b = 1
⊢ f (a⁻¹ * b) = 1
tactic: have : (f a)⁻¹ * f b = 1 := by rw [h, mul_left_inv]
state_before: G : Type u_1
H : Type u_2
A : Type u_3
a✝ a₁ a₂ b✝ c : G
inst✝¹ : Group G
inst✝ : Group H
f : G → H
hf : IsGroupHom f
a b : G
h : f a = f b
this : (f a)⁻¹ * f b = 1
⊢ f (a⁻¹ * b) = 1
state_after: no goals
tactic: rwa [← hf.map_inv, ← hf.map_mul] at this
Theorem: Nat.ceilRoot_def
File: Mathlib/Data/Nat/Factorization/Root.lean

Proof steps:
state_before: a b n : ℕ
⊢ n.ceilRoot a = if n = 0 ∨ a = 0 then 0 else (a.factorization ⌈/⌉ n).prod fun x x_1 => x ^ x_1
state_after: a b n : ℕ
⊢ (if n = 0 ∨ a = 0 then 0 else a.factorization.prod fun p k => p ^ ((k + n - 1) / n)) =
    if n = 0 ∨ a = 0 then 0 else (a.factorization ⌈/⌉ n).prod fun x x_1 => x ^ x_1
tactic: unfold ceilRoot
state_before: a b n : ℕ
⊢ (if n = 0 ∨ a = 0 then 0 else a.factorization.prod fun p k => p ^ ((k + n - 1) / n)) =
    if n = 0 ∨ a = 0 then 0 else (a.factorization ⌈/⌉ n).prod fun x x_1 => x ^ x_1
state_after: no goals
tactic: split_ifs with h <;>
    simp [Finsupp.ceilDiv_def, prod_mapRange_index pow_zero, Nat.ceilDiv_eq_add_pred_div]
Theorem: MeasureTheory.SigmaFinite.of_map
File: Mathlib/MeasureTheory/Measure/Typeclasses.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α
inst✝ : MeasurableSpace β
μ✝ ν ν₁ ν₂ : Measure α
s t : Set α
μ : Measure α
f : α → β
hf : AEMeasurable f μ
h : SigmaFinite (Measure.map f μ)
n : ℕ
⊢ μ ((fun n => f ⁻¹' spanningSets (Measure.map f μ) n) n) < ⊤
state_after: no goals
tactic: simp only [← map_apply_of_aemeasurable hf, measurable_spanningSets,
          measure_spanningSets_lt_top]
state_before: α : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α
inst✝ : MeasurableSpace β
μ✝ ν ν₁ ν₂ : Measure α
s t : Set α
μ : Measure α
f : α → β
hf : AEMeasurable f μ
h : SigmaFinite (Measure.map f μ)
⊢ ⋃ i, (fun n => f ⁻¹' spanningSets (Measure.map f μ) n) i = univ
state_after: no goals
tactic: rw [← preimage_iUnion, iUnion_spanningSets, preimage_univ]
Theorem: IntermediateField.toSubalgebra_iSup_of_directed
File: Mathlib/FieldTheory/Adjoin.lean

Proof steps:
state_before: F : Type u_1
inst✝⁵ : Field F
E : Type u_2
inst✝⁴ : Field E
inst✝³ : Algebra F E
S : Set E
α : E
K : Type u_3
L : Type u_4
inst✝² : Field K
inst✝¹ : Field L
inst✝ : Algebra K L
E1 E2 : IntermediateField K L
ι : Type u_5
t : ι → IntermediateField K L
dir : Directed (fun x x_1 => x ≤ x_1) t
⊢ (iSup t).toSubalgebra = ⨆ i, (t i).toSubalgebra
state_after: case inl
F : Type u_1
inst✝⁵ : Field F
E : Type u_2
inst✝⁴ : Field E
inst✝³ : Algebra F E
S : Set E
α : E
K : Type u_3
L : Type u_4
inst✝² : Field K
inst✝¹ : Field L
inst✝ : Algebra K L
E1 E2 : IntermediateField K L
ι : Type u_5
t : ι → IntermediateField K L
dir : Directed (fun x x_1 => x ≤ x_1) t
h✝ : IsEmpty ι
⊢ (iSup t).toSubalgebra = ⨆ i, (t i).toSubalgebra

case inr
F : Type u_1
inst✝⁵ : Field F
E : Type u_2
inst✝⁴ : Field E
inst✝³ : Algebra F E
S : Set E
α : E
K : Type u_3
L : Type u_4
inst✝² : Field K
inst✝¹ : Field L
inst✝ : Algebra K L
E1 E2 : IntermediateField K L
ι : Type u_5
t : ι → IntermediateField K L
dir : Directed (fun x x_1 => x ≤ x_1) t
h✝ : Nonempty ι
⊢ (iSup t).toSubalgebra = ⨆ i, (t i).toSubalgebra
tactic: cases isEmpty_or_nonempty ι
Theorem: MeasureTheory.unifTight_const
File: Mathlib/MeasureTheory/Function/UnifTight.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
f g✝ : ι → α → β
p : ℝ≥0∞
g : α → β
hp_ne_top : p ≠ ⊤
hg : Memℒp g p μ
⊢ UnifTight (fun x => g) p μ
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
f g✝ : ι → α → β
p : ℝ≥0∞
g : α → β
hp_ne_top : p ≠ ⊤
hg : Memℒp g p μ
ε : ℝ≥0
hε : 0 < ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator ((fun x => g) i)) p μ ≤ ↑ε
tactic: intro ε hε
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
f g✝ : ι → α → β
p : ℝ≥0∞
g : α → β
hp_ne_top : p ≠ ⊤
hg : Memℒp g p μ
ε : ℝ≥0
hε : 0 < ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator ((fun x => g) i)) p μ ≤ ↑ε
state_after: case pos
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
f g✝ : ι → α → β
p : ℝ≥0∞
g : α → β
hp_ne_top : p ≠ ⊤
hg : Memℒp g p μ
ε : ℝ≥0
hε : 0 < ε
hε_top : ↑ε = ⊤
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator ((fun x => g) i)) p μ ≤ ↑ε

case neg
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
f g✝ : ι → α → β
p : ℝ≥0∞
g : α → β
hp_ne_top : p ≠ ⊤
hg : Memℒp g p μ
ε : ℝ≥0
hε : 0 < ε
hε_top : ¬↑ε = ⊤
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator ((fun x => g) i)) p μ ≤ ↑ε
tactic: by_cases hε_top : ε = ∞
state_before: case neg
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
f g✝ : ι → α → β
p : ℝ≥0∞
g : α → β
hp_ne_top : p ≠ ⊤
hg : Memℒp g p μ
ε : ℝ≥0
hε : 0 < ε
hε_top : ¬↑ε = ⊤
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator ((fun x => g) i)) p μ ≤ ↑ε
state_after: case neg.intro.intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
f g✝ : ι → α → β
p : ℝ≥0∞
g : α → β
hp_ne_top : p ≠ ⊤
hg : Memℒp g p μ
ε : ℝ≥0
hε : 0 < ε
hε_top : ¬↑ε = ⊤
s : Set α
left✝ : MeasurableSet s
hμs : μ s < ⊤
hgε : eLpNorm (sᶜ.indicator g) p μ < ↑ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator ((fun x => g) i)) p μ ≤ ↑ε
tactic: obtain ⟨s, _, hμs, hgε⟩ := hg.exists_eLpNorm_indicator_compl_lt hp_ne_top (coe_ne_zero.mpr hε.ne')
state_before: case neg.intro.intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
f g✝ : ι → α → β
p : ℝ≥0∞
g : α → β
hp_ne_top : p ≠ ⊤
hg : Memℒp g p μ
ε : ℝ≥0
hε : 0 < ε
hε_top : ¬↑ε = ⊤
s : Set α
left✝ : MeasurableSet s
hμs : μ s < ⊤
hgε : eLpNorm (sᶜ.indicator g) p μ < ↑ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator ((fun x => g) i)) p μ ≤ ↑ε
state_after: no goals
tactic: exact ⟨s, ne_of_lt hμs, fun _ => hgε.le⟩