ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: IsGroupHom.trivial_ker_of_injective
File: Mathlib/Deprecated/Subgroup.lean

Proof steps:
state_before: G : Type u_1
H : Type u_2
A : Type u_3
a a₁ a₂ b c : G
inst✝¹ : Group G
inst✝ : Group H
f : G → H
hf : IsGroupHom f
h : Injective f
x : G
hx : x ∈ ker f
⊢ x ∈ IsSubgroup.trivial G
state_after: G : Type u_1
H : Type u_2
A : Type u_3
a a₁ a₂ b c : G
inst✝¹ : Group G
inst✝ : Group H
f : G → H
hf : IsGroupHom f
h : Injective f
x : G
hx : x ∈ ker f
⊢ f x = f 1
tactic: suffices f x = f 1 by simpa using h this
state_before: G : Type u_1
H : Type u_2
A : Type u_3
a a₁ a₂ b c : G
inst✝¹ : Group G
inst✝ : Group H
f : G → H
hf : IsGroupHom f
h : Injective f
x : G
hx : x ∈ ker f
⊢ f x = f 1
state_after: G : Type u_1
H : Type u_2
A : Type u_3
a a₁ a₂ b c : G
inst✝¹ : Group G
inst✝ : Group H
f : G → H
hf : IsGroupHom f
h : Injective f
x : G
hx : x ∈ ker f
⊢ f x = 1
tactic: simp [hf.map_one]
state_before: G : Type u_1
H : Type u_2
A : Type u_3
a a₁ a₂ b c : G
inst✝¹ : Group G
inst✝ : Group H
f : G → H
hf : IsGroupHom f
h : Injective f
x : G
hx : x ∈ ker f
⊢ f x = 1
state_after: no goals
tactic: rwa [mem_ker] at hx
state_before: G : Type u_1
H : Type u_2
A : Type u_3
a a₁ a₂ b c : G
inst✝¹ : Group G
inst✝ : Group H
f : G → H
hf : IsGroupHom f
h : Injective f
x : G
⊢ x ∈ IsSubgroup.trivial G → x ∈ ker f
state_after: no goals
tactic: simp (config := { contextual := true }) [mem_ker, hf.map_one]
Theorem: CategoryTheory.coalgebraEquivOver_inverse
File: Mathlib/CategoryTheory/Monad/Products.lean

Proof steps:
state_before: C : Type u
inst✝¹ : Category.{v, u} C
X : C
inst✝ : HasBinaryProducts C
A : (prodComonad X).Coalgebra
⊢ (((𝟭 (prodComonad X).Coalgebra).obj A).a ≫
        (prodComonad X).map (Iso.refl ((𝟭 (prodComonad X).Coalgebra).obj A).A).hom) ≫
      prod.fst =
    ((Iso.refl ((𝟭 (prodComonad X).Coalgebra).obj A).A).hom ≫ ((coalgebraToOver X ⋙ overToCoalgebra X).obj A).a) ≫
      prod.fst
state_after: no goals
tactic: simp
state_before: C : Type u
inst✝¹ : Category.{v, u} C
X : C
inst✝ : HasBinaryProducts C
A : (prodComonad X).Coalgebra
⊢ (((𝟭 (prodComonad X).Coalgebra).obj A).a ≫
        (prodComonad X).map (Iso.refl ((𝟭 (prodComonad X).Coalgebra).obj A).A).hom) ≫
      prod.snd =
    ((Iso.refl ((𝟭 (prodComonad X).Coalgebra).obj A).A).hom ≫ ((coalgebraToOver X ⋙ overToCoalgebra X).obj A).a) ≫
      prod.snd
