1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Ordinal.fp_bfamily_unbounded
File: Mathlib/SetTheory/Ordinal/FixedPoint.lean

tactic: rw [Set.mem_iInter₂]
state_before: o : Ordinal.{u}
f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}
H : ∀ (i : Ordinal.{u}) (hi : i < o), IsNormal (f i hi)
a : Ordinal.{max u v}
⊢ o.nfpBFamily f a ∈ ⋂ i, ⋂ (hi : i < o), fixedPoints (f i hi)
state_after: o : Ordinal.{u}
f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}
H : ∀ (i : Ordinal.{u}) (hi : i < o), IsNormal (f i hi)
a : Ordinal.{max u v}
⊢ ∀ (i : Ordinal.{u}) (j : i < o), o.nfpBFamily f a ∈ fixedPoints (f i j)

tactic: exact fun i hi => nfpBFamily_fp (H i hi) _
state_before: o : Ordinal.{u}
f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}
H : ∀ (i : Ordinal.{u}) (hi : i < o), IsNormal (f i hi)
a : Ordinal.{max u v}
⊢ ∀ (i : Ordinal.{u}) (j : i < o), o.nfpBFamily f a ∈ fixedPoints (f i j)
state_after: no goals
Theorem: MeasureTheory.L2.smul_left'
File: Mathlib/MeasureTheory/Function/L2Space.lean

tactic: rw [inner_def, inner_def, ← smul_eq_mul, ← integral_smul]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f g : ↥(Lp E 2 μ)
r : 𝕜
⊢ ⟪r • f, g⟫_𝕜 = (starRingEnd 𝕜) r * ⟪f, g⟫_𝕜
state_after: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f g : ↥(Lp E 2 μ)
r : 𝕜
⊢ ∫ (a : α), ⟪↑↑(r • f) a, ↑↑g a⟫_𝕜 ∂μ = ∫ (a : α), (starRingEnd 𝕜) r • ⟪↑↑f a, ↑↑g a⟫_𝕜 ∂μ

tactic: refine integral_congr_ae ((coeFn_smul r f).mono fun x hx => ?_)
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f g : ↥(Lp E 2 μ)
r : 𝕜
⊢ ∫ (a : α), ⟪↑↑(r • f) a, ↑↑g a⟫_𝕜 ∂μ = ∫ (a : α), (starRingEnd 𝕜) r • ⟪↑↑f a, ↑↑g a⟫_𝕜 ∂μ
state_after: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f g : ↥(Lp E 2 μ)
r : 𝕜
x : α
hx : ↑↑(r • f) x = (r • ↑↑f) x
⊢ (fun a => ⟪↑↑(r • f) a, ↑↑g a⟫_𝕜) x = (fun a => (starRingEnd 𝕜) r • ⟪↑↑f a, ↑↑g a⟫_𝕜) x

tactic: simp only
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f g : ↥(Lp E 2 μ)
r : 𝕜
x : α
hx : ↑↑(r • f) x = (r • ↑↑f) x
⊢ (fun a => ⟪↑↑(r • f) a, ↑↑g a⟫_𝕜) x = (fun a => (starRingEnd 𝕜) r • ⟪↑↑f a, ↑↑g a⟫_𝕜) x
state_after: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f g : ↥(Lp E 2 μ)
r : 𝕜
x : α
hx : ↑↑(r • f) x = (r • ↑↑f) x
⊢ ⟪↑↑(r • f) x, ↑↑g x⟫_𝕜 = (starRingEnd 𝕜) r • ⟪↑↑f x, ↑↑g x⟫_𝕜

tactic: rw [smul_eq_mul, ← inner_smul_left, hx, Pi.smul_apply]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f g : ↥(Lp E 2 μ)
r : 𝕜
x : α
hx : ↑↑(r • f) x = (r • ↑↑f) x
⊢ ⟪↑↑(r • f) x, ↑↑g x⟫_𝕜 = (starRingEnd 𝕜) r • ⟪↑↑f x, ↑↑g x⟫_𝕜
state_after: no goals
Theorem: CliffordAlgebraComplex.ofComplex_comp_toComplex
File: Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean

tactic: ext
state_before: ⊢ ofComplex.comp toComplex = AlgHom.id ℝ (CliffordAlgebra Q)
state_after: case a.h

