1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Polynomial.reflect_monomial
File: Mathlib/Algebra/Polynomial/Reverse.lean

tactic: rw [← one_mul (X ^ n), ← one_mul (X ^ revAt N n), ← C_1, reflect_C_mul_X_pow]
state_before: R : Type u_1
inst✝ : Semiring R
f : R[X]
N n : ℕ
⊢ reflect N (X ^ n) = X ^ (revAt N) n
state_after: no goals
Theorem: Asymptotics.IsBigOWith.add
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

tactic: rw [IsBigOWith_def] at *
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
f₁ f₂ : α → E'
g₁ g₂ : α → F'
h₁ : IsBigOWith c₁ l f₁ g
h₂ : IsBigOWith c₂ l f₂ g
⊢ IsBigOWith (c₁ + c₂) l (fun x => f₁ x + f₂ x) g
state_after: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
f₁ f₂ : α → E'
g₁ g₂ : α → F'
h₁ : ∀ᶠ (x : α) in l, ‖f₁ x‖ ≤ c₁ * ‖g x‖
h₂ : ∀ᶠ (x : α) in l, ‖f₂ x‖ ≤ c₂ * ‖g x‖
⊢ ∀ᶠ (x : α) in l, ‖f₁ x + f₂ x‖ ≤ (c₁ + c₂) * ‖g x‖

tactic: filter_upwards [h₁, h₂] with x hx₁ hx₂ using
  calc
    ‖f₁ x + f₂ x‖ ≤ c₁ * ‖g x‖ + c₂ * ‖g x‖ := norm_add_le_of_le hx₁ hx₂
    _ = (c₁ + c₂) * ‖g x‖ := (add_mul _ _ _).symm
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
f₁ f₂ : α → E'
g₁ g₂ : α → F'
h₁ : ∀ᶠ (x : α) in l, ‖f₁ x‖ ≤ c₁ * ‖g x‖
h₂ : ∀ᶠ (x : α) in l, ‖f₂ x‖ ≤ c₂ * ‖g x‖
⊢ ∀ᶠ (x : α) in l, ‖f₁ x + f₂ x‖ ≤ (c₁ + c₂) * ‖g x‖
state_after: no goals
Theorem: YoungDiagram.colLen_anti
File: Mathlib/Combinatorics/Young/YoungDiagram.lean

tactic: convert μ.transpose.rowLen_anti j1 j2 hj using 1 <;> simp
state_before: μ : YoungDiagram
j1 j2 : ℕ
hj : j1 ≤ j2
⊢ μ.colLen j2 ≤ μ.colLen j1
state_after: no goals
Theorem: Equiv.Perm.IsCycle.sameCycle
File: Mathlib/GroupTheory/Perm/Cycle/Basic.lean

tactic: rw [← ha, ← mul_apply, ← zpow_add, sub_add_cancel, hb]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f g✝ : Perm α
x y : α
hf : f.IsCycle
hx : f x ≠ x
hy : f y ≠ y
g : α
hg : f g ≠ g ∧ ∀ ⦃y : α⦄, f y ≠ y → f.SameCycle g y
a : ℤ
ha : (f ^ a) g = x
b : ℤ
hb : (f ^ b) g = y
⊢ (f ^ (b - a)) x = y
state_after: no goals
Theorem: ZFSet.toSet_sInter
File: Mathlib/SetTheory/ZFC/Basic.lean

tactic: ext
state_before: x : ZFSet
h : x.Nonempty
⊢ (⋂₀ x).toSet = ⋂₀ (toSet '' x.toSet)
state_after: case h
x : ZFSet
h : x.Nonempty
x✝ : ZFSet
⊢ x✝ ∈ (⋂₀ x).toSet ↔ x✝ ∈ ⋂₀ (toSet '' x.toSet)