state_after: no goals
tactic: simpa using A.counit
Theorem: continuous_of_continuousAt_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
inst✝⁶ : TopologicalSpace α
f✝ : α → G
s : Set α
x✝¹ : α
H : Type u_1
M : Type u_2
inst✝⁵ : CommMonoid M
inst✝⁴ : TopologicalSpace M
inst✝³ : ContinuousMul M
inst✝² : Group H
inst✝¹ : TopologicalSpace H
inst✝ : TopologicalGroup H
f : G →* H →* M
hl : ∀ (x : G), Tendsto (⇑(f x)) (𝓝 1) (𝓝 ((f x) 1))
hr : ∀ (y : H), Tendsto (fun x => (f x) y) (𝓝 1) (𝓝 ((f 1) y))
x✝ : G × H
x : G
y : H
hf : Tendsto (fun x => (f x.1) x.2) (𝓝 1 ×ˢ 𝓝 1) (𝓝 ((f 1) 1))
⊢ Tendsto (fun x_1 => (f x) y * (f x_1.1) y * ((f x) x_1.2 * (f x_1.1) x_1.2)) (𝓝 1 ×ˢ 𝓝 1) (𝓝 ((f x) y))
state_after: G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝⁹ : TopologicalSpace G
inst✝⁸ : Group G
inst✝⁷ : TopologicalGroup G
inst✝⁶ : TopologicalSpace α
f✝ : α → G
s : Set α
x✝¹ : α
H : Type u_1
M : Type u_2
inst✝⁵ : CommMonoid M
inst✝⁴ : TopologicalSpace M
inst✝³ : ContinuousMul M
inst✝² : Group H
inst✝¹ : TopologicalSpace H
inst✝ : TopologicalGroup H
f : G →* H →* M
hl : ∀ (x : G), Tendsto (⇑(f x)) (𝓝 1) (𝓝 ((f x) 1))
hr : ∀ (y : H), Tendsto (fun x => (f x) y) (𝓝 1) (𝓝 ((f 1) y))
x✝ : G × H
x : G
y : H
hf : Tendsto (fun x => (f x.1) x.2) (𝓝 1 ×ˢ 𝓝 1) (𝓝 ((f 1) 1))
⊢ 𝓝 ((f x) y * (f 1) y * ((f x) 1 * (f 1) 1)) = 𝓝 ((f x) y)
tactic: refine ((tendsto_const_nhds.mul ((hr y).comp tendsto_fst)).mul
    (((hl x).comp tendsto_snd).mul hf)).mono_right (le_of_eq ?_)
state_before: G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝⁹ : TopologicalSpace G
inst✝⁸ : Group G
inst✝⁷ : TopologicalGroup G
inst✝⁶ : TopologicalSpace α
f✝ : α → G
s : Set α
x✝¹ : α
H : Type u_1
M : Type u_2
inst✝⁵ : CommMonoid M
inst✝⁴ : TopologicalSpace M
inst✝³ : ContinuousMul M
inst✝² : Group H
inst✝¹ : TopologicalSpace H
inst✝ : TopologicalGroup H
f : G →* H →* M
hl : ∀ (x : G), Tendsto (⇑(f x)) (𝓝 1) (𝓝 ((f x) 1))
hr : ∀ (y : H), Tendsto (fun x => (f x) y) (𝓝 1) (𝓝 ((f 1) y))
x✝ : G × H
x : G
y : H
hf : Tendsto (fun x => (f x.1) x.2) (𝓝 1 ×ˢ 𝓝 1) (𝓝 ((f 1) 1))
⊢ 𝓝 ((f x) y * (f 1) y * ((f x) 1 * (f 1) 1)) = 𝓝 ((f x) y)
state_after: no goals
tactic: simp only [map_one, mul_one, MonoidHom.one_apply]
Theorem: List.pairwise_of_forall
File: .lake/packages/batteries/Batteries/Data/List/Pairwise.lean

Proof steps:
state_before: α : Type u_1
R : α → α → Prop
l : List α
H : ∀ (x y : α), R x y
⊢ Pairwise R l
state_after: no goals
tactic: induction l <;> simp [*]
Theorem: Mathlib.Vector.append_nil
File: Mathlib/Data/Vector/Basic.lean

Proof steps:
state_before: α : Type u_1
m n : ℕ
xs : Vector α n
ys : Vector α m
⊢ xs.append nil = xs
state_after: case mk
α : Type u_1
m n : ℕ
ys : Vector α m
val✝ : List α
property✝ : val✝.length = n
⊢ append ⟨val✝, property✝⟩ nil = ⟨val✝, property✝⟩
tactic: cases xs
state_before: case mk
α : Type u_1
m n : ℕ
ys : Vector α m
val✝ : List α
property✝ : val✝.length = n
⊢ append ⟨val✝, property✝⟩ nil = ⟨val✝, property✝⟩
state_after: no goals
tactic: simp [append]
Theorem: CategoryTheory.ShortComplex.leftHomologyMap'_smul
File: Mathlib/Algebra/Homology/ShortComplex/Linear.lean

