ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: HurwitzZeta.hurwitzEvenFEPair_neg
File: Mathlib/NumberTheory/LSeries/HurwitzZetaEven.lean

Proof steps:
state_before: a : UnitAddCircle
⊢ hurwitzEvenFEPair (-a) = hurwitzEvenFEPair a
state_after: a : UnitAddCircle
⊢ { f := ofReal' ∘ evenKernel (-a), g := ofReal' ∘ cosKernel (-a), k := 1 / 2, ε := 1, f₀ := if -a = 0 then 1 else 0,
      g₀ := 1, hf_int := ⋯, hg_int := ⋯, hk := hurwitzEvenFEPair.proof_4, hε := hurwitzEvenFEPair.proof_5, h_feq := ⋯,
      hf_top := ⋯, hg_top := ⋯ } =
    { f := ofReal' ∘ evenKernel a, g := ofReal' ∘ cosKernel a, k := 1 / 2, ε := 1, f₀ := if a = 0 then 1 else 0,
      g₀ := 1, hf_int := ⋯, hg_int := ⋯, hk := hurwitzEvenFEPair.proof_4, hε := hurwitzEvenFEPair.proof_5, h_feq := ⋯,
      hf_top := ⋯, hg_top := ⋯ }
tactic: unfold hurwitzEvenFEPair
state_before: a : UnitAddCircle
⊢ { f := ofReal' ∘ evenKernel (-a), g := ofReal' ∘ cosKernel (-a), k := 1 / 2, ε := 1, f₀ := if -a = 0 then 1 else 0,
      g₀ := 1, hf_int := ⋯, hg_int := ⋯, hk := hurwitzEvenFEPair.proof_4, hε := hurwitzEvenFEPair.proof_5, h_feq := ⋯,
      hf_top := ⋯, hg_top := ⋯ } =
    { f := ofReal' ∘ evenKernel a, g := ofReal' ∘ cosKernel a, k := 1 / 2, ε := 1, f₀ := if a = 0 then 1 else 0,
      g₀ := 1, hf_int := ⋯, hg_int := ⋯, hk := hurwitzEvenFEPair.proof_4, hε := hurwitzEvenFEPair.proof_5, h_feq := ⋯,
      hf_top := ⋯, hg_top := ⋯ }
state_after: no goals
tactic: congr 1 <;> simp only [Function.comp_def, evenKernel_neg, cosKernel_neg, neg_eq_zero]
Theorem: Subring.mem_iSup_of_directed
File: Mathlib/Algebra/Ring/Subring/Basic.lean

Proof steps:
state_before: R : Type u
S✝ : Type v
T : Type w
inst✝² : Ring R
inst✝¹ : Ring S✝
inst✝ : Ring T
ι : Sort u_1
hι : Nonempty ι
S : ι → Subring R
hS : Directed (fun x x_1 => x ≤ x_1) S
x : R
⊢ x ∈ ⨆ i, S i ↔ ∃ i, x ∈ S i
state_after: R : Type u
S✝ : Type v
T : Type w
inst✝² : Ring R
inst✝¹ : Ring S✝
inst✝ : Ring T
ι : Sort u_1
hι : Nonempty ι
S : ι → Subring R
hS : Directed (fun x x_1 => x ≤ x_1) S
x : R
⊢ x ∈ ⨆ i, S i → ∃ i, x ∈ S i
tactic: refine ⟨?_, fun ⟨i, hi⟩ ↦ le_iSup S i hi⟩
state_before: R : Type u
S✝ : Type v
T : Type w
inst✝² : Ring R
inst✝¹ : Ring S✝
inst✝ : Ring T
ι : Sort u_1
hι : Nonempty ι
S : ι → Subring R
hS : Directed (fun x x_1 => x ≤ x_1) S
x : R
⊢ x ∈ ⨆ i, S i → ∃ i, x ∈ S i
state_after: R : Type u
S✝ : Type v
T : Type w
inst✝² : Ring R
inst✝¹ : Ring S✝
inst✝ : Ring T
ι : Sort u_1
hι : Nonempty ι
S : ι → Subring R
hS : Directed (fun x x_1 => x ≤ x_1) S
x : R
U : Subring R := Subring.mk' (⋃ i, ↑(S i)) (⨆ i, (S i).toSubmonoid) (⨆ i, (S i).toAddSubgroup) ⋯ ⋯
⊢ x ∈ ⨆ i, S i → ∃ i, x ∈ S i
tactic: let U : Subring R :=
    Subring.mk' (⋃ i, (S i : Set R)) (⨆ i, (S i).toSubmonoid) (⨆ i, (S i).toAddSubgroup)
      (Submonoid.coe_iSup_of_directed hS) (AddSubgroup.coe_iSup_of_directed hS)
