ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: Int.testBit_land
File: Mathlib/Data/Int/Bitwise.lean

Proof steps:
state_before: m n : ℤ
k : ℕ
⊢ (m.land n).testBit k = (m.testBit k && n.testBit k)
state_after: no goals
tactic: rw [← bitwise_and, testBit_bitwise]
Theorem: PowerSeries.constantCoeff_invOfUnit
File: Mathlib/RingTheory/PowerSeries/Inverse.lean

Proof steps:
state_before: R : Type u_1
inst✝ : Ring R
φ : R⟦X⟧
u : Rˣ
⊢ (constantCoeff R) (φ.invOfUnit u) = ↑u⁻¹
state_after: no goals
tactic: rw [← coeff_zero_eq_constantCoeff_apply, coeff_invOfUnit, if_pos rfl]
Theorem: PrimeSpectrum.localization_away_comap_range
File: Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean

Proof steps:
state_before: R : Type u
S✝ : Type v
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S✝
S : Type v
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
r : R
inst✝ : IsLocalization.Away r S
⊢ Set.range ⇑(comap (algebraMap R S)) = ↑(basicOpen r)
state_after: R : Type u
S✝ : Type v
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S✝
S : Type v
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
r : R
inst✝ : IsLocalization.Away r S
⊢ {p | Disjoint ↑(Submonoid.powers r) ↑p.asIdeal} = ↑(basicOpen r)
tactic: rw [localization_comap_range S (Submonoid.powers r)]
state_before: R : Type u
S✝ : Type v
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S✝
S : Type v
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
r : R
inst✝ : IsLocalization.Away r S
⊢ {p | Disjoint ↑(Submonoid.powers r) ↑p.asIdeal} = ↑(basicOpen r)
state_after: case h
R : Type u
S✝ : Type v
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S✝
S : Type v
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
r : R
inst✝ : IsLocalization.Away r S
x : PrimeSpectrum R
⊢ x ∈ {p | Disjoint ↑(Submonoid.powers r) ↑p.asIdeal} ↔ x ∈ ↑(basicOpen r)
tactic: ext x
state_before: case h
R : Type u
S✝ : Type v
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S✝
S : Type v
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
r : R
inst✝ : IsLocalization.Away r S
x : PrimeSpectrum R
⊢ x ∈ {p | Disjoint ↑(Submonoid.powers r) ↑p.asIdeal} ↔ x ∈ ↑(basicOpen r)
state_after: case h
R : Type u
S✝ : Type v
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S✝
S : Type v
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
r : R
inst✝ : IsLocalization.Away r S
x : PrimeSpectrum R
⊢ ↑(Submonoid.powers r) ⊓ ↑x.asIdeal ≤ ⊥ ↔ r ∉ x.asIdeal
tactic: simp only [mem_zeroLocus, basicOpen_eq_zeroLocus_compl, SetLike.mem_coe, Set.mem_setOf_eq,
    Set.singleton_subset_iff, Set.mem_compl_iff, disjoint_iff_inf_le]
state_before: case h
R : Type u
S✝ : Type v
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S✝
S : Type v
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
r : R
inst✝ : IsLocalization.Away r S
x : PrimeSpectrum R
⊢ ↑(Submonoid.powers r) ⊓ ↑x.asIdeal ≤ ⊥ ↔ r ∉ x.asIdeal
state_after: case h.mp
R : Type u
S✝ : Type v
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S✝
S : Type v
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
r : R
inst✝ : IsLocalization.Away r S
x : PrimeSpectrum R
⊢ ↑(Submonoid.powers r) ⊓ ↑x.asIdeal ≤ ⊥ → r ∉ x.asIdeal

case h.mpr
R : Type u
S✝ : Type v
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S✝
S : Type v
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
r : R
inst✝ : IsLocalization.Away r S
x : PrimeSpectrum R
⊢ r ∉ x.asIdeal → ↑(Submonoid.powers r) ⊓ ↑x.asIdeal ≤ ⊥
tactic: constructor
Theorem: Polynomial.eval₂RingHom_eval₂RingHom
File: Mathlib/Algebra/Polynomial/Bivariate.lean