Proof steps:
state_before: R : Type u_1
C : Type u_2
inst✝³ : Semiring R
inst✝² : Category.{u_3, u_2} C
inst✝¹ : Preadditive C
inst✝ : Linear R C
S₁ S₂ : ShortComplex C
φ φ' : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
a : R
⊢ leftHomologyMap' (a • φ) h₁ h₂ = a • leftHomologyMap' φ h₁ h₂
state_after: R : Type u_1
C : Type u_2
inst✝³ : Semiring R
inst✝² : Category.{u_3, u_2} C
inst✝¹ : Preadditive C
inst✝ : Linear R C
S₁ S₂ : ShortComplex C
φ φ' : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
a : R
γ : LeftHomologyMapData φ h₁ h₂
⊢ leftHomologyMap' (a • φ) h₁ h₂ = a • leftHomologyMap' φ h₁ h₂
tactic: have γ : LeftHomologyMapData φ h₁ h₂ := default
state_before: R : Type u_1
C : Type u_2
inst✝³ : Semiring R
inst✝² : Category.{u_3, u_2} C
inst✝¹ : Preadditive C
inst✝ : Linear R C
S₁ S₂ : ShortComplex C
φ φ' : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
a : R
γ : LeftHomologyMapData φ h₁ h₂
⊢ leftHomologyMap' (a • φ) h₁ h₂ = a • leftHomologyMap' φ h₁ h₂
state_after: no goals
tactic: simp only [(γ.smul a).leftHomologyMap'_eq, LeftHomologyMapData.smul_φH, γ.leftHomologyMap'_eq]
Theorem: SimpleGraph.chromaticNumber_top_eq_top_of_infinite
File: Mathlib/Combinatorics/SimpleGraph/Coloring.lean

Proof steps:
state_before: V✝ : Type u
G : SimpleGraph V✝
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
V : Type u_3
inst✝ : Infinite V
⊢ ⊤.chromaticNumber = ⊤
state_after: V✝ : Type u
G : SimpleGraph V✝
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
V : Type u_3
inst✝ : Infinite V
hc : ¬⊤.chromaticNumber = ⊤
⊢ False
tactic: by_contra hc
state_before: V✝ : Type u
G : SimpleGraph V✝
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
V : Type u_3
inst✝ : Infinite V
hc : ¬⊤.chromaticNumber = ⊤
⊢ False
state_after: V✝ : Type u
G : SimpleGraph V✝
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
V : Type u_3
inst✝ : Infinite V
hc : ∃ n, ⊤.Colorable n
⊢ False
tactic: rw [← Ne, chromaticNumber_ne_top_iff_exists] at hc
state_before: V✝ : Type u
G : SimpleGraph V✝
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
V : Type u_3
inst✝ : Infinite V
hc : ∃ n, ⊤.Colorable n
⊢ False
state_after: case intro.intro
V✝ : Type u
G : SimpleGraph V✝
n✝ : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
V : Type u_3
inst✝ : Infinite V
n : ℕ
hn : ⊤.Coloring (Fin n)
⊢ False
tactic: obtain ⟨n, ⟨hn⟩⟩ := hc
state_before: case intro.intro
V✝ : Type u
G : SimpleGraph V✝
n✝ : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
V : Type u_3
inst✝ : Infinite V
n : ℕ
hn : ⊤.Coloring (Fin n)
⊢ False
state_after: no goals
tactic: exact not_injective_infinite_finite _ hn.injective_of_top_hom
Theorem: one_lt_ack_succ_right
File: Mathlib/Computability/Ackermann.lean

Proof steps:
state_before: n : ℕ
⊢ 1 < ack 0 (n + 1)
state_after: no goals
tactic: simp
state_before: m n : ℕ
⊢ 1 < ack (m + 1) (n + 1)
state_after: m n : ℕ
⊢ 1 < ack m (ack (m + 1) n)
tactic: rw [ack_succ_succ]
state_before: m n : ℕ
⊢ 1 < ack m (ack (m + 1) n)
state_after: case intro
m n h✝ : ℕ
h : ack (m + 1) n = h✝.succ
⊢ 1 < ack m (ack (m + 1) n)
tactic: cases' exists_eq_succ_of_ne_zero (ack_pos (m + 1) n).ne' with h h
state_before: case intro
m n h✝ : ℕ
h : ack (m + 1) n = h✝.succ
⊢ 1 < ack m (ack (m + 1) n)
state_after: case intro
m n h✝ : ℕ
h : ack (m + 1) n = h✝.succ
⊢ 1 < ack m h✝.succ
tactic: rw [h]
state_before: case intro
m n h✝ : ℕ
h : ack (m + 1) n = h✝.succ
⊢ 1 < ack m h✝.succ
state_after: no goals
tactic: apply one_lt_ack_succ_right
Theorem: CategoryTheory.Limits.WidePushout.ι_desc
File: Mathlib/CategoryTheory/Limits/Shapes/WidePullbacks.lean

