ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: hasFTaylorSeriesUpTo_top_iff
File: Mathlib/Analysis/Calculus/ContDiff/Defs.lean

Proof steps:
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
⊢ HasFTaylorSeriesUpTo ⊤ f p ↔ ∀ (n : ℕ), HasFTaylorSeriesUpTo (↑n) f p
state_after: no goals
tactic: simp only [← hasFTaylorSeriesUpToOn_univ_iff, hasFTaylorSeriesUpToOn_top_iff]
Theorem: MeasureTheory.Measure.inv_rnDeriv'
File: Mathlib/MeasureTheory/Decomposition/RadonNikodym.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hμν : μ ≪ ν
⊢ (ν.rnDeriv μ)⁻¹ =ᶠ[ae μ] μ.rnDeriv ν
state_after: case h
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hμν : μ ≪ ν
x : α
hx : (μ.rnDeriv ν)⁻¹ x = ν.rnDeriv μ x
⊢ (ν.rnDeriv μ)⁻¹ x = μ.rnDeriv ν x
tactic: filter_upwards [inv_rnDeriv hμν] with x hx
state_before: case h
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hμν : μ ≪ ν
x : α
hx : (μ.rnDeriv ν)⁻¹ x = ν.rnDeriv μ x
⊢ (ν.rnDeriv μ)⁻¹ x = μ.rnDeriv ν x
state_after: no goals
tactic: simp only [Pi.inv_apply, ← hx, inv_inv]
Theorem: LinearIsometryEquiv.reflections_generate_dim_aux
File: Mathlib/Analysis/InnerProductSpace/Projection.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K : Submodule 𝕜 E
inst✝ : FiniteDimensional ℝ F
n : ℕ
φ : F ≃ₗᵢ[ℝ] F
hn :
  finrank ℝ
      ↥(LinearMap.ker
            (ContinuousLinearMap.id ℝ F -
              ↑{ toLinearEquiv := φ.toLinearEquiv, continuous_toFun := ⋯, continuous_invFun := ⋯ }))ᗮ ≤
    n
⊢ ∃ l, l.length ≤ n ∧ φ = (List.map (fun v => reflection (Submodule.span ℝ {v})ᗮ) l).prod
state_after: case zero
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K : Submodule 𝕜 E
inst✝ : FiniteDimensional ℝ F
φ : F ≃ₗᵢ[ℝ] F
hn :
  finrank ℝ
      ↥(LinearMap.ker
            (ContinuousLinearMap.id ℝ F -
              ↑{ toLinearEquiv := φ.toLinearEquiv, continuous_toFun := ⋯, continuous_invFun := ⋯ }))ᗮ ≤
    0
⊢ ∃ l, l.length ≤ 0 ∧ φ = (List.map (fun v => reflection (Submodule.span ℝ {v})ᗮ) l).prod

case succ
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K : Submodule 𝕜 E
inst✝ : FiniteDimensional ℝ F
n : ℕ
IH :
  ∀ (φ : F ≃ₗᵢ[ℝ] F),
    finrank ℝ
          ↥(LinearMap.ker
                (ContinuousLinearMap.id ℝ F -
                  ↑{ toLinearEquiv := φ.toLinearEquiv, continuous_toFun := ⋯, continuous_invFun := ⋯ }))ᗮ ≤
        n →
      ∃ l, l.length ≤ n ∧ φ = (List.map (fun v => reflection (Submodule.span ℝ {v})ᗮ) l).prod
φ : F ≃ₗᵢ[ℝ] F
hn :
  finrank ℝ
      ↥(LinearMap.ker
            (ContinuousLinearMap.id ℝ F -
              ↑{ toLinearEquiv := φ.toLinearEquiv, continuous_toFun := ⋯, continuous_invFun := ⋯ }))ᗮ ≤
    n + 1
⊢ ∃ l, l.length ≤ n + 1 ∧ φ = (List.map (fun v => reflection (Submodule.span ℝ {v})ᗮ) l).prod
tactic: induction' n with n IH generalizing φ
Theorem: List.orderedInsert_eq_take_drop
File: Mathlib/Data/List/Sort.lean