Proof steps:
state_before: R : Type u_1
S : Type u_2
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : R →+* S
x y : S
⊢ eval₂RingHom (eval₂RingHom f x) y = (evalEvalRingHom x y).comp (mapRingHom (mapRingHom f))
state_after: no goals
tactic: ext <;> simp
Theorem: MeasureTheory.Measure.InnerRegular.innerRegularWRT_isClosed_isOpen
File: Mathlib/MeasureTheory/Measure/Regular.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝³ : MeasurableSpace α
inst✝² : TopologicalSpace α
μ : Measure α
U : Set α
ε : ℝ≥0∞
inst✝¹ : R1Space α
inst✝ : OpensMeasurableSpace α
h : μ.InnerRegular
⊢ μ.InnerRegularWRT IsClosed IsOpen
state_after: α : Type u_1
β : Type u_2
inst✝³ : MeasurableSpace α
inst✝² : TopologicalSpace α
μ : Measure α
U✝ : Set α
ε : ℝ≥0∞
inst✝¹ : R1Space α
inst✝ : OpensMeasurableSpace α
h : μ.InnerRegular
U : Set α
hU : IsOpen U
r : ℝ≥0∞
hr : r < μ U
⊢ ∃ K ⊆ U, IsClosed K ∧ r < μ K
tactic: intro U hU r hr
state_before: α : Type u_1
β : Type u_2
inst✝³ : MeasurableSpace α
inst✝² : TopologicalSpace α
μ : Measure α
U✝ : Set α
ε : ℝ≥0∞
inst✝¹ : R1Space α
inst✝ : OpensMeasurableSpace α
h : μ.InnerRegular
U : Set α
hU : IsOpen U
r : ℝ≥0∞
hr : r < μ U
⊢ ∃ K ⊆ U, IsClosed K ∧ r < μ K
state_after: case intro.intro.intro
α : Type u_1
β : Type u_2
inst✝³ : MeasurableSpace α
inst✝² : TopologicalSpace α
μ : Measure α
U✝ : Set α
ε : ℝ≥0∞
inst✝¹ : R1Space α
inst✝ : OpensMeasurableSpace α
h : μ.InnerRegular
U : Set α
hU : IsOpen U
r : ℝ≥0∞
hr : r < μ U
K : Set α
KU : K ⊆ U
K_comp : IsCompact K
hK : r < μ K
⊢ ∃ K ⊆ U, IsClosed K ∧ r < μ K
tactic: rcases h.innerRegular hU.measurableSet r hr with ⟨K, KU, K_comp, hK⟩
state_before: case intro.intro.intro
α : Type u_1
β : Type u_2
inst✝³ : MeasurableSpace α
inst✝² : TopologicalSpace α
μ : Measure α
U✝ : Set α
ε : ℝ≥0∞
inst✝¹ : R1Space α
inst✝ : OpensMeasurableSpace α
h : μ.InnerRegular
U : Set α
hU : IsOpen U
r : ℝ≥0∞
hr : r < μ U
K : Set α
KU : K ⊆ U
K_comp : IsCompact K
hK : r < μ K
⊢ ∃ K ⊆ U, IsClosed K ∧ r < μ K
state_after: no goals
tactic: exact ⟨closure K, K_comp.closure_subset_of_isOpen hU KU, isClosed_closure,
    hK.trans_le (measure_mono subset_closure)⟩
Theorem: Equiv.Perm.set_support_zpow_subset
File: Mathlib/GroupTheory/Perm/Support.lean

