ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: TopologicalSpace.countable_cover_nhds
File: Mathlib/Topology/Bases.lean

Proof steps:
state_before: α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
⊢ ∃ s, s.Countable ∧ ⋃ x ∈ s, f x = univ
state_after: case intro.intro
α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
s : Set α
hsc : s.Countable
hsU : ⋃ i ∈ s, interior (f i) = ⋃ i, interior (f i)
⊢ ∃ s, s.Countable ∧ ⋃ x ∈ s, f x = univ
tactic: rcases isOpen_iUnion_countable (fun x => interior (f x)) fun x => isOpen_interior with
    ⟨s, hsc, hsU⟩
state_before: case intro.intro
α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
s : Set α
hsc : s.Countable
hsU : ⋃ i ∈ s, interior (f i) = ⋃ i, interior (f i)
⊢ ∃ s, s.Countable ∧ ⋃ x ∈ s, f x = univ
state_after: case intro.intro
α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
s : Set α
hsc : s.Countable
hsU : ⋃ i ∈ s, interior (f i) = ⋃ i, interior (f i)
⊢ ⋃ x ∈ s, interior (f x) = univ
tactic: suffices ⋃ x ∈ s, interior (f x) = univ from
    ⟨s, hsc, flip eq_univ_of_subset this <| iUnion₂_mono fun _ _ => interior_subset⟩
state_before: case intro.intro
α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
s : Set α
hsc : s.Countable
hsU : ⋃ i ∈ s, interior (f i) = ⋃ i, interior (f i)
⊢ ⋃ x ∈ s, interior (f x) = univ
state_after: case intro.intro
α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
s : Set α
hsc : s.Countable
hsU : ⋃ i ∈ s, interior (f i) = ⋃ i, interior (f i)
⊢ ∀ (x : α), ∃ i, x ∈ interior (f i)
tactic: simp only [hsU, eq_univ_iff_forall, mem_iUnion]
state_before: case intro.intro
α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
s : Set α
hsc : s.Countable
hsU : ⋃ i ∈ s, interior (f i) = ⋃ i, interior (f i)
⊢ ∀ (x : α), ∃ i, x ∈ interior (f i)
state_after: no goals
tactic: exact fun x => ⟨x, mem_interior_iff_mem_nhds.2 (hf x)⟩
Theorem: Polynomial.roots_X_pow
File: Mathlib/Algebra/Polynomial/Roots.lean

Proof steps:
state_before: R : Type u
S : Type v
T : Type w
a b : R
n✝ : ℕ
inst✝¹ : CommRing R
inst✝ : IsDomain R
p q : R[X]
n : ℕ
⊢ (X ^ n).roots = n • {0}
state_after: no goals
tactic: rw [roots_pow, roots_X]
Theorem: Filter.map_add_atTop_eq_nat
File: Mathlib/Order/Filter/AtTopBot.lean

