1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Quiver.Symmetrify.lift_spec
File: Mathlib/Combinatorics/Quiver/Symmetric.lean

tactic: fapply Prefunctor.ext
state_before: U : Type u_1
V : Type u_2
W : Type u_3
inst✝⁴ : Quiver U
inst✝³ : Quiver V
inst✝² : Quiver W
V' : Type u_4
inst✝¹ : Quiver V'
inst✝ : HasReverse V'
φ : V ⥤q V'
⊢ of ⋙q lift φ = φ
state_after: case h_obj
U : Type u_1
V : Type u_2
W : Type u_3
inst✝⁴ : Quiver U
inst✝³ : Quiver V
inst✝² : Quiver W
V' : Type u_4
inst✝¹ : Quiver V'
inst✝ : HasReverse V'
φ : V ⥤q V'
⊢ ∀ (X : V), (of ⋙q lift φ).obj X = φ.obj X

case h_map
U : Type u_1
V : Type u_2
W : Type u_3
inst✝⁴ : Quiver U
inst✝³ : Quiver V
inst✝² : Quiver W
V' : Type u_4
inst✝¹ : Quiver V'
inst✝ : HasReverse V'
φ : V ⥤q V'
⊢ ∀ (X Y : V) (f : X ⟶ Y), (of ⋙q lift φ).map f = Eq.recOn ⋯ (Eq.recOn ⋯ (φ.map f))

tactic: rintro X
state_before: case h_obj
U : Type u_1
V : Type u_2
W : Type u_3
inst✝⁴ : Quiver U
inst✝³ : Quiver V
inst✝² : Quiver W
V' : Type u_4
inst✝¹ : Quiver V'
inst✝ : HasReverse V'
φ : V ⥤q V'
⊢ ∀ (X : V), (of ⋙q lift φ).obj X = φ.obj X
state_after: case h_obj
U : Type u_1
V : Type u_2
W : Type u_3
inst✝⁴ : Quiver U
inst✝³ : Quiver V
inst✝² : Quiver W
V' : Type u_4
inst✝¹ : Quiver V'
inst✝ : HasReverse V'
φ : V ⥤q V'
X : V
⊢ (of ⋙q lift φ).obj X = φ.obj X

tactic: rfl
state_before: case h_obj
U : Type u_1
V : Type u_2
W : Type u_3
inst✝⁴ : Quiver U
inst✝³ : Quiver V
inst✝² : Quiver W
V' : Type u_4
inst✝¹ : Quiver V'
inst✝ : HasReverse V'
φ : V ⥤q V'
X : V
⊢ (of ⋙q lift φ).obj X = φ.obj X
state_after: no goals

tactic: rintro X Y f
state_before: case h_map
U : Type u_1
V : Type u_2
W : Type u_3
inst✝⁴ : Quiver U
inst✝³ : Quiver V
inst✝² : Quiver W
V' : Type u_4
inst✝¹ : Quiver V'
inst✝ : HasReverse V'
φ : V ⥤q V'
⊢ ∀ (X Y : V) (f : X ⟶ Y), (of ⋙q lift φ).map f = Eq.recOn ⋯ (Eq.recOn ⋯ (φ.map f))
state_after: case h_map
U : Type u_1
V : Type u_2
W : Type u_3
inst✝⁴ : Quiver U
inst✝³ : Quiver V
inst✝² : Quiver W
V' : Type u_4
inst✝¹ : Quiver V'
inst✝ : HasReverse V'
φ : V ⥤q V'
X Y : V
f : X ⟶ Y
⊢ (of ⋙q lift φ).map f = Eq.recOn ⋯ (Eq.recOn ⋯ (φ.map f))

tactic: rfl
state_before: case h_map
U : Type u_1
V : Type u_2
W : Type u_3
inst✝⁴ : Quiver U
inst✝³ : Quiver V
inst✝² : Quiver W
V' : Type u_4
inst✝¹ : Quiver V'
inst✝ : HasReverse V'
φ : V ⥤q V'
X Y : V
f : X ⟶ Y
⊢ (of ⋙q lift φ).map f = Eq.recOn ⋯ (Eq.recOn ⋯ (φ.map f))
state_after: no goals
Theorem: Matrix.linfty_opNNNorm_row
File: Mathlib/Analysis/Matrix.lean