Proof steps:
state_before: α : Type u_1
p q : Perm α
n : ℤ
⊢ {x | (p ^ n) x ≠ x} ⊆ {x | p x ≠ x}
state_after: α : Type u_1
p q : Perm α
n : ℤ
x : α
⊢ x ∈ {x | (p ^ n) x ≠ x} → x ∈ {x | p x ≠ x}
tactic: intro x
state_before: α : Type u_1
p q : Perm α
n : ℤ
x : α
⊢ x ∈ {x | (p ^ n) x ≠ x} → x ∈ {x | p x ≠ x}
state_after: α : Type u_1
p q : Perm α
n : ℤ
x : α
⊢ ¬(p ^ n) x = x → ¬p x = x
tactic: simp only [Set.mem_setOf_eq, Ne]
state_before: α : Type u_1
p q : Perm α
n : ℤ
x : α
⊢ ¬(p ^ n) x = x → ¬p x = x
state_after: α : Type u_1
p q : Perm α
n : ℤ
x : α
hx : ¬(p ^ n) x = x
H : p x = x
⊢ False
tactic: intro hx H
state_before: α : Type u_1
p q : Perm α
n : ℤ
x : α
hx : ¬(p ^ n) x = x
H : p x = x
⊢ False
state_after: no goals
tactic: simp [zpow_apply_eq_self_of_apply_eq_self H] at hx
Theorem: WithBot.lt_coe_iff
File: Mathlib/Order/WithBot.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
a b : α
inst✝ : LT α
val✝ : α
⊢ ↑val✝ < ↑b ↔ ∀ (a : α), ↑val✝ = ↑a → a < b
state_after: no goals
tactic: simp
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
a b : α
inst✝ : LT α
⊢ ⊥ < ↑b ↔ ∀ (a : α), ⊥ = ↑a → a < b
state_after: no goals
tactic: simp [bot_lt_coe]
Theorem: CompHaus.effectiveEpi_tfae
File: Mathlib/Topology/Category/CompHaus/EffectiveEpi.lean

Proof steps:
state_before: B X : CompHaus
π : X ⟶ B
⊢ [EffectiveEpi π, Epi π, Function.Surjective ⇑π].TFAE
state_after: case tfae_1_to_2
B X : CompHaus
π : X ⟶ B
⊢ EffectiveEpi π → Epi π

B X : CompHaus
π : X ⟶ B
tfae_1_to_2 : EffectiveEpi π → Epi π
⊢ [EffectiveEpi π, Epi π, Function.Surjective ⇑π].TFAE
tactic: tfae_have 1 → 2
state_before: B X : CompHaus
π : X ⟶ B
tfae_1_to_2 : EffectiveEpi π → Epi π
⊢ [EffectiveEpi π, Epi π, Function.Surjective ⇑π].TFAE
state_after: case tfae_2_iff_3
B X : CompHaus
π : X ⟶ B
tfae_1_to_2 : EffectiveEpi π → Epi π
⊢ Epi π ↔ Function.Surjective ⇑π

B X : CompHaus
π : X ⟶ B
tfae_1_to_2 : EffectiveEpi π → Epi π
tfae_2_iff_3 : Epi π ↔ Function.Surjective ⇑π
⊢ [EffectiveEpi π, Epi π, Function.Surjective ⇑π].TFAE
tactic: tfae_have 2 ↔ 3
state_before: B X : CompHaus
π : X ⟶ B
tfae_1_to_2 : EffectiveEpi π → Epi π
tfae_2_iff_3 : Epi π ↔ Function.Surjective ⇑π
⊢ [EffectiveEpi π, Epi π, Function.Surjective ⇑π].TFAE
state_after: case tfae_3_to_1
B X : CompHaus
π : X ⟶ B
tfae_1_to_2 : EffectiveEpi π → Epi π
tfae_2_iff_3 : Epi π ↔ Function.Surjective ⇑π
⊢ Function.Surjective ⇑π → EffectiveEpi π

B X : CompHaus
π : X ⟶ B
tfae_1_to_2 : EffectiveEpi π → Epi π
tfae_2_iff_3 : Epi π ↔ Function.Surjective ⇑π
tfae_3_to_1 : Function.Surjective ⇑π → EffectiveEpi π
⊢ [EffectiveEpi π, Epi π, Function.Surjective ⇑π].TFAE
tactic: tfae_have 3 → 1
state_before: B X : CompHaus
π : X ⟶ B
tfae_1_to_2 : EffectiveEpi π → Epi π
tfae_2_iff_3 : Epi π ↔ Function.Surjective ⇑π
tfae_3_to_1 : Function.Surjective ⇑π → EffectiveEpi π
⊢ [EffectiveEpi π, Epi π, Function.Surjective ⇑π].TFAE
state_after: no goals
tactic: tfae_finish
Theorem: CategoryTheory.GradedObject.congr_mapMap
File: Mathlib/CategoryTheory/GradedObject.lean