tactic: simp [mem_sInter h]
state_before: case h
x : ZFSet
h : x.Nonempty
x✝ : ZFSet
⊢ x✝ ∈ (⋂₀ x).toSet ↔ x✝ ∈ ⋂₀ (toSet '' x.toSet)
state_after: no goals
Theorem: multiplicity.min_le_multiplicity_add
File: Mathlib/RingTheory/Multiplicity.lean

tactic: rw [min_eq_left h, multiplicity_le_multiplicity_iff]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : Semiring α
inst✝ : DecidableRel fun x x_1 => x ∣ x_1
p a b : α
h : multiplicity p a ≤ multiplicity p b
⊢ min (multiplicity p a) (multiplicity p b) ≤ multiplicity p (a + b)
state_after: α : Type u_1
β : Type u_2
inst✝¹ : Semiring α
inst✝ : DecidableRel fun x x_1 => x ∣ x_1
p a b : α
h : multiplicity p a ≤ multiplicity p b
⊢ ∀ (n : ℕ), p ^ n ∣ a → p ^ n ∣ a + b

tactic: exact fun n hn => dvd_add hn (multiplicity_le_multiplicity_iff.1 h n hn)
state_before: α : Type u_1
β : Type u_2
inst✝¹ : Semiring α
inst✝ : DecidableRel fun x x_1 => x ∣ x_1
p a b : α
h : multiplicity p a ≤ multiplicity p b
⊢ ∀ (n : ℕ), p ^ n ∣ a → p ^ n ∣ a + b
state_after: no goals

tactic: rw [min_eq_right h, multiplicity_le_multiplicity_iff]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : Semiring α
inst✝ : DecidableRel fun x x_1 => x ∣ x_1
p a b : α
h : multiplicity p b ≤ multiplicity p a
⊢ min (multiplicity p a) (multiplicity p b) ≤ multiplicity p (a + b)
state_after: α : Type u_1
β : Type u_2
inst✝¹ : Semiring α
inst✝ : DecidableRel fun x x_1 => x ∣ x_1
p a b : α
h : multiplicity p b ≤ multiplicity p a
⊢ ∀ (n : ℕ), p ^ n ∣ b → p ^ n ∣ a + b

tactic: exact fun n hn => dvd_add (multiplicity_le_multiplicity_iff.1 h n hn) hn
state_before: α : Type u_1
β : Type u_2
inst✝¹ : Semiring α
inst✝ : DecidableRel fun x x_1 => x ∣ x_1
p a b : α
h : multiplicity p b ≤ multiplicity p a
⊢ ∀ (n : ℕ), p ^ n ∣ b → p ^ n ∣ a + b
state_after: no goals
Theorem: ProbabilityTheory.kernel.iIndepFun.indepFun_mul_left
File: Mathlib/Probability/Independence/Kernel.lean

tactic: have : IndepFun (fun ω => (f i ω, f j ω)) (f k) κ μ :=
  hf_indep.indepFun_prod_mk hf_meas i j k hik hjk
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : Type u_8
m : MeasurableSpace β
inst✝² : Mul β
inst✝¹ : MeasurableMul₂ β
f : ι → Ω → β
inst✝ : IsMarkovKernel κ
hf_indep : iIndepFun (fun x => m) f κ μ
hf_meas : ∀ (i : ι), Measurable (f i)
i j k : ι
hik : i ≠ k
hjk : j ≠ k
⊢ IndepFun (f i * f j) (f k) κ μ
state_after: α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : Type u_8
m : MeasurableSpace β
inst✝² : Mul β
inst✝¹ : MeasurableMul₂ β
f : ι → Ω → β
inst✝ : IsMarkovKernel κ
hf_indep : iIndepFun (fun x => m) f κ μ
hf_meas : ∀ (i : ι), Measurable (f i)
i j k : ι
hik : i ≠ k
hjk : j ≠ k
this : IndepFun (fun ω => (f i ω, f j ω)) (f k) κ μ
⊢ IndepFun (f i * f j) (f k) κ μ