tactic: simp [linfty_opNNNorm_def]
state_before: R : Type u_1
l : Type u_2
m : Type u_3
n : Type u_4
α : Type u_5
β : Type u_6
ι : Type u_7
inst✝⁴ : Fintype l
inst✝³ : Fintype m
inst✝² : Fintype n
inst✝¹ : Unique ι
inst✝ : SeminormedAddCommGroup α
v : n → α
⊢ ‖row ι v‖₊ = ∑ i : n, ‖v i‖₊
state_after: no goals
Theorem: MeasureTheory.Supermartingale.smul_nonpos
File: Mathlib/Probability/Martingale/Basic.lean

tactic: rw [← neg_neg c, (by ext (i x); simp : - -c • f = -(-c • f))]
state_before: Ω : Type u_1
E : Type u_2
ι : Type u_3
inst✝⁷ : Preorder ι
m0 : MeasurableSpace Ω
μ : Measure Ω
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
f✝ g : ι → Ω → E
ℱ : Filtration ι m0
F : Type u_4
inst✝³ : NormedLatticeAddCommGroup F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace F
inst✝ : OrderedSMul ℝ F
f : ι → Ω → F
c : ℝ
hc : c ≤ 0
hf : Supermartingale f ℱ μ
⊢ Submartingale (c • f) ℱ μ
state_after: Ω : Type u_1
E : Type u_2
ι : Type u_3
inst✝⁷ : Preorder ι
m0 : MeasurableSpace Ω
μ : Measure Ω
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
f✝ g : ι → Ω → E
ℱ : Filtration ι m0
F : Type u_4
inst✝³ : NormedLatticeAddCommGroup F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace F
inst✝ : OrderedSMul ℝ F
f : ι → Ω → F
c : ℝ
hc : c ≤ 0
hf : Supermartingale f ℱ μ
⊢ Submartingale (-(-c • f)) ℱ μ

tactic: exact (hf.smul_nonneg <| neg_nonneg.2 hc).neg
state_before: Ω : Type u_1
E : Type u_2
ι : Type u_3
inst✝⁷ : Preorder ι
m0 : MeasurableSpace Ω
μ : Measure Ω
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
f✝ g : ι → Ω → E
ℱ : Filtration ι m0
F : Type u_4
inst✝³ : NormedLatticeAddCommGroup F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace F
inst✝ : OrderedSMul ℝ F
f : ι → Ω → F
c : ℝ
hc : c ≤ 0
hf : Supermartingale f ℱ μ
⊢ Submartingale (-(-c • f)) ℱ μ
state_after: no goals

tactic: ext (i x)
state_before: Ω : Type u_1
E : Type u_2
ι : Type u_3
inst✝⁷ : Preorder ι
m0 : MeasurableSpace Ω
μ : Measure Ω
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
f✝ g : ι → Ω → E
ℱ : Filtration ι m0
F : Type u_4
inst✝³ : NormedLatticeAddCommGroup F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace F
inst✝ : OrderedSMul ℝ F
f : ι → Ω → F
c : ℝ
hc : c ≤ 0
hf : Supermartingale f ℱ μ
⊢ - -c • f = -(-c • f)
state_after: case h.h
Ω : Type u_1
E : Type u_2
ι : Type u_3
inst✝⁷ : Preorder ι
m0 : MeasurableSpace Ω
μ : Measure Ω
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
f✝ g : ι → Ω → E
ℱ : Filtration ι m0
F : Type u_4
inst✝³ : NormedLatticeAddCommGroup F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace F
inst✝ : OrderedSMul ℝ F
f : ι → Ω → F
c : ℝ
hc : c ≤ 0
hf : Supermartingale f ℱ μ
i : ι
x : Ω
⊢ (- -c • f) i x = (-(-c • f)) i x

tactic: simp
state_before: case h.h
Ω : Type u_1
E : Type u_2
ι : Type u_3
inst✝⁷ : Preorder ι
m0 : MeasurableSpace Ω
μ : Measure Ω
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
f✝ g : ι → Ω → E
ℱ : Filtration ι m0
F : Type u_4
inst✝³ : NormedLatticeAddCommGroup F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace F
inst✝ : OrderedSMul ℝ F
f : ι → Ω → F
c : ℝ
hc : c ≤ 0
hf : Supermartingale f ℱ μ
i : ι
x : Ω
⊢ (- -c • f) i x = (-(-c • f)) i x
state_after: no goals
Theorem: MeasureTheory.tendsto_measure_of_tendsto_indicator_of_isFiniteMeasure
File: Mathlib/MeasureTheory/Integral/Indicator.lean