Proof steps:
state_before: I : Type u_1
J : Type u_2
K : Type u_3
C : Type u_4
inst✝³ : Category.{u_5, u_4} C
X Y Z : GradedObject I C
φ : X ⟶ Y
e : X ≅ Y
ψ : Y ⟶ Z
p : I → J
j : J
inst✝² : X.HasMap p
inst✝¹ : Y.HasMap p
inst✝ : Z.HasMap p
φ₁ φ₂ : X ⟶ Y
h : φ₁ = φ₂
⊢ mapMap φ₁ p = mapMap φ₂ p
state_after: I : Type u_1
J : Type u_2
K : Type u_3
C : Type u_4
inst✝³ : Category.{u_5, u_4} C
X Y Z : GradedObject I C
φ : X ⟶ Y
e : X ≅ Y
ψ : Y ⟶ Z
p : I → J
j : J
inst✝² : X.HasMap p
inst✝¹ : Y.HasMap p
inst✝ : Z.HasMap p
φ₁ : X ⟶ Y
⊢ mapMap φ₁ p = mapMap φ₁ p
tactic: subst h
state_before: I : Type u_1
J : Type u_2
K : Type u_3
C : Type u_4
inst✝³ : Category.{u_5, u_4} C
X Y Z : GradedObject I C
φ : X ⟶ Y
e : X ≅ Y
ψ : Y ⟶ Z
p : I → J
j : J
inst✝² : X.HasMap p
inst✝¹ : Y.HasMap p
inst✝ : Z.HasMap p
φ₁ : X ⟶ Y
⊢ mapMap φ₁ p = mapMap φ₁ p
state_after: no goals
tactic: rfl
Theorem: Complex.equivRealProdAddHom_symm_apply_re
File: Mathlib/Data/Complex/Basic.lean

Proof steps:
state_before: ⊢ ∀ (x y : ℂ), __src✝.toFun (x + y) = __src✝.toFun x + __src✝.toFun y
state_after: no goals
tactic: simp
Theorem: HurwitzZeta.oddKernel_def
File: Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean

Proof steps:
state_before: a x : ℝ
⊢ ↑(oddKernel (↑a) x) = jacobiTheta₂'' (↑a) (I * ↑x)
state_after: no goals
tactic: rw [oddKernel, Function.Periodic.lift_coe, ← conj_eq_iff_re, jacobiTheta₂''_conj, map_mul,
    conj_I, neg_mul, neg_neg, conj_ofReal, conj_ofReal]
Theorem: intervalIntegral.integral_deriv_eq_sub'
File: Mathlib/MeasureTheory/Integral/FundThmCalculus.lean