⊢ ((ofComplex.comp toComplex).toLinearMap ∘ₗ ι Q) 1 = ((AlgHom.id ℝ (CliffordAlgebra Q)).toLinearMap ∘ₗ ι Q) 1

tactic: dsimp only [LinearMap.comp_apply, Subtype.coe_mk, AlgHom.id_apply, AlgHom.toLinearMap_apply,
  AlgHom.comp_apply]
state_before: case a.h

⊢ ((ofComplex.comp toComplex).toLinearMap ∘ₗ ι Q) 1 = ((AlgHom.id ℝ (CliffordAlgebra Q)).toLinearMap ∘ₗ ι Q) 1
state_after: case a.h

⊢ ofComplex (toComplex ((ι Q) 1)) = (ι Q) 1

tactic: rw [toComplex_ι, one_smul, ofComplex_I]
state_before: case a.h

⊢ ofComplex (toComplex ((ι Q) 1)) = (ι Q) 1
state_after: no goals
Theorem: Ideal.comap_isPrime
File: Mathlib/RingTheory/Ideal/Maps.lean

tactic: rwa [mem_comap, map_mul] at h
state_before: R : Type u
S : Type v
F : Type u_1
inst✝³ : Semiring R
inst✝² : Semiring S
inst✝¹ : FunLike F R S
rc : RingHomClass F R S
f : F
I J : Ideal R
K L : Ideal S
G : Type u_2
inst✝ : FunLike G S R
rcg : RingHomClass G S R
ι : Sort u_3
H : K.IsPrime
x y : R
h : x * y ∈ comap f K
⊢ f x * f y ∈ K
state_after: no goals
Theorem: Int.even_mul_pred_self
File: Mathlib/Algebra/Ring/Int.lean

tactic: simpa [even_mul, parity_simps] using n.even_or_odd
state_before: m n✝ n : ℤ
⊢ Even (n * (n - 1))
state_after: no goals
Theorem: CategoryTheory.ShortComplex.LeftHomologyMapData.leftHomologyMap_eq
File: Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean

tactic: dsimp [LeftHomologyData.leftHomologyIso, leftHomologyMapIso']
state_before: C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : HasZeroMorphisms C
S S₁ S₂ S₃ : ShortComplex C
φ : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
γ : LeftHomologyMapData φ h₁ h₂
inst✝¹ : S₁.HasLeftHomology
inst✝ : S₂.HasLeftHomology
⊢ leftHomologyMap φ = h₁.leftHomologyIso.hom ≫ γ.φH ≫ h₂.leftHomologyIso.inv
state_after: C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : HasZeroMorphisms C
S S₁ S₂ S₃ : ShortComplex C
φ : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
γ : LeftHomologyMapData φ h₁ h₂
inst✝¹ : S₁.HasLeftHomology
inst✝ : S₂.HasLeftHomology
⊢ leftHomologyMap φ =
    leftHomologyMap' (𝟙 S₁) S₁.leftHomologyData h₁ ≫ γ.φH ≫ leftHomologyMap' (𝟙 S₂) h₂ S₂.leftHomologyData

tactic: rw [← γ.leftHomologyMap'_eq, ← leftHomologyMap'_comp,
  ← leftHomologyMap'_comp, id_comp, comp_id]
state_before: C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : HasZeroMorphisms C
S S₁ S₂ S₃ : ShortComplex C
φ : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
γ : LeftHomologyMapData φ h₁ h₂
inst✝¹ : S₁.HasLeftHomology
inst✝ : S₂.HasLeftHomology
⊢ leftHomologyMap φ =
    leftHomologyMap' (𝟙 S₁) S₁.leftHomologyData h₁ ≫ γ.φH ≫ leftHomologyMap' (𝟙 S₂) h₂ S₂.leftHomologyData
state_after: C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : HasZeroMorphisms C
S S₁ S₂ S₃ : ShortComplex C
φ : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
γ : LeftHomologyMapData φ h₁ h₂
inst✝¹ : S₁.HasLeftHomology
inst✝ : S₂.HasLeftHomology
⊢ leftHomologyMap φ = leftHomologyMap' φ S₁.leftHomologyData S₂.leftHomologyData

tactic: rfl
state_before: C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : HasZeroMorphisms C
S S₁ S₂ S₃ : ShortComplex C
φ : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
γ : LeftHomologyMapData φ h₁ h₂
inst✝¹ : S₁.HasLeftHomology
inst✝ : S₂.HasLeftHomology
⊢ leftHomologyMap φ = leftHomologyMap' φ S₁.leftHomologyData S₂.leftHomologyData
state_after: no goals
Theorem: ProbabilityTheory.kernel.iIndepSets.meas_iInter
File: Mathlib/Probability/Independence/Kernel.lean

tactic: filter_upwards [h.meas_biInter Finset.univ (fun _i _ ↦ hs _)] with a ha using by simp [← ha]
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
β : ι → Type u_4
mβ : (i : ι) → MeasurableSpace (β i)
_mα : MeasurableSpace α
m : ι → MeasurableSpace Ω
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
π : ι → Set (Set Ω)
s : ι → Set Ω
S : Finset ι
f : (x : ι) → Ω → β x
inst✝ : Fintype ι
h : iIndepSets π κ μ
hs : ∀ (i : ι), s i ∈ π i
⊢ ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i, s i) = ∏ i : ι, (κ a) (s i)
state_after: no goals

tactic: simp [← ha]
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
β : ι → Type u_4
mβ : (i : ι) → MeasurableSpace (β i)
_mα : MeasurableSpace α
m : ι → MeasurableSpace Ω
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
π : ι → Set (Set Ω)
s : ι → Set Ω
S : Finset ι
f : (x : ι) → Ω → β x
inst✝ : Fintype ι
h : iIndepSets π κ μ
hs : ∀ (i : ι), s i ∈ π i
a : α
ha : (κ a) (⋂ i ∈ Finset.univ, s i) = ∏ i : ι, (κ a) (s i)
⊢ (κ a) (⋂ i, s i) = ∏ i : ι, (κ a) (s i)
state_after: no goals
Theorem: SimplexCategory.continuous_toTopMap
File: Mathlib/AlgebraicTopology/TopologicalSimplex.lean

tactic: refine Continuous.subtype_mk (continuous_pi fun i => ?_) _
state_before: x y : SimplexCategory
f : x ⟶ y
⊢ Continuous (toTopMap f)
state_after: x y : SimplexCategory
f : x ⟶ y
i : (forget SimplexCategory).obj y
⊢ Continuous fun a => ∑ j ∈ Finset.filter (fun x_1 => f x_1 = i) Finset.univ, ↑a j

tactic: exact continuous_finset_sum _ (fun j _ => (continuous_apply _).comp continuous_subtype_val)
state_before: x y : SimplexCategory
f : x ⟶ y
i : (forget SimplexCategory).obj y
⊢ Continuous fun a => ∑ j ∈ Finset.filter (fun x_1 => f x_1 = i) Finset.univ, ↑a j
state_after: no goals
Theorem: Finset.range_orderEmbOfFin
File: Mathlib/Data/Finset/Sort.lean

tactic: simp only [orderEmbOfFin, Set.range_comp ((↑) : _ → α) (s.orderIsoOfFin h),
RelEmbedding.coe_trans, Set.image_univ, Finset.orderEmbOfFin, RelIso.range_eq,
  OrderEmbedding.subtype_apply, OrderIso.coe_toOrderEmbedding, eq_self_iff_true,
  Subtype.range_coe_subtype, Finset.setOf_mem, Finset.coe_inj]
state_before: α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
s : Finset α
k : ℕ
h : s.card = k
⊢ Set.range ⇑(s.orderEmbOfFin h) = ↑s
state_after: no goals
Theorem: MeasureTheory.lintegral_insert
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: rw [← union_singleton, lintegral_union (measurableSet_singleton a), lintegral_singleton,
  add_comm]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝ : MeasurableSingletonClass α
a : α
s : Set α
h : a ∉ s
f : α → ℝ≥0∞
⊢ ∫⁻ (x : α) in insert a s, f x ∂μ = f a * μ {a} + ∫⁻ (x : α) in s, f x ∂μ
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝ : MeasurableSingletonClass α
a : α
s : Set α
h : a ∉ s
f : α → ℝ≥0∞
⊢ Disjoint s {a}

tactic: rwa [disjoint_singleton_right]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝ : MeasurableSingletonClass α
a : α
s : Set α
h : a ∉ s
f : α → ℝ≥0∞
⊢ Disjoint s {a}
state_after: no goals
Theorem: Polynomial.X_pow_mul
File: Mathlib/Algebra/Polynomial/Basic.lean

tactic: induction' n with n ih
state_before: R : Type u
a b : R
m n✝ : ℕ
inst✝ : Semiring R
p q : R[X]
n : ℕ
⊢ X ^ n * p = p * X ^ n
state_after: case zero
R : Type u
a b : R
m n : ℕ
inst✝ : Semiring R
p q : R[X]
⊢ X ^ 0 * p = p * X ^ 0

case succ
R : Type u
a b : R
m n✝ : ℕ
inst✝ : Semiring R
p q : R[X]
n : ℕ
ih : X ^ n * p = p * X ^ n
⊢ X ^ (n + 1) * p = p * X ^ (n + 1)

tactic: simp
state_before: case zero
R : Type u
a b : R
m n : ℕ
inst✝ : Semiring R
p q : R[X]
⊢ X ^ 0 * p = p * X ^ 0
state_after: no goals

tactic: conv_lhs => rw [pow_succ]
state_before: case succ
R : Type u
a b : R
m n✝ : ℕ
inst✝ : Semiring R
p q : R[X]
n : ℕ
ih : X ^ n * p = p * X ^ n
⊢ X ^ (n + 1) * p = p * X ^ (n + 1)
state_after: case succ
R : Type u
a b : R
m n✝ : ℕ
inst✝ : Semiring R
p q : R[X]
n : ℕ
ih : X ^ n * p = p * X ^ n
⊢ X ^ n * X * p = p * X ^ (n + 1)

tactic: rw [mul_assoc, X_mul, ← mul_assoc, ih, mul_assoc, ← pow_succ]
state_before: case succ
R : Type u
a b : R
m n✝ : ℕ
inst✝ : Semiring R
p q : R[X]
n : ℕ
ih : X ^ n * p = p * X ^ n
⊢ X ^ n * X * p = p * X ^ (n + 1)
state_after: no goals
Theorem: FractionalIdeal.count_zpow_self
File: Mathlib/RingTheory/DedekindDomain/Factorization.lean

tactic: rw [count_zpow, count_self, mul_one]
state_before: R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v : HeightOneSpectrum R
n : ℤ
⊢ count K v (↑v.asIdeal ^ n) = n
state_after: no goals
Theorem: NonUnitalSubalgebra.prod_top
File: Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean

tactic: ext
state_before: R : Type u
A : Type v
B : Type w
inst✝⁸ : CommSemiring R
inst✝⁷ : NonUnitalNonAssocSemiring A
inst✝⁶ : Module R A
inst✝⁵ : IsScalarTower R A A
inst✝⁴ : SMulCommClass R A A
inst✝³ : NonUnitalNonAssocSemiring B
inst✝² : Module R B
inst✝¹ : IsScalarTower R B B
inst✝ : SMulCommClass R B B
S : NonUnitalSubalgebra R A
S₁ : NonUnitalSubalgebra R B
⊢ ⊤.prod ⊤ = ⊤
state_after: case h
R : Type u
A : Type v
B : Type w
inst✝⁸ : CommSemiring R
inst✝⁷ : NonUnitalNonAssocSemiring A
inst✝⁶ : Module R A
inst✝⁵ : IsScalarTower R A A
inst✝⁴ : SMulCommClass R A A
inst✝³ : NonUnitalNonAssocSemiring B
inst✝² : Module R B
inst✝¹ : IsScalarTower R B B
inst✝ : SMulCommClass R B B
S : NonUnitalSubalgebra R A
S₁ : NonUnitalSubalgebra R B
x✝ : A × B
⊢ x✝ ∈ ⊤.prod ⊤ ↔ x✝ ∈ ⊤

tactic: simp
state_before: case h
R : Type u
A : Type v
B : Type w
inst✝⁸ : CommSemiring R
inst✝⁷ : NonUnitalNonAssocSemiring A
inst✝⁶ : Module R A
inst✝⁵ : IsScalarTower R A A
inst✝⁴ : SMulCommClass R A A
inst✝³ : NonUnitalNonAssocSemiring B
inst✝² : Module R B
inst✝¹ : IsScalarTower R B B
inst✝ : SMulCommClass R B B
S : NonUnitalSubalgebra R A
S₁ : NonUnitalSubalgebra R B
x✝ : A × B
⊢ x✝ ∈ ⊤.prod ⊤ ↔ x✝ ∈ ⊤
state_after: no goals
Theorem: NonUnitalStarAlgebra.mem_iInf
File: Mathlib/Algebra/Star/NonUnitalSubalgebra.lean

tactic: simp only [iInf, mem_sInf, Set.forall_mem_range]
state_before: F : Type v'
R' : Type u'
R : Type u
A : Type v
B : Type w
C : Type w'
inst✝¹⁶ : CommSemiring R
inst✝¹⁵ : StarRing R
inst✝¹⁴ : NonUnitalSemiring A
inst✝¹³ : StarRing A
inst✝¹² : Module R A
inst✝¹¹ : IsScalarTower R A A
inst✝¹⁰ : SMulCommClass R A A
inst✝⁹ : StarModule R A
inst✝⁸ : NonUnitalSemiring B
inst✝⁷ : StarRing B
inst✝⁶ : Module R B
inst✝⁵ : IsScalarTower R B B
inst✝⁴ : SMulCommClass R B B
inst✝³ : StarModule R B
inst✝² : FunLike F A B
inst✝¹ : NonUnitalAlgHomClass F R A B
inst✝ : NonUnitalStarAlgHomClass F R A B
ι : Sort u_1
S : ι → NonUnitalStarSubalgebra R A
x : A
⊢ x ∈ ⨅ i, S i ↔ ∀ (i : ι), x ∈ S i
state_after: no goals
Theorem: GaussianInt.natAbs_norm_mod_lt
File: Mathlib/NumberTheory/Zsqrtd/GaussianInt.lean

tactic: simp [-Int.ofNat_lt, norm_mod_lt x hy]
state_before: x y : ℤ[i]
hy : y ≠ 0
⊢ ↑(norm (x % y)).natAbs < ↑(norm y).natAbs
state_after: no goals
Theorem: Real.Gamma_nat_eq_factorial
File: Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean

tactic: rw [Gamma, Complex.ofReal_add, Complex.ofReal_natCast, Complex.ofReal_one,
  Complex.Gamma_nat_eq_factorial, ← Complex.ofReal_natCast, Complex.ofReal_re]
state_before: n : ℕ
⊢ Gamma (↑n + 1) = ↑n !
state_after: no goals
Theorem: CategoryTheory.PreGaloisCategory.fiberEqualizerEquiv_symm_ι_apply
File: Mathlib/CategoryTheory/Galois/Basic.lean

tactic: simp [fiberEqualizerEquiv]
state_before: C : Type u₁
inst✝² : Category.{u₂, u₁} C
inst✝¹ : PreGaloisCategory C
F : C ⥤ FintypeCat
inst✝ : FiberFunctor F
X Y : C
f g : X ⟶ Y
x : ↑(F.obj X)
h : F.map f x = F.map g x
⊢ F.map (equalizer.ι f g) ((fiberEqualizerEquiv F f g).symm ⟨x, h⟩) = x
state_after: C : Type u₁
inst✝² : Category.{u₂, u₁} C
inst✝¹ : PreGaloisCategory C
F : C ⥤ FintypeCat
inst✝ : FiberFunctor F
X Y : C
f g : X ⟶ Y
x : ↑(F.obj X)
h : F.map f x = F.map g x
⊢ F.map (equalizer.ι f g)
      ((PreservesEqualizer.iso (F ⋙ FintypeCat.incl) f g).inv ((Types.equalizerIso (F.map f) (F.map g)).inv ⟨x, h⟩)) =
    x

tactic: change ((Types.equalizerIso _ _).inv ≫ _ ≫ (F ⋙ FintypeCat.incl).map (equalizer.ι f g)) _ = _
state_before: C : Type u₁
inst✝² : Category.{u₂, u₁} C
inst✝¹ : PreGaloisCategory C
F : C ⥤ FintypeCat
inst✝ : FiberFunctor F
X Y : C
f g : X ⟶ Y
x : ↑(F.obj X)
h : F.map f x = F.map g x
⊢ F.map (equalizer.ι f g)
      ((PreservesEqualizer.iso (F ⋙ FintypeCat.incl) f g).inv ((Types.equalizerIso (F.map f) (F.map g)).inv ⟨x, h⟩)) =
    x
state_after: C : Type u₁
inst✝² : Category.{u₂, u₁} C
inst✝¹ : PreGaloisCategory C
F : C ⥤ FintypeCat
inst✝ : FiberFunctor F
X Y : C
f g : X ⟶ Y
x : ↑(F.obj X)
h : F.map f x = F.map g x
⊢ ((Types.equalizerIso (F.map f) (F.map g)).inv ≫
        (PreservesEqualizer.iso (F ⋙ FintypeCat.incl) f g).inv ≫ (F ⋙ FintypeCat.incl).map (equalizer.ι f g))
      ⟨x, h⟩ =
    x

tactic: erw [PreservesEqualizer.iso_inv_ι, Types.equalizerIso_inv_comp_ι]
state_before: C : Type u₁
inst✝² : Category.{u₂, u₁} C
inst✝¹ : PreGaloisCategory C
F : C ⥤ FintypeCat
inst✝ : FiberFunctor F
X Y : C
f g : X ⟶ Y
x : ↑(F.obj X)
h : F.map f x = F.map g x
⊢ ((Types.equalizerIso (F.map f) (F.map g)).inv ≫
        (PreservesEqualizer.iso (F ⋙ FintypeCat.incl) f g).inv ≫ (F ⋙ FintypeCat.incl).map (equalizer.ι f g))
      ⟨x, h⟩ =
    x
state_after: no goals
Theorem: Set.iUnion_Icc_right
File: Mathlib/Order/Interval/Set/Disjoint.lean

tactic: simp only [← Ici_inter_Iic, ← inter_iUnion, iUnion_Iic, inter_univ]
state_before: ι : Sort u
α : Type v
β : Type w
inst✝ : Preorder α
a✝ b c a : α
⊢ ⋃ b, Icc a b = Ici a
state_after: no goals
Theorem: PiNat.dist_triangle_nonarch
File: Mathlib/Topology/MetricSpace/PiNat.lean

tactic: rcases eq_or_ne x z with (rfl | hxz)
state_before: E : ℕ → Type u_1
x y z : (n : ℕ) → E n
⊢ dist x z ≤ max (dist x y) (dist y z)
state_after: case inl
E : ℕ → Type u_1
x y : (n : ℕ) → E n
⊢ dist x x ≤ max (dist x y) (dist y x)

case inr
E : ℕ → Type u_1
x y z : (n : ℕ) → E n
hxz : x ≠ z
⊢ dist x z ≤ max (dist x y) (dist y z)

tactic: rcases eq_or_ne x y with (rfl | hxy)
state_before: case inr
E : ℕ → Type u_1
x y z : (n : ℕ) → E n
hxz : x ≠ z
⊢ dist x z ≤ max (dist x y) (dist y z)
state_after: case inr.inl
E : ℕ → Type u_1
x z : (n : ℕ) → E n
hxz : x ≠ z
⊢ dist x z ≤ max (dist x x) (dist x z)

case inr.inr
E : ℕ → Type u_1
x y z : (n : ℕ) → E n
hxz : x ≠ z
hxy : x ≠ y
⊢ dist x z ≤ max (dist x y) (dist y z)

tactic: rcases eq_or_ne y z with (rfl | hyz)
state_before: case inr.inr
E : ℕ → Type u_1
x y z : (n : ℕ) → E n
hxz : x ≠ z
hxy : x ≠ y
⊢ dist x z ≤ max (dist x y) (dist y z)
state_after: case inr.inr.inl
E : ℕ → Type u_1
x y : (n : ℕ) → E n
hxy hxz : x ≠ y
⊢ dist x y ≤ max (dist x y) (dist y y)

case inr.inr.inr
E : ℕ → Type u_1
x y z : (n : ℕ) → E n
hxz : x ≠ z
hxy : x ≠ y
hyz : y ≠ z
⊢ dist x z ≤ max (dist x y) (dist y z)

tactic: simp only [dist_eq_of_ne, hxz, hxy, hyz, inv_le_inv, one_div, inv_pow, zero_lt_two, Ne,
  not_false_iff, le_max_iff, pow_le_pow_iff_right, one_lt_two, pow_pos,
  min_le_iff.1 (min_firstDiff_le x y z hxz)]
state_before: case inr.inr.inr
E : ℕ → Type u_1
x y z : (n : ℕ) → E n
hxz : x ≠ z
hxy : x ≠ y
hyz : y ≠ z
⊢ dist x z ≤ max (dist x y) (dist y z)
state_after: no goals

tactic: simp [PiNat.dist_self x, PiNat.dist_nonneg]
state_before: case inl
E : ℕ → Type u_1
x y : (n : ℕ) → E n
⊢ dist x x ≤ max (dist x y) (dist y x)
state_after: no goals

tactic: simp
state_before: case inr.inl
E : ℕ → Type u_1
x z : (n : ℕ) → E n
hxz : x ≠ z
⊢ dist x z ≤ max (dist x x) (dist x z)
state_after: no goals

tactic: simp
state_before: case inr.inr.inl
E : ℕ → Type u_1
x y : (n : ℕ) → E n
hxy hxz : x ≠ y
⊢ dist x y ≤ max (dist x y) (dist y y)
state_after: no goals
Theorem: Finset.exists_superset_card_eq
File: Mathlib/Data/Fintype/Card.lean

tactic: simpa using exists_subsuperset_card_eq s.subset_univ hsn hnα
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : Fintype α
n : ℕ
s : Finset α
hsn : s.card ≤ n
hnα : n ≤ Fintype.card α
⊢ ∃ t, s ⊆ t ∧ t.card = n
state_after: no goals
Theorem: ProbabilityTheory.setIntegral_condKernel_univ_left
File: Mathlib/Probability/Kernel/Disintegration/Integral.lean

tactic: rw [← setIntegral_condKernel a MeasurableSet.univ ht hf]
state_before: α : Type u_1
β : Type u_2
Ω : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
inst✝⁶ : MeasurableSpace Ω
inst✝⁵ : StandardBorelSpace Ω
inst✝⁴ : Nonempty Ω
inst✝³ : CountableOrCountablyGenerated α β
κ : ↥(kernel α (β × Ω))
inst✝² : IsFiniteKernel κ
E : Type u_4
f : β × Ω → E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a : α
t : Set Ω
ht : MeasurableSet t
hf : IntegrableOn f (Set.univ ×ˢ t) (κ a)
⊢ ∫ (b : β), ∫ (ω : Ω) in t, f (b, ω) ∂(kernel.condKernel κ) (a, b) ∂(kernel.fst κ) a =
    ∫ (x : β × Ω) in Set.univ ×ˢ t, f x ∂κ a
state_after: α : Type u_1
β : Type u_2
Ω : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
inst✝⁶ : MeasurableSpace Ω
inst✝⁵ : StandardBorelSpace Ω
inst✝⁴ : Nonempty Ω
inst✝³ : CountableOrCountablyGenerated α β
κ : ↥(kernel α (β × Ω))
inst✝² : IsFiniteKernel κ
E : Type u_4
f : β × Ω → E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a : α
t : Set Ω
ht : MeasurableSet t
hf : IntegrableOn f (Set.univ ×ˢ t) (κ a)
⊢ ∫ (b : β), ∫ (ω : Ω) in t, f (b, ω) ∂(kernel.condKernel κ) (a, b) ∂(kernel.fst κ) a =
    ∫ (b : β) in Set.univ, ∫ (ω : Ω) in t, f (b, ω) ∂(kernel.condKernel κ) (a, b) ∂(kernel.fst κ) a

tactic: simp_rw [Measure.restrict_univ]
state_before: α : Type u_1
β : Type u_2
Ω : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
inst✝⁶ : MeasurableSpace Ω
inst✝⁵ : StandardBorelSpace Ω
inst✝⁴ : Nonempty Ω
inst✝³ : CountableOrCountablyGenerated α β
κ : ↥(kernel α (β × Ω))
inst✝² : IsFiniteKernel κ
E : Type u_4
f : β × Ω → E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a : α
t : Set Ω
ht : MeasurableSet t
hf : IntegrableOn f (Set.univ ×ˢ t) (κ a)
⊢ ∫ (b : β), ∫ (ω : Ω) in t, f (b, ω) ∂(kernel.condKernel κ) (a, b) ∂(kernel.fst κ) a =
    ∫ (b : β) in Set.univ, ∫ (ω : Ω) in t, f (b, ω) ∂(kernel.condKernel κ) (a, b) ∂(kernel.fst κ) a
state_after: no goals
Theorem: List.Chain'.two_mul_count_bool_of_even
File: Mathlib/Data/Bool/Count.lean

tactic: rw [← count_not_add_count l b, hl.count_not_eq_count h2, two_mul]
state_before: l : List Bool
hl : Chain' (fun x x_1 => x ≠ x_1) l
h2 : Even l.length
b : Bool
⊢ 2 * count b l = l.length
state_after: no goals
Theorem: Polynomial.span_minpoly_eq_annihilator
File: Mathlib/LinearAlgebra/AnnihilatingPolynomial.lean

tactic: rw [← annIdealGenerator_eq_minpoly, span_singleton_annIdealGenerator]
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝⁴ : Field 𝕜
inst✝³ : Ring A
inst✝² : Algebra 𝕜 A
M : Type u_3
inst✝¹ : AddCommGroup M
inst✝ : Module 𝕜 M
f : Module.End 𝕜 M
⊢ Ideal.span {minpoly 𝕜 f} = Module.annihilator 𝕜[X] (Module.AEval' f)
state_after: 𝕜 : Type u_1
A : Type u_2
inst✝⁴ : Field 𝕜
inst✝³ : Ring A
inst✝² : Algebra 𝕜 A
M : Type u_3
inst✝¹ : AddCommGroup M
inst✝ : Module 𝕜 M
f : Module.End 𝕜 M
⊢ annIdeal 𝕜 f = Module.annihilator 𝕜[X] (Module.AEval' f)

tactic: ext
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝⁴ : Field 𝕜
inst✝³ : Ring A
inst✝² : Algebra 𝕜 A
M : Type u_3
inst✝¹ : AddCommGroup M
inst✝ : Module 𝕜 M
f : Module.End 𝕜 M
⊢ annIdeal 𝕜 f = Module.annihilator 𝕜[X] (Module.AEval' f)
state_after: case h
𝕜 : Type u_1
A : Type u_2
inst✝⁴ : Field 𝕜
inst✝³ : Ring A
inst✝² : Algebra 𝕜 A
M : Type u_3
inst✝¹ : AddCommGroup M
inst✝ : Module 𝕜 M
f : Module.End 𝕜 M
x✝ : 𝕜[X]
⊢ x✝ ∈ annIdeal 𝕜 f ↔ x✝ ∈ Module.annihilator 𝕜[X] (Module.AEval' f)

tactic: rw [mem_annIdeal_iff_aeval_eq_zero, DFunLike.ext_iff, Module.mem_annihilator]
state_before: case h
𝕜 : Type u_1
A : Type u_2
inst✝⁴ : Field 𝕜
inst✝³ : Ring A
inst✝² : Algebra 𝕜 A
M : Type u_3
inst✝¹ : AddCommGroup M
inst✝ : Module 𝕜 M
f : Module.End 𝕜 M
x✝ : 𝕜[X]
⊢ x✝ ∈ annIdeal 𝕜 f ↔ x✝ ∈ Module.annihilator 𝕜[X] (Module.AEval' f)
state_after: case h
𝕜 : Type u_1
A : Type u_2
inst✝⁴ : Field 𝕜
inst✝³ : Ring A
inst✝² : Algebra 𝕜 A
M : Type u_3
inst✝¹ : AddCommGroup M
inst✝ : Module 𝕜 M
f : Module.End 𝕜 M
x✝ : 𝕜[X]
⊢ (∀ (x : M), ((aeval f) x✝) x = 0 x) ↔ ∀ (m : Module.AEval' f), x✝ • m = 0

tactic: rfl
state_before: case h
𝕜 : Type u_1
A : Type u_2
inst✝⁴ : Field 𝕜
inst✝³ : Ring A
inst✝² : Algebra 𝕜 A
M : Type u_3
inst✝¹ : AddCommGroup M
inst✝ : Module 𝕜 M
f : Module.End 𝕜 M
x✝ : 𝕜[X]
⊢ (∀ (x : M), ((aeval f) x✝) x = 0 x) ↔ ∀ (m : Module.AEval' f), x✝ • m = 0
state_after: no goals