tactic: apply tendsto_measure_of_ae_tendsto_indicator_of_isFiniteMeasure L ?_ As_mble (ae_of_all μ h_lim)
state_before: α : Type u_1
inst✝³ : MeasurableSpace α
A : Set α
ι : Type u_2
L : Filter ι
inst✝² : L.IsCountablyGenerated
As : ι → Set α
inst✝¹ : L.NeBot
μ : Measure α
inst✝ : IsFiniteMeasure μ
As_mble : ∀ (i : ι), MeasurableSet (As i)
h_lim : ∀ (x : α), ∀ᶠ (i : ι) in L, x ∈ As i ↔ x ∈ A
⊢ Tendsto (fun i => μ (As i)) L (𝓝 (μ A))
state_after: α : Type u_1
inst✝³ : MeasurableSpace α
A : Set α
ι : Type u_2
L : Filter ι
inst✝² : L.IsCountablyGenerated
As : ι → Set α
inst✝¹ : L.NeBot
μ : Measure α
inst✝ : IsFiniteMeasure μ
As_mble : ∀ (i : ι), MeasurableSet (As i)
h_lim : ∀ (x : α), ∀ᶠ (i : ι) in L, x ∈ As i ↔ x ∈ A
⊢ MeasurableSet A

tactic: exact measurableSet_of_tendsto_indicator L As_mble h_lim
state_before: α : Type u_1
inst✝³ : MeasurableSpace α
A : Set α
ι : Type u_2
L : Filter ι
inst✝² : L.IsCountablyGenerated
As : ι → Set α
inst✝¹ : L.NeBot
μ : Measure α
inst✝ : IsFiniteMeasure μ
As_mble : ∀ (i : ι), MeasurableSet (As i)
h_lim : ∀ (x : α), ∀ᶠ (i : ι) in L, x ∈ As i ↔ x ∈ A
⊢ MeasurableSet A
state_after: no goals
Theorem: Mathlib.Tactic.Ring.cast_rat
File: Mathlib/Tactic/Ring/Basic.lean

tactic: simp [e, div_eq_mul_inv]
state_before: u : Lean.Level
R✝ : Type ?u.181718
α : Q(Type u)
sα : Q(CommSemiring «$α»)
inst✝¹ : CommSemiring R✝
n : ℤ
d : ℕ
R : Type u_1
inst✝ : DivisionRing R
a : R
inv✝ : Invertible ↑d
e : a = ↑n * ⅟↑d
⊢ a = Rat.rawCast n d + 0
state_after: no goals
Theorem: nonunits.subset_compl_ball
File: Mathlib/Analysis/NormedSpace/Units.lean