Proof steps:
state_before: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
A : Type u_5
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
f✝¹ : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
inst✝ : CompleteSpace E
f✝ f' f : ℝ → E
hderiv : deriv f = f'
hdiff : ∀ x ∈ [[a, b]], DifferentiableAt ℝ f x
hcont : ContinuousOn f' [[a, b]]
⊢ ∫ (y : ℝ) in a..b, f' y = f b - f a
state_after: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
A : Type u_5
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
f✝¹ : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
inst✝ : CompleteSpace E
f✝ f' f : ℝ → E
hderiv : deriv f = f'
hdiff : ∀ x ∈ [[a, b]], DifferentiableAt ℝ f x
hcont : ContinuousOn f' [[a, b]]
⊢ IntervalIntegrable (deriv f) volume a b
tactic: rw [← hderiv, integral_deriv_eq_sub hdiff]
state_before: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
A : Type u_5
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
f✝¹ : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
inst✝ : CompleteSpace E
f✝ f' f : ℝ → E
hderiv : deriv f = f'
hdiff : ∀ x ∈ [[a, b]], DifferentiableAt ℝ f x
hcont : ContinuousOn f' [[a, b]]
⊢ IntervalIntegrable (deriv f) volume a b
state_after: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
A : Type u_5
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
f✝¹ : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
inst✝ : CompleteSpace E
f✝ f' f : ℝ → E
hderiv : deriv f = f'
hdiff : ∀ x ∈ [[a, b]], DifferentiableAt ℝ f x
hcont : ContinuousOn f' [[a, b]]
⊢ IntervalIntegrable f' volume a b
tactic: rw [hderiv]
state_before: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
A : Type u_5
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
f✝¹ : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
inst✝ : CompleteSpace E
f✝ f' f : ℝ → E
hderiv : deriv f = f'
hdiff : ∀ x ∈ [[a, b]], DifferentiableAt ℝ f x
hcont : ContinuousOn f' [[a, b]]
⊢ IntervalIntegrable f' volume a b
state_after: no goals
tactic: exact hcont.intervalIntegrable
Theorem: Set.einfsep_eq_iInf
File: Mathlib/Topology/MetricSpace/Infsep.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝ : EDist α
x y : α
s t : Set α
⊢ s.einfsep = ⨅ d, uncurry edist ↑d
state_after: α : Type u_1
β : Type u_2
inst✝ : EDist α
x y : α
s t : Set α
x✝ : ℝ≥0∞
⊢ x✝ ≤ s.einfsep ↔ x✝ ≤ ⨅ d, uncurry edist ↑d
tactic: refine eq_of_forall_le_iff fun _ => ?_
state_before: α : Type u_1
β : Type u_2
inst✝ : EDist α
x y : α
s t : Set α
x✝ : ℝ≥0∞
⊢ x✝ ≤ s.einfsep ↔ x✝ ≤ ⨅ d, uncurry edist ↑d
state_after: no goals
tactic: simp_rw [le_einfsep_iff, le_iInf_iff, imp_forall_iff, SetCoe.forall, mem_offDiag,
    Prod.forall, uncurry_apply_pair, and_imp]
Theorem: CategoryTheory.Functor.rightDerivedNatTrans_fac
File: Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean

Proof steps:
state_before: C : Type u_1
C' : Type ?u.38781
D : Type u_6
D' : Type ?u.38787
H : Type u_3
H' : Type ?u.38793
inst✝⁹ : Category.{u_4, u_1} C
inst✝⁸ : Category.{?u.38801, ?u.38781} C'
inst✝⁷ : Category.{u_5, u_6} D
inst✝⁶ : Category.{?u.38809, ?u.38787} D'
inst✝⁵ : Category.{u_2, u_3} H
inst✝⁴ : Category.{?u.38817, ?u.38793} H'
RF RF' RF'' : D ⥤ H
F F' F'' : C ⥤ H
e : F ≅ F'
L : C ⥤ D
α : F ⟶ L ⋙ RF
α' : F' ⟶ L ⋙ RF'
α'' : F'' ⟶ L ⋙ RF''
α'₂ : F ⟶ L ⋙ RF'
W : MorphismProperty C
inst✝³ : L.IsLocalization W
inst✝² : RF.IsRightDerivedFunctor α W
inst✝¹ : RF'.IsRightDerivedFunctor α' W
inst✝ : RF''.IsRightDerivedFunctor α'' W
τ : F ⟶ F'
⊢ α ≫ whiskerLeft L (RF.rightDerivedNatTrans RF' α α' W τ) = τ ≫ α'
state_after: C : Type u_1
C' : Type ?u.38781
D : Type u_6
D' : Type ?u.38787
H : Type u_3
H' : Type ?u.38793
inst✝⁹ : Category.{u_4, u_1} C
inst✝⁸ : Category.{?u.38801, ?u.38781} C'
inst✝⁷ : Category.{u_5, u_6} D
inst✝⁶ : Category.{?u.38809, ?u.38787} D'
inst✝⁵ : Category.{u_2, u_3} H
inst✝⁴ : Category.{?u.38817, ?u.38793} H'
RF RF' RF'' : D ⥤ H
F F' F'' : C ⥤ H
e : F ≅ F'
L : C ⥤ D
α : F ⟶ L ⋙ RF
α' : F' ⟶ L ⋙ RF'
α'' : F'' ⟶ L ⋙ RF''
α'₂ : F ⟶ L ⋙ RF'
W : MorphismProperty C
inst✝³ : L.IsLocalization W
inst✝² : RF.IsRightDerivedFunctor α W
inst✝¹ : RF'.IsRightDerivedFunctor α' W
inst✝ : RF''.IsRightDerivedFunctor α'' W
τ : F ⟶ F'
⊢ α ≫ whiskerLeft L (RF.rightDerivedDesc α W RF' (τ ≫ α')) = τ ≫ α'
tactic: dsimp only [rightDerivedNatTrans]
state_before: C : Type u_1
C' : Type ?u.38781
D : Type u_6
D' : Type ?u.38787
H : Type u_3
H' : Type ?u.38793
inst✝⁹ : Category.{u_4, u_1} C
inst✝⁸ : Category.{?u.38801, ?u.38781} C'
inst✝⁷ : Category.{u_5, u_6} D
inst✝⁶ : Category.{?u.38809, ?u.38787} D'
inst✝⁵ : Category.{u_2, u_3} H
inst✝⁴ : Category.{?u.38817, ?u.38793} H'
RF RF' RF'' : D ⥤ H
F F' F'' : C ⥤ H
e : F ≅ F'
L : C ⥤ D
α : F ⟶ L ⋙ RF
α' : F' ⟶ L ⋙ RF'
α'' : F'' ⟶ L ⋙ RF''
α'₂ : F ⟶ L ⋙ RF'
W : MorphismProperty C
inst✝³ : L.IsLocalization W
inst✝² : RF.IsRightDerivedFunctor α W
inst✝¹ : RF'.IsRightDerivedFunctor α' W
inst✝ : RF''.IsRightDerivedFunctor α'' W
τ : F ⟶ F'
⊢ α ≫ whiskerLeft L (RF.rightDerivedDesc α W RF' (τ ≫ α')) = τ ≫ α'
state_after: no goals
tactic: simp
Theorem: Sym2.fromRel_top
File: Mathlib/Data/Sym/Sym2.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
e : Sym2 α
f : α → β
r : α → α → Prop
⊢ fromRel ⋯ = Set.univ
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
e : Sym2 α
f : α → β
r : α → α → Prop
⊢ ∀ (e : Sym2 α), e ∈ fromRel ⋯
tactic: apply Set.eq_univ_of_forall fun e => _
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
e : Sym2 α
f : α → β
r : α → α → Prop
⊢ ∀ (e : Sym2 α), e ∈ fromRel ⋯
state_after: case h
α : Type u_1
β : Type u_2
γ : Type u_3
e : Sym2 α
f : α → β
r : α → α → Prop
⊢ ∀ (x y : α), s(x, y) ∈ fromRel ⋯
tactic: apply Sym2.ind
state_before: case h
α : Type u_1
β : Type u_2
γ : Type u_3
e : Sym2 α
f : α → β
r : α → α → Prop
⊢ ∀ (x y : α), s(x, y) ∈ fromRel ⋯
state_after: no goals
tactic: simp [-Set.top_eq_univ, Prop.top_eq_true]
Theorem: Matrix.smul_eq_diagonal_mul
File: Mathlib/Data/Matrix/Basic.lean

Proof steps:
state_before: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝² : NonUnitalNonAssocSemiring α
inst✝¹ : Fintype m
inst✝ : DecidableEq m
M : Matrix m n α
a : α
⊢ a • M = (diagonal fun x => a) * M
state_after: case a
l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝² : NonUnitalNonAssocSemiring α
inst✝¹ : Fintype m
inst✝ : DecidableEq m
M : Matrix m n α
a : α
i✝ : m
j✝ : n
⊢ (a • M) i✝ j✝ = ((diagonal fun x => a) * M) i✝ j✝
tactic: ext
state_before: case a
l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝² : NonUnitalNonAssocSemiring α
inst✝¹ : Fintype m
inst✝ : DecidableEq m
M : Matrix m n α
a : α
i✝ : m
j✝ : n
⊢ (a • M) i✝ j✝ = ((diagonal fun x => a) * M) i✝ j✝
state_after: no goals
tactic: simp
Theorem: nonunits.subset_compl_ball
File: Mathlib/Analysis/Normed/Ring/Units.lean