Proof steps:
state_before: J : Type w
C✝ : Type u
inst✝² : Category.{v, u} C✝
C : Type u
inst✝¹ : Category.{v, u} C
B : C
objs : J → C
arrows : (j : J) → B ⟶ objs j
inst✝ : HasWidePushout B objs arrows
X : C
f : B ⟶ X
fs : (j : J) → objs j ⟶ X
w : ∀ (j : J), arrows j ≫ fs j = f
j : J
⊢ ι arrows j ≫ desc f fs w = fs j
state_after: no goals
tactic: simp only [colimit.ι_desc, WidePushoutShape.mkCocone_pt, WidePushoutShape.mkCocone_ι_app]
Theorem: dist_div_norm_sq_smul
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : F
hx : x ≠ 0
hy : y ≠ 0
R : ℝ
hx' : ‖x‖ ≠ 0
hy' : ‖y‖ ≠ 0
⊢ dist ((R / ‖x‖) ^ 2 • x) ((R / ‖y‖) ^ 2 • y) = √(‖(R / ‖x‖) ^ 2 • x - (R / ‖y‖) ^ 2 • y‖ ^ 2)
state_after: no goals
tactic: rw [dist_eq_norm, sqrt_sq (norm_nonneg _)]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : F
hx : x ≠ 0
hy : y ≠ 0
R : ℝ
hx' : ‖x‖ ≠ 0
hy' : ‖y‖ ≠ 0
⊢ ‖(R / ‖x‖) ^ 2 • x - (R / ‖y‖) ^ 2 • y‖ ^ 2 = (R ^ 2 / (‖x‖ * ‖y‖)) ^ 2 * ‖x - y‖ ^ 2
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : F
hx : x ≠ 0
hy : y ≠ 0
R : ℝ
hx' : ‖x‖ ≠ 0
hy' : ‖y‖ ≠ 0
⊢ ((R * R * ‖x‖ * (R * R * ‖x‖) * (‖y‖ * ‖y‖ * (‖x‖ * ‖x‖)) -
            ‖x‖ * ‖x‖ * (‖x‖ * ‖x‖) * (2 * (R * R * (R * R * ⟪x, y⟫_ℝ)))) *
          (‖y‖ * ‖y‖ * (‖y‖ * ‖y‖)) +
        R * R * ‖y‖ * (R * R * ‖y‖) * (‖x‖ * ‖x‖ * (‖x‖ * ‖x‖) * (‖y‖ * ‖y‖ * (‖x‖ * ‖x‖)))) *
      (‖x‖ * ‖y‖ * (‖x‖ * ‖y‖)) =
    R * R * (R * R) * (‖x‖ * ‖x‖ - 2 * ⟪x, y⟫_ℝ + ‖y‖ * ‖y‖) *
      (‖x‖ * ‖x‖ * (‖x‖ * ‖x‖) * (‖y‖ * ‖y‖ * (‖x‖ * ‖x‖)) * (‖y‖ * ‖y‖ * (‖y‖ * ‖y‖)))
tactic: field_simp [sq, norm_sub_mul_self_real, norm_smul, real_inner_smul_left, inner_smul_right,
          Real.norm_of_nonneg (mul_self_nonneg _)]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : F