state_before: R : Type u
S✝ : Type v
T : Type w
inst✝² : Ring R
inst✝¹ : Ring S✝
inst✝ : Ring T
ι : Sort u_1
hι : Nonempty ι
S : ι → Subring R
hS : Directed (fun x x_1 => x ≤ x_1) S
x : R
U : Subring R := Subring.mk' (⋃ i, ↑(S i)) (⨆ i, (S i).toSubmonoid) (⨆ i, (S i).toAddSubgroup) ⋯ ⋯
⊢ x ∈ ⨆ i, S i → ∃ i, x ∈ S i
state_after: R : Type u
S✝ : Type v
T : Type w
inst✝² : Ring R
inst✝¹ : Ring S✝
inst✝ : Ring T
ι : Sort u_1
hι : Nonempty ι
S : ι → Subring R
hS : Directed (fun x x_1 => x ≤ x_1) S
x : R
U : Subring R := Subring.mk' (⋃ i, ↑(S i)) (⨆ i, (S i).toSubmonoid) (⨆ i, (S i).toAddSubgroup) ⋯ ⋯
⊢ ⨆ i, S i ≤ U
tactic: suffices ⨆ i, S i ≤ U by simpa [U] using @this x
state_before: R : Type u
S✝ : Type v
T : Type w
inst✝² : Ring R
inst✝¹ : Ring S✝
inst✝ : Ring T
ι : Sort u_1
hι : Nonempty ι
S : ι → Subring R
hS : Directed (fun x x_1 => x ≤ x_1) S
x : R
U : Subring R := Subring.mk' (⋃ i, ↑(S i)) (⨆ i, (S i).toSubmonoid) (⨆ i, (S i).toAddSubgroup) ⋯ ⋯
⊢ ⨆ i, S i ≤ U
state_after: no goals
tactic: exact iSup_le fun i x hx ↦ Set.mem_iUnion.2 ⟨i, hx⟩
Theorem: Real.arsinh_nonpos_iff
File: Mathlib/Analysis/SpecialFunctions/Arsinh.lean

Proof steps:
state_before: x y : ℝ
⊢ arsinh x ≤ 0 ↔ x ≤ 0
state_after: no goals
tactic: rw [← sinh_le_sinh, sinh_zero, sinh_arsinh]
Theorem: Ordnode.balanceL_eq_balance'
File: Mathlib/Data/Ordmap/Ordset.lean

