1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: CategoryTheory.Functor.comp_homologySequenceδ
File: Mathlib/CategoryTheory/Triangulated/HomologicalFunctor.lean

tactic: dsimp only [homologySequenceδ]
state_before: C : Type u_1
D : Type u_2
A : Type u_3
inst✝¹⁶ : Category.{u_5, u_1} C
inst✝¹⁵ : HasZeroObject C
inst✝¹⁴ : HasShift C ℤ
inst✝¹³ : Preadditive C
inst✝¹² : ∀ (n : ℤ), (shiftFunctor C n).Additive
inst✝¹¹ : Pretriangulated C
inst✝¹⁰ : Category.{?u.45685, u_2} D
inst✝⁹ : HasZeroObject D
inst✝⁸ : HasShift D ℤ
inst✝⁷ : Preadditive D
inst✝⁶ : ∀ (n : ℤ), (shiftFunctor D n).Additive
inst✝⁵ : Pretriangulated D
inst✝⁴ : Category.{u_4, u_3} A
inst✝³ : Abelian A
F : C ⥤ A
inst✝² inst✝¹ : F.IsHomological
inst✝ : F.ShiftSequence ℤ
T T' : Triangle C
hT : T ∈ distinguishedTriangles
hT' : T' ∈ distinguishedTriangles
φ : T ⟶ T'
n₀ n₁ : ℤ
h : n₀ + 1 = n₁
⊢ (F.shift n₀).map T.mor₂ ≫ F.homologySequenceδ T n₀ n₁ h = 0
state_after: C : Type u_1
D : Type u_2
A : Type u_3
inst✝¹⁶ : Category.{u_5, u_1} C
inst✝¹⁵ : HasZeroObject C
inst✝¹⁴ : HasShift C ℤ
inst✝¹³ : Preadditive C
inst✝¹² : ∀ (n : ℤ), (shiftFunctor C n).Additive
inst✝¹¹ : Pretriangulated C
inst✝¹⁰ : Category.{?u.45685, u_2} D
inst✝⁹ : HasZeroObject D
inst✝⁸ : HasShift D ℤ
inst✝⁷ : Preadditive D
inst✝⁶ : ∀ (n : ℤ), (shiftFunctor D n).Additive
inst✝⁵ : Pretriangulated D
inst✝⁴ : Category.{u_4, u_3} A
inst✝³ : Abelian A
F : C ⥤ A
inst✝² inst✝¹ : F.IsHomological
inst✝ : F.ShiftSequence ℤ
T T' : Triangle C
hT : T ∈ distinguishedTriangles
hT' : T' ∈ distinguishedTriangles
φ : T ⟶ T'
n₀ n₁ : ℤ
h : n₀ + 1 = n₁
⊢ (F.shift n₀).map T.mor₂ ≫ F.shiftMap T.mor₃ n₀ n₁ ⋯ = 0