hx : x ≠ 0
hy : y ≠ 0
R : ℝ
hx' : ‖x‖ ≠ 0
hy' : ‖y‖ ≠ 0
⊢ ((R * R * ‖x‖ * (R * R * ‖x‖) * (‖y‖ * ‖y‖ * (‖x‖ * ‖x‖)) -
            ‖x‖ * ‖x‖ * (‖x‖ * ‖x‖) * (2 * (R * R * (R * R * ⟪x, y⟫_ℝ)))) *
          (‖y‖ * ‖y‖ * (‖y‖ * ‖y‖)) +
        R * R * ‖y‖ * (R * R * ‖y‖) * (‖x‖ * ‖x‖ * (‖x‖ * ‖x‖) * (‖y‖ * ‖y‖ * (‖x‖ * ‖x‖)))) *
      (‖x‖ * ‖y‖ * (‖x‖ * ‖y‖)) =
    R * R * (R * R) * (‖x‖ * ‖x‖ - 2 * ⟪x, y⟫_ℝ + ‖y‖ * ‖y‖) *
      (‖x‖ * ‖x‖ * (‖x‖ * ‖x‖) * (‖y‖ * ‖y‖ * (‖x‖ * ‖x‖)) * (‖y‖ * ‖y‖ * (‖y‖ * ‖y‖)))
state_after: no goals
tactic: ring
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : F
hx : x ≠ 0
hy : y ≠ 0
R : ℝ
hx' : ‖x‖ ≠ 0
hy' : ‖y‖ ≠ 0
⊢ √((R ^ 2 / (‖x‖ * ‖y‖)) ^ 2 * ‖x - y‖ ^ 2) = R ^ 2 / (‖x‖ * ‖y‖) * dist x y
state_after: no goals
tactic: rw [sqrt_mul, sqrt_sq, sqrt_sq, dist_eq_norm] <;> positivity
Theorem: Orientation.cos_oangle_sub_right_mul_norm_of_oangle_eq_pi_div_two
File: Mathlib/Geometry/Euclidean/Angle/Oriented/RightAngle.lean

Proof steps:
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
hd2 : Fact (finrank ℝ V = 2)
o : Orientation ℝ V (Fin 2)
x y : V
h : o.oangle x y = ↑(π / 2)
⊢ (o.oangle y (y - x)).cos * ‖y - x‖ = ‖y‖
state_after: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
hd2 : Fact (finrank ℝ V = 2)
o : Orientation ℝ V (Fin 2)
x y : V
h : o.oangle x y = ↑(π / 2)
hs : (o.oangle y (y - x)).sign = 1
⊢ (o.oangle y (y - x)).cos * ‖y - x‖ = ‖y‖
tactic: have hs : (o.oangle y (y - x)).sign = 1 := by
    rw [oangle_sign_sub_right_swap, h, Real.Angle.sign_coe_pi_div_two]
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
hd2 : Fact (finrank ℝ V = 2)
o : Orientation ℝ V (Fin 2)
x y : V
h : o.oangle x y = ↑(π / 2)
hs : (o.oangle y (y - x)).sign = 1
⊢ (o.oangle y (y - x)).cos * ‖y - x‖ = ‖y‖
state_after: no goals
tactic: rw [o.oangle_eq_angle_of_sign_eq_one hs, Real.Angle.cos_coe,
    InnerProductGeometry.cos_angle_sub_mul_norm_of_inner_eq_zero
      (o.inner_rev_eq_zero_of_oangle_eq_pi_div_two h)]
Theorem: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.restrictNonposSeq_disjoint'
File: Mathlib/MeasureTheory/Decomposition/SignedHahn.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝³ : MeasurableSpace α
M : Type u_3
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s : SignedMeasure α
i j : Set α
n m : ℕ
h : n < m
⊢ MeasureTheory.SignedMeasure.restrictNonposSeq s i n ∩ MeasureTheory.SignedMeasure.restrictNonposSeq s i m = ∅
state_after: α : Type u_1
β : Type u_2
inst✝³ : MeasurableSpace α
M : Type u_3
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s : SignedMeasure α
i j : Set α
n m : ℕ
h : n < m
⊢ ∀ (x : α),
    x ∉ MeasureTheory.SignedMeasure.restrictNonposSeq s i n ∩ MeasureTheory.SignedMeasure.restrictNonposSeq s i m
tactic: rw [Set.eq_empty_iff_forall_not_mem]
state_before: α : Type u_1
β : Type u_2
inst✝³ : MeasurableSpace α
M : Type u_3
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s : SignedMeasure α
i j : Set α
n m : ℕ
h : n < m
⊢ ∀ (x : α),
    x ∉ MeasureTheory.SignedMeasure.restrictNonposSeq s i n ∩ MeasureTheory.SignedMeasure.restrictNonposSeq s i m