Proof steps:
state_before: ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
k a : ℕ
h : a ≥ k
⊢ a ≤ (fun a => a - k) a + k
state_after: no goals
tactic: rw [tsub_add_cancel_of_le h]
Theorem: Set.Countable.exists_pos_hasSum_le
File: Mathlib/Analysis/SpecificLimits/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι : Type u_4
s : Set ι
hs : s.Countable
ε : ℝ
hε : 0 < ε
⊢ ∃ ε', (∀ (i : ι), 0 < ε' i) ∧ ∃ c, HasSum (fun i => ε' ↑i) c ∧ c ≤ ε
state_after: α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι : Type u_4
s : Set ι
hs : s.Countable
ε : ℝ
hε : 0 < ε
this : Encodable ↑s
⊢ ∃ ε', (∀ (i : ι), 0 < ε' i) ∧ ∃ c, HasSum (fun i => ε' ↑i) c ∧ c ≤ ε
tactic: haveI := hs.toEncodable
state_before: α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι : Type u_4
s : Set ι
hs : s.Countable
ε : ℝ
hε : 0 < ε
this : Encodable ↑s
⊢ ∃ ε', (∀ (i : ι), 0 < ε' i) ∧ ∃ c, HasSum (fun i => ε' ↑i) c ∧ c ≤ ε
state_after: case mk.intro.intro.intro
α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι : Type u_4
s : Set ι
hs : s.Countable
ε : ℝ
hε : 0 < ε
this : Encodable ↑s
f : ↑s → ℝ
hf0 : ∀ (i : ↑s), 0 < f i
c : ℝ
hfc : HasSum f c
hcε : c ≤ ε
⊢ ∃ ε', (∀ (i : ι), 0 < ε' i) ∧ ∃ c, HasSum (fun i => ε' ↑i) c ∧ c ≤ ε
tactic: rcases posSumOfEncodable hε s with ⟨f, hf0, ⟨c, hfc, hcε⟩⟩
state_before: case mk.intro.intro.intro
α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι : Type u_4
s : Set ι
hs : s.Countable
ε : ℝ
hε : 0 < ε
this : Encodable ↑s
f : ↑s → ℝ
hf0 : ∀ (i : ↑s), 0 < f i
c : ℝ
hfc : HasSum f c
hcε : c ≤ ε
⊢ ∃ ε', (∀ (i : ι), 0 < ε' i) ∧ ∃ c, HasSum (fun i => ε' ↑i) c ∧ c ≤ ε
state_after: case mk.intro.intro.intro.refine_1
α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι : Type u_4
s : Set ι
hs : s.Countable
ε : ℝ
hε : 0 < ε
this : Encodable ↑s
f : ↑s → ℝ
hf0 : ∀ (i : ↑s), 0 < f i
c : ℝ
hfc : HasSum f c
hcε : c ≤ ε
i : ι
⊢ 0 < (fun i => if h : i ∈ s then f ⟨i, h⟩ else 1) i

case mk.intro.intro.intro.refine_2
α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι : Type u_4
s : Set ι
hs : s.Countable
ε : ℝ
hε : 0 < ε
this : Encodable ↑s
f : ↑s → ℝ
hf0 : ∀ (i : ↑s), 0 < f i
c : ℝ
hfc : HasSum f c
hcε : c ≤ ε
⊢ HasSum (fun i => (fun i => if h : i ∈ s then f ⟨i, h⟩ else 1) ↑i) c
tactic: refine ⟨fun i ↦ if h : i ∈ s then f ⟨i, h⟩ else 1, fun i ↦ ?_, ⟨c, ?_, hcε⟩⟩
Theorem: Set.offDiag_empty
File: Mathlib/Data/Set/Prod.lean

Proof steps:
state_before: α : Type u_1
s t : Set α
x : α × α
a : α
⊢ ∅.offDiag = ∅
state_after: no goals
tactic: simp
Theorem: Finset.univ_inter
File: Mathlib/Data/Fintype/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Fintype α
s✝ t : Finset α
inst✝ : DecidableEq α
a : α
s : Finset α
⊢ univ ∩ s = s
state_after: case a
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Fintype α
s✝ t : Finset α
inst✝ : DecidableEq α
a✝ : α
s : Finset α
a : α
⊢ a ∈ univ ∩ s ↔ a ∈ s
tactic: ext a
state_before: case a
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Fintype α
s✝ t : Finset α
inst✝ : DecidableEq α
a✝ : α
s : Finset α
a : α
⊢ a ∈ univ ∩ s ↔ a ∈ s
state_after: no goals
tactic: simp
Theorem: OrderIso.supIrredLowerSet_symm_apply
File: Mathlib/Order/Birkhoff.lean

Proof steps:
state_before: α : Type u_1
inst✝³ : SemilatticeSup α
inst✝² : OrderBot α
inst✝¹ : Finite α
s : { s // SupIrred s }
inst✝ : Fintype ↥↑s
⊢ supIrredLowerSet.symm s = (↑↑s).toFinset.sup id
state_after: no goals
tactic: classical
  obtain ⟨s, hs⟩ := s
  obtain ⟨a, rfl⟩ := supIrred_iff_of_finite.1 hs
  cases nonempty_fintype α
  have : LocallyFiniteOrder α := Fintype.toLocallyFiniteOrder
  simp [symm_apply_eq]
Theorem: Cardinal.mk_preimage_of_subset_range_lift
File: Mathlib/SetTheory/Cardinal/Basic.lean

Proof steps:
state_before: α✝ β✝ : Type u
c : Cardinal.{?u.227632}
α : Type u
β : Type v
f : α → β
s : Set β
h : s ⊆ range f
⊢ lift.{u, v} #↑s ≤ lift.{v, u} #↑(f ⁻¹' s)
state_after: α✝ β✝ : Type u
c : Cardinal.{?u.227632}
α : Type u
β : Type v
f : α → β
s : Set β
h : f '' (f ⁻¹' s) = s
⊢ lift.{u, v} #↑s ≤ lift.{v, u} #↑(f ⁻¹' s)
tactic: rw [← image_preimage_eq_iff] at h
state_before: α✝ β✝ : Type u
c : Cardinal.{?u.227632}
α : Type u
β : Type v
f : α → β
s : Set β
h : f '' (f ⁻¹' s) = s
⊢ lift.{u, v} #↑s ≤ lift.{v, u} #↑(f ⁻¹' s)
state_after: α✝ β✝ : Type u
c : Cardinal.{?u.227632}
α : Type u
β : Type v
f : α → β
s : Set β
h : f '' (f ⁻¹' s) = s
⊢ lift.{u, v} #↑(f '' (f ⁻¹' s)) ≤ lift.{v, u} #↑(f ⁻¹' s)
tactic: nth_rewrite 1 [← h]
state_before: α✝ β✝ : Type u
c : Cardinal.{?u.227632}
α : Type u
β : Type v
f : α → β
s : Set β
h : f '' (f ⁻¹' s) = s
⊢ lift.{u, v} #↑(f '' (f ⁻¹' s)) ≤ lift.{v, u} #↑(f ⁻¹' s)
state_after: no goals
tactic: apply mk_image_le_lift
Theorem: PNat.XgcdType.finish_isSpecial
File: Mathlib/Data/PNat/Xgcd.lean

Proof steps:
state_before: u : XgcdType
hs : u.IsSpecial
⊢ u.finish.IsSpecial
state_after: u : XgcdType
hs : u.wp + u.zp + u.wp * u.zp = u.x * u.y
⊢ u.wp + (u.y * u.qp + u.zp) + u.wp * (u.y * u.qp + u.zp) = ((u.wp + 1) * u.qp + u.x) * u.y
tactic: dsimp [IsSpecial, finish] at hs ⊢
state_before: u : XgcdType
hs : u.wp + u.zp + u.wp * u.zp = u.x * u.y
⊢ u.wp + (u.y * u.qp + u.zp) + u.wp * (u.y * u.qp + u.zp) = ((u.wp + 1) * u.qp + u.x) * u.y
state_after: u : XgcdType
hs : u.wp + u.zp + u.wp * u.zp = u.x * u.y
⊢ u.wp + (u.y * u.qp + u.zp) + u.wp * (u.y * u.qp + u.zp) = u.wp + u.zp + u.wp * u.zp + (u.wp + 1) * u.qp * u.y
tactic: rw [add_mul _ _ u.y, add_comm _ (u.x * u.y), ← hs]
state_before: u : XgcdType
hs : u.wp + u.zp + u.wp * u.zp = u.x * u.y
⊢ u.wp + (u.y * u.qp + u.zp) + u.wp * (u.y * u.qp + u.zp) = u.wp + u.zp + u.wp * u.zp + (u.wp + 1) * u.qp * u.y
state_after: no goals
tactic: ring
Theorem: GaussianFourier.verticalIntegral_norm_le
File: Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean

Proof steps:
state_before: b : ℂ
hb : 0 < b.re
c T : ℝ
hT : 0 ≤ T
vert_norm_bound :
  ∀ {T : ℝ},
    0 ≤ T →
      ∀ {c y : ℝ},
        |y| ≤ |c| → ‖cexp (-b * (↑T + ↑y * I) ^ 2)‖ ≤ rexp (-(b.re * T ^ 2 - 2 * |b.im| * |c| * T - b.re * c ^ 2))
⊢ ‖verticalIntegral b c T‖ ≤ 2 * |c| * rexp (-(b.re * T ^ 2 - 2 * |b.im| * |c| * T - b.re * c ^ 2))
state_after: b : ℂ
hb : 0 < b.re
c T : ℝ
hT : 0 ≤ T
vert_norm_bound :
  ∀ {T : ℝ},
    0 ≤ T →
      ∀ {c y : ℝ},
        |y| ≤ |c| → ‖cexp (-b * (↑T + ↑y * I) ^ 2)‖ ≤ rexp (-(b.re * T ^ 2 - 2 * |b.im| * |c| * T - b.re * c ^ 2))
⊢ ?m.32390 * |c - 0| ≤ 2 * |c| * rexp (-(b.re * T ^ 2 - 2 * |b.im| * |c| * T - b.re * c ^ 2))

b : ℂ
hb : 0 < b.re
c T : ℝ
hT : 0 ≤ T
vert_norm_bound :
  ∀ {T : ℝ},
    0 ≤ T →
      ∀ {c y : ℝ},
        |y| ≤ |c| → ‖cexp (-b * (↑T + ↑y * I) ^ 2)‖ ≤ rexp (-(b.re * T ^ 2 - 2 * |b.im| * |c| * T - b.re * c ^ 2))
⊢ ℝ

b : ℂ
hb : 0 < b.re
c T : ℝ
hT : 0 ≤ T
vert_norm_bound :
  ∀ {T : ℝ},
    0 ≤ T →
      ∀ {c y : ℝ},
        |y| ≤ |c| → ‖cexp (-b * (↑T + ↑y * I) ^ 2)‖ ≤ rexp (-(b.re * T ^ 2 - 2 * |b.im| * |c| * T - b.re * c ^ 2))
⊢ ∀ x ∈ Ι 0 c, ‖I * (cexp (-b * (↑T + ↑x * I) ^ 2) - cexp (-b * (↑T - ↑x * I) ^ 2))‖ ≤ ?m.32390
tactic: apply (intervalIntegral.norm_integral_le_of_norm_le_const _).trans
Theorem: Nat.binomial_spec
File: Mathlib/Data/Nat/Choose/Multinomial.lean

Proof steps:
state_before: α : Type u_1
s : Finset α
f : α → ℕ
a b : α
n : ℕ
inst✝ : DecidableEq α
hab : a ≠ b
⊢ (f a)! * (f b)! * multinomial {a, b} f = (f a + f b)!
state_after: no goals
tactic: simpa [Finset.sum_pair hab, Finset.prod_pair hab] using multinomial_spec {a, b} f
Theorem: stableUnderSpecialization_iff_exists_sUnion_eq
File: Mathlib/Topology/Inseparable.lean

Proof steps:
state_before: X : Type u_1
Y : Type u_2
Z : Type u_3
α : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : (i : ι) → TopologicalSpace (π i)
x y z : X
s✝ : Set X
f g : X → Y
s : Set X
⊢ StableUnderSpecialization s ↔ ∃ S, (∀ s ∈ S, IsClosed s) ∧ ⋃₀ S = s
state_after: case refine_1
X : Type u_1
Y : Type u_2
Z : Type u_3
α : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : (i : ι) → TopologicalSpace (π i)
x y z : X
s✝ : Set X
f g : X → Y
s : Set X
H : StableUnderSpecialization s
⊢ ∀ s_1 ∈ (fun x => closure {x}) '' s, IsClosed s_1

case refine_2
X : Type u_1
Y : Type u_2
Z : Type u_3
α : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : (i : ι) → TopologicalSpace (π i)
x y z : X
s✝ : Set X
f g : X → Y
s : Set X
H : StableUnderSpecialization s
⊢ ⋃₀ ((fun x => closure {x}) '' s) = s
tactic: refine ⟨fun H ↦ ⟨(fun x : X ↦ closure {x}) '' s, ?_, ?_⟩, fun ⟨S, hS, e⟩ ↦ e ▸
    stableUnderSpecialization_sUnion S (fun x hx ↦ (hS x hx).stableUnderSpecialization)⟩
Theorem: Homeomorph.toPartialHomeomorphOfImageEq_apply
File: Mathlib/Topology/PartialHomeomorph.lean

Proof steps:
state_before: X : Type u_1
X' : Type u_2
Y : Type u_3
Y' : Type u_4
Z : Type u_5
Z' : Type u_6
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace X'
inst✝³ : TopologicalSpace Y
inst✝² : TopologicalSpace Y'
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace Z'
e✝ : PartialHomeomorph X Y
e : X ≃ₜ Y
s : Set X
hs : IsOpen s
t : Set Y
h : ⇑e '' s = t
⊢ IsOpen (e.toPartialEquivOfImageEq s t h).target
state_after: no goals
tactic: simpa [← h]
Theorem: kstar_eq_self
File: Mathlib/Algebra/Order/Kleene.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
π : ι → Type u_4
inst✝ : KleeneAlgebra α
a b c : α
h : a∗ = a
⊢ a * a = a
state_after: no goals
tactic: rw [← h, kstar_mul_kstar]
Theorem: vadd_zero_vadd
File: Mathlib/Algebra/Group/Action/Defs.lean

Proof steps:
state_before: M✝ : Type u_1
N✝ : Type u_2
G : Type u_3
H : Type u_4
A : Type u_5
B : Type u_6
α : Type u_7
β : Type u_8
γ : Type u_9
δ : Type u_10
M : Type u_11
N : Type u_12
inst✝⁴ : Monoid N
inst✝³ : SMul M N
inst✝² : MulAction N α
inst✝¹ : SMul M α
inst✝ : IsScalarTower M N α
x : M
y : α
⊢ (x • 1) • y = x • y
state_after: no goals
tactic: rw [smul_assoc, one_smul]
Theorem: ENNReal.tsum_geometric_add_one
File: Mathlib/Analysis/SpecificLimits/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
r : ℝ≥0∞
⊢ ∑' (n : ℕ), r ^ (n + 1) = r * (1 - r)⁻¹
state_after: no goals
tactic: simp only [_root_.pow_succ', ENNReal.tsum_mul_left, ENNReal.tsum_geometric]
Theorem: Submodule.supIndep_torsionBy
File: Mathlib/Algebra/Module/Torsion.lean

Proof steps:
state_before: R : Type u_1
M : Type u_2
inst✝² : CommSemiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
s : Set R
a : R
ι : Type u_3
p : ι → Ideal R
S : Finset ι
hp : (↑S).Pairwise fun i j => p i ⊔ p j = ⊤
q : ι → R
hq : (↑S).Pairwise (IsCoprime on q)
⊢ S.SupIndep fun i => torsionBy R M (q i)
state_after: case h.e'_6.h
R : Type u_1
M : Type u_2
inst✝² : CommSemiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
s : Set R
a : R
ι : Type u_3
p : ι → Ideal R
S : Finset ι
hp : (↑S).Pairwise fun i j => p i ⊔ p j = ⊤
q : ι → R
hq : (↑S).Pairwise (IsCoprime on q)
x✝ : ι
⊢ torsionBy R M (q x✝) = torsionBySet R M ↑(Ideal.span {q x✝})
tactic: convert supIndep_torsionBySet_ideal (M := M) fun i hi j hj ij =>
      (Ideal.sup_eq_top_iff_isCoprime (q i) _).mpr <| hq hi hj ij
state_before: case h.e'_6.h
R : Type u_1
M : Type u_2
inst✝² : CommSemiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
s : Set R
a : R
ι : Type u_3
p : ι → Ideal R
S : Finset ι
hp : (↑S).Pairwise fun i j => p i ⊔ p j = ⊤
q : ι → R
hq : (↑S).Pairwise (IsCoprime on q)
x✝ : ι
⊢ torsionBy R M (q x✝) = torsionBySet R M ↑(Ideal.span {q x✝})
state_after: no goals
tactic: exact (torsionBySet_span_singleton_eq (R := R) (M := M) _).symm
Theorem: FormalMultilinearSeries.continuousOn
File: Mathlib/Analysis/Analytic/Basic.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
inst✝ : CompleteSpace F
⊢ ContinuousOn p.sum (EMetric.ball 0 p.radius)
state_after: case inl
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
inst✝ : CompleteSpace F
h : 0 = p.radius
⊢ ContinuousOn p.sum (EMetric.ball 0 p.radius)

case inr
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
inst✝ : CompleteSpace F
h : 0 < p.radius
⊢ ContinuousOn p.sum (EMetric.ball 0 p.radius)
tactic: rcases (zero_le p.radius).eq_or_lt with h | h
Theorem: AlgebraicGeometry.Scheme.app_eq
File: Mathlib/AlgebraicGeometry/Scheme.lean

Proof steps:
state_before: X Y : Scheme
f : X ⟶ Y
U V : Y.Opens
e : U = V
⊢ Hom.app f U = Y.presheaf.map (eqToHom ⋯).op ≫ Hom.app f V ≫ X.presheaf.map (eqToHom ⋯).op
state_after: X Y : Scheme
f : X ⟶ Y
U V : Y.Opens
e : U = V
⊢ f.val.c.app (op V) ≫ ((Presheaf.pushforward CommRingCat f.val.base).obj X.presheaf).map (inv (eqToHom ⋯).op) =
    Hom.app f V ≫ X.presheaf.map (eqToHom ⋯).op
tactic: rw [← IsIso.inv_comp_eq, ← Functor.map_inv, f.val.c.naturality]
state_before: X Y : Scheme
f : X ⟶ Y
U V : Y.Opens
e : U = V
⊢ f.val.c.app (op V) ≫ ((Presheaf.pushforward CommRingCat f.val.base).obj X.presheaf).map (inv (eqToHom ⋯).op) =
    Hom.app f V ≫ X.presheaf.map (eqToHom ⋯).op
state_after: case refl
X Y : Scheme
f : X ⟶ Y
U : Y.Opens
⊢ f.val.c.app (op U) ≫ ((Presheaf.pushforward CommRingCat f.val.base).obj X.presheaf).map (inv (eqToHom ⋯).op) =
    Hom.app f U ≫ X.presheaf.map (eqToHom ⋯).op
tactic: cases e
state_before: case refl
X Y : Scheme
f : X ⟶ Y
U : Y.Opens
⊢ f.val.c.app (op U) ≫ ((Presheaf.pushforward CommRingCat f.val.base).obj X.presheaf).map (inv (eqToHom ⋯).op) =
    Hom.app f U ≫ X.presheaf.map (eqToHom ⋯).op
state_after: no goals
tactic: rfl
Theorem: ProbabilityTheory.Kernel.integral_const
File: Mathlib/Probability/Kernel/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : Kernel α β
E : Type u_4
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : β → E
μ : Measure β
a : α
⊢ ∫ (x : β), f x ∂(const α μ) a = ∫ (x : β), f x ∂μ
state_after: no goals
tactic: rw [const_apply]
Theorem: TopCat.toCondensedSet_val_map
File: Mathlib/Condensed/TopComparison.lean

Proof steps:
state_before: C : Type u
inst✝¹ : Category.{v, u} C
G : C ⥤ TopCat
X✝ : Type w'
inst✝ : TopologicalSpace X✝
X : TopCat
⊢ EqualizerCondition (yonedaPresheaf compHausToTop ↑X)
state_after: C : Type u
inst✝¹ : Category.{v, u} C
G : C ⥤ TopCat
X✝ : Type w'
inst✝ : TopologicalSpace X✝
X : TopCat
⊢ ∀ (Z B : CompHaus) (π : Z ⟶ B) [inst : EffectiveEpi π], QuotientMap ⇑(compHausToTop.map π)
tactic: apply (config := { allowSynthFailures := true }) equalizerCondition_yonedaPresheaf
      compHausToTop.{u} X
state_before: C : Type u
inst✝¹ : Category.{v, u} C
G : C ⥤ TopCat
X✝ : Type w'
inst✝ : TopologicalSpace X✝
X : TopCat
⊢ ∀ (Z B : CompHaus) (π : Z ⟶ B) [inst : EffectiveEpi π], QuotientMap ⇑(compHausToTop.map π)
state_after: C : Type u
inst✝¹ : Category.{v, u} C
G : C ⥤ TopCat
X✝ : Type w'
inst✝ : TopologicalSpace X✝
X : TopCat
Z B : CompHaus
π : Z ⟶ B
he : EffectiveEpi π
⊢ QuotientMap ⇑(compHausToTop.map π)
tactic: intro Z B π he
state_before: C : Type u
inst✝¹ : Category.{v, u} C
G : C ⥤ TopCat
X✝ : Type w'
inst✝ : TopologicalSpace X✝
X : TopCat
Z B : CompHaus
π : Z ⟶ B
he : EffectiveEpi π
⊢ QuotientMap ⇑(compHausToTop.map π)
state_after: C : Type u
inst✝¹ : Category.{v, u} C
G : C ⥤ TopCat
X✝ : Type w'
inst✝ : TopologicalSpace X✝
X : TopCat
Z B : CompHaus
π : Z ⟶ B
he : Function.Surjective ⇑π
⊢ QuotientMap ⇑(compHausToTop.map π)
tactic: rw [((CompHaus.effectiveEpi_tfae π).out 0 2 :)] at he
state_before: C : Type u
inst✝¹ : Category.{v, u} C
G : C ⥤ TopCat
X✝ : Type w'
inst✝ : TopologicalSpace X✝
X : TopCat
Z B : CompHaus
π : Z ⟶ B
he : Function.Surjective ⇑π
⊢ QuotientMap ⇑(compHausToTop.map π)
state_after: no goals
tactic: apply QuotientMap.of_surjective_continuous he π.continuous
Theorem: Submodule.map_liftQ
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₂
inst✝ : RingHomSurjective τ₁₂
f : M →ₛₗ[τ₁₂] M₂
h : p ≤ ker f
q : Submodule R (M ⧸ p)
⊢ map (p.liftQ f h) q ≤ map f (comap p.mkQ q)
state_after: case intro.mk.intro
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₂
inst✝ : RingHomSurjective τ₁₂
f : M →ₛₗ[τ₁₂] M₂
h : p ≤ ker f
q : Submodule R (M ⧸ p)
w✝ : M ⧸ p
x : M
hxq : Quot.mk Setoid.r x ∈ ↑q
⊢ (p.liftQ f h) (Quot.mk Setoid.r x) ∈ map f (comap p.mkQ q)
tactic: rintro _ ⟨⟨x⟩, hxq, rfl⟩
state_before: case intro.mk.intro
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₂
inst✝ : RingHomSurjective τ₁₂
f : M →ₛₗ[τ₁₂] M₂
h : p ≤ ker f
q : Submodule R (M ⧸ p)
w✝ : M ⧸ p
x : M
hxq : Quot.mk Setoid.r x ∈ ↑q
⊢ (p.liftQ f h) (Quot.mk Setoid.r x) ∈ map f (comap p.mkQ q)
state_after: no goals
tactic: exact ⟨x, hxq, rfl⟩
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₂
inst✝ : RingHomSurjective τ₁₂
f : M →ₛₗ[τ₁₂] M₂
h : p ≤ ker f
q : Submodule R (M ⧸ p)
⊢ map f (comap p.mkQ q) ≤ map (p.liftQ f h) q
state_after: case intro.intro
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₂
inst✝ : RingHomSurjective τ₁₂
f : M →ₛₗ[τ₁₂] M₂
h : p ≤ ker f
q : Submodule R (M ⧸ p)
x : M
hxq : x ∈ ↑(comap p.mkQ q)
⊢ f x ∈ map (p.liftQ f h) q
tactic: rintro _ ⟨x, hxq, rfl⟩
state_before: case intro.intro
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₂
inst✝ : RingHomSurjective τ₁₂
f : M →ₛₗ[τ₁₂] M₂
h : p ≤ ker f
q : Submodule R (M ⧸ p)
x : M
hxq : x ∈ ↑(comap p.mkQ q)
⊢ f x ∈ map (p.liftQ f h) q
state_after: no goals
tactic: exact ⟨Quotient.mk x, hxq, rfl⟩
Theorem: Set.neg_mem_neg
File: Mathlib/Data/Set/Pointwise/Basic.lean

Proof steps:
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝ : InvolutiveInv α
s t : Set α
a : α
⊢ a⁻¹ ∈ s⁻¹ ↔ a ∈ s
state_after: no goals
tactic: simp only [mem_inv, inv_inv]
Theorem: WithLp.unitization_norm_inr
File: Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean

Proof steps:
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝⁴ : NormedField 𝕜
inst✝³ : NonUnitalNormedRing A
inst✝² : NormedSpace 𝕜 A
inst✝¹ : IsScalarTower 𝕜 A A
inst✝ : SMulCommClass 𝕜 A A
x : A
⊢ ‖(WithLp.equiv 1 (Unitization 𝕜 A)).symm ↑x‖ = ‖x‖
state_after: no goals
tactic: simp [unitization_norm_def]
Theorem: tendsto_Ioi_atBot
File: Mathlib/Topology/Order/DenselyOrdered.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a b : α
s : Set α
l : Filter β
f✝ : α → β
f : β → ↑(Ioi a)
⊢ Tendsto f l atBot ↔ Tendsto (fun x => ↑(f x)) l (𝓝[>] a)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a b : α
s : Set α
l : Filter β
f✝ : α → β
f : β → ↑(Ioi a)
⊢ Tendsto (Subtype.val ∘ f) l (𝓝[>] a) ↔ Tendsto (fun x => ↑(f x)) l (𝓝[>] a)
tactic: rw [← comap_coe_Ioi_nhdsWithin_Ioi, tendsto_comap_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a b : α
s : Set α
l : Filter β
f✝ : α → β
f : β → ↑(Ioi a)
⊢ Tendsto (Subtype.val ∘ f) l (𝓝[>] a) ↔ Tendsto (fun x => ↑(f x)) l (𝓝[>] a)
state_after: no goals
tactic: rfl
Theorem: Real.isLUB_sSup
File: Mathlib/Data/Real/Archimedean.lean

Proof steps:
state_before: S : Set ℝ
h₁ : S.Nonempty
h₂ : BddAbove S
⊢ IsLUB S (sSup S)
state_after: S : Set ℝ
h₁ : S.Nonempty
h₂ : BddAbove S
⊢ IsLUB S (Classical.choose ⋯)
tactic: simp only [sSup_def, dif_pos (And.intro h₁ h₂)]
state_before: S : Set ℝ
h₁ : S.Nonempty
h₂ : BddAbove S
⊢ IsLUB S (Classical.choose ⋯)
state_after: no goals
tactic: apply Classical.choose_spec