tactic: rw [← F.shiftMap_comp', comp_distTriang_mor_zero₂₃ _ hT, shiftMap_zero]
state_before: C : Type u_1
D : Type u_2
A : Type u_3
inst✝¹⁶ : Category.{u_5, u_1} C
inst✝¹⁵ : HasZeroObject C
inst✝¹⁴ : HasShift C ℤ
inst✝¹³ : Preadditive C
inst✝¹² : ∀ (n : ℤ), (shiftFunctor C n).Additive
inst✝¹¹ : Pretriangulated C
inst✝¹⁰ : Category.{?u.45685, u_2} D
inst✝⁹ : HasZeroObject D
inst✝⁸ : HasShift D ℤ
inst✝⁷ : Preadditive D
inst✝⁶ : ∀ (n : ℤ), (shiftFunctor D n).Additive
inst✝⁵ : Pretriangulated D
inst✝⁴ : Category.{u_4, u_3} A
inst✝³ : Abelian A
F : C ⥤ A
inst✝² inst✝¹ : F.IsHomological
inst✝ : F.ShiftSequence ℤ
T T' : Triangle C
hT : T ∈ distinguishedTriangles
hT' : T' ∈ distinguishedTriangles
φ : T ⟶ T'
n₀ n₁ : ℤ
h : n₀ + 1 = n₁
⊢ (F.shift n₀).map T.mor₂ ≫ F.shiftMap T.mor₃ n₀ n₁ ⋯ = 0
state_after: no goals
Theorem: Set.IsWF.min_union
File: Mathlib/Order/WellFoundedSet.lean

tactic: refine le_antisymm (le_min (IsWF.min_le_min_of_subset subset_union_left)
  (IsWF.min_le_min_of_subset subset_union_right)) ?_
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
π : ι → Type u_5
inst✝ : LinearOrder α
s t : Set α
a : α
hs : s.IsWF
hsn : s.Nonempty
ht : t.IsWF
htn : t.Nonempty
⊢ ⋯.min ⋯ = Min.min (hs.min hsn) (ht.min htn)
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
π : ι → Type u_5
inst✝ : LinearOrder α
s t : Set α
a : α
hs : s.IsWF
hsn : s.Nonempty
ht : t.IsWF
htn : t.Nonempty
⊢ Min.min (hs.min hsn) (ht.min htn) ≤ ⋯.min ⋯

tactic: rw [min_le_iff]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
π : ι → Type u_5
inst✝ : LinearOrder α
s t : Set α
a : α
hs : s.IsWF
hsn : s.Nonempty
ht : t.IsWF
htn : t.Nonempty
⊢ Min.min (hs.min hsn) (ht.min htn) ≤ ⋯.min ⋯
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
π : ι → Type u_5
inst✝ : LinearOrder α
s t : Set α
a : α
hs : s.IsWF
hsn : s.Nonempty
ht : t.IsWF
htn : t.Nonempty
⊢ hs.min hsn ≤ ⋯.min ⋯ ∨ ht.min htn ≤ ⋯.min ⋯

tactic: exact ((mem_union _ _ _).1 ((hs.union ht).min_mem (union_nonempty.2 (.inl hsn)))).imp
  (hs.min_le _) (ht.min_le _)
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
π : ι → Type u_5
inst✝ : LinearOrder α
s t : Set α
a : α
hs : s.IsWF
hsn : s.Nonempty
ht : t.IsWF
htn : t.Nonempty
⊢ hs.min hsn ≤ ⋯.min ⋯ ∨ ht.min htn ≤ ⋯.min ⋯
state_after: no goals
Theorem: PFun.mem_core_res
File: Mathlib/Data/PFun.lean

tactic: simp [mem_core, mem_res]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ι : Type u_6
f✝ : α →. β
f : α → β
s : Set α
t : Set β
x : α
⊢ x ∈ (res f s).core t ↔ x ∈ s → f x ∈ t
state_after: no goals
Theorem: Finset.prod_eq_zero_iff
File: Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean

tactic: induction' s using Finset.induction_on with a s ha ih
state_before: ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
inst✝³ : CommMonoidWithZero M₀
p : ι → Prop
inst✝² : DecidablePred p
f : ι → M₀
s : Finset ι
i : ι
inst✝¹ : Nontrivial M₀
inst✝ : NoZeroDivisors M₀
⊢ ∏ x ∈ s, f x = 0 ↔ ∃ a ∈ s, f a = 0
state_after: case empty
ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
inst✝³ : CommMonoidWithZero M₀
p : ι → Prop
inst✝² : DecidablePred p
f : ι → M₀
s : Finset ι
i : ι
inst✝¹ : Nontrivial M₀
inst✝ : NoZeroDivisors M₀
⊢ ∏ x ∈ ∅, f x = 0 ↔ ∃ a ∈ ∅, f a = 0

case insert
ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
inst✝³ : CommMonoidWithZero M₀
p : ι → Prop
inst✝² : DecidablePred p
f : ι → M₀
s✝ : Finset ι
i : ι
inst✝¹ : Nontrivial M₀
inst✝ : NoZeroDivisors M₀
a : ι
s : Finset ι
ha : a ∉ s
ih : ∏ x ∈ s, f x = 0 ↔ ∃ a ∈ s, f a = 0
⊢ ∏ x ∈ insert a s, f x = 0 ↔ ∃ a_1 ∈ insert a s, f a_1 = 0

tactic: exact ⟨Not.elim one_ne_zero, fun ⟨_, H, _⟩ => by simp at H⟩
state_before: case empty
ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
inst✝³ : CommMonoidWithZero M₀
p : ι → Prop
inst✝² : DecidablePred p
f : ι → M₀
s : Finset ι
i : ι
inst✝¹ : Nontrivial M₀
inst✝ : NoZeroDivisors M₀
⊢ ∏ x ∈ ∅, f x = 0 ↔ ∃ a ∈ ∅, f a = 0
state_after: no goals

tactic: simp at H
state_before: ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
inst✝³ : CommMonoidWithZero M₀
p : ι → Prop
inst✝² : DecidablePred p
f : ι → M₀
s : Finset ι
i : ι
inst✝¹ : Nontrivial M₀
inst✝ : NoZeroDivisors M₀
x✝ : ∃ a ∈ ∅, f a = 0
w✝ : ι
H : w✝ ∈ ∅
right✝ : f w✝ = 0
⊢ ∏ x ∈ ∅, f x = 0
state_after: no goals

tactic: rw [prod_insert ha, mul_eq_zero, exists_mem_insert, ih]
state_before: case insert
ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
inst✝³ : CommMonoidWithZero M₀
p : ι → Prop
inst✝² : DecidablePred p
f : ι → M₀
s✝ : Finset ι
i : ι
inst✝¹ : Nontrivial M₀
inst✝ : NoZeroDivisors M₀
a : ι
s : Finset ι
ha : a ∉ s
ih : ∏ x ∈ s, f x = 0 ↔ ∃ a ∈ s, f a = 0
⊢ ∏ x ∈ insert a s, f x = 0 ↔ ∃ a_1 ∈ insert a s, f a_1 = 0
state_after: no goals
Theorem: IsCompact.smul_set
File: Mathlib/Topology/Algebra/MulAction.lean

tactic: rw [← Set.image_smul_prod]
state_before: M : Type u_1
X : Type u_2
Y : Type u_3
α : Type u_4
inst✝⁴ : TopologicalSpace M
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : SMul M X
inst✝ : ContinuousSMul M X
f : Y → M
g : Y → X
b : Y
s : Set Y
k : Set M
u : Set X
hk : IsCompact k
hu : IsCompact u
⊢ IsCompact (k • u)
state_after: M : Type u_1
X : Type u_2
Y : Type u_3
α : Type u_4
inst✝⁴ : TopologicalSpace M
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : SMul M X
inst✝ : ContinuousSMul M X
f : Y → M
g : Y → X
b : Y
s : Set Y
k : Set M
u : Set X
hk : IsCompact k
hu : IsCompact u
⊢ IsCompact ((fun x => x.1 • x.2) '' k ×ˢ u)

tactic: exact IsCompact.image (hk.prod hu) continuous_smul
state_before: M : Type u_1
X : Type u_2
Y : Type u_3
α : Type u_4
inst✝⁴ : TopologicalSpace M
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : SMul M X
inst✝ : ContinuousSMul M X
f : Y → M
g : Y → X
b : Y
s : Set Y
k : Set M
u : Set X
hk : IsCompact k
hu : IsCompact u
⊢ IsCompact ((fun x => x.1 • x.2) '' k ×ˢ u)
state_after: no goals
Theorem: add_div'
File: Mathlib/Algebra/Field/Basic.lean

tactic: rw [add_div, mul_div_cancel_right₀ _ hc]
state_before: α : Type u_1
β : Type u_2
K : Type u_3
inst✝ : DivisionSemiring α
a✝ b✝ c✝ d a b c : α
hc : c ≠ 0
⊢ b + a / c = (b * c + a) / c
state_after: no goals
Theorem: PiTensorProduct.lift_comp_reindex
File: Mathlib/LinearAlgebra/PiTensorProduct.lean

tactic: ext
state_before: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝⁷ : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type u_9
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type u_10
inst✝ : AddCommMonoid F
e : ι ≃ ι₂
φ : MultilinearMap R (fun i => s (e.symm i)) E
⊢ lift φ ∘ₗ ↑(reindex R s e) = lift ((domDomCongrLinearEquiv' R R s E e).symm φ)
state_after: case H.H
ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝⁷ : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type u_9
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type u_10
inst✝ : AddCommMonoid F
e : ι ≃ ι₂
φ : MultilinearMap R (fun i => s (e.symm i)) E
x✝ : (i : ι) → s i
⊢ ((lift φ ∘ₗ ↑(reindex R s e)).compMultilinearMap (tprod R)) x✝ =
    ((lift ((domDomCongrLinearEquiv' R R s E e).symm φ)).compMultilinearMap (tprod R)) x✝

tactic: simp [reindex]
state_before: case H.H
ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝⁷ : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type u_9
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type u_10
inst✝ : AddCommMonoid F
e : ι ≃ ι₂
φ : MultilinearMap R (fun i => s (e.symm i)) E
x✝ : (i : ι) → s i
⊢ ((lift φ ∘ₗ ↑(reindex R s e)).compMultilinearMap (tprod R)) x✝ =
    ((lift ((domDomCongrLinearEquiv' R R s E e).symm φ)).compMultilinearMap (tprod R)) x✝
state_after: no goals
Theorem: Matrix.dotProduct_single
File: Mathlib/Data/Matrix/Basic.lean

tactic: have : ∀ j ≠ i, v j * Pi.single (f := fun _ => α) i x j = 0 := fun j hij => by
  simp [Pi.single_eq_of_ne hij]
state_before: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝³ : Fintype m
inst✝² : Fintype n
inst✝¹ : DecidableEq m
inst✝ : NonUnitalNonAssocSemiring α
u v w : m → α
x : α
i : m
⊢ v ⬝ᵥ Pi.single i x = v i * x
state_after: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝³ : Fintype m
inst✝² : Fintype n
inst✝¹ : DecidableEq m
inst✝ : NonUnitalNonAssocSemiring α
u v w : m → α
x : α
i : m
this : ∀ (j : m), j ≠ i → v j * Pi.single i x j = 0
⊢ v ⬝ᵥ Pi.single i x = v i * x

tactic: convert Finset.sum_eq_single i (fun j _ => this j) _ using 1 <;> simp
state_before: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝³ : Fintype m
inst✝² : Fintype n
inst✝¹ : DecidableEq m
inst✝ : NonUnitalNonAssocSemiring α
u v w : m → α
x : α
i : m
this : ∀ (j : m), j ≠ i → v j * Pi.single i x j = 0
⊢ v ⬝ᵥ Pi.single i x = v i * x
state_after: no goals

tactic: simp [Pi.single_eq_of_ne hij]
state_before: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝³ : Fintype m
inst✝² : Fintype n
inst✝¹ : DecidableEq m
inst✝ : NonUnitalNonAssocSemiring α
u v w : m → α
x : α
i j : m
hij : j ≠ i
⊢ v j * Pi.single i x j = 0
state_after: no goals
Theorem: IsPrimePow.dvd
File: Mathlib/Algebra/IsPrimePow.lean

tactic: rw [isPrimePow_nat_iff] at hn ⊢
state_before: R : Type u_1
inst✝ : CommMonoidWithZero R
n✝ p : R
k n m : ℕ
hn : IsPrimePow n
hm : m ∣ n
hm₁ : m ≠ 1
⊢ IsPrimePow m
state_after: R : Type u_1
inst✝ : CommMonoidWithZero R
n✝ p : R
k n m : ℕ
hn : ∃ p k, Nat.Prime p ∧ 0 < k ∧ p ^ k = n
hm : m ∣ n
hm₁ : m ≠ 1
⊢ ∃ p k, Nat.Prime p ∧ 0 < k ∧ p ^ k = m

tactic: rcases hn with ⟨p, k, hp, _hk, rfl⟩
state_before: R : Type u_1
inst✝ : CommMonoidWithZero R
n✝ p : R
k n m : ℕ
hn : ∃ p k, Nat.Prime p ∧ 0 < k ∧ p ^ k = n
hm : m ∣ n
hm₁ : m ≠ 1
⊢ ∃ p k, Nat.Prime p ∧ 0 < k ∧ p ^ k = m
state_after: case intro.intro.intro.intro
R : Type u_1
inst✝ : CommMonoidWithZero R
n p✝ : R
k✝ m : ℕ
hm₁ : m ≠ 1
p k : ℕ
hp : Nat.Prime p
_hk : 0 < k
hm : m ∣ p ^ k
⊢ ∃ p k, Nat.Prime p ∧ 0 < k ∧ p ^ k = m

tactic: obtain ⟨i, hik, rfl⟩ := (Nat.dvd_prime_pow hp).1 hm
state_before: case intro.intro.intro.intro
R : Type u_1
inst✝ : CommMonoidWithZero R
n p✝ : R
k✝ m : ℕ
hm₁ : m ≠ 1
p k : ℕ
hp : Nat.Prime p
_hk : 0 < k
hm : m ∣ p ^ k
⊢ ∃ p k, Nat.Prime p ∧ 0 < k ∧ p ^ k = m
state_after: case intro.intro.intro.intro.intro.intro
R : Type u_1
inst✝ : CommMonoidWithZero R
n p✝ : R
k✝ p k : ℕ
hp : Nat.Prime p
_hk : 0 < k
i : ℕ
hik : i ≤ k
hm₁ : p ^ i ≠ 1
hm : p ^ i ∣ p ^ k
⊢ ∃ p_1 k, Nat.Prime p_1 ∧ 0 < k ∧ p_1 ^ k = p ^ i

tactic: refine ⟨p, i, hp, ?_, rfl⟩
state_before: case intro.intro.intro.intro.intro.intro
R : Type u_1
inst✝ : CommMonoidWithZero R
n p✝ : R
k✝ p k : ℕ
hp : Nat.Prime p
_hk : 0 < k
i : ℕ
hik : i ≤ k
hm₁ : p ^ i ≠ 1
hm : p ^ i ∣ p ^ k
⊢ ∃ p_1 k, Nat.Prime p_1 ∧ 0 < k ∧ p_1 ^ k = p ^ i
state_after: case intro.intro.intro.intro.intro.intro
R : Type u_1
inst✝ : CommMonoidWithZero R
n p✝ : R
k✝ p k : ℕ
hp : Nat.Prime p
_hk : 0 < k
i : ℕ
hik : i ≤ k
hm₁ : p ^ i ≠ 1
hm : p ^ i ∣ p ^ k
⊢ 0 < i

tactic: apply Nat.pos_of_ne_zero
state_before: case intro.intro.intro.intro.intro.intro
R : Type u_1
inst✝ : CommMonoidWithZero R
n p✝ : R
k✝ p k : ℕ
hp : Nat.Prime p
_hk : 0 < k
i : ℕ
hik : i ≤ k
hm₁ : p ^ i ≠ 1
hm : p ^ i ∣ p ^ k
⊢ 0 < i
state_after: case intro.intro.intro.intro.intro.intro.a
R : Type u_1
inst✝ : CommMonoidWithZero R
n p✝ : R
k✝ p k : ℕ
hp : Nat.Prime p
_hk : 0 < k
i : ℕ
hik : i ≤ k
hm₁ : p ^ i ≠ 1
hm : p ^ i ∣ p ^ k
⊢ i ≠ 0

tactic: rintro rfl
state_before: case intro.intro.intro.intro.intro.intro.a
R : Type u_1
inst✝ : CommMonoidWithZero R
n p✝ : R
k✝ p k : ℕ
hp : Nat.Prime p
_hk : 0 < k
i : ℕ
hik : i ≤ k
hm₁ : p ^ i ≠ 1
hm : p ^ i ∣ p ^ k
⊢ i ≠ 0
state_after: case intro.intro.intro.intro.intro.intro.a
R : Type u_1
inst✝ : CommMonoidWithZero R
n p✝ : R
k✝ p k : ℕ
hp : Nat.Prime p
_hk : 0 < k
hik : 0 ≤ k
hm₁ : p ^ 0 ≠ 1
hm : p ^ 0 ∣ p ^ k
⊢ False

tactic: simp only [pow_zero, ne_eq, not_true_eq_false] at hm₁
state_before: case intro.intro.intro.intro.intro.intro.a
R : Type u_1
inst✝ : CommMonoidWithZero R
n p✝ : R
k✝ p k : ℕ
hp : Nat.Prime p
_hk : 0 < k
hik : 0 ≤ k
hm₁ : p ^ 0 ≠ 1
hm : p ^ 0 ∣ p ^ k
⊢ False
state_after: no goals
Theorem: Polynomial.natDegree_bit1
File: Mathlib/Algebra/Polynomial/Degree/Lemmas.lean

tactic: simp [natDegree_bit0]
state_before: R : Type u
S : Type v
ι : Type w
a✝ b : R
m n : ℕ
inst✝ : Semiring R
p q r a : R[X]
⊢ max (bit0 a).natDegree (natDegree 1) ≤ a.natDegree
state_after: no goals
Theorem: Commute.one_div_add_one_div
File: Mathlib/Algebra/Field/Basic.lean

tactic: rw [(Commute.one_right a).div_add_div hab ha hb, one_mul, mul_one, add_comm]
state_before: α : Type u_1
β : Type u_2
K : Type u_3
inst✝ : DivisionSemiring α
a b c d : α
hab : Commute a b
ha : a ≠ 0
hb : b ≠ 0
⊢ 1 / a + 1 / b = (a + b) / (a * b)
state_after: no goals
Theorem: Polynomial.degree_add_degree_leadingCoeff_inv
File: Mathlib/Algebra/Polynomial/Degree/Lemmas.lean

tactic: rw [← degree_mul, degree_mul_leadingCoeff_self_inv]
state_before: R : Type u
S : Type v
ι : Type w
a b : R
m n : ℕ
K : Type u_1
inst✝ : DivisionRing K
p : K[X]
⊢ p.degree + (C p.leadingCoeff⁻¹).degree = p.degree
state_after: no goals
Theorem: RatFunc.liftMonoidWithZeroHom_apply
File: Mathlib/FieldTheory/RatFunc/Basic.lean

tactic: rw [← num_div_denom f, liftMonoidWithZeroHom_apply_div, num_div_denom]
state_before: K : Type u
inst✝¹ : Field K
L : Type u_1
inst✝ : CommGroupWithZero L
φ : K[X] →*₀ L
hφ : K[X]⁰ ≤ Submonoid.comap φ L⁰
f : RatFunc K
⊢ (liftMonoidWithZeroHom φ hφ) f = φ f.num / φ f.denom
state_after: no goals
Theorem: Sym2.diag_injective
File: Mathlib/Data/Sym/Sym2.lean

tactic: cases Sym2.exact h <;> rfl
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
e : Sym2 α
f : α → β
x y : α
h : diag x = diag y
⊢ x = y
state_after: no goals
Theorem: Finset.mulDysonETransform_idem
File: Mathlib/Combinatorics/Additive/ETransform.lean

tactic: ext : 1 <;> dsimp
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : CommGroup α
e : α
x : Finset α × Finset α
⊢ mulDysonETransform e (mulDysonETransform e x) = mulDysonETransform e x
state_after: case a
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : CommGroup α
e : α
x : Finset α × Finset α
⊢ x.1 ∪ e • x.2 ∪ e • (x.2 ∩ e⁻¹ • x.1) = x.1 ∪ e • x.2

case a
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : CommGroup α
e : α
x : Finset α × Finset α
⊢ x.2 ∩ e⁻¹ • x.1 ∩ e⁻¹ • (x.1 ∪ e • x.2) = x.2 ∩ e⁻¹ • x.1

tactic: rw [smul_finset_inter, smul_inv_smul, inter_comm, union_eq_left]
state_before: case a
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : CommGroup α
e : α
x : Finset α × Finset α
⊢ x.1 ∪ e • x.2 ∪ e • (x.2 ∩ e⁻¹ • x.1) = x.1 ∪ e • x.2
state_after: case a
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : CommGroup α
e : α
x : Finset α × Finset α
⊢ x.1 ∩ e • x.2 ⊆ x.1 ∪ e • x.2

tactic: exact inter_subset_union
state_before: case a
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : CommGroup α
e : α
x : Finset α × Finset α
⊢ x.1 ∩ e • x.2 ⊆ x.1 ∪ e • x.2
state_after: no goals

tactic: rw [smul_finset_union, inv_smul_smul, union_comm, inter_eq_left]
state_before: case a
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : CommGroup α
e : α
x : Finset α × Finset α
⊢ x.2 ∩ e⁻¹ • x.1 ∩ e⁻¹ • (x.1 ∪ e • x.2) = x.2 ∩ e⁻¹ • x.1
state_after: case a
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : CommGroup α
e : α
x : Finset α × Finset α
⊢ x.2 ∩ e⁻¹ • x.1 ⊆ x.2 ∪ e⁻¹ • x.1

tactic: exact inter_subset_union
state_before: case a
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : CommGroup α
e : α
x : Finset α × Finset α
⊢ x.2 ∩ e⁻¹ • x.1 ⊆ x.2 ∪ e⁻¹ • x.1
state_after: no goals
Theorem: PowerSeries.map_C
File: Mathlib/RingTheory/PowerSeries/Basic.lean

tactic: ext
state_before: R : Type u_1
inst✝² : Semiring R
S : Type u_2
T : Type u_3
inst✝¹ : Semiring S
inst✝ : Semiring T
f : R →+* S
g : S →+* T
r : R
⊢ (map f) ((C R) r) = (C S) (f r)
state_after: case h
R : Type u_1
inst✝² : Semiring R
S : Type u_2
T : Type u_3
inst✝¹ : Semiring S
inst✝ : Semiring T
f : R →+* S
g : S →+* T
r : R
n✝ : ℕ
⊢ (coeff S n✝) ((map f) ((C R) r)) = (coeff S n✝) ((C S) (f r))

tactic: simp [coeff_C, apply_ite f]
state_before: case h
R : Type u_1
inst✝² : Semiring R
S : Type u_2
T : Type u_3
inst✝¹ : Semiring S
inst✝ : Semiring T
f : R →+* S
g : S →+* T
r : R
n✝ : ℕ
⊢ (coeff S n✝) ((map f) ((C R) r)) = (coeff S n✝) ((C S) (f r))
state_after: no goals
Theorem: isFixedPt_of_tendsto_iterate
File: Mathlib/Dynamics/FixedPoints/Topology.lean

tactic: refine tendsto_nhds_unique ((tendsto_add_atTop_iff_nat 1).1 ?_) hy
state_before: α : Type u_1
inst✝¹ : TopologicalSpace α
inst✝ : T2Space α
f : α → α
x y : α
hy : Tendsto (fun n => f^[n] x) atTop (𝓝 y)
hf : ContinuousAt f y
⊢ IsFixedPt f y
state_after: α : Type u_1
inst✝¹ : TopologicalSpace α
inst✝ : T2Space α
f : α → α
x y : α
hy : Tendsto (fun n => f^[n] x) atTop (𝓝 y)
hf : ContinuousAt f y
⊢ Tendsto (fun n => f^[n + 1] x) atTop (𝓝 (f y))

tactic: simp only [iterate_succ' f]
state_before: α : Type u_1
inst✝¹ : TopologicalSpace α
inst✝ : T2Space α
f : α → α
x y : α
hy : Tendsto (fun n => f^[n] x) atTop (𝓝 y)
hf : ContinuousAt f y
⊢ Tendsto (fun n => f^[n + 1] x) atTop (𝓝 (f y))
state_after: α : Type u_1
inst✝¹ : TopologicalSpace α
inst✝ : T2Space α
f : α → α
x y : α
hy : Tendsto (fun n => f^[n] x) atTop (𝓝 y)
hf : ContinuousAt f y
⊢ Tendsto (fun n => (f ∘ f^[n]) x) atTop (𝓝 (f y))

tactic: exact hf.tendsto.comp hy
state_before: α : Type u_1
inst✝¹ : TopologicalSpace α
inst✝ : T2Space α
f : α → α
x y : α
hy : Tendsto (fun n => f^[n] x) atTop (𝓝 y)
hf : ContinuousAt f y
⊢ Tendsto (fun n => (f ∘ f^[n]) x) atTop (𝓝 (f y))
state_after: no goals
Theorem: Real.sqrt_div_self'
File: Mathlib/Data/Real/Sqrt.lean

tactic: rw [← div_sqrt, one_div_div, div_sqrt]
state_before: x✝ y✝ x y : ℝ
⊢ √x / x = 1 / √x
state_after: no goals
Theorem: ContinuousLinearMap.apply_norm_sq_eq_inner_adjoint_right
File: Mathlib/Analysis/InnerProductSpace/Adjoint.lean

tactic: have h : ⟪x, (A† ∘L A) x⟫ = ⟪A x, A x⟫ := by rw [← adjoint_inner_right]; rfl
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] F
x : E
⊢ ‖A x‖ ^ 2 = re ⟪x, ((adjoint A).comp A) x⟫_𝕜
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] F
x : E
h : ⟪x, ((adjoint A).comp A) x⟫_𝕜 = ⟪A x, A x⟫_𝕜
⊢ ‖A x‖ ^ 2 = re ⟪x, ((adjoint A).comp A) x⟫_𝕜

tactic: rw [h, ← inner_self_eq_norm_sq (𝕜 := 𝕜) _]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] F
x : E
h : ⟪x, ((adjoint A).comp A) x⟫_𝕜 = ⟪A x, A x⟫_𝕜
⊢ ‖A x‖ ^ 2 = re ⟪x, ((adjoint A).comp A) x⟫_𝕜
state_after: no goals

tactic: rw [← adjoint_inner_right]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] F
x : E
⊢ ⟪x, ((adjoint A).comp A) x⟫_𝕜 = ⟪A x, A x⟫_𝕜
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] F
x : E
⊢ ⟪x, ((adjoint A).comp A) x⟫_𝕜 = ⟪x, (adjoint A) (A x)⟫_𝕜

tactic: rfl
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] F
x : E
⊢ ⟪x, ((adjoint A).comp A) x⟫_𝕜 = ⟪x, (adjoint A) (A x)⟫_𝕜
state_after: no goals