state_after: case intro
α : Type u_1
β : Type u_2
inst✝³ : MeasurableSpace α
M : Type u_3
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s : SignedMeasure α
i j : Set α
n m : ℕ
h : n < m
x : α
hx₁ : x ∈ MeasureTheory.SignedMeasure.restrictNonposSeq s i n
hx₂ : x ∈ MeasureTheory.SignedMeasure.restrictNonposSeq s i m
⊢ False
tactic: rintro x ⟨hx₁, hx₂⟩
state_before: case intro
α : Type u_1
β : Type u_2
inst✝³ : MeasurableSpace α
M : Type u_3
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s : SignedMeasure α
i j : Set α
n m : ℕ
h : n < m
x : α
hx₁ : x ∈ MeasureTheory.SignedMeasure.restrictNonposSeq s i n
hx₂ : x ∈ MeasureTheory.SignedMeasure.restrictNonposSeq s i m
⊢ False
state_after: case intro.zero
α : Type u_1
β : Type u_2
inst✝³ : MeasurableSpace α
M : Type u_3
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s : SignedMeasure α
i j : Set α
n : ℕ
x : α
hx₁ : x ∈ MeasureTheory.SignedMeasure.restrictNonposSeq s i n
h : n < 0
hx₂ : x ∈ MeasureTheory.SignedMeasure.restrictNonposSeq s i 0
⊢ False

case intro.succ
α : Type u_1
β : Type u_2
inst✝³ : MeasurableSpace α
M : Type u_3
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s : SignedMeasure α
i j : Set α
n : ℕ
x : α
hx₁ : x ∈ MeasureTheory.SignedMeasure.restrictNonposSeq s i n
n✝ : ℕ
h : n < n✝ + 1
hx₂ : x ∈ MeasureTheory.SignedMeasure.restrictNonposSeq s i (n✝ + 1)
⊢ False
tactic: cases m
Theorem: vectorSpan_eq_span_vsub_set_left_ne
File: Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean

Proof steps:
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
ι : Type u_4
s : Set P
p : P
hp : p ∈ s
⊢ vectorSpan k s = Submodule.span k ((fun x => p -ᵥ x) '' (s \ {p}))
state_after: k : Type u_1
V : Type u_2
P : Type u_3
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
ι : Type u_4
s : Set P
p : P
hp : p ∈ s
⊢ Submodule.span k (insert (p -ᵥ p) ((fun x => p -ᵥ x) '' (s \ {p}))) =
    Submodule.span k ((fun x => p -ᵥ x) '' (s \ {p}))
tactic: conv_lhs =>
    rw [vectorSpan_eq_span_vsub_set_left k hp, ← Set.insert_eq_of_mem hp, ←
      Set.insert_diff_singleton, Set.image_insert_eq]
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
ι : Type u_4
s : Set P
p : P
hp : p ∈ s
⊢ Submodule.span k (insert (p -ᵥ p) ((fun x => p -ᵥ x) '' (s \ {p}))) =
    Submodule.span k ((fun x => p -ᵥ x) '' (s \ {p}))
state_after: no goals
tactic: simp [Submodule.span_insert_eq_span]
Theorem: Complex.norm_eq_one_of_mem_rootsOfUnity
File: Mathlib/RingTheory/RootsOfUnity/Complex.lean

Proof steps:
state_before: ζ : ℂˣ
n : ℕ+
hζ : ζ ∈ rootsOfUnity n ℂ
⊢ ‖↑ζ‖ = 1
state_after: ζ : ℂˣ
n : ℕ+
hζ : ζ ∈ rootsOfUnity n ℂ
⊢ ↑ζ ^ ↑n = 1
tactic: refine norm_eq_one_of_pow_eq_one ?_ <| n.ne_zero
state_before: ζ : ℂˣ
n : ℕ+
hζ : ζ ∈ rootsOfUnity n ℂ
⊢ ↑ζ ^ ↑n = 1
state_after: ζ : ℂˣ
n : ℕ+
hζ : ζ ∈ rootsOfUnity n ℂ
⊢ ↑(ζ ^ ↑n) = 1
tactic: norm_cast
state_before: ζ : ℂˣ
n : ℕ+
hζ : ζ ∈ rootsOfUnity n ℂ
⊢ ↑(ζ ^ ↑n) = 1
state_after: ζ : ℂˣ
n : ℕ+
hζ : ζ ^ ↑n = 1
⊢ ↑(ζ ^ ↑n) = 1
tactic: rw [_root_.mem_rootsOfUnity] at hζ
state_before: ζ : ℂˣ
n : ℕ+
hζ : ζ ^ ↑n = 1
⊢ ↑(ζ ^ ↑n) = 1
state_after: no goals
tactic: rw [hζ, Units.val_one]
Theorem: ENNReal.tendsto_tsum_compl_atTop_zero
File: Mathlib/Topology/Instances/ENNReal.lean