Proof steps:
state_before: R : Type u_1
inst✝¹ : NormedRing R
inst✝ : CompleteSpace R
x : R
hx : x ∈ nonunits R
h₁ : x ∈ Metric.ball 1 1
⊢ ‖1 - x‖ < 1
state_after: no goals
tactic: rwa [mem_ball_iff_norm'] at h₁
Theorem: AlgebraicTopology.DoldKan.PInfty_comp_PInftyToNormalizedMooreComplex
File: Mathlib/AlgebraicTopology/DoldKan/Normalized.lean

Proof steps:
state_before: A : Type u_1
inst✝¹ : Category.{u_2, u_1} A
inst✝ : Abelian A
X✝ X : SimplicialObject A
⊢ PInfty ≫ PInftyToNormalizedMooreComplex X = PInftyToNormalizedMooreComplex X
state_after: no goals
tactic: aesop_cat
Theorem: CategoryTheory.ShortComplex.exact_and_epi_g_iff_g_is_cokernel
File: Mathlib/Algebra/Homology/ShortComplex/Exact.lean

Proof steps:
state_before: C : Type u_1
D : Type u_2
inst✝⁵ : Category.{u_3, u_1} C
inst✝⁴ : Category.{?u.156991, u_2} D
inst✝³ : Preadditive C
inst✝² : Preadditive D
S : ShortComplex C
inst✝¹ : Balanced C
inst✝ : S.HasHomology
⊢ S.Exact ∧ Epi S.g ↔ Nonempty (IsColimit (CokernelCofork.ofπ S.g ⋯))
state_after: case mp
C : Type u_1
D : Type u_2
inst✝⁵ : Category.{u_3, u_1} C
inst✝⁴ : Category.{?u.156991, u_2} D
inst✝³ : Preadditive C
inst✝² : Preadditive D
S : ShortComplex C
inst✝¹ : Balanced C
inst✝ : S.HasHomology
⊢ S.Exact ∧ Epi S.g → Nonempty (IsColimit (CokernelCofork.ofπ S.g ⋯))

case mpr
C : Type u_1
D : Type u_2
inst✝⁵ : Category.{u_3, u_1} C
inst✝⁴ : Category.{?u.156991, u_2} D
inst✝³ : Preadditive C
inst✝² : Preadditive D
S : ShortComplex C
inst✝¹ : Balanced C
inst✝ : S.HasHomology
⊢ Nonempty (IsColimit (CokernelCofork.ofπ S.g ⋯)) → S.Exact ∧ Epi S.g
tactic: constructor
Theorem: Set.Infinite.exists_subset_card_eq
File: Mathlib/Data/Set/Finite.lean

Proof steps:
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
s✝ t s : Set α
hs : s.Infinite
n : ℕ
⊢ ↑(Finset.map (Embedding.subtype fun x => x ∈ s) (Finset.map (natEmbedding s hs) (Finset.range n))) ⊆ s ∧
    (Finset.map (Embedding.subtype fun x => x ∈ s) (Finset.map (natEmbedding s hs) (Finset.range n))).card = n
state_after: no goals
tactic: simp
Theorem: Filter.frequently_and_distrib_left
File: Mathlib/Order/Filter/Basic.lean

Proof steps:
state_before: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
f : Filter α
p : Prop
q : α → Prop
⊢ (∃ᶠ (x : α) in f, p ∧ q x) ↔ p ∧ ∃ᶠ (x : α) in f, q x
state_after: no goals
tactic: simp only [Filter.Frequently, not_and, eventually_imp_distrib_left, Classical.not_imp]
Theorem: Real.pi_lt_sqrtTwoAddSeries
File: Mathlib/Data/Real/Pi/Bounds.lean

Proof steps:
state_before: n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ π < 2 ^ (n + 1) * √(2 - sqrtTwoAddSeries 0 n) + 1 / 4 ^ n
state_after: n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2) =
    2 ^ (n + 1) * √(2 - sqrtTwoAddSeries 0 n) + 1 / 4 ^ n
