ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: Complex.hasSum_taylorSeries_neg_log
File: Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean

Proof steps:
state_before: z : ℂ
hz : ‖z‖ < 1
⊢ HasSum (fun n => z ^ n / ↑n) (-log (1 - z))
state_after: z : ℂ
hz : ‖z‖ < 1
⊢ HasSum (fun n => - -(z ^ n / ↑n)) (-log (1 - z))
tactic: conv => enter [1, n]; rw [← neg_neg (z ^ n / n)]
state_before: z : ℂ
hz : ‖z‖ < 1
⊢ HasSum (fun n => - -(z ^ n / ↑n)) (-log (1 - z))
state_after: z : ℂ
hz : ‖z‖ < 1
⊢ HasSum (fun n => -(z ^ n / ↑n)) (log (1 - z))
tactic: refine HasSum.neg ?_
state_before: z : ℂ
hz : ‖z‖ < 1
⊢ HasSum (fun n => -(z ^ n / ↑n)) (log (1 - z))
state_after: case h.e'_5.h
z : ℂ
hz : ‖z‖ < 1
n : ℕ
⊢ -(z ^ n / ↑n) = (-1) ^ (n + 1) * (-z) ^ n / ↑n
tactic: convert hasSum_taylorSeries_log (z := -z) (norm_neg z ▸ hz) using 2 with n
state_before: case h.e'_5.h
z : ℂ
hz : ‖z‖ < 1
n : ℕ
⊢ -(z ^ n / ↑n) = (-1) ^ (n + 1) * (-z) ^ n / ↑n
state_after: case h.e'_5.h.inl
z : ℂ
hz : ‖z‖ < 1
⊢ -(z ^ 0 / ↑0) = (-1) ^ (0 + 1) * (-z) ^ 0 / ↑0

case h.e'_5.h.inr
z : ℂ
hz : ‖z‖ < 1
n : ℕ
hn : n > 0
⊢ -(z ^ n / ↑n) = (-1) ^ (n + 1) * (-z) ^ n / ↑n
tactic: rcases n.eq_zero_or_pos with rfl | hn
state_before: case h.e'_5.h.inr
z : ℂ
hz : ‖z‖ < 1
n : ℕ
hn : n > 0
⊢ -(z ^ n / ↑n) = (-1) ^ (n + 1) * (-z) ^ n / ↑n
state_after: case h.e'_5.h.inr
z : ℂ
hz : ‖z‖ < 1
n : ℕ
hn : n > 0
⊢ -z ^ n / ↑n = (-1) ^ (n + 1) * (-z) ^ n / ↑n
tactic: field_simp
state_before: case h.e'_5.h.inr
z : ℂ
hz : ‖z‖ < 1
n : ℕ
hn : n > 0
⊢ -z ^ n / ↑n = (-1) ^ (n + 1) * (-z) ^ n / ↑n
state_after: case h.e'_5.h.inr.hb
z : ℂ
hz : ‖z‖ < 1
n : ℕ
hn : n > 0
⊢ ↑n ≠ 0