tactic: rwa [mem_ball_iff_norm'] at h₁
state_before: R : Type u_1
inst✝¹ : NormedRing R
inst✝ : CompleteSpace R
x : R
hx : x ∈ nonunits R
h₁ : x ∈ Metric.ball 1 1
⊢ ‖1 - x‖ < 1
state_after: no goals
Theorem: Int.span_natAbs
File: Mathlib/RingTheory/Int/Basic.lean

tactic: rw [Ideal.span_singleton_eq_span_singleton]
state_before: a : ℤ
⊢ Ideal.span {↑a.natAbs} = Ideal.span {a}
state_after: a : ℤ
⊢ Associated (↑a.natAbs) a

tactic: exact (associated_natAbs _).symm
state_before: a : ℤ
⊢ Associated (↑a.natAbs) a
state_after: no goals
Theorem: cauchy_iff
File: Mathlib/Topology/UniformSpace/Cauchy.lean

tactic: simp only [subset_def, Prod.forall, mem_prod_eq, and_imp, id, forall_mem_comm]
state_before: α : Type u
β : Type v
uniformSpace : UniformSpace α
f : Filter α
⊢ (f.NeBot ∧ ∀ s ∈ 𝓤 α, ∃ t ∈ f, ∀ x ∈ t, ∀ y ∈ t, (x, y) ∈ s) ↔ f.NeBot ∧ ∀ s ∈ 𝓤 α, ∃ t ∈ f, t ×ˢ t ⊆ s
state_after: no goals
Theorem: WittVector.mul_charP_coeff_zero
File: Mathlib/RingTheory/WittVector/Identities.lean

tactic: rw [← frobenius_verschiebung, coeff_frobenius_charP, verschiebung_coeff_zero,
  zero_pow hp.out.ne_zero]
state_before: p : ℕ
R : Type u_1
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CharP R p
x : 𝕎 R
⊢ (x * ↑p).coeff 0 = 0
state_after: no goals
Theorem: RingHom.sub_mem_ker_iff
File: Mathlib/RingTheory/Ideal/Maps.lean

tactic: rw [mem_ker, map_sub, sub_eq_zero]
state_before: R : Type u
S : Type v
T : Type w
F : Type u_1
inst✝² : Ring R
inst✝¹ : Ring S
inst✝ : FunLike F R S
rc : RingHomClass F R S
f : F
x y : R
⊢ x - y ∈ ker f ↔ f x = f y
state_after: no goals
Theorem: Matrix.blockTriangular_blockDiagonal'
File: Mathlib/LinearAlgebra/Matrix/Block.lean

tactic: rintro ⟨i, i'⟩ ⟨j, j'⟩ h
state_before: α : Type u_1
β : Type u_2
m : Type u_3
n : Type u_4
o : Type u_5
m' : α → Type u_6
n' : α → Type u_7
R : Type v
inst✝² : CommRing R
M N : Matrix m m R
b : m → α
inst✝¹ : Preorder α
inst✝ : DecidableEq α
d : (i : α) → Matrix (m' i) (m' i) R
⊢ (blockDiagonal' d).BlockTriangular Sigma.fst
state_after: case mk.mk
α : Type u_1
β : Type u_2
m : Type u_3
n : Type u_4
o : Type u_5
m' : α → Type u_6
n' : α → Type u_7
R : Type v
inst✝² : CommRing R
M N : Matrix m m R
b : m → α
inst✝¹ : Preorder α
inst✝ : DecidableEq α
d : (i : α) → Matrix (m' i) (m' i) R
i : α
i' : m' i
j : α
j' : m' j
h : ⟨j, j'⟩.fst < ⟨i, i'⟩.fst
⊢ blockDiagonal' d ⟨i, i'⟩ ⟨j, j'⟩ = 0

tactic: apply blockDiagonal'_apply_ne d i' j' fun h' => ne_of_lt h h'.symm
state_before: case mk.mk
α : Type u_1
β : Type u_2
m : Type u_3
n : Type u_4
o : Type u_5
m' : α → Type u_6
n' : α → Type u_7
R : Type v
inst✝² : CommRing R
M N : Matrix m m R
b : m → α
inst✝¹ : Preorder α
inst✝ : DecidableEq α
d : (i : α) → Matrix (m' i) (m' i) R
i : α
i' : m' i
j : α
j' : m' j
h : ⟨j, j'⟩.fst < ⟨i, i'⟩.fst
⊢ blockDiagonal' d ⟨i, i'⟩ ⟨j, j'⟩ = 0
state_after: no goals
Theorem: PrimeSpectrum.primeSpectrumProd_symm_inr_asIdeal
File: Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean

tactic: cases x
state_before: R : Type u
S : Type v
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
x : PrimeSpectrum S
⊢ ((primeSpectrumProd R S).symm (Sum.inr x)).asIdeal = ⊤.prod x.asIdeal
state_after: case mk
R : Type u
S : Type v
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
asIdeal✝ : Ideal S
isPrime✝ : asIdeal✝.IsPrime
⊢ ((primeSpectrumProd R S).symm (Sum.inr { asIdeal := asIdeal✝, isPrime := isPrime✝ })).asIdeal =
    ⊤.prod { asIdeal := asIdeal✝, isPrime := isPrime✝ }.asIdeal

tactic: rfl
state_before: case mk
R : Type u
S : Type v
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
asIdeal✝ : Ideal S
isPrime✝ : asIdeal✝.IsPrime
⊢ ((primeSpectrumProd R S).symm (Sum.inr { asIdeal := asIdeal✝, isPrime := isPrime✝ })).asIdeal =
    ⊤.prod { asIdeal := asIdeal✝, isPrime := isPrime✝ }.asIdeal
state_after: no goals
Theorem: Finset.weightedVSubOfPoint_map
File: Mathlib/LinearAlgebra/AffineSpace/Combination.lean

tactic: simp_rw [weightedVSubOfPoint_apply]
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
ι : Type u_4
s : Finset ι
ι₂ : Type u_5
s₂ : Finset ι₂
e : ι₂ ↪ ι
w : ι → k
p : ι → P
b : P
⊢ ((map e s₂).weightedVSubOfPoint p b) w = (s₂.weightedVSubOfPoint (p ∘ ⇑e) b) (w ∘ ⇑e)
state_after: k : Type u_1
V : Type u_2
P : Type u_3
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
ι : Type u_4
s : Finset ι
ι₂ : Type u_5
s₂ : Finset ι₂
e : ι₂ ↪ ι
w : ι → k
p : ι → P
b : P
⊢ ∑ i ∈ map e s₂, w i • (p i -ᵥ b) = ∑ i ∈ s₂, (w ∘ ⇑e) i • ((p ∘ ⇑e) i -ᵥ b)

tactic: exact Finset.sum_map _ _ _
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
ι : Type u_4
s : Finset ι
ι₂ : Type u_5
s₂ : Finset ι₂
e : ι₂ ↪ ι
w : ι → k
p : ι → P
b : P
⊢ ∑ i ∈ map e s₂, w i • (p i -ᵥ b) = ∑ i ∈ s₂, (w ∘ ⇑e) i • ((p ∘ ⇑e) i -ᵥ b)
state_after: no goals
Theorem: OrderIso.image_Iic
File: Mathlib/Order/Interval/Set/OrderIso.lean

tactic: rw [e.image_eq_preimage, e.symm.preimage_Iic, e.symm_symm]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : Preorder α
inst✝ : Preorder β
e : α ≃o β
a : α
⊢ ⇑e '' Iic a = Iic (e a)
state_after: no goals
Theorem: UniformSpace.Completion.extension_map
File: Mathlib/Topology/UniformSpace/Completion.lean

tactic: intro a
state_before: α : Type u_1
inst✝⁴ : UniformSpace α
β : Type u_2
inst✝³ : UniformSpace β
γ : Type u_3
inst✝² : UniformSpace γ
f✝ : α → β
inst✝¹ : CompleteSpace γ
inst✝ : T0Space γ
f : β → γ
g : α → β
hf : UniformContinuous f
hg : UniformContinuous g
⊢ ∀ (a : α), (Completion.extension f ∘ Completion.map g) (↑α a) = Completion.extension (f ∘ g) (↑α a)
state_after: α : Type u_1
inst✝⁴ : UniformSpace α
β : Type u_2
inst✝³ : UniformSpace β
γ : Type u_3
inst✝² : UniformSpace γ
f✝ : α → β
inst✝¹ : CompleteSpace γ
inst✝ : T0Space γ
f : β → γ
g : α → β
hf : UniformContinuous f
hg : UniformContinuous g
a : α
⊢ (Completion.extension f ∘ Completion.map g) (↑α a) = Completion.extension (f ∘ g) (↑α a)

tactic: rw [extension_coe (hf.comp hg), Function.comp_apply, map_coe hg, extension_coe hf,
  Function.comp_apply]
state_before: α : Type u_1
inst✝⁴ : UniformSpace α
β : Type u_2
inst✝³ : UniformSpace β
γ : Type u_3
inst✝² : UniformSpace γ
f✝ : α → β
inst✝¹ : CompleteSpace γ
inst✝ : T0Space γ
f : β → γ
g : α → β
hf : UniformContinuous f
hg : UniformContinuous g
a : α
⊢ (Completion.extension f ∘ Completion.map g) (↑α a) = Completion.extension (f ∘ g) (↑α a)
state_after: no goals
Theorem: Filter.coprod_eq_prod_top_sup_top_prod
File: Mathlib/Order/Filter/Prod.lean

tactic: rw [prod_top, top_prod]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort u_5
f✝ : Filter α
g✝ : Filter β
f : Filter α
g : Filter β
⊢ f.coprod g = f ×ˢ ⊤ ⊔ ⊤ ×ˢ g
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort u_5
f✝ : Filter α
g✝ : Filter β
f : Filter α
g : Filter β
⊢ f.coprod g = comap Prod.fst f ⊔ comap Prod.snd g

tactic: rfl
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort u_5
f✝ : Filter α
g✝ : Filter β
f : Filter α
g : Filter β
⊢ f.coprod g = comap Prod.fst f ⊔ comap Prod.snd g
state_after: no goals
Theorem: toIcoMod_add_left
File: Mathlib/Algebra/Order/ToIntervalMod.lean

tactic: rw [add_comm, toIcoMod_add_right]
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a✝ b✝ c : α
n : ℤ
a b : α
⊢ toIcoMod hp a (p + b) = toIcoMod hp a b
state_after: no goals
Theorem: LinearMap.rTensor_comp_map
File: Mathlib/LinearAlgebra/TensorProduct/Basic.lean

tactic: simp only [lTensor, rTensor, ← map_comp, id_comp, comp_id]
state_before: R : Type u_1
inst✝¹⁶ : CommSemiring R
R' : Type u_2
inst✝¹⁵ : Monoid R'
R'' : Type u_3
inst✝¹⁴ : Semiring R''
M : Type u_4
N : Type u_5
P : Type u_6
Q : Type u_7
S : Type u_8
T : Type u_9
inst✝¹³ : AddCommMonoid M
inst✝¹² : AddCommMonoid N
inst✝¹¹ : AddCommMonoid P
inst✝¹⁰ : AddCommMonoid Q
inst✝⁹ : AddCommMonoid S
inst✝⁸ : AddCommMonoid T
inst✝⁷ : Module R M
inst✝⁶ : Module R N
inst✝⁵ : Module R P
inst✝⁴ : Module R Q
inst✝³ : Module R S
inst✝² : Module R T
inst✝¹ : DistribMulAction R' M
inst✝ : Module R'' M
g✝ : P →ₗ[R] Q
f✝ : N →ₗ[R] P
f' : P →ₗ[R] S
f : M →ₗ[R] P
g : N →ₗ[R] Q
⊢ rTensor Q f' ∘ₗ map f g = map (f' ∘ₗ f) g
state_after: no goals
Theorem: List.rotate_zero
File: Mathlib/Data/List/Rotate.lean

tactic: simp [rotate]
state_before: α : Type u
l : List α
⊢ l.rotate 0 = l
state_after: no goals
Theorem: ForInStep.bind_yield_bindList
File: .lake/packages/batteries/Batteries/Control/ForInStep/Lemmas.lean

tactic: cases s <;> simp
state_before: m : Type u_1 → Type u_2
α : Type u_3
β : Type u_1
inst✝ : Monad m
f : α → β → m (ForInStep β)
s : ForInStep β
l : List α
⊢ (s.bind fun a => bindList f l (yield a)) = bindList f l s
state_after: no goals
Theorem: SimpleGraph.card_set_walk_length_eq
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: rw [← Finset.mem_coe, coe_finsetWalkLength_eq]
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
inst✝¹ : DecidableEq V
inst✝ : G.LocallyFinite
u v : V
n : ℕ
p : G.Walk u v
⊢ p ∈ G.finsetWalkLength n u v ↔ p ∈ {p | p.length = n}
state_after: no goals
Theorem: SimpleGraph.ConnectedComponent.iso_image_comp_eq_map_iff_eq_comp
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: refine C.ind fun u => ?_
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
φ : G ≃g G'
v : V
v' : V'
C : G.ConnectedComponent
⊢ G'.connectedComponentMk (φ v) = map (RelIso.toRelEmbedding φ).toRelHom C ↔ G.connectedComponentMk v = C
state_after: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
φ : G ≃g G'
v : V
v' : V'
C : G.ConnectedComponent
u : V
⊢ G'.connectedComponentMk (φ v) = map (RelIso.toRelEmbedding φ).toRelHom (G.connectedComponentMk u) ↔
    G.connectedComponentMk v = G.connectedComponentMk u

tactic: simp only [Iso.reachable_iff, ConnectedComponent.map_mk, RelEmbedding.coe_toRelHom,
  RelIso.coe_toRelEmbedding, ConnectedComponent.eq]
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
φ : G ≃g G'
v : V
v' : V'
C : G.ConnectedComponent
u : V
⊢ G'.connectedComponentMk (φ v) = map (RelIso.toRelEmbedding φ).toRelHom (G.connectedComponentMk u) ↔
    G.connectedComponentMk v = G.connectedComponentMk u
state_after: no goals
Theorem: Complex.sq_abs_sub_sq_re
File: Mathlib/Data/Complex/Abs.lean

tactic: rw [sq_abs, normSq_apply, ← sq, ← sq, add_sub_cancel_left]
state_before: z : ℂ
⊢ abs z ^ 2 - z.re ^ 2 = z.im ^ 2
state_after: no goals
Theorem: IsGroupHom.injective_iff
File: Mathlib/Deprecated/Group.lean

tactic: rw [← hf.map_one]
state_before: α : Type u
β : Type v
inst✝¹ : Group α
inst✝ : Group β
f✝ : α → β
hf✝ : IsGroupHom f✝
f : α → β
hf : IsGroupHom f
h : Function.Injective f
x✝ : α
⊢ f x✝ = 1 → x✝ = 1
state_after: α : Type u
β : Type v
inst✝¹ : Group α
inst✝ : Group β
f✝ : α → β
hf✝ : IsGroupHom f✝
f : α → β
hf : IsGroupHom f
h : Function.Injective f
x✝ : α
⊢ f x✝ = f 1 → x✝ = 1

tactic: exact @h _ _
state_before: α : Type u
β : Type v
inst✝¹ : Group α
inst✝ : Group β
f✝ : α → β
hf✝ : IsGroupHom f✝
f : α → β
hf : IsGroupHom f
h : Function.Injective f
x✝ : α
⊢ f x✝ = f 1 → x✝ = 1
state_after: no goals

tactic: rwa [hf.map_div, div_eq_one]
state_before: α : Type u
β : Type v
inst✝¹ : Group α
inst✝ : Group β
f✝ : α → β
hf✝ : IsGroupHom f✝
f : α → β
hf : IsGroupHom f
h : ∀ (a : α), f a = 1 → a = 1
x y : α
hxy : f x = f y
⊢ f (x / y) = 1
state_after: no goals
Theorem: CircleDeg1Lift.commute_int_add
File: Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean

tactic: simpa only [add_comm _ (n : ℝ)] using f.commute_add_int n
state_before: f g : CircleDeg1Lift
n : ℤ
⊢ Function.Commute ⇑f fun x => ↑n + x
state_after: no goals
Theorem: MeasureTheory.Measure.AbsolutelyContinuous.map
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: simpa [hf, hs] using @h _
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
f✝ : α → β
h : μ ≪ ν
f : α → β
hf : Measurable f
s : Set β
hs : MeasurableSet s
⊢ (map f ν) s = 0 → (map f μ) s = 0
state_after: no goals
Theorem: Complex.ofReal_neg
File: Mathlib/Data/Complex/Basic.lean

tactic: simp [ofReal']
state_before: r : ℝ
⊢ (↑(-r)).re = (-↑r).re ∧ (↑(-r)).im = (-↑r).im
state_after: no goals
Theorem: Filter.HasBasis.le_basis_iff
File: Mathlib/Order/Filter/Bases.lean

tactic: simp only [hl'.ge_iff, hl.mem_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
l l' : Filter α
p : ι → Prop
s : ι → Set α
t : Set α
i : ι
p' : ι' → Prop
s' : ι' → Set α
i' : ι'
hl : l.HasBasis p s
hl' : l'.HasBasis p' s'
⊢ l ≤ l' ↔ ∀ (i' : ι'), p' i' → ∃ i, p i ∧ s i ⊆ s' i'
state_after: no goals
Theorem: Real.hasStrictDerivAt_rpow_const_of_ne
File: Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean

tactic: cases' hx.lt_or_lt with hx hx
state_before: x✝ y z x : ℝ
hx : x ≠ 0
p : ℝ
⊢ HasStrictDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x
state_after: case inl
x✝ y z x : ℝ
hx✝ : x ≠ 0
p : ℝ
hx : x < 0
⊢ HasStrictDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x

case inr
x✝ y z x : ℝ
hx✝ : x ≠ 0
p : ℝ
hx : 0 < x
⊢ HasStrictDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x

tactic: have := (hasStrictFDerivAt_rpow_of_neg (x, p) hx).comp_hasStrictDerivAt x
  ((hasStrictDerivAt_id x).prod (hasStrictDerivAt_const _ _))
state_before: case inl
x✝ y z x : ℝ
hx✝ : x ≠ 0
p : ℝ
hx : x < 0
⊢ HasStrictDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x
state_after: case inl
x✝ y z x : ℝ
hx✝ : x ≠ 0
p : ℝ
hx : x < 0
this :
  HasStrictDerivAt ((fun x => x.1 ^ x.2) ∘ fun x => (id x, p))
    ((((x, p).2 * (x, p).1 ^ ((x, p).2 - 1)) • ContinuousLinearMap.fst ℝ ℝ ℝ +
        ((x, p).1 ^ (x, p).2 * log (x, p).1 - rexp (log (x, p).1 * (x, p).2) * sin ((x, p).2 * π) * π) •
          ContinuousLinearMap.snd ℝ ℝ ℝ)
      (1, 0))
    x
⊢ HasStrictDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x

tactic: convert this using 1
state_before: case inl
x✝ y z x : ℝ
hx✝ : x ≠ 0
p : ℝ
hx : x < 0
this :
  HasStrictDerivAt ((fun x => x.1 ^ x.2) ∘ fun x => (id x, p))
    ((((x, p).2 * (x, p).1 ^ ((x, p).2 - 1)) • ContinuousLinearMap.fst ℝ ℝ ℝ +
        ((x, p).1 ^ (x, p).2 * log (x, p).1 - rexp (log (x, p).1 * (x, p).2) * sin ((x, p).2 * π) * π) •
          ContinuousLinearMap.snd ℝ ℝ ℝ)
      (1, 0))
    x
⊢ HasStrictDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x
state_after: case h.e'_7
x✝ y z x : ℝ
hx✝ : x ≠ 0
p : ℝ
hx : x < 0
this :
  HasStrictDerivAt ((fun x => x.1 ^ x.2) ∘ fun x => (id x, p))
    ((((x, p).2 * (x, p).1 ^ ((x, p).2 - 1)) • ContinuousLinearMap.fst ℝ ℝ ℝ +
        ((x, p).1 ^ (x, p).2 * log (x, p).1 - rexp (log (x, p).1 * (x, p).2) * sin ((x, p).2 * π) * π) •
          ContinuousLinearMap.snd ℝ ℝ ℝ)
      (1, 0))
    x
⊢ p * x ^ (p - 1) =
    (((x, p).2 * (x, p).1 ^ ((x, p).2 - 1)) • ContinuousLinearMap.fst ℝ ℝ ℝ +
        ((x, p).1 ^ (x, p).2 * log (x, p).1 - rexp (log (x, p).1 * (x, p).2) * sin ((x, p).2 * π) * π) •
          ContinuousLinearMap.snd ℝ ℝ ℝ)
      (1, 0)

tactic: simp
state_before: case h.e'_7
x✝ y z x : ℝ
hx✝ : x ≠ 0
p : ℝ
hx : x < 0
this :
  HasStrictDerivAt ((fun x => x.1 ^ x.2) ∘ fun x => (id x, p))
    ((((x, p).2 * (x, p).1 ^ ((x, p).2 - 1)) • ContinuousLinearMap.fst ℝ ℝ ℝ +
        ((x, p).1 ^ (x, p).2 * log (x, p).1 - rexp (log (x, p).1 * (x, p).2) * sin ((x, p).2 * π) * π) •
          ContinuousLinearMap.snd ℝ ℝ ℝ)
      (1, 0))
    x
⊢ p * x ^ (p - 1) =
    (((x, p).2 * (x, p).1 ^ ((x, p).2 - 1)) • ContinuousLinearMap.fst ℝ ℝ ℝ +
        ((x, p).1 ^ (x, p).2 * log (x, p).1 - rexp (log (x, p).1 * (x, p).2) * sin ((x, p).2 * π) * π) •
          ContinuousLinearMap.snd ℝ ℝ ℝ)
      (1, 0)
state_after: no goals

tactic: simpa using (hasStrictDerivAt_id x).rpow (hasStrictDerivAt_const x p) hx
state_before: case inr
x✝ y z x : ℝ
hx✝ : x ≠ 0
p : ℝ
hx : 0 < x
⊢ HasStrictDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x
state_after: no goals
Theorem: Matroid.Indep.ssubset_ground
File: Mathlib/Data/Matroid/Dual.lean

tactic: obtain ⟨B, hB⟩ := hI.exists_base_superset
state_before: α : Type u_1
M : Matroid α
I B X : Set α
h : M✶.RkPos
hI : M.Indep I
⊢ I ⊂ M.E
state_after: case intro
α : Type u_1
M : Matroid α
I B✝ X : Set α
h : M✶.RkPos
hI : M.Indep I
B : Set α
hB : M.Base B ∧ I ⊆ B
⊢ I ⊂ M.E

tactic: exact hB.2.trans_ssubset hB.1.ssubset_ground
state_before: case intro
α : Type u_1
M : Matroid α
I B✝ X : Set α
h : M✶.RkPos
hI : M.Indep I
B : Set α
hB : M.Base B ∧ I ⊆ B
⊢ I ⊂ M.E
state_after: no goals