tactic: simpa using this.comp (measurable_fst.mul measurable_snd) measurable_id
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : Type u_8
m : MeasurableSpace β
inst✝² : Mul β
inst✝¹ : MeasurableMul₂ β
f : ι → Ω → β
inst✝ : IsMarkovKernel κ
hf_indep : iIndepFun (fun x => m) f κ μ
hf_meas : ∀ (i : ι), Measurable (f i)
i j k : ι
hik : i ≠ k
hjk : j ≠ k
this : IndepFun (fun ω => (f i ω, f j ω)) (f k) κ μ
⊢ IndepFun (f i * f j) (f k) κ μ
state_after: no goals
Theorem: Complex.tan_zero
File: Mathlib/Data/Complex/Exponential.lean

tactic: simp [tan]
state_before: x y : ℂ
⊢ tan 0 = 0
state_after: no goals
Theorem: TopologicalSpace.IsTopologicalBasis.inf
File: Mathlib/Topology/Bases.lean

tactic: refine .of_hasBasis_nhds (t := ?_) fun a ↦ ?_
state_before: α : Type u
β : Type u_1
t : TopologicalSpace α
B : Set (Set α)
s : Set α
t₁ t₂ : TopologicalSpace β
B₁ B₂ : Set (Set β)
h₁ : IsTopologicalBasis B₁
h₂ : IsTopologicalBasis B₂
⊢ IsTopologicalBasis (image2 (fun x x_1 => x ∩ x_1) B₁ B₂)
state_after: α : Type u
β : Type u_1
t : TopologicalSpace α
B : Set (Set α)
s : Set α
t₁ t₂ : TopologicalSpace β
B₁ B₂ : Set (Set β)
h₁ : IsTopologicalBasis B₁
h₂ : IsTopologicalBasis B₂
a : β
⊢ (𝓝 a).HasBasis (fun t => t ∈ image2 (fun x x_1 => x ∩ x_1) B₁ B₂ ∧ a ∈ t) id

tactic: rw [nhds_inf (t₁ := t₁)]
state_before: α : Type u
β : Type u_1
t : TopologicalSpace α
B : Set (Set α)
s : Set α
t₁ t₂ : TopologicalSpace β
B₁ B₂ : Set (Set β)
h₁ : IsTopologicalBasis B₁
h₂ : IsTopologicalBasis B₂
a : β
⊢ (𝓝 a).HasBasis (fun t => t ∈ image2 (fun x x_1 => x ∩ x_1) B₁ B₂ ∧ a ∈ t) id
state_after: α : Type u
β : Type u_1
t : TopologicalSpace α
B : Set (Set α)
s : Set α
t₁ t₂ : TopologicalSpace β
B₁ B₂ : Set (Set β)
h₁ : IsTopologicalBasis B₁
h₂ : IsTopologicalBasis B₂
a : β
⊢ (𝓝 a ⊓ 𝓝 a).HasBasis (fun t => t ∈ image2 (fun x x_1 => x ∩ x_1) B₁ B₂ ∧ a ∈ t) id

tactic: convert ((h₁.nhds_hasBasis (t := t₁)).inf (h₂.nhds_hasBasis (t := t₂))).to_image_id
state_before: α : Type u
β : Type u_1
t : TopologicalSpace α
B : Set (Set α)
s : Set α
t₁ t₂ : TopologicalSpace β
B₁ B₂ : Set (Set β)
h₁ : IsTopologicalBasis B₁
h₂ : IsTopologicalBasis B₂
a : β
⊢ (𝓝 a ⊓ 𝓝 a).HasBasis (fun t => t ∈ image2 (fun x x_1 => x ∩ x_1) B₁ B₂ ∧ a ∈ t) id
state_after: case h.e'_4.h.a
α : Type u
β : Type u_1
t : TopologicalSpace α
B : Set (Set α)
s : Set α
t₁ t₂ : TopologicalSpace β
B₁ B₂ : Set (Set β)
h₁ : IsTopologicalBasis B₁
h₂ : IsTopologicalBasis B₂
a : β
x✝ : Set β
⊢ x✝ ∈ image2 (fun x x_1 => x ∩ x_1) B₁ B₂ ∧ a ∈ x✝ ↔
    x✝ ∈ (fun i => i.1 ∩ i.2) '' {i | (i.1 ∈ B₁ ∧ a ∈ i.1) ∧ i.2 ∈ B₂ ∧ a ∈ i.2}