case h.e'_5.h.inr.hd
z : ℂ
hz : ‖z‖ < 1
n : ℕ
hn : n > 0
⊢ ↑n ≠ 0
tactic: rw [div_eq_div_iff, pow_succ', mul_assoc (-1), ← mul_pow, neg_mul_neg, neg_one_mul, one_mul]
state_before: case h.e'_5.h.inr.hb
z : ℂ
hz : ‖z‖ < 1
n : ℕ
hn : n > 0
⊢ ↑n ≠ 0

case h.e'_5.h.inr.hd
z : ℂ
hz : ‖z‖ < 1
n : ℕ
hn : n > 0
⊢ ↑n ≠ 0
state_after: no goals
tactic: all_goals {norm_cast; exact hn.ne'}
Theorem: CategoryTheory.InitiallySmall.exists_small_weakly_initial_set
File: Mathlib/CategoryTheory/Limits/FinallySmall.lean

Proof steps:
state_before: J : Type u
inst✝¹ : Category.{v, u} J
inst✝ : InitiallySmall J
⊢ ∃ s, ∃ (_ : Small.{w, u} ↑s), ∀ (i : J), ∃ j ∈ s, Nonempty (j ⟶ i)
state_after: J : Type u
inst✝¹ : Category.{v, u} J
inst✝ : InitiallySmall J
i : J
⊢ ∃ j ∈ Set.range (fromInitialModel J).obj, Nonempty (j ⟶ i)
tactic: refine ⟨Set.range (fromInitialModel J).obj, inferInstance, fun i => ?_⟩
state_before: J : Type u
inst✝¹ : Category.{v, u} J
inst✝ : InitiallySmall J
i : J
⊢ ∃ j ∈ Set.range (fromInitialModel J).obj, Nonempty (j ⟶ i)
state_after: case intro
J : Type u
inst✝¹ : Category.{v, u} J
inst✝ : InitiallySmall J
i : J
f : CostructuredArrow (fromInitialModel J) i
⊢ ∃ j ∈ Set.range (fromInitialModel J).obj, Nonempty (j ⟶ i)
tactic: obtain ⟨f⟩ : Nonempty (CostructuredArrow (fromInitialModel J) i) := IsConnected.is_nonempty
state_before: case intro
J : Type u
inst✝¹ : Category.{v, u} J
inst✝ : InitiallySmall J
i : J
f : CostructuredArrow (fromInitialModel J) i
⊢ ∃ j ∈ Set.range (fromInitialModel J).obj, Nonempty (j ⟶ i)
state_after: no goals
tactic: exact ⟨(fromInitialModel J).obj f.left, Set.mem_range_self _, ⟨f.hom⟩⟩
Theorem: Sum.getLeft?_eq_none_iff
File: .lake/packages/batteries/Batteries/Data/Sum/Lemmas.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
x : α ⊕ β
⊢ x.getLeft? = none ↔ x.isRight = true
state_after: no goals
tactic: cases x <;> simp only [getLeft?, isRight, eq_self_iff_true]
Theorem: HahnModule.zero_smul'
File: Mathlib/RingTheory/HahnSeries/Multiplication.lean

Proof steps:
state_before: Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : Zero R
inst✝ : SMulWithZero R V
x : HahnModule Γ' R V
⊢ 0 • x = 0
state_after: case h.h
Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : Zero R
inst✝ : SMulWithZero R V
x : HahnModule Γ' R V
x✝ : Γ'
⊢ ((of R).symm (0 • x)).coeff x✝ = ((of R).symm 0).coeff x✝
tactic: ext
state_before: case h.h
Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : Zero R
inst✝ : SMulWithZero R V
x : HahnModule Γ' R V
x✝ : Γ'
⊢ ((of R).symm (0 • x)).coeff x✝ = ((of R).symm 0).coeff x✝
state_after: no goals
tactic: simp [smul_coeff]
Theorem: Matrix.PosSemidef.mul_mul_conjTranspose_same
File: Mathlib/LinearAlgebra/Matrix/PosDef.lean

Proof steps:
state_before: m✝ : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁷ : Fintype m✝
inst✝⁶ : Fintype n
inst✝⁵ : CommRing R
inst✝⁴ : PartialOrder R
inst✝³ : StarRing R
inst✝² : StarOrderedRing R
inst✝¹ : RCLike 𝕜
A : Matrix n n R
hA : A.PosSemidef
m : Type u_5
inst✝ : Fintype m
B : Matrix m n R
⊢ (B * A * Bᴴ).PosSemidef
state_after: no goals
tactic: simpa only [conjTranspose_conjTranspose] using hA.conjTranspose_mul_mul_same Bᴴ
Theorem: isPiSystem_image_Iio
File: Mathlib/MeasureTheory/PiSystem.lean

Proof steps:
state_before: α : Type u_1
ι : Sort u_2
ι' : Sort u_3
inst✝ : LinearOrder α
s : Set α
⊢ IsPiSystem (Iio '' s)
state_after: case intro.intro.intro.intro
α : Type u_1
ι : Sort u_2
ι' : Sort u_3
inst✝ : LinearOrder α
s : Set α
a : α
ha : a ∈ s
b : α
hb : b ∈ s
⊢ Iio a ∩ Iio b ∈ Iio '' s
tactic: rintro _ ⟨a, ha, rfl⟩ _ ⟨b, hb, rfl⟩ -
state_before: case intro.intro.intro.intro
α : Type u_1
ι : Sort u_2
ι' : Sort u_3
inst✝ : LinearOrder α
s : Set α
a : α
ha : a ∈ s
b : α
hb : b ∈ s
⊢ Iio a ∩ Iio b ∈ Iio '' s
state_after: no goals
tactic: exact ⟨a ⊓ b, inf_ind a b ha hb, Iio_inter_Iio.symm⟩
Theorem: List.chain_map
File: Mathlib/Data/List/Chain.lean

Proof steps:
state_before: α : Type u
β : Type v
R r : α → α → Prop
l✝ l₁ l₂ : List α
a b✝ : α
f : β → α
b : β
l : List β
⊢ Chain R (f b) (map f l) ↔ Chain (fun a b => R (f a) (f b)) b l
state_after: no goals
tactic: induction l generalizing b <;> simp only [map, Chain.nil, chain_cons, *]
Theorem: AddLECancellable.add_tsub_assoc_of_le
File: Mathlib/Algebra/Order/Sub/Canonical.lean

Proof steps:
state_before: α : Type u_1
inst✝⁵ : AddCommSemigroup α
inst✝⁴ : PartialOrder α
inst✝³ : ExistsAddOfLE α
inst✝² : CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
inst✝¹ : Sub α
inst✝ : OrderedSub α
a✝ b c d : α
hc : AddLECancellable c
h : c ≤ b
a : α
⊢ a + b - c = a + (b - c)
state_after: no goals
tactic: conv_lhs => rw [← add_tsub_cancel_of_le h, add_comm c, ← add_assoc, hc.add_tsub_cancel_right]
Theorem: CategoryTheory.unit_obj_eq_map_unit
File: Mathlib/CategoryTheory/Adjunction/Reflective.lean

Proof steps:
state_before: C : Type u₁
D : Type u₂
E : Type u₃
inst✝³ : Category.{v₁, u₁} C
inst✝² : Category.{v₂, u₂} D
inst✝¹ : Category.{v₃, u₃} E
i : D ⥤ C
inst✝ : Reflective i
X : C
⊢ (reflectorAdjunction i).unit.app (i.obj ((reflector i).obj X)) =
    i.map ((reflector i).map ((reflectorAdjunction i).unit.app X))
state_after: C : Type u₁
D : Type u₂
E : Type u₃
inst✝³ : Category.{v₁, u₁} C
inst✝² : Category.{v₂, u₂} D
inst✝¹ : Category.{v₃, u₃} E
i : D ⥤ C
inst✝ : Reflective i
X : C
⊢ (reflectorAdjunction i).unit.app (i.obj ((reflector i).obj X)) ≫
      i.map ((reflectorAdjunction i).counit.app ((reflector i).obj X)) =
    i.map
      ((reflector i).map ((reflectorAdjunction i).unit.app X) ≫
        (reflectorAdjunction i).counit.app ((reflector i).obj X))
tactic: rw [← cancel_mono (i.map ((reflectorAdjunction i).counit.app ((reflector i).obj X))),
    ← i.map_comp]
state_before: C : Type u₁
D : Type u₂
E : Type u₃
inst✝³ : Category.{v₁, u₁} C
inst✝² : Category.{v₂, u₂} D
inst✝¹ : Category.{v₃, u₃} E
i : D ⥤ C
inst✝ : Reflective i
X : C
⊢ (reflectorAdjunction i).unit.app (i.obj ((reflector i).obj X)) ≫
      i.map ((reflectorAdjunction i).counit.app ((reflector i).obj X)) =
    i.map
      ((reflector i).map ((reflectorAdjunction i).unit.app X) ≫
        (reflectorAdjunction i).counit.app ((reflector i).obj X))
state_after: no goals
tactic: simp
Theorem: SzemerediRegularity.card_le_m_add_one_of_mem_chunk_parts
File: Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean

Proof steps:
state_before: α : Type u_1
inst✝² : Fintype α
inst✝¹ : DecidableEq α
P : Finpartition univ
hP : P.IsEquipartition
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
U : Finset α
hU : U ∈ P.parts
V : Finset α
𝒜 : Finset (Finset α)
s : Finset α
hs : s ∈ (chunk hP G ε hU).parts
i : s.card = m
⊢ s.card ≤ m + 1
state_after: no goals
tactic: simp [i]
Theorem: Int.modEq_add_fac
File: Mathlib/Data/Int/ModEq.lean

Proof steps:
state_before: m n✝ a✝ b✝ c✝ d a b n c : ℤ
ha : a ≡ b [ZMOD n]
⊢ b + 0 ≡ b [ZMOD n]
state_after: no goals
tactic: rw [add_zero]
Theorem: Set.image_subtype_val_Icc
File: Mathlib/Order/Interval/Set/OrdConnected.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝² : Preorder α
inst✝¹ : Preorder β
s✝ t s : Set α
inst✝ : s.OrdConnected
x y : ↑s
⊢ (range ⇑(OrderEmbedding.subtype fun x => x ∈ s)).OrdConnected
state_after: no goals
tactic: simpa
Theorem: Finset.powerset_union
File: Mathlib/Data/Finset/Sups.lean

Proof steps:
state_before: F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
𝒜 ℬ : Finset (Finset α)
s✝ t✝ : Finset α
a : α
s t : Finset α
⊢ (s ∪ t).powerset = s.powerset ⊻ t.powerset
state_after: case a
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
𝒜 ℬ : Finset (Finset α)
s✝ t✝ : Finset α
a : α
s t u : Finset α
⊢ u ∈ (s ∪ t).powerset ↔ u ∈ s.powerset ⊻ t.powerset
tactic: ext u
state_before: case a
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
𝒜 ℬ : Finset (Finset α)
s✝ t✝ : Finset α
a : α
s t u : Finset α
⊢ u ∈ (s ∪ t).powerset ↔ u ∈ s.powerset ⊻ t.powerset
state_after: case a
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
𝒜 ℬ : Finset (Finset α)
s✝ t✝ : Finset α
a : α
s t u : Finset α
⊢ u ⊆ s ∪ t ↔ ∃ a ⊆ s, ∃ b ⊆ t, a ∪ b = u
tactic: simp only [mem_sups, mem_powerset, le_eq_subset, sup_eq_union]
state_before: case a
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
𝒜 ℬ : Finset (Finset α)
s✝ t✝ : Finset α
a : α
s t u : Finset α
⊢ u ⊆ s ∪ t ↔ ∃ a ⊆ s, ∃ b ⊆ t, a ∪ b = u
state_after: case a.refine_1
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
𝒜 ℬ : Finset (Finset α)
s✝ t✝ : Finset α
a : α
s t u : Finset α
h : u ⊆ s ∪ t
⊢ s ∩ u ∪ t ∩ u = u

case a.refine_2
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
𝒜 ℬ : Finset (Finset α)
s✝ t✝ : Finset α
a : α
s t u : Finset α
⊢ (∃ a ⊆ s, ∃ b ⊆ t, a ∪ b = u) → u ⊆ s ∪ t
tactic: refine ⟨fun h ↦ ⟨_, inter_subset_left (s₂ := u), _, inter_subset_left (s₂ := u), ?_⟩, ?_⟩
Theorem: Batteries.AssocList.length_mapKey
File: .lake/packages/batteries/Batteries/Data/AssocList.lean

Proof steps:
state_before: α✝¹ : Type u_1
α✝ : Type u_2
f : α✝¹ → α✝
β✝ : Type u_3
l : AssocList α✝¹ β✝
⊢ (mapKey f l).length = l.length
state_after: no goals
tactic: induction l <;> simp_all
Theorem: Convex.translate_preimage_right
File: Mathlib/Analysis/Convex/Basic.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
β : Type u_4
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s : Set E
x : E
hs : Convex 𝕜 s
z : E
⊢ Convex 𝕜 ((fun x => z + x) ⁻¹' s)
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
β : Type u_4
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s : Set E
x✝ : E
hs : Convex 𝕜 s
z x : E
hx : x ∈ (fun x => z + x) ⁻¹' s
y : E
hy : y ∈ (fun x => z + x) ⁻¹' s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ a • x + b • y ∈ (fun x => z + x) ⁻¹' s
tactic: intro x hx y hy a b ha hb hab
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
β : Type u_4
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s : Set E
x✝ : E
hs : Convex 𝕜 s
z x : E
hx : x ∈ (fun x => z + x) ⁻¹' s
y : E
hy : y ∈ (fun x => z + x) ⁻¹' s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ a • x + b • y ∈ (fun x => z + x) ⁻¹' s
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
β : Type u_4
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s : Set E
x✝ : E
hs : Convex 𝕜 s
z x : E
hx : x ∈ (fun x => z + x) ⁻¹' s
y : E
hy : y ∈ (fun x => z + x) ⁻¹' s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
h : a • (fun x => z + x) x + b • (fun x => z + x) y ∈ s
⊢ a • x + b • y ∈ (fun x => z + x) ⁻¹' s
tactic: have h := hs hx hy ha hb hab
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
β : Type u_4
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s : Set E
x✝ : E
hs : Convex 𝕜 s
z x : E
hx : x ∈ (fun x => z + x) ⁻¹' s
y : E
hy : y ∈ (fun x => z + x) ⁻¹' s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
h : a • (fun x => z + x) x + b • (fun x => z + x) y ∈ s
⊢ a • x + b • y ∈ (fun x => z + x) ⁻¹' s
state_after: no goals
tactic: rwa [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul] at h
Theorem: Module.Flat.iff_lTensor_preserves_injective_linearMap
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' : Type v⦄ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : Module R N] [inst_3 : Module R N']
      (L : N →ₗ[R] N'), Function.Injective ⇑L → Function.Injective ⇑(lTensor M L)
state_after: no goals
tactic: simp_rw [iff_rTensor_preserves_injective_linearMap, LinearMap.lTensor_inj_iff_rTensor_inj]
Theorem: Sylow.exists_subgroup_card_pow_prime_le
File: Mathlib/GroupTheory/Sylow.lean

Proof steps:
state_before: G : Type u
α : Type v
β : Type w
inst✝¹ : Group G
inst✝ : Finite G
p : ℕ
_hp✝ : Fact (Nat.Prime p)
n m : ℕ
hdvd : p ^ m ∣ Nat.card G
H : Subgroup G
hH : Nat.card ↥H = p ^ n
hnm✝ : n ≤ m
hnm : n < m
h0m : 0 < m
_wf : m - 1 < m
hnm1 : n ≤ m - 1
K : Subgroup G
hK : Nat.card ↥K = p ^ (m - 1) ∧ H ≤ K
⊢ p ^ (m - 1 + 1) ∣ Nat.card G
state_after: no goals
tactic: rwa [tsub_add_cancel_of_le h0m.nat_succ_le]
state_before: G : Type u
α : Type v
β : Type w
inst✝¹ : Group G
inst✝ : Finite G
p : ℕ
_hp✝ : Fact (Nat.Prime p)
n m : ℕ
hdvd : p ^ m ∣ Nat.card G
H : Subgroup G
hH : Nat.card ↥H = p ^ n
hnm✝ : n ≤ m
hnm : n < m
h0m : 0 < m
_wf : m - 1 < m
hnm1 : n ≤ m - 1
K : Subgroup G
hK : Nat.card ↥K = p ^ (m - 1) ∧ H ≤ K
hdvd' : p ^ (m - 1 + 1) ∣ Nat.card G
K' : Subgroup G
hK' : Nat.card ↥K' = p ^ (m - 1 + 1) ∧ K ≤ K'
⊢ Nat.card ↥K' = p ^ m
state_after: no goals
tactic: rw [hK'.1, tsub_add_cancel_of_le h0m.nat_succ_le]
state_before: G : Type u
α : Type v
β : Type w
inst✝¹ : Group G
inst✝ : Finite G
p : ℕ
_hp✝ : Fact (Nat.Prime p)
n m : ℕ
hdvd : p ^ m ∣ Nat.card G
H : Subgroup G
hH : Nat.card ↥H = p ^ n
hnm✝ : n ≤ m
hnm : n = m
⊢ Nat.card ↥H = p ^ m ∧ H ≤ H
state_after: no goals
tactic: simp [hH, hnm]
Theorem: IsSemiringHom.comp
File: Mathlib/Deprecated/Ring.lean

Proof steps:
state_before: α : Type u
β : Type v
inst✝² : Semiring α
inst✝¹ : Semiring β
f : α → β
hf✝ : IsSemiringHom f
x y : α
hf : IsSemiringHom f
γ : Type u_1
inst✝ : Semiring γ
g : β → γ
hg : IsSemiringHom g
⊢ (g ∘ f) 0 = 0
state_after: no goals
tactic: simpa [map_zero hf] using map_zero hg
state_before: α : Type u
β : Type v
inst✝² : Semiring α
inst✝¹ : Semiring β
f : α → β
hf✝ : IsSemiringHom f
x y : α
hf : IsSemiringHom f
γ : Type u_1
inst✝ : Semiring γ
g : β → γ
hg : IsSemiringHom g
⊢ (g ∘ f) 1 = 1
state_after: no goals
tactic: simpa [map_one hf] using map_one hg
state_before: α : Type u
β : Type v
inst✝² : Semiring α
inst✝¹ : Semiring β
f : α → β
hf✝ : IsSemiringHom f
x✝ y✝ : α
hf : IsSemiringHom f
γ : Type u_1
inst✝ : Semiring γ
g : β → γ
hg : IsSemiringHom g
x y : α
⊢ (g ∘ f) (x + y) = (g ∘ f) x + (g ∘ f) y
state_after: no goals
tactic: simp [map_add hf, map_add hg]
state_before: α : Type u
β : Type v
inst✝² : Semiring α
inst✝¹ : Semiring β
f : α → β
hf✝ : IsSemiringHom f
x✝ y✝ : α
hf : IsSemiringHom f
γ : Type u_1
inst✝ : Semiring γ
g : β → γ
hg : IsSemiringHom g
x y : α
⊢ (g ∘ f) (x * y) = (g ∘ f) x * (g ∘ f) y
state_after: no goals
tactic: simp [map_mul hf, map_mul hg]
Theorem: Module.End.genEigenspace_restrict
File: Mathlib/LinearAlgebra/Eigenspace/Basic.lean

Proof steps:
state_before: K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
p : Submodule R M
k : ℕ
μ : R
hfp : ∀ x ∈ p, f x ∈ p
⊢ (genEigenspace (LinearMap.restrict f hfp) μ) k = Submodule.comap p.subtype ((f.genEigenspace μ) k)
state_after: K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
p : Submodule R M
k : ℕ
μ : R
hfp : ∀ x ∈ p, f x ∈ p
⊢ LinearMap.ker ((LinearMap.restrict f hfp - (algebraMap R (End R ↥p)) μ) ^ k) =
    LinearMap.ker (((f - (algebraMap R (End R M)) μ) ^ k) ∘ₗ p.subtype)
tactic: simp only [genEigenspace, OrderHom.coe_mk, ← LinearMap.ker_comp]
state_before: K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
p : Submodule R M
k : ℕ
μ : R
hfp : ∀ x ∈ p, f x ∈ p
⊢ LinearMap.ker ((LinearMap.restrict f hfp - (algebraMap R (End R ↥p)) μ) ^ k) =
    LinearMap.ker (((f - (algebraMap R (End R M)) μ) ^ k) ∘ₗ p.subtype)
state_after: case zero
K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
p : Submodule R M
μ : R
hfp : ∀ x ∈ p, f x ∈ p
⊢ LinearMap.ker ((LinearMap.restrict f hfp - (algebraMap R (End R ↥p)) μ) ^ 0) =
    LinearMap.ker (((f - (algebraMap R (End R M)) μ) ^ 0) ∘ₗ p.subtype)

case succ
K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
p : Submodule R M
μ : R
hfp : ∀ x ∈ p, f x ∈ p
k : ℕ
ih :
  LinearMap.ker ((LinearMap.restrict f hfp - (algebraMap R (End R ↥p)) μ) ^ k) =
    LinearMap.ker (((f - (algebraMap R (End R M)) μ) ^ k) ∘ₗ p.subtype)
⊢ LinearMap.ker ((LinearMap.restrict f hfp - (algebraMap R (End R ↥p)) μ) ^ (k + 1)) =
    LinearMap.ker (((f - (algebraMap R (End R M)) μ) ^ (k + 1)) ∘ₗ p.subtype)
tactic: induction' k with k ih
Theorem: Filter.lift'_neBot_iff
File: Mathlib/Order/Filter/Lift.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
f f₁ f₂ : Filter α
h h₁ h₂ : Set α → Set β
hh : Monotone h
⊢ (∀ s ∈ f, (𝓟 (h s)).NeBot) ↔ ∀ s ∈ f, (h s).Nonempty
state_after: no goals
tactic: simp only [principal_neBot_iff]
Theorem: IsRightRegular.pow
File: Mathlib/Algebra/Regular/Pow.lean

Proof steps:
state_before: R : Type u_1
a b : R
inst✝ : Monoid R
n : ℕ
rra : IsRightRegular a
⊢ IsRightRegular (a ^ n)
state_after: R : Type u_1
a b : R
inst✝ : Monoid R
n : ℕ
rra : IsRightRegular a
⊢ Function.Injective (fun x => x * a)^[n]
tactic: rw [IsRightRegular, ← mul_right_iterate]
state_before: R : Type u_1
a b : R
inst✝ : Monoid R
n : ℕ
rra : IsRightRegular a
⊢ Function.Injective (fun x => x * a)^[n]
state_after: no goals
tactic: exact rra.iterate n
Theorem: PartialHomeomorph.eventually_nhdsWithin'
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
x : X
p : X → Prop
s : Set X
hx : x ∈ e.source
⊢ (∀ᶠ (y : Y) in 𝓝[↑e.symm ⁻¹' s] ↑e x, p (↑e.symm y)) ↔ ∀ᶠ (x : X) in 𝓝[s] x, p x
state_after: 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
x : X
p : X → Prop
s : Set X
hx : x ∈ e.source
⊢ (∀ᶠ (x : X) in 𝓝[s] x, p (↑e.symm (↑e x))) ↔ ∀ᶠ (x : X) in 𝓝[s] x, p x
tactic: rw [e.eventually_nhdsWithin _ hx]
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
x : X
p : X → Prop
s : Set X
hx : x ∈ e.source
⊢ (∀ᶠ (x : X) in 𝓝[s] x, p (↑e.symm (↑e x))) ↔ ∀ᶠ (x : X) in 𝓝[s] x, p x
state_after: 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
x : X
p : X → Prop
s : Set X
hx : x ∈ e.source
y : X
hy : ↑e.symm (↑e y) = y
⊢ p (↑e.symm (↑e y)) ↔ p y
tactic: refine eventually_congr <|
    (eventually_nhdsWithin_of_eventually_nhds <| e.eventually_left_inverse hx).mono fun y hy => ?_
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
x : X
p : X → Prop
s : Set X
hx : x ∈ e.source
y : X
hy : ↑e.symm (↑e y) = y
⊢ p (↑e.symm (↑e y)) ↔ p y
state_after: no goals
tactic: rw [hy]
Theorem: re_inner_eq_norm_mul_self_add_norm_mul_self_sub_norm_sub_mul_self_div_two
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 : E
⊢ re ⟪x, y⟫_𝕜 = (‖x‖ * ‖x‖ + ‖y‖ * ‖y‖ - ‖x - y‖ * ‖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 : E
⊢ re ⟪x, y⟫_𝕜 = (‖x‖ * ‖x‖ + ‖y‖ * ‖y‖ - (‖x‖ * ‖x‖ - 2 * re ⟪x, y⟫_𝕜 + ‖y‖ * ‖y‖)) / 2
tactic: rw [@norm_sub_mul_self 𝕜]
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 : E
⊢ re ⟪x, y⟫_𝕜 = (‖x‖ * ‖x‖ + ‖y‖ * ‖y‖ - (‖x‖ * ‖x‖ - 2 * re ⟪x, y⟫_𝕜 + ‖y‖ * ‖y‖)) / 2
state_after: no goals
tactic: ring
Theorem: MeasureTheory.Memℒp.norm
File: Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean

Proof steps:
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : α → E
h : Memℒp f p μ
x : α
⊢ ‖‖f x‖‖ ≤ ‖f x‖
state_after: no goals
tactic: simp
Theorem: MeasureTheory.lmarginal_union'
File: Mathlib/MeasureTheory/Integral/Marginal.lean

Proof steps:
state_before: δ : Type u_1
δ' : Type u_2
π : δ → Type u_3
inst✝² : (x : δ) → MeasurableSpace (π x)
μ : (i : δ) → Measure (π i)
inst✝¹ : ∀ (i : δ), SigmaFinite (μ i)
inst✝ : DecidableEq δ
s✝ t✝ : Finset δ
f✝ g : ((i : δ) → π i) → ℝ≥0∞
x y : (i : δ) → π i
i : δ
f : ((i : δ) → π i) → ℝ≥0∞
hf : Measurable f
s t : Finset δ
hst : Disjoint s t
⊢ ∫⋯∫⁻_s ∪ t, f ∂μ = ∫⋯∫⁻_t, ∫⋯∫⁻_s, f ∂μ ∂μ
state_after: no goals
tactic: rw [Finset.union_comm, lmarginal_union μ f hf hst.symm]