1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Matrix.det_mul_add_one_comm
File: Mathlib/LinearAlgebra/Matrix/SchurComplement.lean

tactic: rw [add_comm, det_one_add_mul_comm, add_comm]
state_before: l : Type u_1
m : Type u_2
n : Type u_3
α : Type u_4
inst✝⁶ : Fintype l
inst✝⁵ : Fintype m
inst✝⁴ : Fintype n
inst✝³ : DecidableEq l
inst✝² : DecidableEq m
inst✝¹ : DecidableEq n
inst✝ : CommRing α
A : Matrix m n α
B : Matrix n m α
⊢ (A * B + 1).det = (B * A + 1).det
state_after: no goals
Theorem: tprod_dite_left
File: Mathlib/Topology/Algebra/InfiniteSum/Basic.lean

tactic: by_cases hP : P <;> simp [hP]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝² : CommMonoid α
inst✝¹ : TopologicalSpace α
f g : β → α
a a₁ a₂ : α
P : Prop
inst✝ : Decidable P
x : β → P → α
⊢ (∏' (b : β), if h : P then x b h else 1) = if h : P then ∏' (b : β), x b h else 1
state_after: no goals
Theorem: Mathlib.Tactic.Group.zpow_trick_one'
File: Mathlib/Tactic/Group.lean

tactic: rw [mul_assoc, mul_zpow_self]
state_before: G : Type u_1
inst✝ : Group G
a b : G
n : ℤ
⊢ a * b ^ n * b = a * b ^ (n + 1)
state_after: no goals
Theorem: CategoryTheory.SmallObject.ιFunctorObj_extension
File: Mathlib/CategoryTheory/SmallObject/Construction.lean

tactic: simp
state_before: C : Type u
inst✝⁴ : Category.{v, u} C
I : Type w
A B : I → C
f : (i : I) → A i ⟶ B i
S X Y Z : C
πX : X ⟶ S
πY : Y ⟶ S
φ : X ⟶ Y
hφ : φ ≫ πY = πX
inst✝³ : HasColimitsOfShape (Discrete (FunctorObjIndex f πX)) C
inst✝² : HasColimitsOfShape (Discrete (FunctorObjIndex f πY)) C
inst✝¹ : HasPushout (functorObjTop f πX) (functorObjLeft f πX)
inst✝ : HasPushout (functorObjTop f πY) (functorObjLeft f πY)
i : I
t : A i ⟶ X
b : B i ⟶ S
sq : CommSq t (f i) πX b
⊢ (Sigma.ι (functorObjTgtFamily f πX) { i := i, t := t, b := b, w := ⋯ } ≫ ρFunctorObj f πX) ≫ πFunctorObj f πX = b
state_after: no goals
Theorem: eventually_countable_ball
File: Mathlib/Order/Filter/CountableInter.lean

tactic: simpa only [Filter.Eventually, setOf_forall] using
  @countable_bInter_mem _ l _ _ _ hS fun i hi => { x | p x i hi }
state_before: ι✝ : Sort u_1
α : Type u_2
β : Type u_3
l : Filter α
inst✝ : CountableInterFilter l
ι : Type u_4
S : Set ι
hS : S.Countable
p : α → (i : ι) → i ∈ S → Prop
⊢ (∀ᶠ (x : α) in l, ∀ (i : ι) (hi : i ∈ S), p x i hi) ↔ ∀ (i : ι) (hi : i ∈ S), ∀ᶠ (x : α) in l, p x i hi
state_after: no goals
Theorem: MeasureTheory.Measure.integral_compProd
File: Mathlib/Probability/Kernel/MeasureCompProd.lean

tactic: rw [compProd, ProbabilityTheory.integral_compProd hf]
state_before: α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
μ : Measure α
κ η : ↥(kernel α β)
inst✝³ : SFinite μ
inst✝² : IsSFiniteKernel κ
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α × β → E
hf : Integrable f (μ ⊗ₘ κ)
⊢ ∫ (x : α × β), f x ∂μ ⊗ₘ κ = ∫ (a : α), ∫ (b : β), f (a, b) ∂κ a ∂μ
state_after: α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
μ : Measure α
κ η : ↥(kernel α β)
inst✝³ : SFinite μ
inst✝² : IsSFiniteKernel κ
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α × β → E
hf : Integrable f (μ ⊗ₘ κ)
⊢ ∫ (x : α), ∫ (y : β), f (x, y) ∂(kernel.prodMkLeft Unit κ) ((), x) ∂(kernel.const Unit μ) () =
    ∫ (a : α), ∫ (b : β), f (a, b) ∂κ a ∂μ

tactic: simp
state_before: α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
μ : Measure α
κ η : ↥(kernel α β)
inst✝³ : SFinite μ
inst✝² : IsSFiniteKernel κ
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α × β → E
hf : Integrable f (μ ⊗ₘ κ)
⊢ ∫ (x : α), ∫ (y : β), f (x, y) ∂(kernel.prodMkLeft Unit κ) ((), x) ∂(kernel.const Unit μ) () =
    ∫ (a : α), ∫ (b : β), f (a, b) ∂κ a ∂μ
state_after: no goals
Theorem: Units.inv_mul_eq_iff_eq_mul
File: Mathlib/Algebra/Group/Units.lean

tactic: rw [← h, mul_inv_cancel_left]
state_before: α : Type u
inst✝ : Monoid α
a b✝ c✝ u : αˣ
b c : α
h : ↑a⁻¹ * b = c
⊢ b = ↑a * c
state_after: no goals

tactic: rw [h, inv_mul_cancel_left]
state_before: α : Type u
inst✝ : Monoid α
a b✝ c✝ u : αˣ
b c : α
h : b = ↑a * c
⊢ ↑a⁻¹ * b = c
state_after: no goals
Theorem: Ordinal.sup_mul_nat
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: rcases eq_zero_or_pos o with (rfl | ho)
state_before: o : Ordinal.{u_1}
⊢ (sup fun n => o * ↑n) = o * ω
state_after: case inl

⊢ (sup fun n => 0 * ↑n) = 0 * ω

case inr
o : Ordinal.{u_1}
ho : 0 < o
⊢ (sup fun n => o * ↑n) = o * ω

tactic: rw [zero_mul]
state_before: case inl

⊢ (sup fun n => 0 * ↑n) = 0 * ω
state_after: case inl

⊢ (sup fun n => 0 * ↑n) = 0

tactic: exact sup_eq_zero_iff.2 fun n => zero_mul (n : Ordinal)
state_before: case inl

⊢ (sup fun n => 0 * ↑n) = 0
state_after: no goals

tactic: exact (mul_isNormal ho).apply_omega
state_before: case inr
o : Ordinal.{u_1}
ho : 0 < o
⊢ (sup fun n => o * ↑n) = o * ω
state_after: no goals
Theorem: div_ball
File: Mathlib/Analysis/Normed/Group/Pointwise.lean

tactic: simp [div_eq_mul_inv]
state_before: E : Type u_1
inst✝ : SeminormedCommGroup E
ε δ : ℝ
s t : Set E
x y : E
⊢ s / ball x δ = x⁻¹ • thickening δ s
state_after: no goals
Theorem: IntermediateField.fG_of_fG_toSubalgebra
File: Mathlib/FieldTheory/Adjoin.lean

tactic: cases' h with t ht
state_before: F : Type u_1
inst✝² : Field F
E : Type u_2
inst✝¹ : Field E
inst✝ : Algebra F E
S : IntermediateField F E
h : S.FG
⊢ S.FG
state_after: case intro
F : Type u_1
inst✝² : Field F
E : Type u_2
inst✝¹ : Field E
inst✝ : Algebra F E
S : IntermediateField F E
t : Finset E
ht : Algebra.adjoin F ↑t = S.toSubalgebra
⊢ S.FG

tactic: exact ⟨t, (eq_adjoin_of_eq_algebra_adjoin _ _ _ ht.symm).symm⟩
state_before: case intro
F : Type u_1
inst✝² : Field F
E : Type u_2
inst✝¹ : Field E
inst✝ : Algebra F E
S : IntermediateField F E
t : Finset E
ht : Algebra.adjoin F ↑t = S.toSubalgebra
⊢ S.FG
state_after: no goals
Theorem: Hyperreal.IsSt.inv
File: Mathlib/Data/Real/Hyperreal.lean

tactic: rintro rfl
state_before: x : ℝ*
r : ℝ
hi : ¬x.Infinitesimal
hr : x.IsSt r
⊢ r ≠ 0
state_after: x : ℝ*
hi : ¬x.Infinitesimal
hr : x.IsSt 0
⊢ False

tactic: exact hi hr
state_before: x : ℝ*
hi : ¬x.Infinitesimal
hr : x.IsSt 0
⊢ False
state_after: no goals
Theorem: Zspan.fract_zspan_add
File: Mathlib/Algebra/Module/Zlattice/Basic.lean

tactic: classical
refine (Basis.ext_elem_iff b).mpr fun i => ?_
simp_rw [repr_fract_apply, Int.fract_eq_fract]
use (b.restrictScalars ℤ).repr ⟨v, h⟩ i
rw [map_add, Finsupp.coe_add, Pi.add_apply, add_tsub_cancel_right,
  ← eq_intCast (algebraMap ℤ K) _, Basis.restrictScalars_repr_apply, coe_mk]
state_before: E : Type u_1
ι : Type u_2
K : Type u_3
inst✝⁴ : NormedLinearOrderedField K
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace K E
b : Basis ι K E
inst✝¹ : FloorRing K
inst✝ : Fintype ι
m v : E
h : v ∈ span ℤ (Set.range ⇑b)
⊢ fract b (v + m) = fract b m
state_after: no goals

tactic: refine (Basis.ext_elem_iff b).mpr fun i => ?_
state_before: E : Type u_1
ι : Type u_2
K : Type u_3
inst✝⁴ : NormedLinearOrderedField K
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace K E
b : Basis ι K E
inst✝¹ : FloorRing K
inst✝ : Fintype ι
m v : E
h : v ∈ span ℤ (Set.range ⇑b)
⊢ fract b (v + m) = fract b m
state_after: E : Type u_1
ι : Type u_2
K : Type u_3
inst✝⁴ : NormedLinearOrderedField K
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace K E
b : Basis ι K E
inst✝¹ : FloorRing K
inst✝ : Fintype ι
m v : E
h : v ∈ span ℤ (Set.range ⇑b)
i : ι
⊢ (b.repr (fract b (v + m))) i = (b.repr (fract b m)) i

tactic: simp_rw [repr_fract_apply, Int.fract_eq_fract]
state_before: E : Type u_1
ι : Type u_2
K : Type u_3
inst✝⁴ : NormedLinearOrderedField K
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace K E
b : Basis ι K E
inst✝¹ : FloorRing K
inst✝ : Fintype ι
m v : E
h : v ∈ span ℤ (Set.range ⇑b)
i : ι
⊢ (b.repr (fract b (v + m))) i = (b.repr (fract b m)) i
state_after: E : Type u_1
ι : Type u_2
K : Type u_3
inst✝⁴ : NormedLinearOrderedField K
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace K E
b : Basis ι K E
inst✝¹ : FloorRing K
inst✝ : Fintype ι
m v : E
h : v ∈ span ℤ (Set.range ⇑b)
i : ι
⊢ ∃ z, (b.repr (v + m)) i - (b.repr m) i = ↑z

tactic: use (b.restrictScalars ℤ).repr ⟨v, h⟩ i
state_before: E : Type u_1
ι : Type u_2
K : Type u_3
inst✝⁴ : NormedLinearOrderedField K
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace K E
b : Basis ι K E
inst✝¹ : FloorRing K
inst✝ : Fintype ι
m v : E
h : v ∈ span ℤ (Set.range ⇑b)
i : ι
⊢ ∃ z, (b.repr (v + m)) i - (b.repr m) i = ↑z
state_after: case h
E : Type u_1
ι : Type u_2
K : Type u_3
inst✝⁴ : NormedLinearOrderedField K
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace K E
b : Basis ι K E
inst✝¹ : FloorRing K
inst✝ : Fintype ι
m v : E
h : v ∈ span ℤ (Set.range ⇑b)
i : ι
⊢ (b.repr (v + m)) i - (b.repr m) i = ↑(((Basis.restrictScalars ℤ b).repr ⟨v, h⟩) i)

tactic: rw [map_add, Finsupp.coe_add, Pi.add_apply, add_tsub_cancel_right,
  ← eq_intCast (algebraMap ℤ K) _, Basis.restrictScalars_repr_apply, coe_mk]
state_before: case h
E : Type u_1
ι : Type u_2
K : Type u_3
inst✝⁴ : NormedLinearOrderedField K
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace K E
b : Basis ι K E
inst✝¹ : FloorRing K
inst✝ : Fintype ι
m v : E
h : v ∈ span ℤ (Set.range ⇑b)
i : ι
⊢ (b.repr (v + m)) i - (b.repr m) i = ↑(((Basis.restrictScalars ℤ b).repr ⟨v, h⟩) i)
state_after: no goals
Theorem: Convex.combo_closure_interior_subset_interior
File: Mathlib/Analysis/Convex/Topology.lean

tactic: rw [add_comm]
state_before: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
inst✝⁵ : LinearOrderedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : Module 𝕜 E
inst✝² : TopologicalSpace E
inst✝¹ : TopologicalAddGroup E
inst✝ : ContinuousConstSMul 𝕜 E
s : Set E
hs : Convex 𝕜 s
a b : 𝕜
ha : 0 ≤ a
hb : 0 < b
hab : a + b = 1
⊢ a • closure s + b • interior s ⊆ interior s
state_after: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
inst✝⁵ : LinearOrderedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : Module 𝕜 E
inst✝² : TopologicalSpace E
inst✝¹ : TopologicalAddGroup E
inst✝ : ContinuousConstSMul 𝕜 E
s : Set E
hs : Convex 𝕜 s
a b : 𝕜
ha : 0 ≤ a
hb : 0 < b
hab : a + b = 1
⊢ b • interior s + a • closure s ⊆ interior s

tactic: exact hs.combo_interior_closure_subset_interior hb ha (add_comm a b ▸ hab)
state_before: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
inst✝⁵ : LinearOrderedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : Module 𝕜 E
inst✝² : TopologicalSpace E
inst✝¹ : TopologicalAddGroup E
inst✝ : ContinuousConstSMul 𝕜 E
s : Set E
hs : Convex 𝕜 s
a b : 𝕜
ha : 0 ≤ a
hb : 0 < b
hab : a + b = 1
⊢ b • interior s + a • closure s ⊆ interior s
state_after: no goals
Theorem: Real.sqrt_eq_zero'
File: Mathlib/Data/Real/Sqrt.lean

tactic: rw [sqrt, NNReal.coe_eq_zero, NNReal.sqrt_eq_zero, Real.toNNReal_eq_zero]
state_before: x y : ℝ
⊢ √x = 0 ↔ x ≤ 0
state_after: no goals
Theorem: Polynomial.iterate_derivative_X_pow_eq_smul
File: Mathlib/Algebra/Polynomial/Derivative.lean

tactic: rw [iterate_derivative_X_pow_eq_C_mul n k, smul_eq_C_mul]
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
A : Type z
a b : R
n✝ : ℕ
inst✝ : CommSemiring R
n k : ℕ
⊢ (⇑derivative)^[k] (X ^ n) = ↑(n.descFactorial k) • X ^ (n - k)
state_after: no goals
Theorem: Localization.mk_pow
File: Mathlib/GroupTheory/MonoidLocalization.lean

tactic: rw [Localization.npow]
state_before: M : Type u_1
inst✝² : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝¹ : CommMonoid N
P : Type u_3
inst✝ : CommMonoid P
n : ℕ
a : M
b : ↥S
⊢ Localization.npow S n (mk a b) = mk (a ^ n) (b ^ n)
state_after: M : Type u_1
inst✝² : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝¹ : CommMonoid N
P : Type u_3
inst✝ : CommMonoid P
n : ℕ
a : M
b : ↥S
⊢ Monoid.npow n (mk a b) = mk (a ^ n) (b ^ n)

tactic: rfl
state_before: M : Type u_1
inst✝² : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝¹ : CommMonoid N
P : Type u_3
inst✝ : CommMonoid P
n : ℕ
a : M
b : ↥S
⊢ Monoid.npow n (mk a b) = mk (a ^ n) (b ^ n)
state_after: no goals
Theorem: QuadraticForm.two_nsmul_associated
File: Mathlib/LinearAlgebra/QuadraticForm/Basic.lean

tactic: ext
state_before: S : Type u_1
T : Type u_2
R : Type u_3
M : Type u_4
N : Type u_5
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : CommSemiring S
inst✝¹ : Algebra S R
inst✝ : Invertible 2
B₁ : BilinForm R M
Q : QuadraticForm R M
⊢ 2 • (associatedHom S) Q = Q.polarBilin
state_after: case h.h
S : Type u_1
T : Type u_2
R : Type u_3
M : Type u_4
N : Type u_5
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : CommSemiring S
inst✝¹ : Algebra S R
inst✝ : Invertible 2
B₁ : BilinForm R M
Q : QuadraticForm R M
x✝¹ x✝ : M
⊢ ((2 • (associatedHom S) Q) x✝¹) x✝ = (Q.polarBilin x✝¹) x✝

tactic: dsimp
state_before: case h.h
S : Type u_1
T : Type u_2
R : Type u_3
M : Type u_4
N : Type u_5
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : CommSemiring S
inst✝¹ : Algebra S R
inst✝ : Invertible 2
B₁ : BilinForm R M
Q : QuadraticForm R M
x✝¹ x✝ : M
⊢ ((2 • (associatedHom S) Q) x✝¹) x✝ = (Q.polarBilin x✝¹) x✝
state_after: case h.h
S : Type u_1
T : Type u_2
R : Type u_3
M : Type u_4
N : Type u_5
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : CommSemiring S
inst✝¹ : Algebra S R
inst✝ : Invertible 2
B₁ : BilinForm R M
Q : QuadraticForm R M
x✝¹ x✝ : M
⊢ 2 • (⅟2 * (Q (x✝¹ + x✝) - Q x✝¹ - Q x✝)) = polar (⇑Q) x✝¹ x✝

tactic: rw [← smul_mul_assoc, two_nsmul, invOf_two_add_invOf_two, one_mul, polar]
state_before: case h.h
S : Type u_1
T : Type u_2
R : Type u_3
M : Type u_4
N : Type u_5
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : CommSemiring S
inst✝¹ : Algebra S R
inst✝ : Invertible 2
B₁ : BilinForm R M
Q : QuadraticForm R M
x✝¹ x✝ : M
⊢ 2 • (⅟2 * (Q (x✝¹ + x✝) - Q x✝¹ - Q x✝)) = polar (⇑Q) x✝¹ x✝
state_after: no goals
Theorem: WithTop.monotone_map_iff
File: Mathlib/Order/WithBot.lean

tactic: simp [Monotone]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝¹ : Preorder α
inst✝ : Preorder β
f : α → β
⊢ ((Monotone fun a => map f ↑a) ∧ ∀ (x : α), map f ↑x ≤ map f ⊤) ↔ Monotone f
state_after: no goals
Theorem: Nat.coprime_of_fermatPsp
File: Mathlib/NumberTheory/FermatPsp.lean

tactic: rcases h with ⟨hp, _, hn₂⟩
state_before: n b : ℕ
h : n.FermatPsp b
h₁ : 1 ≤ b
⊢ n.Coprime b
state_after: case intro.intro
n b : ℕ
h₁ : 1 ≤ b
hp : n.ProbablePrime b
left✝ : ¬Prime n
hn₂ : 1 < n
⊢ n.Coprime b

tactic: exact coprime_of_probablePrime hp (by omega) h₁
state_before: case intro.intro
n b : ℕ
h₁ : 1 ≤ b
hp : n.ProbablePrime b
left✝ : ¬Prime n
hn₂ : 1 < n
⊢ n.Coprime b
state_after: no goals

tactic: omega
state_before: n b : ℕ
h₁ : 1 ≤ b
hp : n.ProbablePrime b
left✝ : ¬Prime n
hn₂ : 1 < n
⊢ 1 ≤ n
state_after: no goals
Theorem: PLift.down_injective
File: Mathlib/Logic/Basic.lean

tactic: congr
state_before: α : Sort u_1
a b : α
x✝ : { down := a }.down = { down := b }.down
⊢ { down := a } = { down := b }
state_after: no goals
Theorem: Partrec.sum_casesOn_right
File: Mathlib/Computability/Partrec.lean

tactic: cases f a <;> simp
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f : α → β ⊕ γ
g : α → β → σ
h : α → γ →. σ
hf : Computable f
hg : Computable₂ g
hh : Partrec₂ h
this :
  Partrec fun a =>
    Option.casesOn (Sum.casesOn (f a) (fun x => Option.none) Option.some)
      (Part.some (Sum.casesOn (f a) (fun b => Option.some (g a b)) fun x => Option.none)) fun c =>
      Part.map Option.some (h a c)
a : α
⊢ (Option.casesOn (Sum.casesOn (f a) (fun x => Option.none) Option.some)
      (Part.some (Sum.casesOn (f a) (fun b => Option.some (g a b)) fun x => Option.none)) fun c =>
      Part.map Option.some (h a c)) =
    Part.map Option.some (Sum.casesOn (f a) (fun b => Part.some (g a b)) (h a))
state_after: no goals
Theorem: Nat.ne_of_odd_add
File: Mathlib/Algebra/Ring/Parity.lean

tactic: simp [hnot] at h
state_before: F : Type u_1
α : Type u_2
β : Type u_3
R : Type u_4
m n : ℕ
h : Odd (m + n)
hnot : m = n
⊢ False
state_after: no goals
Theorem: Real.pi_gt_31415
File: Mathlib/Data/Real/Pi/Bounds.lean

tactic: pi_lower_bound
      [11482 / 8119, 5401 / 2923, 2348 / 1197, 11367 / 5711, 25705 / 12868, 23235 / 11621]
state_before: ⊢ 3.1415 < π
state_after: no goals
Theorem: HomologicalComplex.quasiIsoAt_map_iff_of_preservesHomology
File: Mathlib/Algebra/Homology/QuasiIso.lean

tactic: simp only [quasiIsoAt_iff]
state_before: ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝¹² : Category.{v, u} C
inst✝¹¹ : HasZeroMorphisms C
c : ComplexShape ι
K✝ L✝ M K' L' : HomologicalComplex C c
C₁ : Type u_3
C₂ : Type u_4
inst✝¹⁰ : Category.{u_5, u_3} C₁
inst✝⁹ : Category.{u_6, u_4} C₂
inst✝⁸ : Preadditive C₁
inst✝⁷ : Preadditive C₂
K L : HomologicalComplex C₁ c
φ : K ⟶ L
F : C₁ ⥤ C₂
inst✝⁶ : F.Additive
inst✝⁵ : F.PreservesHomology
i : ι
inst✝⁴ : K.HasHomology i
inst✝³ : L.HasHomology i
inst✝² : ((F.mapHomologicalComplex c).obj K).HasHomology i
inst✝¹ : ((F.mapHomologicalComplex c).obj L).HasHomology i
inst✝ : F.ReflectsIsomorphisms
⊢ QuasiIsoAt ((F.mapHomologicalComplex c).map φ) i ↔ QuasiIsoAt φ i
state_after: ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝¹² : Category.{v, u} C
inst✝¹¹ : HasZeroMorphisms C
c : ComplexShape ι
K✝ L✝ M K' L' : HomologicalComplex C c
C₁ : Type u_3
C₂ : Type u_4
inst✝¹⁰ : Category.{u_5, u_3} C₁
inst✝⁹ : Category.{u_6, u_4} C₂
inst✝⁸ : Preadditive C₁
inst✝⁷ : Preadditive C₂
K L : HomologicalComplex C₁ c
φ : K ⟶ L
F : C₁ ⥤ C₂
inst✝⁶ : F.Additive
inst✝⁵ : F.PreservesHomology
i : ι
inst✝⁴ : K.HasHomology i
inst✝³ : L.HasHomology i
inst✝² : ((F.mapHomologicalComplex c).obj K).HasHomology i
inst✝¹ : ((F.mapHomologicalComplex c).obj L).HasHomology i
inst✝ : F.ReflectsIsomorphisms
⊢ ShortComplex.QuasiIso ((shortComplexFunctor C₂ c i).map ((F.mapHomologicalComplex c).map φ)) ↔
    ShortComplex.QuasiIso ((shortComplexFunctor C₁ c i).map φ)

tactic: exact ShortComplex.quasiIso_map_iff_of_preservesLeftHomology F
  ((shortComplexFunctor C₁ c i).map φ)
state_before: ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝¹² : Category.{v, u} C
inst✝¹¹ : HasZeroMorphisms C
c : ComplexShape ι
K✝ L✝ M K' L' : HomologicalComplex C c
C₁ : Type u_3
C₂ : Type u_4
inst✝¹⁰ : Category.{u_5, u_3} C₁
inst✝⁹ : Category.{u_6, u_4} C₂
inst✝⁸ : Preadditive C₁
inst✝⁷ : Preadditive C₂
K L : HomologicalComplex C₁ c
φ : K ⟶ L
F : C₁ ⥤ C₂
inst✝⁶ : F.Additive
inst✝⁵ : F.PreservesHomology
i : ι
inst✝⁴ : K.HasHomology i
inst✝³ : L.HasHomology i
inst✝² : ((F.mapHomologicalComplex c).obj K).HasHomology i
inst✝¹ : ((F.mapHomologicalComplex c).obj L).HasHomology i
inst✝ : F.ReflectsIsomorphisms
⊢ ShortComplex.QuasiIso ((shortComplexFunctor C₂ c i).map ((F.mapHomologicalComplex c).map φ)) ↔
    ShortComplex.QuasiIso ((shortComplexFunctor C₁ c i).map φ)
state_after: no goals
Theorem: ProbabilityTheory.IsMeasurableRatCDF.measure_stieltjesFunction_univ
File: Mathlib/Probability/Kernel/Disintegration/MeasurableStieltjes.lean

tactic: rw [← ENNReal.ofReal_one, ← sub_zero (1 : ℝ)]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
inst✝ : MeasurableSpace α
f : α → ℚ → ℝ
hf : IsMeasurableRatCDF f
a : α
⊢ (hf.stieltjesFunction a).measure univ = 1
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
inst✝ : MeasurableSpace α
f : α → ℚ → ℝ
hf : IsMeasurableRatCDF f
a : α
⊢ (hf.stieltjesFunction a).measure univ = ENNReal.ofReal (1 - 0)

tactic: exact StieltjesFunction.measure_univ _ (tendsto_stieltjesFunction_atBot hf a)
  (tendsto_stieltjesFunction_atTop hf a)
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
inst✝ : MeasurableSpace α
f : α → ℚ → ℝ
hf : IsMeasurableRatCDF f
a : α
⊢ (hf.stieltjesFunction a).measure univ = ENNReal.ofReal (1 - 0)
state_after: no goals
Theorem: ltByCases_eq_iff
File: Mathlib/Order/Basic.lean

tactic: refine ltByCases x y (fun h => ?_) (fun h => ?_) (fun h => ?_)
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
P : Sort u_5
x y : α
h₁ : x < y → P
h₂ : x = y → P
h₃ : y < x → P
p : P
⊢ ltByCases x y h₁ h₂ h₃ = p ↔ (∃ h, h₁ h = p) ∨ (∃ h, h₂ h = p) ∨ ∃ h, h₃ h = p
state_after: case refine_1
ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
P : Sort u_5
x y : α
h₁ : x < y → P
h₂ : x = y → P
h₃ : y < x → P
p : P
h : x < y
⊢ ltByCases x y h₁ h₂ h₃ = p ↔ (∃ h, h₁ h = p) ∨ (∃ h, h₂ h = p) ∨ ∃ h, h₃ h = p

case refine_2
ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
P : Sort u_5
x y : α
h₁ : x < y → P
h₂ : x = y → P
h₃ : y < x → P
p : P
h : x = y
⊢ ltByCases x y h₁ h₂ h₃ = p ↔ (∃ h, h₁ h = p) ∨ (∃ h, h₂ h = p) ∨ ∃ h, h₃ h = p

case refine_3
ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
P : Sort u_5
x y : α
h₁ : x < y → P
h₂ : x = y → P
h₃ : y < x → P
p : P
h : y < x
⊢ ltByCases x y h₁ h₂ h₃ = p ↔ (∃ h, h₁ h = p) ∨ (∃ h, h₂ h = p) ∨ ∃ h, h₃ h = p

tactic: simp only [ltByCases_lt, exists_prop_of_true, h, h.not_lt, not_false_eq_true,
exists_prop_of_false, or_false, h.ne]
state_before: case refine_1
ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
P : Sort u_5
x y : α
h₁ : x < y → P
h₂ : x = y → P
h₃ : y < x → P
p : P
h : x < y
⊢ ltByCases x y h₁ h₂ h₃ = p ↔ (∃ h, h₁ h = p) ∨ (∃ h, h₂ h = p) ∨ ∃ h, h₃ h = p
state_after: no goals

tactic: simp only [h, lt_self_iff_false, ltByCases_eq, not_false_eq_true,
exists_prop_of_false, exists_prop_of_true, or_false, false_or]
state_before: case refine_2
ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
P : Sort u_5
x y : α
h₁ : x < y → P
h₂ : x = y → P
h₃ : y < x → P
p : P
h : x = y
⊢ ltByCases x y h₁ h₂ h₃ = p ↔ (∃ h, h₁ h = p) ∨ (∃ h, h₂ h = p) ∨ ∃ h, h₃ h = p
state_after: no goals

tactic: simp only [ltByCases_gt, exists_prop_of_true, h, h.not_lt, not_false_eq_true,
exists_prop_of_false, false_or, h.ne']
state_before: case refine_3
ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
P : Sort u_5
x y : α
h₁ : x < y → P
h₂ : x = y → P
h₃ : y < x → P
p : P
h : y < x
⊢ ltByCases x y h₁ h₂ h₃ = p ↔ (∃ h, h₁ h = p) ∨ (∃ h, h₂ h = p) ∨ ∃ h, h₃ h = p
state_after: no goals
Theorem: PowerSeries.coeff_zero_mul_X
File: Mathlib/RingTheory/PowerSeries/Basic.lean

tactic: simp
state_before: R : Type u_1
inst✝ : Semiring R
φ : R⟦X⟧
⊢ (coeff R 0) (φ * X) = 0
state_after: no goals
Theorem: Polynomial.Chebyshev.algebraMap_eval_T
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev.lean

tactic: rw [← aeval_algebraMap_apply_eq_algebraMap_eval, aeval_T]
state_before: R : Type u_1
A : Type u_2
inst✝² : CommRing R
inst✝¹ : CommRing A
inst✝ : Algebra R A
x : R
n : ℤ
⊢ (algebraMap R A) (eval x (T R n)) = eval ((algebraMap R A) x) (T A n)
state_after: no goals
Theorem: IsUnit.div_mul_cancel_right
File: Mathlib/Algebra/Group/Units.lean

tactic: rw [div_eq_mul_inv, mul_inv_rev, h.mul_inv_cancel_left]
state_before: α : Type u
M : Type u_1
N : Type u_2
inst✝ : DivisionMonoid α
a✝ b c : α
h : IsUnit b
a : α
⊢ b / (a * b) = a⁻¹
state_after: no goals