tactic: aesop
state_before: case h.e'_4.h.a
α : Type u
β : Type u_1
t : TopologicalSpace α
B : Set (Set α)
s : Set α
t₁ t₂ : TopologicalSpace β
B₁ B₂ : Set (Set β)
h₁ : IsTopologicalBasis B₁
h₂ : IsTopologicalBasis B₂
a : β
x✝ : Set β
⊢ x✝ ∈ image2 (fun x x_1 => x ∩ x_1) B₁ B₂ ∧ a ∈ x✝ ↔
    x✝ ∈ (fun i => i.1 ∩ i.2) '' {i | (i.1 ∈ B₁ ∧ a ∈ i.1) ∧ i.2 ∈ B₂ ∧ a ∈ i.2}
state_after: no goals
Theorem: isOfFinOrder_of_finite
File: Mathlib/GroupTheory/OrderOfElement.lean

tactic: by_contra h
state_before: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝¹ : LeftCancelMonoid G
inst✝ : Finite G
x✝ y : G
n : ℕ
x : G
⊢ IsOfFinOrder x
state_after: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝¹ : LeftCancelMonoid G
inst✝ : Finite G
x✝ y : G
n : ℕ
x : G
h : ¬IsOfFinOrder x
⊢ False

tactic: exact infinite_not_isOfFinOrder h <| Set.toFinite _
state_before: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝¹ : LeftCancelMonoid G
inst✝ : Finite G
x✝ y : G
n : ℕ
x : G
h : ¬IsOfFinOrder x
⊢ False
state_after: no goals
Theorem: Set.singleton_mem_subchain_iff
File: Mathlib/Order/Height.lean

tactic: simp [cons_mem_subchain_iff]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : LT α
inst✝ : LT β
s t : Set α
l : List α
a : α
⊢ [a] ∈ s.subchain ↔ a ∈ s
state_after: no goals
Theorem: ModuleCat.ExtendScalars.map'_id
File: Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean

tactic: dsimp only [map']
state_before: R : Type u₁
S : Type u₂
inst✝¹ : CommRing R
inst✝ : CommRing S
f : R →+* S
M✝ M : ModuleCat R
x : ↑(obj' f M)
⊢ (map' f (𝟙 M)) x = (𝟙 (obj' f M)) x
state_after: R : Type u₁
S : Type u₂
inst✝¹ : CommRing R
inst✝ : CommRing S
f : R →+* S
M✝ M : ModuleCat R
x : ↑(obj' f M)
⊢ (LinearMap.baseChange S (𝟙 M)) x = (𝟙 (obj' f M)) x

tactic: rw [ModuleCat.id_apply]
state_before: R : Type u₁
S : Type u₂
inst✝¹ : CommRing R
inst✝ : CommRing S
f : R →+* S
M✝ M : ModuleCat R
x : ↑(obj' f M)
⊢ (LinearMap.baseChange S (𝟙 M)) x = (𝟙 (obj' f M)) x
state_after: R : Type u₁
S : Type u₂
inst✝¹ : CommRing R
inst✝ : CommRing S
f : R →+* S
M✝ M : ModuleCat R
x : ↑(obj' f M)
⊢ (LinearMap.baseChange S (𝟙 M)) x = x

tactic: induction' x using TensorProduct.induction_on with _ _ m s ihx ihy
state_before: R : Type u₁
S : Type u₂
inst✝¹ : CommRing R
inst✝ : CommRing S
f : R →+* S
M✝ M : ModuleCat R
x : ↑(obj' f M)
⊢ (LinearMap.baseChange S (𝟙 M)) x = x
state_after: case zero
R : Type u₁
S : Type u₂
inst✝¹ : CommRing R
inst✝ : CommRing S
f : R →+* S
M✝ M : ModuleCat R
⊢ (LinearMap.baseChange S (𝟙 M)) 0 = 0

case tmul
R : Type u₁
S : Type u₂
inst✝¹ : CommRing R
inst✝ : CommRing S
f : R →+* S
M✝ M : ModuleCat R
x✝ : ↑((restrictScalars f).obj (mk S))
y✝ : ↑M
⊢ (LinearMap.baseChange S (𝟙 M)) (x✝ ⊗ₜ[R] y✝) = x✝ ⊗ₜ[R] y✝

case add
R : Type u₁
S : Type u₂
inst✝¹ : CommRing R
inst✝ : CommRing S
f : R →+* S
M✝ M : ModuleCat R
m s : ↑((restrictScalars f).obj (mk S)) ⊗[R] ↑M
ihx : (LinearMap.baseChange S (𝟙 M)) m = m
ihy : (LinearMap.baseChange S (𝟙 M)) s = s
⊢ (LinearMap.baseChange S (𝟙 M)) (m + s) = m + s

tactic: rw [map_zero]
state_before: case zero
R : Type u₁
S : Type u₂
inst✝¹ : CommRing R
inst✝ : CommRing S
f : R →+* S
M✝ M : ModuleCat R
⊢ (LinearMap.baseChange S (𝟙 M)) 0 = 0
state_after: no goals

tactic: erw [@LinearMap.baseChange_tmul R S M M _ _ (_), ModuleCat.id_apply]
state_before: case tmul
R : Type u₁
S : Type u₂
inst✝¹ : CommRing R
inst✝ : CommRing S
f : R →+* S
M✝ M : ModuleCat R
x✝ : ↑((restrictScalars f).obj (mk S))
y✝ : ↑M
⊢ (LinearMap.baseChange S (𝟙 M)) (x✝ ⊗ₜ[R] y✝) = x✝ ⊗ₜ[R] y✝
state_after: no goals

tactic: rw [map_add, ihx, ihy]
state_before: case add
R : Type u₁
S : Type u₂
inst✝¹ : CommRing R
inst✝ : CommRing S
f : R →+* S
M✝ M : ModuleCat R
m s : ↑((restrictScalars f).obj (mk S)) ⊗[R] ↑M
ihx : (LinearMap.baseChange S (𝟙 M)) m = m
ihy : (LinearMap.baseChange S (𝟙 M)) s = s
⊢ (LinearMap.baseChange S (𝟙 M)) (m + s) = m + s
state_after: no goals
Theorem: SimpleGraph.Subgraph.degree_spanningCoe
File: Mathlib/Combinatorics/SimpleGraph/Subgraph.lean

tactic: rw [← card_neighborSet_eq_degree, Subgraph.degree]
state_before: ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : G.Subgraph
v : V
inst✝¹ : Fintype ↑(G'.neighborSet v)
inst✝ : Fintype ↑(G'.spanningCoe.neighborSet v)
⊢ G'.spanningCoe.degree v = G'.degree v
state_after: ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : G.Subgraph
v : V
inst✝¹ : Fintype ↑(G'.neighborSet v)
inst✝ : Fintype ↑(G'.spanningCoe.neighborSet v)
⊢ Fintype.card ↑(G'.spanningCoe.neighborSet v) = Fintype.card ↑(G'.neighborSet v)

tactic: congr!
state_before: ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : G.Subgraph
v : V
inst✝¹ : Fintype ↑(G'.neighborSet v)
inst✝ : Fintype ↑(G'.spanningCoe.neighborSet v)
⊢ Fintype.card ↑(G'.spanningCoe.neighborSet v) = Fintype.card ↑(G'.neighborSet v)
state_after: no goals
Theorem: Quiver.Path.cast_eq_cast
File: Mathlib/Combinatorics/Quiver/Cast.lean

tactic: rw [hu, hv]
state_before: U : Type u_1
inst✝ : Quiver U
u v u' v' : U
hu : u = u'
hv : v = v'
p : Path u v
⊢ Path u v = Path u' v'
state_after: no goals

tactic: subst_vars
state_before: U : Type u_1
inst✝ : Quiver U
u v u' v' : U
hu : u = u'
hv : v = v'
p : Path u v
⊢ cast hu hv p = _root_.cast ⋯ p
state_after: U : Type u_1
inst✝ : Quiver U
u' v' : U
p : Path u' v'
⊢ cast ⋯ ⋯ p = _root_.cast ⋯ p

tactic: rfl
state_before: U : Type u_1
inst✝ : Quiver U
u' v' : U
p : Path u' v'
⊢ cast ⋯ ⋯ p = _root_.cast ⋯ p
state_after: no goals
Theorem: PrimeSpectrum.basicOpen_pow
File: Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean

tactic: simpa using zeroLocus_singleton_pow f n hn
state_before: R : Type u
S : Type v
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : R
n : ℕ
hn : 0 < n
⊢ ↑(basicOpen (f ^ n)) = ↑(basicOpen f)
state_after: no goals
Theorem: Set.iInter_iInter_eq'
File: Mathlib/Data/Set/Lattice.lean

tactic: simpa using biInter_range
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι → Sort u_7
κ₁ : ι → Sort u_8
κ₂ : ι → Sort u_9
κ' : ι' → Sort u_10
f : ι → α
g : α → Set β
⊢ ⋂ x, ⋂ y, ⋂ (_ : f y = x), g x = ⋂ y, g (f y)
state_after: no goals
Theorem: Real.arccos_neg
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean

tactic: rw [← add_halves π, arccos, arcsin_neg, arccos, add_sub_assoc, sub_sub_self, sub_neg_eq_add]
state_before: x✝ y x : ℝ
⊢ arccos (-x) = π - arccos x
state_after: no goals
Theorem: inf_eq_bot_of_coprime
File: Mathlib/GroupTheory/OrderOfElement.lean

tactic: refine (H ⊓ K).eq_bot_iff_forall.mpr fun x hx => ?_
state_before: G✝ : Type u_1
H✝ : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝⁴ : Group G✝
inst✝³ : Fintype G✝
x : G✝
n : ℕ
G : Type u_6
inst✝² : Group G
H K : Subgroup G
inst✝¹ : Fintype ↥H
inst✝ : Fintype ↥K
h : (card ↥H).Coprime (card ↥K)
⊢ H ⊓ K = ⊥
state_after: G✝ : Type u_1
H✝ : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝⁴ : Group G✝
inst✝³ : Fintype G✝
x✝ : G✝
n : ℕ
G : Type u_6
inst✝² : Group G
H K : Subgroup G
inst✝¹ : Fintype ↥H
inst✝ : Fintype ↥K
h : (card ↥H).Coprime (card ↥K)
x : G
hx : x ∈ H ⊓ K
⊢ x = 1

tactic: rw [← orderOf_eq_one_iff, ← Nat.dvd_one, ← h.gcd_eq_one, Nat.dvd_gcd_iff]
state_before: G✝ : Type u_1
H✝ : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝⁴ : Group G✝
inst✝³ : Fintype G✝
x✝ : G✝
n : ℕ
G : Type u_6
inst✝² : Group G
H K : Subgroup G
inst✝¹ : Fintype ↥H
inst✝ : Fintype ↥K
h : (card ↥H).Coprime (card ↥K)
x : G
hx : x ∈ H ⊓ K
⊢ x = 1
state_after: G✝ : Type u_1
H✝ : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝⁴ : Group G✝
inst✝³ : Fintype G✝
x✝ : G✝
n : ℕ
G : Type u_6
inst✝² : Group G
H K : Subgroup G
inst✝¹ : Fintype ↥H
inst✝ : Fintype ↥K
h : (card ↥H).Coprime (card ↥K)
x : G
hx : x ∈ H ⊓ K
⊢ orderOf x ∣ card ↥H ∧ orderOf x ∣ card ↥K
Theorem: List.perm_ext_iff_of_nodup
File: .lake/packages/batteries/Batteries/Data/List/Perm.lean

tactic: refine ⟨fun p _ => p.mem_iff, fun H => ?_⟩
state_before: α : Type u_1
l₁ l₂ : List α
d₁ : l₁.Nodup
d₂ : l₂.Nodup
⊢ l₁ ~ l₂ ↔ ∀ (a : α), a ∈ l₁ ↔ a ∈ l₂
state_after: α : Type u_1
l₁ l₂ : List α
d₁ : l₁.Nodup
d₂ : l₂.Nodup
H : ∀ (a : α), a ∈ l₁ ↔ a ∈ l₂
⊢ l₁ ~ l₂

tactic: exact (subperm_of_subset d₁ fun a => (H a).1).antisymm <| subperm_of_subset d₂ fun a => (H a).2
state_before: α : Type u_1
l₁ l₂ : List α
d₁ : l₁.Nodup
d₂ : l₂.Nodup
H : ∀ (a : α), a ∈ l₁ ↔ a ∈ l₂
⊢ l₁ ~ l₂
state_after: no goals
Theorem: NNReal.pow_sum_div_card_le_sum_pow
File: Mathlib/Analysis/MeanInequalitiesPow.lean

tactic: simpa only [← NNReal.coe_le_coe, NNReal.coe_sum, Nonneg.coe_div, NNReal.coe_pow] using
  @Real.pow_sum_div_card_le_sum_pow ι s (((↑) : ℝ≥0 → ℝ) ∘ f) n fun _ _ => NNReal.coe_nonneg _
state_before: ι : Type u
s : Finset ι
f : ι → ℝ≥0
n : ℕ
⊢ ↑(∑ x ∈ s, f x) ^ (n + 1) / ↑s.card ^ n ≤ ↑(∑ x ∈ s, f x ^ (n + 1))
state_after: no goals
Theorem: AffineEquiv.affineIndependent_set_of_eq_iff
File: Mathlib/LinearAlgebra/AffineSpace/Independent.lean

tactic: have : e ∘ ((↑) : s → P) = ((↑) : e '' s → P₂) ∘ (e : P ≃ P₂).image s := rfl
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
V₂ : Type u_5
P₂ : Type u_6
inst✝² : AddCommGroup V₂
inst✝¹ : Module k V₂
inst✝ : AffineSpace V₂ P₂
s : Set P
e : P ≃ᵃ[k] P₂
⊢ AffineIndependent k Subtype.val ↔ AffineIndependent k Subtype.val
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
V₂ : Type u_5
P₂ : Type u_6
inst✝² : AddCommGroup V₂
inst✝¹ : Module k V₂
inst✝ : AffineSpace V₂ P₂
s : Set P
e : P ≃ᵃ[k] P₂
this : ⇑e ∘ Subtype.val = Subtype.val ∘ ⇑((↑e).image s)
⊢ AffineIndependent k Subtype.val ↔ AffineIndependent k Subtype.val

tactic: erw [← e.affineIndependent_iff, this, affineIndependent_equiv]
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
V₂ : Type u_5
P₂ : Type u_6
inst✝² : AddCommGroup V₂
inst✝¹ : Module k V₂
inst✝ : AffineSpace V₂ P₂
s : Set P
e : P ≃ᵃ[k] P₂
this : ⇑e ∘ Subtype.val = Subtype.val ∘ ⇑((↑e).image s)
⊢ AffineIndependent k Subtype.val ↔ AffineIndependent k Subtype.val
state_after: no goals
Theorem: Fin.predAbove_succ_of_lt
File: Mathlib/Data/Fin/Basic.lean

tactic: rw [predAbove_of_lt_succ _ _ (succ_lt_succ_iff.mpr h)]
state_before: n m : ℕ
p i : Fin n
h : i < p
hi : optParam (i.succ ≠ last n) ⋯
⊢ p.predAbove i.succ = i.succ.castPred hi
state_after: no goals
Theorem: quasiIsoAt_iff
File: Mathlib/Algebra/Homology/QuasiIso.lean

tactic: constructor
state_before: ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : HasZeroMorphisms C
c : ComplexShape ι
K L M K' L' : HomologicalComplex C c
f : K ⟶ L
i : ι
inst✝¹ : K.HasHomology i
inst✝ : L.HasHomology i
⊢ QuasiIsoAt f i ↔ ShortComplex.QuasiIso ((shortComplexFunctor C c i).map f)
state_after: case mp
ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : HasZeroMorphisms C
c : ComplexShape ι
K L M K' L' : HomologicalComplex C c
f : K ⟶ L
i : ι
inst✝¹ : K.HasHomology i
inst✝ : L.HasHomology i
⊢ QuasiIsoAt f i → ShortComplex.QuasiIso ((shortComplexFunctor C c i).map f)

case mpr
ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : HasZeroMorphisms C
c : ComplexShape ι
K L M K' L' : HomologicalComplex C c
f : K ⟶ L
i : ι
inst✝¹ : K.HasHomology i
inst✝ : L.HasHomology i
⊢ ShortComplex.QuasiIso ((shortComplexFunctor C c i).map f) → QuasiIsoAt f i

tactic: intro h
state_before: case mp
ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : HasZeroMorphisms C
c : ComplexShape ι
K L M K' L' : HomologicalComplex C c
f : K ⟶ L
i : ι
inst✝¹ : K.HasHomology i
inst✝ : L.HasHomology i
⊢ QuasiIsoAt f i → ShortComplex.QuasiIso ((shortComplexFunctor C c i).map f)
state_after: case mp
ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : HasZeroMorphisms C
c : ComplexShape ι
K L M K' L' : HomologicalComplex C c
f : K ⟶ L
i : ι
inst✝¹ : K.HasHomology i
inst✝ : L.HasHomology i
h : QuasiIsoAt f i
⊢ ShortComplex.QuasiIso ((shortComplexFunctor C c i).map f)

tactic: exact h.quasiIso
state_before: case mp
ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : HasZeroMorphisms C
c : ComplexShape ι
K L M K' L' : HomologicalComplex C c
f : K ⟶ L
i : ι
inst✝¹ : K.HasHomology i
inst✝ : L.HasHomology i
h : QuasiIsoAt f i
⊢ ShortComplex.QuasiIso ((shortComplexFunctor C c i).map f)
state_after: no goals

tactic: intro h
state_before: case mpr
ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : HasZeroMorphisms C
c : ComplexShape ι
K L M K' L' : HomologicalComplex C c
f : K ⟶ L
i : ι
inst✝¹ : K.HasHomology i
inst✝ : L.HasHomology i
⊢ ShortComplex.QuasiIso ((shortComplexFunctor C c i).map f) → QuasiIsoAt f i
state_after: case mpr
ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : HasZeroMorphisms C
c : ComplexShape ι
K L M K' L' : HomologicalComplex C c
f : K ⟶ L
i : ι
inst✝¹ : K.HasHomology i
inst✝ : L.HasHomology i
h : ShortComplex.QuasiIso ((shortComplexFunctor C c i).map f)
⊢ QuasiIsoAt f i

tactic: exact ⟨h⟩
state_before: case mpr
ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : HasZeroMorphisms C
c : ComplexShape ι
K L M K' L' : HomologicalComplex C c
f : K ⟶ L
i : ι
inst✝¹ : K.HasHomology i
inst✝ : L.HasHomology i
h : ShortComplex.QuasiIso ((shortComplexFunctor C c i).map f)
⊢ QuasiIsoAt f i
state_after: no goals