tactic: apply lt_of_lt_of_le this (le_of_eq _)
state_before: n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2) =
    2 ^ (n + 1) * √(2 - sqrtTwoAddSeries 0 n) + 1 / 4 ^ n
state_after: n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ √(2 - sqrtTwoAddSeries 0 n) / 2 * 2 ^ (n + 2) + 1 / (2 ^ n) ^ 3 / 4 * 2 ^ (n + 2) =
    2 ^ (n + 1) * √(2 - sqrtTwoAddSeries 0 n) + 1 / 4 ^ n
tactic: rw [add_mul]
state_before: n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ √(2 - sqrtTwoAddSeries 0 n) / 2 * 2 ^ (n + 2) + 1 / (2 ^ n) ^ 3 / 4 * 2 ^ (n + 2) =
    2 ^ (n + 1) * √(2 - sqrtTwoAddSeries 0 n) + 1 / 4 ^ n
state_after: case e_a
n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ √(2 - sqrtTwoAddSeries 0 n) / 2 * 2 ^ (n + 2) = 2 ^ (n + 1) * √(2 - sqrtTwoAddSeries 0 n)

case e_a
n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ 1 / (2 ^ n) ^ 3 / 4 * 2 ^ (n + 2) = 1 / 4 ^ n
tactic: congr 1
state_before: case e_a
n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ 1 / (2 ^ n) ^ 3 / 4 * 2 ^ (n + 2) = 1 / 4 ^ n
state_after: case e_a
n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ 1 / 2 ^ (n * 3 + 2) * 2 ^ (n + 2) = 1 / 2 ^ (2 * n)
tactic: simp only [show (4 : ℝ) = 2 ^ 2 by norm_num, ← pow_mul, div_div, ← pow_add]
state_before: case e_a
n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ 1 / 2 ^ (n * 3 + 2) * 2 ^ (n + 2) = 1 / 2 ^ (2 * n)
state_after: case e_a
n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ 2 ^ (n * 3 + 2) = 2 ^ (n + 2 + 2 * n)

case e_a
n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ 2 ^ (2 * n) ≠ 0

case e_a
n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ 2 ^ (n * 3 + 2) ≠ 0
tactic: rw [one_div, one_div, inv_mul_eq_iff_eq_mul₀, eq_comm, mul_inv_eq_iff_eq_mul₀, ← pow_add]
state_before: case e_a
n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ 2 ^ (2 * n) ≠ 0

case e_a
n : ℕ
this : π < (√(2 - sqrtTwoAddSeries 0 n) / 2 + 1 / (2 ^ n) ^ 3 / 4) * 2 ^ (n + 2)
⊢ 2 ^ (n * 3 + 2) ≠ 0
state_after: no goals
tactic: all_goals norm_num
Theorem: SetTheory.PGame.Impartial.nonpos
File: Mathlib/SetTheory/Game/Impartial.lean

Proof steps:
state_before: G : PGame
inst✝ : G.Impartial
h : 0 < G
⊢ False
state_after: G : PGame
inst✝ : G.Impartial
h : 0 < G
h' : -G < -0
⊢ False
tactic: have h' := neg_lt_neg_iff.2 h
state_before: G : PGame
inst✝ : G.Impartial
h : 0 < G
h' : -G < -0
⊢ False
state_after: G : PGame
inst✝ : G.Impartial
h : 0 < G
h' : G < 0
⊢ False
tactic: rw [neg_zero, lt_congr_left (Equiv.symm (neg_equiv_self G))] at h'
state_before: G : PGame
inst✝ : G.Impartial
h : 0 < G
h' : G < 0
⊢ False
state_after: no goals
tactic: exact (h.trans h').false