Proof steps:
state_before: α✝ : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α✝ → ℝ≥0∞
α : Type u_4
f : α → ℝ≥0∞
hf : ∑' (x : α), f x ≠ ⊤
⊢ Tendsto (fun s => ∑' (b : { x // x ∉ s }), f ↑b) atTop (𝓝 0)
state_after: case intro
α✝ : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α✝ → ℝ≥0∞
α : Type u_4
f : α → ℝ≥0
hf : ∑' (x : α), (fun i => ↑(f i)) x ≠ ⊤
⊢ Tendsto (fun s => ∑' (b : { x // x ∉ s }), (fun i => ↑(f i)) ↑b) atTop (𝓝 0)
tactic: lift f to α → ℝ≥0 using ENNReal.ne_top_of_tsum_ne_top hf
state_before: case intro
α✝ : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α✝ → ℝ≥0∞
α : Type u_4
f : α → ℝ≥0
hf : ∑' (x : α), (fun i => ↑(f i)) x ≠ ⊤
⊢ Tendsto (fun s => ∑' (b : { x // x ∉ s }), (fun i => ↑(f i)) ↑b) atTop (𝓝 0)
state_after: case h.e'_3.h
α✝ : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α✝ → ℝ≥0∞
α : Type u_4
f : α → ℝ≥0
hf : ∑' (x : α), (fun i => ↑(f i)) x ≠ ⊤
x✝ : Finset α
⊢ ∑' (b : { x // x ∉ x✝ }), (fun i => ↑(f i)) ↑b = ↑(∑' (b : { x // x ∉ x✝ }), f ↑b)
tactic: convert ENNReal.tendsto_coe.2 (NNReal.tendsto_tsum_compl_atTop_zero f)
state_before: case h.e'_3.h
α✝ : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α✝ → ℝ≥0∞
α : Type u_4
f : α → ℝ≥0
hf : ∑' (x : α), (fun i => ↑(f i)) x ≠ ⊤
x✝ : Finset α
⊢ ∑' (b : { x // x ∉ x✝ }), (fun i => ↑(f i)) ↑b = ↑(∑' (b : { x // x ∉ x✝ }), f ↑b)
state_after: case h.e'_3.h
α✝ : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α✝ → ℝ≥0∞
α : Type u_4
f : α → ℝ≥0
hf : ∑' (x : α), (fun i => ↑(f i)) x ≠ ⊤
x✝ : Finset α
⊢ Summable fun b => f ↑b
tactic: rw [ENNReal.coe_tsum]
state_before: case h.e'_3.h
α✝ : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α✝ → ℝ≥0∞
α : Type u_4
f : α → ℝ≥0
hf : ∑' (x : α), (fun i => ↑(f i)) x ≠ ⊤
x✝ : Finset α
⊢ Summable fun b => f ↑b
state_after: no goals
tactic: exact NNReal.summable_comp_injective (tsum_coe_ne_top_iff_summable.1 hf) Subtype.coe_injective
Theorem: AddOreLocalization.expand
File: Mathlib/RingTheory/OreLocalization/Basic.lean

Proof steps:
state_before: R : Type u_1
inst✝² : Monoid R
S : Submonoid R
inst✝¹ : OreSet S
X : Type u_2
inst✝ : MulAction R X
r : X
s : ↥S
t : R
hst : t * ↑s ∈ S
⊢ r /ₒ s = t • r /ₒ ⟨t * ↑s, hst⟩
state_after: case a
R : Type u_1
inst✝² : Monoid R
S : Submonoid R
inst✝¹ : OreSet S
X : Type u_2
inst✝ : MulAction R X
r : X
s : ↥S
t : R
hst : t * ↑s ∈ S
⊢ (r, s) ≈ (t • r, ⟨t * ↑s, hst⟩)
tactic: apply Quotient.sound
state_before: case a
R : Type u_1
inst✝² : Monoid R
S : Submonoid R
inst✝¹ : OreSet S
X : Type u_2
inst✝ : MulAction R X
r : X
s : ↥S
t : R
hst : t * ↑s ∈ S
⊢ (r, s) ≈ (t • r, ⟨t * ↑s, hst⟩)
state_after: no goals
tactic: exact ⟨s, s * t, by rw [mul_smul, Submonoid.smul_def], by rw [← mul_assoc]⟩
Theorem: AddMonoid.IsTorsion.torsion_eq_top
File: Mathlib/GroupTheory/Torsion.lean

Proof steps:
state_before: G : Type u_1
H : Type u_2
inst✝ : CommMonoid G
tG : IsTorsion G
⊢ torsion G = ⊤
state_after: case h
G : Type u_1
H : Type u_2
inst✝ : CommMonoid G
tG : IsTorsion G
x✝ : G
⊢ x✝ ∈ torsion G ↔ x✝ ∈ ⊤
tactic: ext
state_before: case h
G : Type u_1
H : Type u_2
inst✝ : CommMonoid G
tG : IsTorsion G
x✝ : G
⊢ x✝ ∈ torsion G ↔ x✝ ∈ ⊤
state_after: no goals
tactic: tauto
Theorem: Function.piCongrLeft'_update
File: Mathlib/Logic/Equiv/Basic.lean

Proof steps:
state_before: α : Sort u_2
β : Sort u_3
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
P : α → Sort u_1
e : α ≃ β
f : (a : α) → P a
b : β
x : P (e.symm b)
⊢ (Equiv.piCongrLeft' P e) (update f (e.symm b) x) = update ((Equiv.piCongrLeft' P e) f) b x
state_after: case h
α : Sort u_2
β : Sort u_3
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
P : α → Sort u_1
e : α ≃ β
f : (a : α) → P a
b : β
x : P (e.symm b)
b' : β
⊢ (Equiv.piCongrLeft' P e) (update f (e.symm b) x) b' = update ((Equiv.piCongrLeft' P e) f) b x b'
tactic: ext b'
state_before: case h
α : Sort u_2
β : Sort u_3
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
P : α → Sort u_1
e : α ≃ β
f : (a : α) → P a
b : β
x : P (e.symm b)
b' : β
⊢ (Equiv.piCongrLeft' P e) (update f (e.symm b) x) b' = update ((Equiv.piCongrLeft' P e) f) b x b'
state_after: case h.inl
α : Sort u_2
β : Sort u_3
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
P : α → Sort u_1
e : α ≃ β
f : (a : α) → P a
b' : β
x : P (e.symm b')
⊢ (Equiv.piCongrLeft' P e) (update f (e.symm b') x) b' = update ((Equiv.piCongrLeft' P e) f) b' x b'

case h.inr
α : Sort u_2
β : Sort u_3
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
P : α → Sort u_1
e : α ≃ β
f : (a : α) → P a
b : β
x : P (e.symm b)
b' : β
h : b' ≠ b
⊢ (Equiv.piCongrLeft' P e) (update f (e.symm b) x) b' = update ((Equiv.piCongrLeft' P e) f) b x b'
tactic: rcases eq_or_ne b' b with (rfl | h)
Theorem: EReal.preimage_coe_Ioc_bot
File: Mathlib/Data/Real/EReal.lean

Proof steps:
state_before: y : ℝ
⊢ Real.toEReal ⁻¹' Ioc ⊥ ↑y = Iic y
state_after: y : ℝ
⊢ Real.toEReal ⁻¹' (Ioi ⊥ ∩ Iic ↑y) = Iic y
tactic: rw [← Ioi_inter_Iic]
state_before: y : ℝ
⊢ Real.toEReal ⁻¹' (Ioi ⊥ ∩ Iic ↑y) = Iic y
state_after: no goals
tactic: simp
Theorem: MeasureTheory.OuterMeasure.map_top_of_surjective
File: Mathlib/MeasureTheory/OuterMeasure/Operations.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
m : OuterMeasure α
f : α → β
hf : Surjective f
⊢ (map f) ⊤ = ⊤
state_after: no goals
tactic: rw [map_top, hf.range_eq, restrict_univ]