Proof steps:
state_before: α : Type u
r : α → α → Prop
inst✝ : DecidableRel r
a b : α
l : List α
⊢ orderedInsert r a (b :: l) =
    takeWhile (fun b => decide ¬r a b) (b :: l) ++ a :: dropWhile (fun b => decide ¬r a b) (b :: l)
state_after: α : Type u
r : α → α → Prop
inst✝ : DecidableRel r
a b : α
l : List α
⊢ (if r a b then a :: b :: l else b :: orderedInsert r a l) =
    takeWhile (fun b => decide ¬r a b) (b :: l) ++ a :: dropWhile (fun b => decide ¬r a b) (b :: l)
tactic: dsimp only [orderedInsert]
state_before: α : Type u
r : α → α → Prop
inst✝ : DecidableRel r
a b : α
l : List α
⊢ (if r a b then a :: b :: l else b :: orderedInsert r a l) =
    takeWhile (fun b => decide ¬r a b) (b :: l) ++ a :: dropWhile (fun b => decide ¬r a b) (b :: l)
state_after: no goals
tactic: split_ifs with h <;> simp [takeWhile, dropWhile, *, orderedInsert_eq_take_drop a l]
Theorem: FractionalIdeal.coe_spanSingleton
File: Mathlib/RingTheory/FractionalIdeal/Operations.lean

Proof steps:
state_before: R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁵ : CommRing P
inst✝⁴ : Algebra R P
loc : IsLocalization S P
R₁ : Type u_3
inst✝³ : CommRing R₁
K : Type u_4
inst✝² : Field K
inst✝¹ : Algebra R₁ K
inst✝ : IsFractionRing R₁ K
x : P
⊢ ↑(spanSingleton S x) = span R {x}
state_after: R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁵ : CommRing P
inst✝⁴ : Algebra R P
loc : IsLocalization S P
R₁ : Type u_3
inst✝³ : CommRing R₁
K : Type u_4
inst✝² : Field K
inst✝¹ : Algebra R₁ K
inst✝ : IsFractionRing R₁ K
x : P
⊢ ↑⟨span R {x}, ⋯⟩ = span R {x}
tactic: rw [spanSingleton]
state_before: R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁵ : CommRing P
inst✝⁴ : Algebra R P
loc : IsLocalization S P
R₁ : Type u_3
inst✝³ : CommRing R₁
K : Type u_4
inst✝² : Field K
inst✝¹ : Algebra R₁ K
inst✝ : IsFractionRing R₁ K
x : P
⊢ ↑⟨span R {x}, ⋯⟩ = span R {x}
state_after: no goals
tactic: rfl
Theorem: Ideal.unit_mul_mem_iff_mem
File: Mathlib/RingTheory/Ideal/Basic.lean

