ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: MeasureTheory.continuous_of_dominated
File: Mathlib/MeasureTheory/Integral/Bochner.lean

Proof steps:
state_before: α : Type u_1
E : Type u_2
F✝ : Type u_3
𝕜 : Type u_4
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace ℝ E
hE : CompleteSpace E
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : SMulCommClass ℝ 𝕜 E
inst✝⁶ : NormedAddCommGroup F✝
inst✝⁵ : NormedSpace ℝ F✝
inst✝⁴ : CompleteSpace F✝
G : Type u_5
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace ℝ G
f g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_6
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
F : X → α → G
bound : α → ℝ
hF_meas : ∀ (x : X), AEStronglyMeasurable (F x) μ
h_bound : ∀ (x : X), ∀ᵐ (a : α) ∂μ, ‖F x a‖ ≤ bound a
bound_integrable : Integrable bound μ
h_cont : ∀ᵐ (a : α) ∂μ, Continuous fun x => F x a
⊢ Continuous fun x => ∫ (a : α), F x a ∂μ
state_after: case pos
α : Type u_1
E : Type u_2
F✝ : Type u_3
𝕜 : Type u_4
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace ℝ E
hE : CompleteSpace E
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : SMulCommClass ℝ 𝕜 E
inst✝⁶ : NormedAddCommGroup F✝
inst✝⁵ : NormedSpace ℝ F✝
inst✝⁴ : CompleteSpace F✝
G : Type u_5
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace ℝ G
f g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_6
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
F : X → α → G
bound : α → ℝ
hF_meas : ∀ (x : X), AEStronglyMeasurable (F x) μ
h_bound : ∀ (x : X), ∀ᵐ (a : α) ∂μ, ‖F x a‖ ≤ bound a
bound_integrable : Integrable bound μ
h_cont : ∀ᵐ (a : α) ∂μ, Continuous fun x => F x a
hG : CompleteSpace G
⊢ Continuous fun x => ∫ (a : α), F x a ∂μ

case neg
α : Type u_1
E : Type u_2
F✝ : Type u_3
𝕜 : Type u_4
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace ℝ E
hE : CompleteSpace E
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : SMulCommClass ℝ 𝕜 E
inst✝⁶ : NormedAddCommGroup F✝
inst✝⁵ : NormedSpace ℝ F✝
inst✝⁴ : CompleteSpace F✝
G : Type u_5
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace ℝ G
f g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_6
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
F : X → α → G
bound : α → ℝ
hF_meas : ∀ (x : X), AEStronglyMeasurable (F x) μ
h_bound : ∀ (x : X), ∀ᵐ (a : α) ∂μ, ‖F x a‖ ≤ bound a
bound_integrable : Integrable bound μ
h_cont : ∀ᵐ (a : α) ∂μ, Continuous fun x => F x a
hG : ¬CompleteSpace G
⊢ Continuous fun x => ∫ (a : α), F x a ∂μ
tactic: by_cases hG : CompleteSpace G
Theorem: Nat.le_succ_iff
File: Mathlib/Data/Nat/Defs.lean

Proof steps:
state_before: a b c d m n k : ℕ
p q : ℕ → Prop
⊢ m ≤ n.succ ↔ m ≤ n ∨ m = n.succ
state_after: a b c d m n k : ℕ
p q : ℕ → Prop
⊢ m ≤ n ∨ m = n.succ → m ≤ n.succ
tactic: refine ⟨fun hmn ↦ (Nat.lt_or_eq_of_le hmn).imp_left le_of_lt_succ, ?_⟩
state_before: a b c d m n k : ℕ
p q : ℕ → Prop
⊢ m ≤ n ∨ m = n.succ → m ≤ n.succ
state_after: case inl
a b c d m n k : ℕ
p q : ℕ → Prop
hmn : m ≤ n
⊢ m ≤ n.succ

case inr
a b c d n k : ℕ
p q : ℕ → Prop
⊢ n.succ ≤ n.succ
tactic: rintro (hmn | rfl)
Theorem: tangentBundleCore_coordChange_model_space
File: Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean

Proof steps:
state_before: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedSpace 𝕜 E'
H : Type u_4
inst✝⁹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁸ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝⁷ : TopologicalSpace M
inst✝⁶ : ChartedSpace H M
inst✝⁵ : SmoothManifoldWithCorners I M
M' : Type u_7
inst✝⁴ : TopologicalSpace M'
inst✝³ : ChartedSpace H' M'
inst✝² : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
x x' z : H
⊢ (tangentBundleCore I H).coordChange (achart H x) (achart H x') z = ContinuousLinearMap.id 𝕜 E
state_after: case h
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedSpace 𝕜 E'
H : Type u_4
inst✝⁹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁸ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝⁷ : TopologicalSpace M
inst✝⁶ : ChartedSpace H M
inst✝⁵ : SmoothManifoldWithCorners I M
M' : Type u_7
inst✝⁴ : TopologicalSpace M'
inst✝³ : ChartedSpace H' M'
inst✝² : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
x x' z : H
v : E
⊢ ((tangentBundleCore I H).coordChange (achart H x) (achart H x') z) v = (ContinuousLinearMap.id 𝕜 E) v
tactic: ext v
state_before: case h
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedSpace 𝕜 E'
H : Type u_4
inst✝⁹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁸ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝⁷ : TopologicalSpace M
inst✝⁶ : ChartedSpace H M
inst✝⁵ : SmoothManifoldWithCorners I M
M' : Type u_7
inst✝⁴ : TopologicalSpace M'
inst✝³ : ChartedSpace H' M'
inst✝² : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
x x' z : H
v : E
⊢ ((tangentBundleCore I H).coordChange (achart H x) (achart H x') z) v = (ContinuousLinearMap.id 𝕜 E) v
state_after: no goals
tactic: exact (tangentBundleCore I H).coordChange_self (achart _ z) z (mem_univ _) v
Theorem: Profinite.finiteCoproduct.ι_desc_apply
File: Mathlib/Topology/Category/Profinite/Limits.lean

Proof steps:
state_before: α : Type w
inst✝ : Finite α
X : α → Profinite
B : Profinite
π : (a : α) → X a ⟶ B
a : α
⊢ ∀ (x : (forget Profinite).obj (X a)), (desc X π) ((ι X a) x) = (π a) x
state_after: α : Type w
inst✝ : Finite α
X : α → Profinite
B : Profinite
π : (a : α) → X a ⟶ B
a : α
x : (forget Profinite).obj (X a)
⊢ (desc X π) ((ι X a) x) = (π a) x
tactic: intro x
state_before: α : Type w
inst✝ : Finite α
X : α → Profinite
B : Profinite
π : (a : α) → X a ⟶ B
a : α
x : (forget Profinite).obj (X a)
⊢ (desc X π) ((ι X a) x) = (π a) x
state_after: α : Type w
inst✝ : Finite α
X : α → Profinite
B : Profinite
π : (a : α) → X a ⟶ B
a : α
x : (forget Profinite).obj (X a)
⊢ (ι X a ≫ desc X π) x = (π a) x
tactic: change (ι X a ≫ desc X π) _ = _
state_before: α : Type w
inst✝ : Finite α
X : α → Profinite
B : Profinite
π : (a : α) → X a ⟶ B
a : α
x : (forget Profinite).obj (X a)
⊢ (ι X a ≫ desc X π) x = (π a) x
state_after: no goals
tactic: simp only [ι_desc]
Theorem: Nat.factorization_le_factorization_mul_right
File: Mathlib/Data/Nat/Factorization/Basic.lean

Proof steps:
state_before: a✝ b✝ m n p a b : ℕ
ha : a ≠ 0
⊢ b.factorization ≤ (a * b).factorization
state_after: a✝ b✝ m n p a b : ℕ
ha : a ≠ 0
⊢ b.factorization ≤ (b * a).factorization
tactic: rw [mul_comm]
state_before: a✝ b✝ m n p a b : ℕ
ha : a ≠ 0
⊢ b.factorization ≤ (b * a).factorization
state_after: no goals
tactic: apply factorization_le_factorization_mul_left ha
Theorem: ProbabilityTheory.Kernel.lintegral_deterministic'
File: Mathlib/Probability/Kernel/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : Kernel α β
f : β → ℝ≥0∞
g : α → β
a : α
hg : Measurable g
hf : Measurable f
⊢ ∫⁻ (x : β), f x ∂(deterministic g hg) a = f (g a)
state_after: no goals
tactic: rw [deterministic_apply, lintegral_dirac' _ hf]
Theorem: Complex.div_natCast_im
File: Mathlib/Data/Complex/Basic.lean

Proof steps:
state_before: z : ℂ
n : ℕ
⊢ (z / ↑n).im = z.im / ↑n
state_after: no goals
tactic: rw [div_natCast]
Theorem: Polynomial.natDegree_multiset_prod
File: Mathlib/Algebra/Polynomial/BigOperators.lean

Proof steps:
state_before: R : Type u
ι : Type w
s : Finset ι
inst✝¹ : CommSemiring R
inst✝ : NoZeroDivisors R
f : ι → R[X]
t : Multiset R[X]
h : 0 ∉ t
⊢ t.prod.natDegree = (Multiset.map natDegree t).sum
state_after: R : Type u
ι : Type w
s : Finset ι
inst✝¹ : CommSemiring R
inst✝ : NoZeroDivisors R
f : ι → R[X]
t : Multiset R[X]
h : 0 ∉ t
a✝ : Nontrivial R
⊢ t.prod.natDegree = (Multiset.map natDegree t).sum
tactic: nontriviality R
state_before: R : Type u
ι : Type w
s : Finset ι
inst✝¹ : CommSemiring R
inst✝ : NoZeroDivisors R
f : ι → R[X]
t : Multiset R[X]
h : 0 ∉ t
a✝ : Nontrivial R
⊢ t.prod.natDegree = (Multiset.map natDegree t).sum
state_after: case h
R : Type u
ι : Type w
s : Finset ι
inst✝¹ : CommSemiring R
inst✝ : NoZeroDivisors R
f : ι → R[X]
t : Multiset R[X]
h : 0 ∉ t
a✝ : Nontrivial R
⊢ (Multiset.map (fun f => f.leadingCoeff) t).prod ≠ 0
tactic: rw [natDegree_multiset_prod']
state_before: case h
R : Type u
ι : Type w
s : Finset ι
inst✝¹ : CommSemiring R
inst✝ : NoZeroDivisors R
f : ι → R[X]
t : Multiset R[X]
h : 0 ∉ t
a✝ : Nontrivial R
⊢ (Multiset.map (fun f => f.leadingCoeff) t).prod ≠ 0
state_after: case h
R : Type u
ι : Type w
s : Finset ι
inst✝¹ : CommSemiring R
inst✝ : NoZeroDivisors R
f : ι → R[X]
t : Multiset R[X]
h : 0 ∉ t
a✝ : Nontrivial R
⊢ ¬∃ a ∈ t, a = 0
tactic: simp_rw [Ne, Multiset.prod_eq_zero_iff, Multiset.mem_map, leadingCoeff_eq_zero]
state_before: case h
R : Type u
ι : Type w
s : Finset ι
inst✝¹ : CommSemiring R
inst✝ : NoZeroDivisors R
f : ι → R[X]
t : Multiset R[X]
h : 0 ∉ t
a✝ : Nontrivial R
⊢ ¬∃ a ∈ t, a = 0
state_after: case h.intro.intro
R : Type u
ι : Type w
s : Finset ι
inst✝¹ : CommSemiring R
inst✝ : NoZeroDivisors R
f : ι → R[X]
t : Multiset R[X]
h✝ : 0 ∉ t
a✝ : Nontrivial R
h : 0 ∈ t
⊢ False
tactic: rintro ⟨_, h, rfl⟩
state_before: case h.intro.intro
R : Type u
ι : Type w
s : Finset ι
inst✝¹ : CommSemiring R
inst✝ : NoZeroDivisors R
f : ι → R[X]
t : Multiset R[X]
h✝ : 0 ∉ t
a✝ : Nontrivial R
h : 0 ∈ t
⊢ False
state_after: no goals
tactic: contradiction
Theorem: Topology.WithLowerSet.toLowerSet_specializes_toLowerSet
File: Mathlib/Topology/Order/UpperLowerSetTopology.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
a b : α
⊢ toLowerSet a ⤳ toLowerSet b ↔ a ≤ b
state_after: no goals
tactic: simp_rw [specializes_iff_closure_subset, IsLowerSet.closure_singleton, Ici_subset_Ici,
    toLowerSet_le_iff]
Theorem: EisensteinSeries.summable_norm_eisSummand
File: Mathlib/NumberTheory/ModularForms/EisensteinSeries/IsBoundedAtImInfty.lean

Proof steps:
state_before: k : ℤ
hk : 3 ≤ k
z : ℍ
⊢ Summable fun x => ‖eisSummand k x z‖
state_after: k : ℤ
hk : 3 ≤ k
z : ℍ
hk' : 2 < ↑k
⊢ Summable fun x => ‖eisSummand k x z‖
tactic: have hk' : (2 : ℝ) < k := by norm_cast
state_before: k : ℤ
hk : 3 ≤ k
z : ℍ
hk' : 2 < ↑k
⊢ Summable fun x => ‖eisSummand k x z‖
state_after: k : ℤ
hk : 3 ≤ k
z : ℍ
hk' : 2 < ↑k
⊢ ∀ (b : Fin 2 → ℤ), Complex.abs (eisSummand k b z) ≤ r z ^ (-↑k) * ‖b‖ ^ (-↑k)
tactic: apply ((summable_one_div_norm_rpow hk').mul_left <| r z ^ (-k : ℝ)).of_nonneg_of_le
    (fun _ => Complex.abs.nonneg _)
state_before: k : ℤ
hk : 3 ≤ k
z : ℍ
hk' : 2 < ↑k
⊢ ∀ (b : Fin 2 → ℤ), Complex.abs (eisSummand k b z) ≤ r z ^ (-↑k) * ‖b‖ ^ (-↑k)
state_after: k : ℤ
hk : 3 ≤ k
z : ℍ
hk' : 2 < ↑k
b : Fin 2 → ℤ
⊢ Complex.abs (eisSummand k b z) ≤ r z ^ (-↑k) * ‖b‖ ^ (-↑k)
tactic: intro b
state_before: k : ℤ
hk : 3 ≤ k
z : ℍ
hk' : 2 < ↑k
b : Fin 2 → ℤ
⊢ Complex.abs (eisSummand k b z) ≤ r z ^ (-↑k) * ‖b‖ ^ (-↑k)
state_after: k : ℤ
hk : 3 ≤ k
z : ℍ
hk' : 2 < ↑k
b : Fin 2 → ℤ
⊢ Complex.abs (↑(b 0) * ↑z + ↑(b 1)) ^ (-k) ≤ r z ^ (-↑k) * ‖b‖ ^ (-↑k)
tactic: simp only [eisSummand, map_zpow₀]
state_before: k : ℤ
hk : 3 ≤ k
z : ℍ
hk' : 2 < ↑k
b : Fin 2 → ℤ
⊢ Complex.abs (↑(b 0) * ↑z + ↑(b 1)) ^ (-k) ≤ r z ^ (-↑k) * ‖b‖ ^ (-↑k)
state_after: no goals
tactic: exact_mod_cast summand_bound z (show 0 ≤ (k : ℝ) by positivity) b
Theorem: MeasureTheory.SimpleFunc.coe_restrict
File: Mathlib/MeasureTheory/Function/SimpleFunc.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝¹ : MeasurableSpace α
K : Type u_5
inst✝ : Zero β
f : α →ₛ β
s : Set α
hs : MeasurableSet s
⊢ ↑(f.restrict s) = s.indicator ↑f
state_after: no goals
tactic: rw [restrict, dif_pos hs, coe_piecewise, coe_zero, piecewise_eq_indicator]
Theorem: Polynomial.induction_on'
File: Mathlib/Algebra/Polynomial/Induction.lean

Proof steps:
state_before: R : Type u
S : Type v
T : Type w
ι : Type x
k : Type y
A : Type z
a✝ b : R
m n✝ : ℕ
inst✝ : Semiring R
p✝ q r : R[X]
M : R[X] → Prop
p : R[X]
h_add : ∀ (p q : R[X]), M p → M q → M (p + q)
h_monomial : ∀ (n : ℕ) (a : R), M ((monomial n) a)
n : ℕ
a : R
_h : M (C a * X ^ n)
⊢ M (C a * X ^ (n + 1))
state_after: R : Type u
S : Type v
T : Type w
ι : Type x
k : Type y
A : Type z
a✝ b : R
m n✝ : ℕ
inst✝ : Semiring R
p✝ q r : R[X]
M : R[X] → Prop
p : R[X]
h_add : ∀ (p q : R[X]), M p → M q → M (p + q)
h_monomial : ∀ (n : ℕ) (a : R), M ((monomial n) a)
n : ℕ
a : R
_h : M (C a * X ^ n)
⊢ M ((monomial (n + 1)) a)
tactic: rw [C_mul_X_pow_eq_monomial]
state_before: R : Type u
S : Type v
T : Type w
ι : Type x
k : Type y
A : Type z
a✝ b : R
m n✝ : ℕ
inst✝ : Semiring R
p✝ q r : R[X]
M : R[X] → Prop
p : R[X]
h_add : ∀ (p q : R[X]), M p → M q → M (p + q)
h_monomial : ∀ (n : ℕ) (a : R), M ((monomial n) a)
n : ℕ
a : R
_h : M (C a * X ^ n)
⊢ M ((monomial (n + 1)) a)
state_after: no goals
tactic: exact h_monomial _ _
Theorem: IsometryEquiv.preimage_sphere
File: Mathlib/Topology/MetricSpace/Isometry.lean

Proof steps:
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
h✝ h : α ≃ᵢ β
x : β
r : ℝ
⊢ ⇑h ⁻¹' Metric.sphere x r = Metric.sphere (h.symm x) r
state_after: no goals
tactic: rw [← h.isometry.preimage_sphere (h.symm x) r, h.apply_symm_apply]
Theorem: CategoryTheory.Limits.Concrete.multiequalizer_ext
File: Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean

Proof steps:
state_before: C : Type u
inst✝³ : Category.{v, u} C
inst✝² : ConcreteCategory C
I : MulticospanIndex C
inst✝¹ : HasMultiequalizer I
inst✝ : PreservesLimit I.multicospan (forget C)
x y : (forget C).obj (multiequalizer I)
h : ∀ (t : I.L), (Multiequalizer.ι I t) x = (Multiequalizer.ι I t) y
⊢ x = y
state_after: case a
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : ConcreteCategory C
I : MulticospanIndex C
inst✝¹ : HasMultiequalizer I
inst✝ : PreservesLimit I.multicospan (forget C)
x y : (forget C).obj (multiequalizer I)
h : ∀ (t : I.L), (Multiequalizer.ι I t) x = (Multiequalizer.ι I t) y
⊢ ∀ (j : WalkingMulticospan I.fstTo I.sndTo), (limit.π I.multicospan j) x = (limit.π I.multicospan j) y
tactic: apply Concrete.limit_ext
state_before: case a
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : ConcreteCategory C
I : MulticospanIndex C
inst✝¹ : HasMultiequalizer I
inst✝ : PreservesLimit I.multicospan (forget C)
x y : (forget C).obj (multiequalizer I)
h : ∀ (t : I.L), (Multiequalizer.ι I t) x = (Multiequalizer.ι I t) y
⊢ ∀ (j : WalkingMulticospan I.fstTo I.sndTo), (limit.π I.multicospan j) x = (limit.π I.multicospan j) y
state_after: case a.left
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : ConcreteCategory C
I : MulticospanIndex C
inst✝¹ : HasMultiequalizer I
inst✝ : PreservesLimit I.multicospan (forget C)
x y : (forget C).obj (multiequalizer I)
h : ∀ (t : I.L), (Multiequalizer.ι I t) x = (Multiequalizer.ι I t) y
a : I.L
⊢ (limit.π I.multicospan (WalkingMulticospan.left a)) x = (limit.π I.multicospan (WalkingMulticospan.left a)) y

case a.right
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : ConcreteCategory C
I : MulticospanIndex C
inst✝¹ : HasMultiequalizer I
inst✝ : PreservesLimit I.multicospan (forget C)
x y : (forget C).obj (multiequalizer I)
h : ∀ (t : I.L), (Multiequalizer.ι I t) x = (Multiequalizer.ι I t) y
b : I.R
⊢ (limit.π I.multicospan (WalkingMulticospan.right b)) x = (limit.π I.multicospan (WalkingMulticospan.right b)) y
tactic: rintro (a | b)
Theorem: Ordinal.IsNormal.bsup_eq
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
f : Ordinal.{u} → Ordinal.{max u v}
H : IsNormal f
o : Ordinal.{u}
h : o.IsLimit
⊢ (o.bsup fun x x_1 => f x) = f o
state_after: no goals
tactic: rw [← IsNormal.bsup.{u, u, v} H (fun x _ => x) h.1, bsup_id_limit h.2]
Theorem: Set.SurjOn.comp_left
File: Mathlib/Data/Set/Function.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
π : α → Type u_5
s s₁ s₂ : Set α
t t₁ t₂ : Set β
p : Set γ
f f₁ f₂ f₃ : α → β
g✝ g₁ g₂ : β → γ
f' f₁' f₂' : β → α
g' : γ → β
a : α
b : β
hf : SurjOn f s t
g : β → γ
⊢ SurjOn (g ∘ f) s (g '' t)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
π : α → Type u_5
s s₁ s₂ : Set α
t t₁ t₂ : Set β
p : Set γ
f f₁ f₂ f₃ : α → β
g✝ g₁ g₂ : β → γ
f' f₁' f₂' : β → α
g' : γ → β
a : α
b : β
hf : SurjOn f s t
g : β → γ
⊢ g '' t ⊆ g '' (f '' s)
tactic: rw [SurjOn, image_comp g f]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
π : α → Type u_5
s s₁ s₂ : Set α
t t₁ t₂ : Set β
p : Set γ
f f₁ f₂ f₃ : α → β
g✝ g₁ g₂ : β → γ
f' f₁' f₂' : β → α
g' : γ → β
a : α
b : β
hf : SurjOn f s t
g : β → γ
⊢ g '' t ⊆ g '' (f '' s)
state_after: no goals
tactic: exact image_subset _ hf
Theorem: MeasureTheory.OuterMeasure.isCaratheodory_compl_iff
File: Mathlib/MeasureTheory/OuterMeasure/Caratheodory.lean

Proof steps:
state_before: α : Type u
m : OuterMeasure α
s s₁ s₂ : Set α
h : m.IsCaratheodory sᶜ
⊢ m.IsCaratheodory s
state_after: no goals
tactic: simpa using isCaratheodory_compl m h
Theorem: MeasureTheory.lintegral_mul_right_eq_self
File: Mathlib/MeasureTheory/Group/LIntegral.lean

Proof steps:
state_before: G : Type u_1
inst✝³ : MeasurableSpace G
μ : Measure G
g✝ : G
inst✝² : Group G
inst✝¹ : MeasurableMul G
inst✝ : μ.IsMulRightInvariant
f : G → ℝ≥0∞
g : G
⊢ ∫⁻ (x : G), f (x * g) ∂μ = ∫⁻ (x : G), f x ∂μ
state_after: case h.e'_3
G : Type u_1
inst✝³ : MeasurableSpace G
μ : Measure G
g✝ : G
inst✝² : Group G
inst✝¹ : MeasurableMul G
inst✝ : μ.IsMulRightInvariant
f : G → ℝ≥0∞
g : G
⊢ ∫⁻ (x : G), f x ∂μ = ∫⁻ (a : G), f a ∂map (⇑(MeasurableEquiv.mulRight g)) μ
tactic: convert (lintegral_map_equiv f <| MeasurableEquiv.mulRight g).symm using 1
state_before: case h.e'_3
G : Type u_1
inst✝³ : MeasurableSpace G
μ : Measure G
g✝ : G
inst✝² : Group G
inst✝¹ : MeasurableMul G
inst✝ : μ.IsMulRightInvariant
f : G → ℝ≥0∞
g : G
⊢ ∫⁻ (x : G), f x ∂μ = ∫⁻ (a : G), f a ∂map (⇑(MeasurableEquiv.mulRight g)) μ
state_after: no goals
tactic: simp [map_mul_right_eq_self μ g]
Theorem: CantorScheme.map_mem
File: Mathlib/Topology/MetricSpace/CantorScheme.lean

Proof steps:
state_before: β : Type u_1
α : Type u_2
A : List β → Set α
x : ↑(inducedMap A).fst
n : ℕ
⊢ (inducedMap A).snd x ∈ A (res (↑x) n)
state_after: β : Type u_1
α : Type u_2
A : List β → Set α
x : ↑(inducedMap A).fst
n : ℕ
this : Set.Nonempty.some ⋯ ∈ ⋂ n, A (res (↑x) n)
⊢ (inducedMap A).snd x ∈ A (res (↑x) n)
tactic: have := x.property.some_mem
state_before: β : Type u_1
α : Type u_2
A : List β → Set α
x : ↑(inducedMap A).fst
n : ℕ
this : Set.Nonempty.some ⋯ ∈ ⋂ n, A (res (↑x) n)
⊢ (inducedMap A).snd x ∈ A (res (↑x) n)
state_after: β : Type u_1
α : Type u_2
A : List β → Set α
x : ↑(inducedMap A).fst
n : ℕ
this : ∀ (i : ℕ), Set.Nonempty.some ⋯ ∈ A (res (↑x) i)
⊢ (inducedMap A).snd x ∈ A (res (↑x) n)
tactic: rw [mem_iInter] at this
state_before: β : Type u_1
α : Type u_2
A : List β → Set α
x : ↑(inducedMap A).fst
n : ℕ
this : ∀ (i : ℕ), Set.Nonempty.some ⋯ ∈ A (res (↑x) i)
⊢ (inducedMap A).snd x ∈ A (res (↑x) n)
state_after: no goals
tactic: exact this n
Theorem: HasFPowerSeriesOnBall.eventually_hasSum
File: Mathlib/Analysis/Analytic/Basic.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
hf : HasFPowerSeriesOnBall f p x r
⊢ ∀ᶠ (y : E) in 𝓝 0, HasSum (fun n => (p n) fun x => y) (f (x + y))
state_after: no goals
tactic: filter_upwards [EMetric.ball_mem_nhds (0 : E) hf.r_pos] using fun _ => hf.hasSum
Theorem: mem_comp_of_mem_ball
File: Mathlib/Topology/UniformSpace/Basic.lean

Proof steps:
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
inst✝ : UniformSpace α
V W : Set (β × β)
x y z : β
hV : SymmetricRel V
hx : x ∈ ball z V
hy : y ∈ ball z W
⊢ (x, y) ∈ V ○ W
state_after: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
inst✝ : UniformSpace α
V W : Set (β × β)
x y z : β
hV : SymmetricRel V
hx : z ∈ ball x V
hy : y ∈ ball z W
⊢ (x, y) ∈ V ○ W
tactic: rw [mem_ball_symmetry hV] at hx
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
inst✝ : UniformSpace α
V W : Set (β × β)
x y z : β
hV : SymmetricRel V
hx : z ∈ ball x V
hy : y ∈ ball z W
⊢ (x, y) ∈ V ○ W
state_after: no goals
tactic: exact ⟨z, hx, hy⟩
Theorem: HomologicalComplex.XIsoOfEq_inv_comp_d
File: Mathlib/Algebra/Homology/HomologicalComplex.lean

Proof steps:
state_before: ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : HasZeroMorphisms V
c : ComplexShape ι
K : HomologicalComplex V c
p₂ p₁ : ι
h : p₂ = p₁
p₃ : ι
⊢ (K.XIsoOfEq h).inv ≫ K.d p₂ p₃ = K.d p₁ p₃
state_after: ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : HasZeroMorphisms V
c : ComplexShape ι
K : HomologicalComplex V c
p₂ p₃ : ι
⊢ (K.XIsoOfEq ⋯).inv ≫ K.d p₂ p₃ = K.d p₂ p₃
tactic: subst h
state_before: ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : HasZeroMorphisms V
c : ComplexShape ι
K : HomologicalComplex V c
p₂ p₃ : ι
⊢ (K.XIsoOfEq ⋯).inv ≫ K.d p₂ p₃ = K.d p₂ p₃
state_after: no goals
tactic: simp
Theorem: Seminorm.closedBall_sup
File: Mathlib/Analysis/Seminorm.lean

Proof steps:
state_before: R : Type u_1
R' : Type u_2
𝕜 : Type u_3
𝕜₂ : Type u_4
𝕜₃ : Type u_5
𝕝 : Type u_6
E : Type u_7
E₂ : Type u_8
E₃ : Type u_9
F : Type u_10
G : Type u_11
ι : Type u_12
inst✝² : SeminormedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : SMul 𝕜 E
p✝ : Seminorm 𝕜 E
x y : E
r✝ : ℝ
p q : Seminorm 𝕜 E
e : E
r : ℝ
⊢ (p ⊔ q).closedBall e r = p.closedBall e r ∩ q.closedBall e r
state_after: no goals
tactic: simp_rw [closedBall, ← Set.setOf_and, coe_sup, Pi.sup_apply, sup_le_iff]
Theorem: _private.Mathlib.NumberTheory.Cyclotomic.Three.0.IsCyclotomicExtension.Rat.Three.lambda_sq
File: Mathlib/NumberTheory/Cyclotomic/Three.lean

Proof steps:
state_before: K : Type u_1
inst✝² : Field K
inst✝¹ : NumberField K
inst✝ : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
u : (𝓞 K)ˣ
⊢ λ ^ 2 = -3 * ↑η
state_after: case h
K : Type u_1
inst✝² : Field K
inst✝¹ : NumberField K
inst✝ : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
u : (𝓞 K)ˣ
⊢ ↑(λ ^ 2) = ↑(-3 * ↑η)
tactic: ext
state_before: case h
K : Type u_1
inst✝² : Field K
inst✝¹ : NumberField K
inst✝ : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
u : (𝓞 K)ˣ
⊢ ↑(λ ^ 2) = ↑(-3 * ↑η)
state_after: no goals
tactic: calc (λ ^ 2 : K) = η ^ 2 + η + 1 - 3 * η := by
        simp only [RingOfIntegers.map_mk, IsUnit.unit_spec]; ring
  _ = 0 - 3 * η := by simpa using hζ.isRoot_cyclotomic (by decide)
  _ = -3 * η := by ring
Theorem: CategoryTheory.Limits.Trident.IsLimit.homIso_symm_apply
File: Mathlib/CategoryTheory/Limits/Shapes/WideEqualizers.lean

Proof steps:
state_before: J : Type w
C : Type u
inst✝¹ : Category.{v, u} C
X Y : C
f : J → (X ⟶ Y)
inst✝ : Nonempty J
t : Trident f
ht : IsLimit t
Z : C
k : Z ⟶ t.pt
⊢ ∀ (j₁ j₂ : J), (k ≫ t.ι) ≫ f j₁ = (k ≫ t.ι) ≫ f j₂
state_after: no goals
tactic: simp
Theorem: derivWithin_congr_set
File: Mathlib/Analysis/Calculus/Deriv/Basic.lean

Proof steps:
state_before: 𝕜 : Type u
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type v
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type w
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
h : s =ᶠ[𝓝 x] t
⊢ derivWithin f s x = derivWithin f t x
state_after: no goals
tactic: simp only [derivWithin, fderivWithin_congr_set h]