Proof steps:
state_before: α : Type u_1
l : Ordnode α
x : α
r : Ordnode α
hl : l.Balanced
hr : r.Balanced
sl : l.Sized
sr : r.Sized
H : (∃ l', Raised l' l.size ∧ BalancedSz l' r.size) ∨ ∃ r', Raised r.size r' ∧ BalancedSz l.size r'
⊢ l.balanceL x r = l.balance' x r
state_after: case H1
α : Type u_1
l : Ordnode α
x : α
r : Ordnode α
hl : l.Balanced
hr : r.Balanced
sl : l.Sized
sr : r.Sized
H : (∃ l', Raised l' l.size ∧ BalancedSz l' r.size) ∨ ∃ r', Raised r.size r' ∧ BalancedSz l.size r'
⊢ l.size = 0 → r.size ≤ 1

case H2
α : Type u_1
l : Ordnode α
x : α
r : Ordnode α
hl : l.Balanced
hr : r.Balanced
sl : l.Sized
sr : r.Sized
H : (∃ l', Raised l' l.size ∧ BalancedSz l' r.size) ∨ ∃ r', Raised r.size r' ∧ BalancedSz l.size r'
⊢ 1 ≤ l.size → 1 ≤ r.size → r.size ≤ delta * l.size
tactic: rw [← balance_eq_balance' hl hr sl sr, balanceL_eq_balance sl sr]
Theorem: Module.Flat.iff_rTensor_exact
File: Mathlib/RingTheory/Flat/Basic.lean

Proof steps:
state_before: R : Type u
M : Type v
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
N : Type w
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : Small.{v, u} R
⊢ Flat R M ↔
    ∀ ⦃N N' N'' : Type v⦄ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : AddCommGroup N'']
      [inst_3 : Module R N] [inst_4 : Module R N'] [inst_5 : Module R N''] ⦃f : N →ₗ[R] N'⦄ ⦃g : N' →ₗ[R] N''⦄,
      Function.Exact ⇑f ⇑g → Function.Exact ⇑(rTensor M f) ⇑(rTensor M g)
state_after: R : Type u
M : Type v
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
N : Type w
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : Small.{v, u} R
H :
  ∀ ⦃N N' N'' : Type v⦄ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : AddCommGroup N'']
    [inst_3 : Module R N] [inst_4 : Module R N'] [inst_5 : Module R N''] ⦃f : N →ₗ[R] N'⦄ ⦃g : N' →ₗ[R] N''⦄,
    Function.Exact ⇑f ⇑g → Function.Exact ⇑(rTensor M f) ⇑(rTensor M g)
N' N'' : Type v
x✝³ : AddCommGroup N'
x✝² : AddCommGroup N''
x✝¹ : Module R N'
x✝ : Module R N''
L : N' →ₗ[R] N''
hL : Function.Injective ⇑L
x : N' ⊗[R] M
hx : (rTensor M L) x = 0
⊢ x ∈ ⊥
tactic: refine ⟨fun _ => rTensor_exact M, fun H => iff_rTensor_preserves_injective_linearMap R M |>.mpr
    fun N' N'' _ _ _ _ L hL => LinearMap.ker_eq_bot |>.mp <| eq_bot_iff |>.mpr
      fun x (hx : _ = 0) => ?_⟩
state_before: R : Type u
M : Type v
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
N : Type w
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : Small.{v, u} R
H :
  ∀ ⦃N N' N'' : Type v⦄ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : AddCommGroup N'']
    [inst_3 : Module R N] [inst_4 : Module R N'] [inst_5 : Module R N''] ⦃f : N →ₗ[R] N'⦄ ⦃g : N' →ₗ[R] N''⦄,
    Function.Exact ⇑f ⇑g → Function.Exact ⇑(rTensor M f) ⇑(rTensor M g)
N' N'' : Type v
x✝³ : AddCommGroup N'
x✝² : AddCommGroup N''
x✝¹ : Module R N'
x✝ : Module R N''
L : N' →ₗ[R] N''
hL : Function.Injective ⇑L
x : N' ⊗[R] M
hx : (rTensor M L) x = 0
⊢ x ∈ ⊥
state_after: no goals
tactic: simpa [Eq.comm] using @H PUnit N' N'' _ _ _ _ _ _ 0 L (fun x => by aesop) x |>.mp hx
Theorem: preNormEDS_three
File: Mathlib/NumberTheory/EllipticDivisibilitySequence.lean

Proof steps:
state_before: R : Type u
S : Type v
inst✝¹ : CommRing R
inst✝ : CommRing S
W : ℤ → R
f : R →+* S
b c d : R
⊢ preNormEDS b c d 3 = c
state_after: no goals
tactic: erw [preNormEDS_ofNat, preNormEDS'_three]
Theorem: Set.preimage_mul_const_Ioc
File: Mathlib/Data/Set/Pointwise/Interval.lean

Proof steps:
state_before: α : Type u_1
inst✝ : LinearOrderedField α
a✝ a b c : α
h : 0 < c
⊢ (fun x => x * c) ⁻¹' Ioc a b = Ioc (a / c) (b / c)
state_after: no goals
tactic: simp [← Ioi_inter_Iic, h]
Theorem: SimpleGraph.Walk.edges_copy
File: Mathlib/Combinatorics/SimpleGraph/Walk.lean

Proof steps:
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u v u' v' : V
p : G.Walk u v
hu : u = u'
hv : v = v'
⊢ (p.copy hu hv).edges = p.edges
state_after: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u' v' : V
p : G.Walk u' v'
⊢ (p.copy ⋯ ⋯).edges = p.edges
tactic: subst_vars
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u' v' : V
p : G.Walk u' v'
⊢ (p.copy ⋯ ⋯).edges = p.edges
state_after: no goals
tactic: rfl
Theorem: MeasureTheory.Measure.haar.index_pos
File: Mathlib/MeasureTheory/Measure/Haar/Basic.lean

Proof steps:
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : (interior V).Nonempty
⊢ 0 < index (↑K) V
state_after: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : (interior V).Nonempty
⊢ 0 < sInf (Finset.card '' {t | ↑K ⊆ ⋃ g ∈ t, (fun h => g * h) ⁻¹' V})
tactic: unfold index
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : (interior V).Nonempty
⊢ 0 < sInf (Finset.card '' {t | ↑K ⊆ ⋃ g ∈ t, (fun h => g * h) ⁻¹' V})
state_after: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : (interior V).Nonempty
⊢ ¬∃ x ∈ {t | ↑K ⊆ ⋃ g ∈ t, (fun h => g * h) ⁻¹' V}, x.card = 0

G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K : PositiveCompacts G
V : Set G
hV : (interior V).Nonempty
⊢ ∃ n, n ∈ Finset.card '' {t | ↑K ⊆ ⋃ g ∈ t, (fun h => g * h) ⁻¹' V}
tactic: rw [Nat.sInf_def, Nat.find_pos, mem_image]
Theorem: Multiset.prod_eq_prod_toEnumFinset
File: Mathlib/Data/Multiset/Fintype.lean

Proof steps:
state_before: α : Type u_1
inst✝¹ : DecidableEq α
m✝ : Multiset α
inst✝ : CommMonoid α
m : Multiset α
⊢ m.prod = ∏ x ∈ m.toEnumFinset, x.1
state_after: case e_a
α : Type u_1
inst✝¹ : DecidableEq α
m✝ : Multiset α
inst✝ : CommMonoid α
m : Multiset α
⊢ m = map (fun x => x.1) m.toEnumFinset.val
tactic: congr
state_before: case e_a
α : Type u_1
inst✝¹ : DecidableEq α
m✝ : Multiset α
inst✝ : CommMonoid α
m : Multiset α
⊢ m = map (fun x => x.1) m.toEnumFinset.val
state_after: no goals
tactic: simp
Theorem: Isometry.lipschitzWith_iff
File: Mathlib/Topology/MetricSpace/Isometry.lean

Proof steps:
state_before: ι : Type u_1
α✝ : Type u
β✝ : Type v
γ✝ : Type w
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝² : PseudoEMetricSpace α
inst✝¹ : PseudoEMetricSpace β
inst✝ : PseudoEMetricSpace γ
f : α → β
g : β → γ
K : ℝ≥0
h : Isometry g
⊢ LipschitzWith K (g ∘ f) ↔ LipschitzWith K f
state_after: no goals
tactic: simp [LipschitzWith, h.edist_eq]
Theorem: CategoryTheory.Limits.compCoyonedaSectionsEquiv_symm_apply_coe
File: Mathlib/CategoryTheory/Limits/Types.lean

Proof steps:
state_before: J : Type u_1
C : Type u_2
inst✝¹ : Category.{?u.92908, u_1} J
inst✝ : Category.{?u.93383, u_2} C
F : J ⥤ C
X : C
s : ↑(F ⋙ coyoneda.obj (op X)).sections
j j' : J
f : j ⟶ j'
⊢ ((const J).obj X).map f ≫ (fun j => ↑s j) j' = (fun j => ↑s j) j ≫ F.map f
state_after: J : Type u_1
C : Type u_2
inst✝¹ : Category.{?u.92908, u_1} J
inst✝ : Category.{?u.93383, u_2} C
F : J ⥤ C
X : C
s : ↑(F ⋙ coyoneda.obj (op X)).sections
j j' : J
f : j ⟶ j'
⊢ 𝟙 X ≫ ↑s j' = ↑s j ≫ F.map f
tactic: dsimp
state_before: J : Type u_1
C : Type u_2
inst✝¹ : Category.{?u.92908, u_1} J
inst✝ : Category.{?u.93383, u_2} C
F : J ⥤ C
X : C
s : ↑(F ⋙ coyoneda.obj (op X)).sections
j j' : J
f : j ⟶ j'
⊢ 𝟙 X ≫ ↑s j' = ↑s j ≫ F.map f
state_after: J : Type u_1
C : Type u_2
inst✝¹ : Category.{?u.92908, u_1} J
inst✝ : Category.{?u.93383, u_2} C
F : J ⥤ C
X : C
s : ↑(F ⋙ coyoneda.obj (op X)).sections
j j' : J
f : j ⟶ j'
⊢ ↑s j' = ↑s j ≫ F.map f
tactic: rw [Category.id_comp]
state_before: J : Type u_1
C : Type u_2
inst✝¹ : Category.{?u.92908, u_1} J
inst✝ : Category.{?u.93383, u_2} C
F : J ⥤ C
X : C
s : ↑(F ⋙ coyoneda.obj (op X)).sections
j j' : J
f : j ⟶ j'
⊢ ↑s j' = ↑s j ≫ F.map f
state_after: no goals
tactic: exact (s.property f).symm
state_before: J : Type u_1
C : Type u_2
inst✝¹ : Category.{?u.92908, u_1} J
inst✝ : Category.{?u.93383, u_2} C
F : J ⥤ C
X : C
τ : (const J).obj X ⟶ F
j j' : J
f : j ⟶ j'
⊢ (F ⋙ coyoneda.obj (op X)).map f (τ.app j) = τ.app j'
state_after: no goals
tactic: simpa using (τ.naturality f).symm
Theorem: ComplexShape.ε_add
File: Mathlib/Algebra/Homology/ComplexShapeSigns.lean

Proof steps:
state_before: I₁ : Type u_1
I₂ : Type u_2
I₁₂ : Type u_3
c₁ : ComplexShape I₁
c₂ : ComplexShape I₂
c₁₂ : ComplexShape I₁₂
inst✝² : TotalComplexShape c₁ c₂ c₁₂
I : Type u_4
inst✝¹ : AddMonoid I
c : ComplexShape I
inst✝ : c.TensorSigns
p q : I
⊢ c.ε (p + q) = c.ε p * c.ε q
state_after: no goals
tactic: apply MonoidHom.map_mul
Theorem: StarSubalgebra.inf_toSubalgebra
File: Mathlib/Algebra/Star/Subalgebra.lean

Proof steps:
state_before: F : Type u_1
R : Type u_2
A : Type u_3
B : Type u_4
inst✝⁹ : CommSemiring R
inst✝⁸ : StarRing R
inst✝⁷ : Semiring A
inst✝⁶ : Algebra R A
inst✝⁵ : StarRing A
inst✝⁴ : StarModule R A
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : StarModule R B
S T : StarSubalgebra R A
⊢ (S ⊓ T).toSubalgebra = S.toSubalgebra ⊓ T.toSubalgebra
state_after: case h
F : Type u_1
R : Type u_2
A : Type u_3
B : Type u_4
inst✝⁹ : CommSemiring R
inst✝⁸ : StarRing R
inst✝⁷ : Semiring A
inst✝⁶ : Algebra R A
inst✝⁵ : StarRing A
inst✝⁴ : StarModule R A
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : StarModule R B
S T : StarSubalgebra R A
x✝ : A
⊢ x✝ ∈ (S ⊓ T).toSubalgebra ↔ x✝ ∈ S.toSubalgebra ⊓ T.toSubalgebra
tactic: ext
state_before: case h
F : Type u_1
R : Type u_2
A : Type u_3
B : Type u_4
inst✝⁹ : CommSemiring R
inst✝⁸ : StarRing R
inst✝⁷ : Semiring A
inst✝⁶ : Algebra R A
inst✝⁵ : StarRing A
inst✝⁴ : StarModule R A
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : StarModule R B
S T : StarSubalgebra R A
x✝ : A
⊢ x✝ ∈ (S ⊓ T).toSubalgebra ↔ x✝ ∈ S.toSubalgebra ⊓ T.toSubalgebra
state_after: no goals
tactic: simp
Theorem: CategoryTheory.ShiftedHom.comp_mk₀_id
File: Mathlib/CategoryTheory/Shift/ShiftedHom.lean

Proof steps:
state_before: C : Type u_1
inst✝⁶ : Category.{?u.24327, u_1} C
D : Type u_2
inst✝⁵ : Category.{?u.24334, u_2} D
E : Type u_3
inst✝⁴ : Category.{?u.24341, u_3} E
M : Type u_4
inst✝³ : AddMonoid M
inst✝² : HasShift C M
inst✝¹ : HasShift D M
inst✝ : HasShift E M
X Y Z T : C
a : M
f : ShiftedHom X Y a
m₀ : M
hm₀ : m₀ = 0
⊢ m₀ + a = a
state_after: no goals
tactic: rw [hm₀, zero_add]
state_before: C : Type u_1
inst✝⁶ : Category.{u_5, u_1} C
D : Type u_2
inst✝⁵ : Category.{?u.24334, u_2} D
E : Type u_3
inst✝⁴ : Category.{?u.24341, u_3} E
M : Type u_4
inst✝³ : AddMonoid M
inst✝² : HasShift C M
inst✝¹ : HasShift D M
inst✝ : HasShift E M
X Y Z T : C
a : M
f : ShiftedHom X Y a
m₀ : M
hm₀ : m₀ = 0
⊢ f.comp (mk₀ m₀ hm₀ (𝟙 Y)) ⋯ = f
state_after: no goals
tactic: simp [comp_mk₀]
Theorem: CategoryTheory.Subobject.factors_self
File: Mathlib/CategoryTheory/Subobject/FactorThru.lean

Proof steps:
state_before: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
X✝ Y Z : C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
X : C
P : Subobject X
⊢ 𝟙 (underlying.obj P) ≫ (representative.obj P).arrow = P.arrow
state_after: no goals
tactic: simp
Theorem: gold_sub_goldConj
File: Mathlib/Data/Real/GoldenRatio.lean

Proof steps:
state_before: ⊢ φ - ψ = √5
state_after: no goals
tactic: ring
Theorem: _private.Mathlib.Analysis.MeanInequalitiesPow.0.NNReal.add_rpow_le_one_of_add_le_one
File: Mathlib/Analysis/MeanInequalitiesPow.lean

Proof steps:
state_before: ι : Type u
s : Finset ι
p : ℝ
a b : ℝ≥0
hab : a + b ≤ 1
hp1 : 1 ≤ p
⊢ a ^ p + b ^ p ≤ 1
state_after: ι : Type u
s : Finset ι
p : ℝ
a b : ℝ≥0
hab : a + b ≤ 1
hp1 : 1 ≤ p
h_le_one : ∀ x ≤ 1, x ^ p ≤ x
⊢ a ^ p + b ^ p ≤ 1
tactic: have h_le_one : ∀ x : ℝ≥0, x ≤ 1 → x ^ p ≤ x := fun x hx => rpow_le_self_of_le_one hx hp1
state_before: ι : Type u
s : Finset ι
p : ℝ
a b : ℝ≥0
hab : a + b ≤ 1
hp1 : 1 ≤ p
h_le_one : ∀ x ≤ 1, x ^ p ≤ x
⊢ a ^ p + b ^ p ≤ 1
state_after: ι : Type u
s : Finset ι
p : ℝ
a b : ℝ≥0
hab : a + b ≤ 1
hp1 : 1 ≤ p
h_le_one : ∀ x ≤ 1, x ^ p ≤ x
ha : a ≤ 1
⊢ a ^ p + b ^ p ≤ 1
tactic: have ha : a ≤ 1 := (self_le_add_right a b).trans hab
state_before: ι : Type u
s : Finset ι
p : ℝ
a b : ℝ≥0
hab : a + b ≤ 1
hp1 : 1 ≤ p
h_le_one : ∀ x ≤ 1, x ^ p ≤ x
ha : a ≤ 1
⊢ a ^ p + b ^ p ≤ 1
state_after: ι : Type u
s : Finset ι
p : ℝ
a b : ℝ≥0
hab : a + b ≤ 1
hp1 : 1 ≤ p
h_le_one : ∀ x ≤ 1, x ^ p ≤ x
ha : a ≤ 1
hb : b ≤ 1
⊢ a ^ p + b ^ p ≤ 1
tactic: have hb : b ≤ 1 := (self_le_add_left b a).trans hab
state_before: ι : Type u
s : Finset ι
p : ℝ
a b : ℝ≥0
hab : a + b ≤ 1
hp1 : 1 ≤ p
h_le_one : ∀ x ≤ 1, x ^ p ≤ x
ha : a ≤ 1
hb : b ≤ 1
⊢ a ^ p + b ^ p ≤ 1
state_after: no goals
tactic: exact (add_le_add (h_le_one a ha) (h_le_one b hb)).trans hab
Theorem: CategoryTheory.Adjunction.rightAdjointUniq_refl
File: Mathlib/CategoryTheory/Adjunction/Unique.lean

Proof steps:
state_before: C : Type u_1
D : Type u_2
inst✝¹ : Category.{u_3, u_1} C
inst✝ : Category.{u_4, u_2} D
F : C ⥤ D
G : D ⥤ C
adj1 : F ⊣ G
⊢ (adj1.rightAdjointUniq adj1).hom = 𝟙 G
state_after: C : Type u_1
D : Type u_2
inst✝¹ : Category.{u_3, u_1} C
inst✝ : Category.{u_4, u_2} D
F : C ⥤ D
G : D ⥤ C
adj1 : F ⊣ G
⊢ ((adj1.natIsoEquiv adj1).symm (Iso.refl F)).hom = 𝟙 G
tactic: delta rightAdjointUniq
state_before: C : Type u_1
D : Type u_2
inst✝¹ : Category.{u_3, u_1} C
inst✝ : Category.{u_4, u_2} D
F : C ⥤ D
G : D ⥤ C
adj1 : F ⊣ G
⊢ ((adj1.natIsoEquiv adj1).symm (Iso.refl F)).hom = 𝟙 G
state_after: no goals
tactic: simp
Theorem: AntivaryOn.card_smul_sum_le_sum_smul_sum
File: Mathlib/Algebra/Order/Chebyshev.lean

Proof steps:
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝³ : LinearOrderedRing α
inst✝² : LinearOrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : OrderedSMul α β
s : Finset ι
σ : Perm ι
f : ι → α
g : ι → β
hfg : AntivaryOn f g ↑s
⊢ s.card • ∑ i ∈ s, f i • g i ≤ (∑ i ∈ s, f i) • ∑ i ∈ s, g i
state_after: no goals
tactic: exact hfg.dual_right.sum_smul_sum_le_card_smul_sum
Theorem: Pi.mulSupport_mulSingle_disjoint
File: Mathlib/Algebra/Group/Support.lean

Proof steps:
state_before: A : Type u_1
B : Type u_2
inst✝¹ : DecidableEq A
inst✝ : One B
a : A
b b' : B
hb : b ≠ 1
hb' : b' ≠ 1
i j : A
⊢ Disjoint (mulSupport (mulSingle i b)) (mulSupport (mulSingle j b')) ↔ i ≠ j
state_after: no goals
tactic: rw [mulSupport_mulSingle_of_ne hb, mulSupport_mulSingle_of_ne hb', disjoint_singleton]
Theorem: LightProfinite.Sigma.ι_comp_toFiniteCoproduct
File: Mathlib/Topology/Category/LightProfinite/Limits.lean

Proof steps:
state_before: α : Type w
inst✝ : Finite α
X : α → LightProfinite
a : α
⊢ Sigma.ι X a ≫ (coproductIsoCoproduct X).inv = finiteCoproduct.ι X a
state_after: no goals
tactic: simp [coproductIsoCoproduct]
Theorem: stereoInvFunAux_mem
File: Mathlib/Geometry/Manifold/Instances/Sphere.lean

Proof steps:
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
v : E
hv : ‖v‖ = 1
w : E
hw : w ∈ (Submodule.span ℝ {v})ᗮ
⊢ stereoInvFunAux v w ∈ sphere 0 1
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
v : E
hv : ‖v‖ = 1
w : E
hw : w ∈ (Submodule.span ℝ {v})ᗮ
h₁ : 0 < ‖w‖ ^ 2 + 4
⊢ stereoInvFunAux v w ∈ sphere 0 1
tactic: have h₁ : (0 : ℝ) < ‖w‖ ^ 2 + 4 := by positivity
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
v : E
hv : ‖v‖ = 1
w : E
hw : w ∈ (Submodule.span ℝ {v})ᗮ
h₁ : 0 < ‖w‖ ^ 2 + 4
⊢ stereoInvFunAux v w ∈ sphere 0 1
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
v : E
hv : ‖v‖ = 1
w : E
hw : w ∈ (Submodule.span ℝ {v})ᗮ
h₁ : 0 < ‖w‖ ^ 2 + 4
⊢ ‖4 • w + (‖w‖ ^ 2 - 4) • v‖ = ‖w‖ ^ 2 + 4
tactic: suffices ‖(4 : ℝ) • w + (‖w‖ ^ 2 - 4) • v‖ = ‖w‖ ^ 2 + 4 by
    simp only [mem_sphere_zero_iff_norm, norm_smul, Real.norm_eq_abs, abs_inv, this,
      abs_of_pos h₁, stereoInvFunAux_apply, inv_mul_cancel h₁.ne']
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
v : E
hv : ‖v‖ = 1
w : E
hw : w ∈ (Submodule.span ℝ {v})ᗮ
h₁ : 0 < ‖w‖ ^ 2 + 4
⊢ ‖4 • w + (‖w‖ ^ 2 - 4) • v‖ = ‖w‖ ^ 2 + 4
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
v : E
hv : ‖v‖ = 1
w : E
hw : w ∈ (Submodule.span ℝ {v})ᗮ
h₁ : 0 < ‖w‖ ^ 2 + 4
⊢ ‖4 • w + (‖w‖ ^ 2 - 4) • v‖ ^ 2 = (‖w‖ ^ 2 + 4) ^ 2
tactic: suffices ‖(4 : ℝ) • w + (‖w‖ ^ 2 - 4) • v‖ ^ 2 = (‖w‖ ^ 2 + 4) ^ 2 by
    simpa [sq_eq_sq_iff_abs_eq_abs, abs_of_pos h₁] using this
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
v : E
hv : ‖v‖ = 1
w : E
hw : w ∈ (Submodule.span ℝ {v})ᗮ
h₁ : 0 < ‖w‖ ^ 2 + 4
⊢ ‖4 • w + (‖w‖ ^ 2 - 4) • v‖ ^ 2 = (‖w‖ ^ 2 + 4) ^ 2
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
v : E
hv : ‖v‖ = 1
w : E
hw : ⟪w, v⟫_ℝ = 0
h₁ : 0 < ‖w‖ ^ 2 + 4
⊢ ‖4 • w + (‖w‖ ^ 2 - 4) • v‖ ^ 2 = (‖w‖ ^ 2 + 4) ^ 2
tactic: rw [Submodule.mem_orthogonal_singleton_iff_inner_left] at hw
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
v : E
hv : ‖v‖ = 1
w : E
hw : ⟪w, v⟫_ℝ = 0
h₁ : 0 < ‖w‖ ^ 2 + 4
⊢ ‖4 • w + (‖w‖ ^ 2 - 4) • v‖ ^ 2 = (‖w‖ ^ 2 + 4) ^ 2
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
v : E
hv : ‖v‖ = 1
w : E
hw : ⟪w, v⟫_ℝ = 0
h₁ : 0 < ‖w‖ ^ 2 + 4
⊢ 4 ^ 2 * ‖w‖ ^ 2 + (‖w‖ ^ 2 - 4) ^ 2 = (‖w‖ ^ 2 + 4) ^ 2
tactic: simp [norm_add_sq_real, norm_smul, inner_smul_left, inner_smul_right, hw, mul_pow,
    Real.norm_eq_abs, hv]
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
v : E
hv : ‖v‖ = 1
w : E
hw : ⟪w, v⟫_ℝ = 0
h₁ : 0 < ‖w‖ ^ 2 + 4
⊢ 4 ^ 2 * ‖w‖ ^ 2 + (‖w‖ ^ 2 - 4) ^ 2 = (‖w‖ ^ 2 + 4) ^ 2
state_after: no goals
tactic: ring