Proof steps:
state_before: α : Type u
β : Type v
inst✝ : Semiring α
I : Ideal α
a b x y : α
hy : IsUnit y
⊢ y * x ∈ I ↔ x ∈ I
state_after: α : Type u
β : Type v
inst✝ : Semiring α
I : Ideal α
a b x y : α
hy : IsUnit y
h : y * x ∈ I
⊢ x ∈ I
tactic: refine ⟨fun h => ?_, fun h => I.mul_mem_left y h⟩
state_before: α : Type u
β : Type v
inst✝ : Semiring α
I : Ideal α
a b x y : α
hy : IsUnit y
h : y * x ∈ I
⊢ x ∈ I
state_after: case intro
α : Type u
β : Type v
inst✝ : Semiring α
I : Ideal α
a b x y : α
hy : IsUnit y
h : y * x ∈ I
y' : α
hy' : y' * y = 1
⊢ x ∈ I
tactic: obtain ⟨y', hy'⟩ := hy.exists_left_inv
state_before: case intro
α : Type u
β : Type v
inst✝ : Semiring α
I : Ideal α
a b x y : α
hy : IsUnit y
h : y * x ∈ I
y' : α
hy' : y' * y = 1
⊢ x ∈ I
state_after: case intro
α : Type u
β : Type v
inst✝ : Semiring α
I : Ideal α
a b x y : α
hy : IsUnit y
h : y * x ∈ I
y' : α
hy' : y' * y = 1
this : y' * (y * x) ∈ I
⊢ x ∈ I
tactic: have := I.mul_mem_left y' h
state_before: case intro
α : Type u
β : Type v
inst✝ : Semiring α
I : Ideal α
a b x y : α
hy : IsUnit y
h : y * x ∈ I
y' : α
hy' : y' * y = 1
this : y' * (y * x) ∈ I
⊢ x ∈ I
state_after: no goals
tactic: rwa [← mul_assoc, hy', one_mul] at this
Theorem: AlgEquiv.isPurelyInseparable
File: Mathlib/FieldTheory/PurelyInseparable.lean

Proof steps:
state_before: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
e : K ≃ₐ[F] E
inst✝ : IsPurelyInseparable F K
⊢ IsPurelyInseparable F E
state_after: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
e : K ≃ₐ[F] E
inst✝ : IsPurelyInseparable F K
x : E
h : IsSeparable F x
⊢ x ∈ (algebraMap F E).range
tactic: refine ⟨⟨fun _ ↦ by rw [← isIntegral_algEquiv e.symm]; exact IsPurelyInseparable.isIntegral' F _⟩,
    fun x h ↦ ?_⟩
state_before: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
e : K ≃ₐ[F] E
inst✝ : IsPurelyInseparable F K
x : E
h : IsSeparable F x
⊢ x ∈ (algebraMap F E).range
state_after: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
e : K ≃ₐ[F] E
inst✝ : IsPurelyInseparable F K
x : E
h : (minpoly F (e.symm x)).Separable
⊢ x ∈ (algebraMap F E).range
tactic: rw [IsSeparable, ← minpoly.algEquiv_eq e.symm] at h
state_before: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
e : K ≃ₐ[F] E
inst✝ : IsPurelyInseparable F K
x : E
h : (minpoly F (e.symm x)).Separable
⊢ x ∈ (algebraMap F E).range
state_after: no goals
tactic: simpa only [RingHom.mem_range, algebraMap_eq_apply] using IsPurelyInseparable.inseparable F _ h
Theorem: Real.logb_nonneg_iff
File: Mathlib/Analysis/SpecialFunctions/Log/Base.lean

Proof steps:
state_before: b x y : ℝ
hb : 1 < b
hx : 0 < x
⊢ 0 ≤ logb b x ↔ 1 ≤ x
state_after: no goals
tactic: rw [← not_lt, logb_neg_iff hb hx, not_lt]
Theorem: Ordinal.div_eq_zero_of_lt
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
a b : Ordinal.{u_4}
h : a < b
⊢ a / b = 0
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
a b : Ordinal.{u_4}
h : a < b
⊢ a < b * succ 0
tactic: rw [← Ordinal.le_zero, div_le <| Ordinal.pos_iff_ne_zero.1 <| (Ordinal.zero_le _).trans_lt h]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
a b : Ordinal.{u_4}
h : a < b
⊢ a < b * succ 0
state_after: no goals
tactic: simpa only [succ_zero, mul_one] using h
Theorem: subset_add_closure_zero
File: Mathlib/Topology/Algebra/Group/Basic.lean

Proof steps:
state_before: G : Type w
H : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s✝ t s : Set G
⊢ s ⊆ s * closure {1}
state_after: G : Type w
H : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s✝ t s : Set G
this : s ⊆ s * {1}
⊢ s ⊆ s * closure {1}
tactic: have : s ⊆ s * ({1} : Set G) := by simp
state_before: G : Type w
H : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s✝ t s : Set G
this : s ⊆ s * {1}
⊢ s ⊆ s * closure {1}
state_after: no goals
tactic: exact this.trans (smul_subset_smul_left subset_closure)
Theorem: hasMellin_cpow_Ioc
File: Mathlib/Analysis/MellinTransform.lean

Proof steps:
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
a s : ℂ
hs : 0 < s.re + a.re
⊢ HasMellin ((Ioc 0 1).indicator fun t => ↑t ^ a) s (1 / (s + a))
state_after: E : Type u_1
inst✝ : NormedAddCommGroup E
a s : ℂ
hs : 0 < s.re + a.re
this : HasMellin ((Ioc 0 1).indicator fun x => 1) (s + a) (1 / (s + a))
⊢ HasMellin ((Ioc 0 1).indicator fun t => ↑t ^ a) s (1 / (s + a))
tactic: have := hasMellin_one_Ioc (by rwa [add_re] : 0 < (s + a).re)
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
a s : ℂ
hs : 0 < s.re + a.re
this : HasMellin ((Ioc 0 1).indicator fun x => 1) (s + a) (1 / (s + a))
⊢ HasMellin ((Ioc 0 1).indicator fun t => ↑t ^ a) s (1 / (s + a))
state_after: E : Type u_1
inst✝ : NormedAddCommGroup E
a s : ℂ
hs : 0 < s.re + a.re
this :
  MellinConvergent ((Ioc 0 1).indicator fun a_1 => ↑a_1 ^ a) s ∧
    mellin ((Ioc 0 1).indicator fun a_1 => ↑a_1 ^ a) s = 1 / (s + a)
⊢ HasMellin ((Ioc 0 1).indicator fun t => ↑t ^ a) s (1 / (s + a))
tactic: simp_rw [HasMellin, ← MellinConvergent.cpow_smul, ← mellin_cpow_smul, ← indicator_smul,
    smul_eq_mul, mul_one] at this
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
a s : ℂ
hs : 0 < s.re + a.re
this :
  MellinConvergent ((Ioc 0 1).indicator fun a_1 => ↑a_1 ^ a) s ∧
    mellin ((Ioc 0 1).indicator fun a_1 => ↑a_1 ^ a) s = 1 / (s + a)
⊢ HasMellin ((Ioc 0 1).indicator fun t => ↑t ^ a) s (1 / (s + a))
state_after: no goals
tactic: exact this
Theorem: Submodule.mapQ_id
File: Mathlib/LinearAlgebra/Quotient.lean

Proof steps:
state_before: R : Type u_1
M : Type u_2
r : R
x y : M
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
p p' : Submodule R M
R₂ : Type u_3
M₂ : Type u_4
inst✝² : Ring R₂
inst✝¹ : AddCommGroup M₂
inst✝ : Module R₂ M₂
τ₁₂ : R →+* R₂
q : Submodule R₂ M₂
⊢ p ≤ comap LinearMap.id p
state_after: no goals
tactic: rw [comap_id]
state_before: R : Type u_1
M : Type u_2
r : R
x y : M
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
p p' : Submodule R M
R₂ : Type u_3
M₂ : Type u_4
inst✝² : Ring R₂
inst✝¹ : AddCommGroup M₂
inst✝ : Module R₂ M₂
τ₁₂ : R →+* R₂
q : Submodule R₂ M₂
h : optParam (p ≤ comap LinearMap.id p) ⋯
⊢ p.mapQ p LinearMap.id h = LinearMap.id
state_after: case h.h
R : Type u_1
M : Type u_2
r : R
x y : M
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
p p' : Submodule R M
R₂ : Type u_3
M₂ : Type u_4
inst✝² : Ring R₂
inst✝¹ : AddCommGroup M₂
inst✝ : Module R₂ M₂
τ₁₂ : R →+* R₂
q : Submodule R₂ M₂
h : optParam (p ≤ comap LinearMap.id p) ⋯
x✝ : M
⊢ (p.mapQ p LinearMap.id h ∘ₗ p.mkQ) x✝ = (LinearMap.id ∘ₗ p.mkQ) x✝
tactic: ext
state_before: case h.h
R : Type u_1
M : Type u_2
r : R
x y : M
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
p p' : Submodule R M
R₂ : Type u_3
M₂ : Type u_4
inst✝² : Ring R₂
inst✝¹ : AddCommGroup M₂
inst✝ : Module R₂ M₂
τ₁₂ : R →+* R₂
q : Submodule R₂ M₂
h : optParam (p ≤ comap LinearMap.id p) ⋯
x✝ : M
⊢ (p.mapQ p LinearMap.id h ∘ₗ p.mkQ) x✝ = (LinearMap.id ∘ₗ p.mkQ) x✝
state_after: no goals
tactic: simp
Theorem: Finset.addEnergy_mono
File: Mathlib/Combinatorics/Additive/Energy.lean

Proof steps:
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Mul α
s s₁ s₂ t t₁ t₂ : Finset α
hs : s₁ ⊆ s₂
ht : t₁ ⊆ t₂
⊢ Eₘ[s₁, t₁] ≤ Eₘ[s₂, t₂]
state_after: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Mul α
s s₁ s₂ t t₁ t₂ : Finset α
hs : s₁ ⊆ s₂
ht : t₁ ⊆ t₂
⊢ (filter (fun x => x.1.1 * x.2.1 = x.1.2 * x.2.2) ((s₁ ×ˢ s₁) ×ˢ t₁ ×ˢ t₁)).card ≤
    (filter (fun x => x.1.1 * x.2.1 = x.1.2 * x.2.2) ((s₂ ×ˢ s₂) ×ˢ t₂ ×ˢ t₂)).card
tactic: unfold mulEnergy
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Mul α
s s₁ s₂ t t₁ t₂ : Finset α
hs : s₁ ⊆ s₂
ht : t₁ ⊆ t₂
⊢ (filter (fun x => x.1.1 * x.2.1 = x.1.2 * x.2.2) ((s₁ ×ˢ s₁) ×ˢ t₁ ×ˢ t₁)).card ≤
    (filter (fun x => x.1.1 * x.2.1 = x.1.2 * x.2.2) ((s₂ ×ˢ s₂) ×ˢ t₂ ×ˢ t₂)).card
state_after: no goals
tactic: gcongr
Theorem: Submonoid.isSubmonoid
File: Mathlib/Deprecated/Submonoid.lean

Proof steps:
state_before: M : Type u_1
inst✝¹ : Monoid M
s : Set M
A : Type u_2
inst✝ : AddMonoid A
t : Set A
S : Submonoid M
⊢ IsSubmonoid ↑S
state_after: no goals
tactic: exact ⟨S.2, S.1.2⟩
Theorem: Submodule.map_mem_span_algebraMap_image
File: Mathlib/Algebra/Algebra/Tower.lean

Proof steps:
state_before: R : Type u
S✝ : Type v
A : Type w
B : Type u₁
M : Type v₁
inst✝¹² : CommSemiring R
inst✝¹¹ : Semiring S✝
inst✝¹⁰ : AddCommMonoid A
inst✝⁹ : Algebra R S✝
inst✝⁸ : Module S✝ A
inst✝⁷ : Module R A
inst✝⁶ : IsScalarTower R S✝ A
S : Type u_1
T : Type u_2
inst✝⁵ : CommSemiring S
inst✝⁴ : Semiring T
inst✝³ : Algebra R S
inst✝² : Algebra R T
inst✝¹ : Algebra S T
inst✝ : IsScalarTower R S T
x : S
a : Set S
hx : x ∈ span R a
⊢ (algebraMap S T) x ∈ span R (⇑(algebraMap S T) '' a)
state_after: R : Type u
S✝ : Type v
A : Type w
B : Type u₁
M : Type v₁
inst✝¹² : CommSemiring R
inst✝¹¹ : Semiring S✝
inst✝¹⁰ : AddCommMonoid A
inst✝⁹ : Algebra R S✝
inst✝⁸ : Module S✝ A
inst✝⁷ : Module R A
inst✝⁶ : IsScalarTower R S✝ A
S : Type u_1
T : Type u_2
inst✝⁵ : CommSemiring S
inst✝⁴ : Semiring T
inst✝³ : Algebra R S
inst✝² : Algebra R T
inst✝¹ : Algebra S T
inst✝ : IsScalarTower R S T
x : S
a : Set S
hx : x ∈ span R a
⊢ ∃ y ∈ span R a, (↑R (Algebra.linearMap S T)) y = (algebraMap S T) x
tactic: rw [span_algebraMap_image_of_tower, mem_map]
state_before: R : Type u
S✝ : Type v
A : Type w
B : Type u₁
M : Type v₁
inst✝¹² : CommSemiring R
inst✝¹¹ : Semiring S✝
inst✝¹⁰ : AddCommMonoid A
inst✝⁹ : Algebra R S✝
inst✝⁸ : Module S✝ A
inst✝⁷ : Module R A
inst✝⁶ : IsScalarTower R S✝ A
S : Type u_1
T : Type u_2
inst✝⁵ : CommSemiring S
inst✝⁴ : Semiring T
inst✝³ : Algebra R S
inst✝² : Algebra R T
inst✝¹ : Algebra S T
inst✝ : IsScalarTower R S T
x : S
a : Set S
hx : x ∈ span R a
⊢ ∃ y ∈ span R a, (↑R (Algebra.linearMap S T)) y = (algebraMap S T) x
state_after: no goals
tactic: exact ⟨x, hx, rfl⟩
Theorem: CategoryTheory.Limits.colimit.isoColimitCocone_ι_inv
File: Mathlib/CategoryTheory/Limits/HasLimits.lean

Proof steps:
state_before: J : Type u₁
inst✝³ : Category.{v₁, u₁} J
K : Type u₂
inst✝² : Category.{v₂, u₂} K
C : Type u
inst✝¹ : Category.{v, u} C
F✝ F : J ⥤ C
inst✝ : HasColimit F
t : ColimitCocone F
j : J
⊢ t.cocone.ι.app j ≫ (isoColimitCocone t).inv = ι F j
state_after: J : Type u₁
inst✝³ : Category.{v₁, u₁} J
K : Type u₂
inst✝² : Category.{v₂, u₂} K
C : Type u
inst✝¹ : Category.{v, u} C
F✝ F : J ⥤ C
inst✝ : HasColimit F
t : ColimitCocone F
j : J
⊢ t.cocone.ι.app j ≫ t.isColimit.desc (cocone F) = ι F j
tactic: dsimp [colimit.isoColimitCocone, IsColimit.coconePointUniqueUpToIso]
state_before: J : Type u₁
inst✝³ : Category.{v₁, u₁} J
K : Type u₂
inst✝² : Category.{v₂, u₂} K
C : Type u
inst✝¹ : Category.{v, u} C
F✝ F : J ⥤ C
inst✝ : HasColimit F
t : ColimitCocone F
j : J
⊢ t.cocone.ι.app j ≫ t.isColimit.desc (cocone F) = ι F j
state_after: no goals
tactic: aesop_cat
Theorem: MeasureTheory.IsStoppingTime.measurableSet_lt'
File: Mathlib/Probability/Process/Stopping.lean

Proof steps:
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
⊢ MeasurableSet {ω | τ ω < i}
state_after: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
this : {ω | τ ω < i} = {ω | τ ω ≤ i} \ {ω | τ ω = i}
⊢ MeasurableSet {ω | τ ω < i}
tactic: have : {ω | τ ω < i} = {ω | τ ω ≤ i} \ {ω | τ ω = i} := by
    ext1 ω
    simp only [lt_iff_le_and_ne, Set.mem_setOf_eq, Set.mem_diff]
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
this : {ω | τ ω < i} = {ω | τ ω ≤ i} \ {ω | τ ω = i}
⊢ MeasurableSet {ω | τ ω < i}
state_after: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
this : {ω | τ ω < i} = {ω | τ ω ≤ i} \ {ω | τ ω = i}
⊢ MeasurableSet ({ω | τ ω ≤ i} \ {ω | τ ω = i})
tactic: rw [this]
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
this : {ω | τ ω < i} = {ω | τ ω ≤ i} \ {ω | τ ω = i}
⊢ MeasurableSet ({ω | τ ω ≤ i} \ {ω | τ ω = i})
state_after: no goals
tactic: exact (hτ.measurableSet_le' i).diff (hτ.measurableSet_eq' i)
Theorem: Fintype.sum_subsingleton
File: Mathlib/Algebra/BigOperators/Group/Finset.lean

Proof steps:
state_before: ι✝ : Type u_1
κ✝ : Type u_2
α✝¹ : Type u_3
β✝ : Type u_4
γ : Type u_5
s s₁ s₂ : Finset α✝¹
a✝ : α✝¹
f✝ g : α✝¹ → β✝
ι : Type u_6
κ : Type u_7
α✝ : Type u_8
inst✝⁵ : Fintype ι
inst✝⁴ : Fintype κ
inst✝³ : CommMonoid α✝
α : Type u_9
β : Type u_10
inst✝² : CommMonoid β
inst✝¹ : Subsingleton α
inst✝ : Fintype α
f : α → β
a : α
⊢ ∏ x : α, f x = f a
state_after: ι✝ : Type u_1
κ✝ : Type u_2
α✝¹ : Type u_3
β✝ : Type u_4
γ : Type u_5
s s₁ s₂ : Finset α✝¹
a✝ : α✝¹
f✝ g : α✝¹ → β✝
ι : Type u_6
κ : Type u_7
α✝ : Type u_8
inst✝⁵ : Fintype ι
inst✝⁴ : Fintype κ
inst✝³ : CommMonoid α✝
α : Type u_9
β : Type u_10
inst✝² : CommMonoid β
inst✝¹ : Subsingleton α
inst✝ : Fintype α
f : α → β
a : α
this : Unique α
⊢ ∏ x : α, f x = f a
tactic: have : Unique α := uniqueOfSubsingleton a
state_before: ι✝ : Type u_1
κ✝ : Type u_2
α✝¹ : Type u_3
β✝ : Type u_4
γ : Type u_5
s s₁ s₂ : Finset α✝¹
a✝ : α✝¹
f✝ g : α✝¹ → β✝
ι : Type u_6
κ : Type u_7
α✝ : Type u_8
inst✝⁵ : Fintype ι
inst✝⁴ : Fintype κ
inst✝³ : CommMonoid α✝
α : Type u_9
β : Type u_10
inst✝² : CommMonoid β
inst✝¹ : Subsingleton α
inst✝ : Fintype α
f : α → β
a : α
this : Unique α
⊢ ∏ x : α, f x = f a
state_after: no goals
tactic: rw [prod_unique f, Subsingleton.elim default a]
Theorem: Function.support_eq_empty_iff
File: Mathlib/Algebra/Group/Support.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
A : Type u_3
B : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
inst✝² : One M
inst✝¹ : One N
inst✝ : One P
f : α → M
⊢ mulSupport f = ∅ ↔ f = 1
state_after: α : Type u_1
β : Type u_2
A : Type u_3
B : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
inst✝² : One M
inst✝¹ : One N
inst✝ : One P
f : α → M
⊢ (∀ x ∉ ∅, f x = 1) ↔ ∀ (a : α), f a = 1 a
tactic: rw [← subset_empty_iff, mulSupport_subset_iff', funext_iff]
state_before: α : Type u_1
β : Type u_2
A : Type u_3
B : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
inst✝² : One M
inst✝¹ : One N
inst✝ : One P
f : α → M
⊢ (∀ x ∉ ∅, f x = 1) ↔ ∀ (a : α), f a = 1 a
state_after: no goals
tactic: simp
Theorem: MeasureTheory.OuterMeasure.dirac_caratheodory
File: Mathlib/MeasureTheory/OuterMeasure/Caratheodory.lean

Proof steps:
state_before: α : Type u_1
a : α
s : Set α
x✝ : MeasurableSet s
t : Set α
⊢ (dirac a) t = (dirac a) (t ∩ s) + (dirac a) (t \ s)
state_after: case pos
α : Type u_1
a : α
s : Set α
x✝ : MeasurableSet s
t : Set α
ht : a ∈ t
⊢ (dirac a) t = (dirac a) (t ∩ s) + (dirac a) (t \ s)

case neg
α : Type u_1
a : α
s : Set α
x✝ : MeasurableSet s
t : Set α
ht : a ∉ t
⊢ (dirac a) t = (dirac a) (t ∩ s) + (dirac a) (t \ s)
tactic: by_cases ht : a ∈ t
state_before: case pos
α : Type u_1
a : α
s : Set α
x✝ : MeasurableSet s
t : Set α
ht : a ∈ t
⊢ (dirac a) t = (dirac a) (t ∩ s) + (dirac a) (t \ s)

case neg
α : Type u_1
a : α
s : Set α
x✝ : MeasurableSet s
t : Set α
ht : a ∉ t
⊢ (dirac a) t = (dirac a) (t ∩ s) + (dirac a) (t \ s)
state_after: case neg
α : Type u_1
a : α
s : Set α
x✝ : MeasurableSet s
t : Set α
ht : a ∉ t
⊢ (dirac a) t = (dirac a) (t ∩ s) + (dirac a) (t \ s)

case pos
α : Type u_1
a : α
s : Set α
x✝ : MeasurableSet s
t : Set α
ht : a ∈ t
⊢ (dirac a) t = (dirac a) (t ∩ s) + (dirac a) (t \ s)
tactic: swap
state_before: case pos
α : Type u_1
a : α
s : Set α
x✝ : MeasurableSet s
t : Set α
ht : a ∈ t
⊢ (dirac a) t = (dirac a) (t ∩ s) + (dirac a) (t \ s)
state_after: no goals
tactic: by_cases hs : a ∈ s <;> simp [*]