1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: RatFunc.coe_C
File: Mathlib/RingTheory/LaurentSeries.lean

tactic: rw [coe_num_denom, num_C, denom_C, Polynomial.coe_C, Polynomial.coe_one,
  PowerSeries.coe_one, div_one]
state_before: R : Type u_1
F : Type u
inst✝ : Field F
p q : F[X]
f g : RatFunc F
r : F
⊢ ↑(C r) = HahnSeries.C r
state_after: R : Type u_1
F : Type u
inst✝ : Field F
p q : F[X]
f g : RatFunc F
r : F
⊢ (ofPowerSeries ℤ F) ((PowerSeries.C F) r) = HahnSeries.C r

tactic: simp only [algebraMap_eq_C, ofPowerSeries_C, C_apply]
state_before: R : Type u_1
F : Type u
inst✝ : Field F
p q : F[X]
f g : RatFunc F
r : F
⊢ (ofPowerSeries ℤ F) ((PowerSeries.C F) r) = HahnSeries.C r
state_after: no goals
Theorem: CategoryTheory.Limits.hasZeroObject_of_hasInitial_object
File: Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean

tactic: refine ⟨⟨⊥_ C, fun X => ⟨⟨⟨0⟩, by aesop_cat⟩⟩, fun X => ⟨⟨⟨0⟩, fun f => ?_⟩⟩⟩⟩
state_before: C : Type u
inst✝³ : Category.{v, u} C
D : Type u'
inst✝² : Category.{v', u'} D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasInitial C
⊢ HasZeroObject C
state_after: C : Type u
inst✝³ : Category.{v, u} C
D : Type u'
inst✝² : Category.{v', u'} D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasInitial C
X : C
f : X ⟶ ⊥_ C
⊢ f = default

tactic: calc
  f = f ≫ 𝟙 _ := (Category.comp_id _).symm
  _ = f ≫ 0 := by congr!; apply Subsingleton.elim
  _ = 0 := HasZeroMorphisms.comp_zero _ _
state_before: C : Type u
inst✝³ : Category.{v, u} C
D : Type u'
inst✝² : Category.{v', u'} D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasInitial C
X : C
f : X ⟶ ⊥_ C
⊢ f = default
state_after: no goals

tactic: aesop_cat
state_before: C : Type u
inst✝³ : Category.{v, u} C
D : Type u'
inst✝² : Category.{v', u'} D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasInitial C
X : C
⊢ ∀ (a : ⊥_ C ⟶ X), a = default
state_after: no goals

tactic: congr!
state_before: C : Type u
inst✝³ : Category.{v, u} C
D : Type u'
inst✝² : Category.{v', u'} D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasInitial C
X : C
f : X ⟶ ⊥_ C
⊢ f ≫ 𝟙 (⊥_ C) = f ≫ 0
state_after: case h.e'_7
C : Type u
inst✝³ : Category.{v, u} C
D : Type u'
inst✝² : Category.{v', u'} D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasInitial C
X : C
f : X ⟶ ⊥_ C
⊢ 𝟙 (⊥_ C) = 0

tactic: apply Subsingleton.elim
state_before: case h.e'_7
C : Type u
inst✝³ : Category.{v, u} C
D : Type u'
inst✝² : Category.{v', u'} D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasInitial C
X : C
f : X ⟶ ⊥_ C
⊢ 𝟙 (⊥_ C) = 0
state_after: no goals
Theorem: EllipticCurve.two_or_three_ne_zero
File: Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean

tactic: decide
state_before: R : Type u
inst✝¹ : CommRing R
E : EllipticCurve R
F : Type u
inst✝ : Field F
j : F
⊢ Nat.Coprime 2 3
state_after: no goals
Theorem: AlgebraicGeometry.SheafedSpace.congr_app
File: Mathlib/Geometry/RingedSpace/SheafedSpace.lean

tactic: subst h
state_before: C : Type u
inst✝ : Category.{v, u} C
X Y : SheafedSpace C
α β : X ⟶ Y
h : α = β
U : (Opens ↑↑Y.toPresheafedSpace)ᵒᵖ
⊢ (Opens.map β.base).op.obj U = (Opens.map α.base).op.obj U
state_after: C : Type u
inst✝ : Category.{v, u} C
X Y : SheafedSpace C
α : X ⟶ Y
U : (Opens ↑↑Y.toPresheafedSpace)ᵒᵖ
⊢ (Opens.map α.base).op.obj U = (Opens.map α.base).op.obj U

tactic: rfl
state_before: C : Type u
inst✝ : Category.{v, u} C
X Y : SheafedSpace C
α : X ⟶ Y
U : (Opens ↑↑Y.toPresheafedSpace)ᵒᵖ
⊢ (Opens.map α.base).op.obj U = (Opens.map α.base).op.obj U
state_after: no goals
Theorem: SimpleGraph.adj_iff_exists_edge
File: Mathlib/Combinatorics/SimpleGraph/Basic.lean

tactic: refine ⟨fun _ => ⟨G.ne_of_adj ‹_›, s(v, w), by simpa⟩, ?_⟩
state_before: ι : Sort u_1
V : Type u
G : SimpleGraph V
a b c u v✝ w✝ : V
e : Sym2 V
G₁ G₂ : SimpleGraph V
v w : V
⊢ G.Adj v w ↔ v ≠ w ∧ ∃ e ∈ G.edgeSet, v ∈ e ∧ w ∈ e
state_after: ι : Sort u_1
V : Type u
G : SimpleGraph V
a b c u v✝ w✝ : V
e : Sym2 V
G₁ G₂ : SimpleGraph V
v w : V
⊢ (v ≠ w ∧ ∃ e ∈ G.edgeSet, v ∈ e ∧ w ∈ e) → G.Adj v w

tactic: rintro ⟨hne, e, he, hv⟩
state_before: ι : Sort u_1
V : Type u
G : SimpleGraph V
a b c u v✝ w✝ : V
e : Sym2 V
G₁ G₂ : SimpleGraph V
v w : V
⊢ (v ≠ w ∧ ∃ e ∈ G.edgeSet, v ∈ e ∧ w ∈ e) → G.Adj v w
state_after: case intro.intro.intro
ι : Sort u_1
V : Type u
G : SimpleGraph V
a b c u v✝ w✝ : V
e✝ : Sym2 V
G₁ G₂ : SimpleGraph V
v w : V
hne : v ≠ w
e : Sym2 V
he : e ∈ G.edgeSet
hv : v ∈ e ∧ w ∈ e
⊢ G.Adj v w

tactic: rw [Sym2.mem_and_mem_iff hne] at hv
state_before: case intro.intro.intro
ι : Sort u_1
V : Type u
G : SimpleGraph V
a b c u v✝ w✝ : V
e✝ : Sym2 V
G₁ G₂ : SimpleGraph V
v w : V
hne : v ≠ w
e : Sym2 V
he : e ∈ G.edgeSet
hv : v ∈ e ∧ w ∈ e
⊢ G.Adj v w
state_after: case intro.intro.intro
ι : Sort u_1
V : Type u
G : SimpleGraph V
a b c u v✝ w✝ : V
e✝ : Sym2 V
G₁ G₂ : SimpleGraph V
v w : V
hne : v ≠ w
e : Sym2 V
he : e ∈ G.edgeSet
hv : e = s(v, w)
⊢ G.Adj v w

tactic: subst e
state_before: case intro.intro.intro
ι : Sort u_1
V : Type u
G : SimpleGraph V
a b c u v✝ w✝ : V
e✝ : Sym2 V
G₁ G₂ : SimpleGraph V
v w : V
hne : v ≠ w
e : Sym2 V
he : e ∈ G.edgeSet
hv : e = s(v, w)
⊢ G.Adj v w
state_after: case intro.intro.intro
ι : Sort u_1
V : Type u
G : SimpleGraph V
a b c u v✝ w✝ : V
e : Sym2 V
G₁ G₂ : SimpleGraph V
v w : V
hne : v ≠ w
he : s(v, w) ∈ G.edgeSet
⊢ G.Adj v w

tactic: rwa [mem_edgeSet] at he
state_before: case intro.intro.intro
ι : Sort u_1
V : Type u
G : SimpleGraph V
a b c u v✝ w✝ : V
e : Sym2 V
G₁ G₂ : SimpleGraph V
v w : V
hne : v ≠ w
he : s(v, w) ∈ G.edgeSet
⊢ G.Adj v w
state_after: no goals

tactic: simpa
state_before: ι : Sort u_1
V : Type u
G : SimpleGraph V
a b c u v✝ w✝ : V
e : Sym2 V
G₁ G₂ : SimpleGraph V
v w : V
x✝ : G.Adj v w
⊢ s(v, w) ∈ G.edgeSet ∧ v ∈ s(v, w) ∧ w ∈ s(v, w)
state_after: no goals
Theorem: Polynomial.eval_one_cyclotomic_prime
File: Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean

tactic: simp only [cyclotomic_prime, eval_X, one_pow, Finset.sum_const, eval_pow, eval_finset_sum,
  Finset.card_range, smul_one_eq_cast]
state_before: R : Type u_1
inst✝ : CommRing R
p : ℕ
hn : Fact (Nat.Prime p)
⊢ eval 1 (cyclotomic p R) = ↑p
state_after: no goals
Theorem: Set.ncard_lt_ncard
File: Mathlib/Data/Set/Card.lean

tactic: rw [← Nat.cast_lt (α := ℕ∞), ht.cast_ncard_eq, (ht.subset h.subset).cast_ncard_eq]
state_before: α : Type u_1
β : Type u_2
s t : Set α
f : α → β
h : s ⊂ t
ht : autoParam t.Finite _auto✝
⊢ s.ncard < t.ncard
state_after: α : Type u_1
β : Type u_2
s t : Set α
f : α → β
h : s ⊂ t
ht : autoParam t.Finite _auto✝
⊢ s.encard < t.encard

tactic: exact ht.encard_lt_encard h
state_before: α : Type u_1
β : Type u_2
s t : Set α
f : α → β
h : s ⊂ t
ht : autoParam t.Finite _auto✝
⊢ s.encard < t.encard
state_after: no goals
Theorem: tendsto_intCast_atTop_iff
File: Mathlib/Order/Filter/Archimedean.lean

tactic: rw [← @Int.comap_cast_atTop R, tendsto_comap_iff]
state_before: α : Type u_1
R : Type u_2
inst✝¹ : StrictOrderedRing R
inst✝ : Archimedean R
f : α → ℤ
l : Filter α
⊢ Tendsto (fun n => ↑(f n)) l atTop ↔ Tendsto f l atTop
state_after: α : Type u_1
R : Type u_2
inst✝¹ : StrictOrderedRing R
inst✝ : Archimedean R
f : α → ℤ
l : Filter α
⊢ Tendsto (fun n => ↑(f n)) l atTop ↔ Tendsto (Int.cast ∘ f) l atTop

tactic: rfl
state_before: α : Type u_1
R : Type u_2
inst✝¹ : StrictOrderedRing R
inst✝ : Archimedean R
f : α → ℤ
l : Filter α
⊢ Tendsto (fun n => ↑(f n)) l atTop ↔ Tendsto (Int.cast ∘ f) l atTop
state_after: no goals
Theorem: ZMod.val_cast_eq_val_of_lt
File: Mathlib/Data/ZMod/Basic.lean

tactic: have nzn : NeZero n := by constructor; rintro rfl; simp at h
state_before: m n : ℕ
nzm : NeZero m
a : ZMod m
h : a.val < n
⊢ a.cast.val = a.val
state_after: m n : ℕ
nzm : NeZero m
a : ZMod m
h : a.val < n
nzn : NeZero n
⊢ a.cast.val = a.val

tactic: cases m with
| zero => cases nzm; simp_all
| succ m =>
  cases n with
  | zero => cases nzn; simp_all
  | succ n => exact Fin.val_cast_of_lt h
state_before: m n : ℕ
nzm : NeZero m
a : ZMod m
h : a.val < n
nzn : NeZero n
⊢ a.cast.val = a.val
state_after: no goals

tactic: constructor
state_before: m n : ℕ
nzm : NeZero m
a : ZMod m
h : a.val < n
⊢ NeZero n
state_after: case out
m n : ℕ
nzm : NeZero m
a : ZMod m
h : a.val < n
⊢ n ≠ 0

tactic: rintro rfl
state_before: case out
m n : ℕ
nzm : NeZero m
a : ZMod m
h : a.val < n
⊢ n ≠ 0
state_after: case out
m : ℕ
nzm : NeZero m
a : ZMod m
h : a.val < 0
⊢ False

tactic: simp at h
state_before: case out
m : ℕ
nzm : NeZero m
a : ZMod m
h : a.val < 0
⊢ False
state_after: no goals

tactic: cases nzm
state_before: case zero
n : ℕ
nzn : NeZero n
nzm : NeZero 0
a : ZMod 0
h : a.val < n
⊢ a.cast.val = a.val
state_after: case zero.mk
n : ℕ
nzn : NeZero n
a : ZMod 0
h : a.val < n
out✝ : 0 ≠ 0
⊢ a.cast.val = a.val

tactic: simp_all
state_before: case zero.mk
n : ℕ
nzn : NeZero n
a : ZMod 0
h : a.val < n
out✝ : 0 ≠ 0
⊢ a.cast.val = a.val
state_after: no goals

tactic: cases n with
| zero => cases nzn; simp_all
| succ n => exact Fin.val_cast_of_lt h
state_before: case succ
n : ℕ
nzn : NeZero n
m : ℕ
nzm : NeZero (m + 1)
a : ZMod (m + 1)
h : a.val < n
⊢ a.cast.val = a.val
state_after: no goals

tactic: cases nzn
state_before: case succ.zero
m : ℕ
nzm : NeZero (m + 1)
a : ZMod (m + 1)
nzn : NeZero 0
h : a.val < 0
⊢ a.cast.val = a.val
state_after: case succ.zero.mk
m : ℕ
nzm : NeZero (m + 1)
a : ZMod (m + 1)
h : a.val < 0
out✝ : 0 ≠ 0
⊢ a.cast.val = a.val

tactic: simp_all
state_before: case succ.zero.mk
m : ℕ
nzm : NeZero (m + 1)
a : ZMod (m + 1)
h : a.val < 0
out✝ : 0 ≠ 0
⊢ a.cast.val = a.val
state_after: no goals

tactic: exact Fin.val_cast_of_lt h
state_before: case succ.succ
m : ℕ
nzm : NeZero (m + 1)
a : ZMod (m + 1)
n : ℕ
nzn : NeZero (n + 1)
h : a.val < n + 1
⊢ a.cast.val = a.val
state_after: no goals
Theorem: MeasureTheory.Measure.InnerRegularWRT.trans
File: Mathlib/MeasureTheory/Measure/Regular.lean

tactic: intro U hU r hr
state_before: α : Type u_1
m : MeasurableSpace α
μ : Measure α
p q : Set α → Prop
U : Set α
ε : ℝ≥0∞
q' : Set α → Prop
H : μ.InnerRegularWRT p q
H' : μ.InnerRegularWRT q q'
⊢ μ.InnerRegularWRT p q'
state_after: α : Type u_1
m : MeasurableSpace α
μ : Measure α
p q : Set α → Prop
U✝ : Set α
ε : ℝ≥0∞
q' : Set α → Prop
H : μ.InnerRegularWRT p q
H' : μ.InnerRegularWRT q q'
U : Set α
hU : q' U
r : ℝ≥0∞
hr : r < μ U
⊢ ∃ K ⊆ U, p K ∧ r < μ K

tactic: rcases H' hU r hr with ⟨F, hFU, hqF, hF⟩
state_before: α : Type u_1
m : MeasurableSpace α
μ : Measure α
p q : Set α → Prop
U✝ : Set α
ε : ℝ≥0∞
q' : Set α → Prop
H : μ.InnerRegularWRT p q
H' : μ.InnerRegularWRT q q'
U : Set α
hU : q' U
r : ℝ≥0∞
hr : r < μ U
⊢ ∃ K ⊆ U, p K ∧ r < μ K
state_after: case intro.intro.intro
α : Type u_1
m : MeasurableSpace α
μ : Measure α
p q : Set α → Prop
U✝ : Set α
ε : ℝ≥0∞
q' : Set α → Prop
H : μ.InnerRegularWRT p q
H' : μ.InnerRegularWRT q q'
U : Set α
hU : q' U
r : ℝ≥0∞
hr : r < μ U
F : Set α
hFU : F ⊆ U
hqF : q F
hF : r < μ F
⊢ ∃ K ⊆ U, p K ∧ r < μ K

tactic: rcases H hqF _ hF with ⟨K, hKF, hpK, hrK⟩
state_before: case intro.intro.intro
α : Type u_1
m : MeasurableSpace α
μ : Measure α
p q : Set α → Prop
U✝ : Set α
ε : ℝ≥0∞
q' : Set α → Prop
H : μ.InnerRegularWRT p q
H' : μ.InnerRegularWRT q q'
U : Set α
hU : q' U
r : ℝ≥0∞
hr : r < μ U
F : Set α
hFU : F ⊆ U
hqF : q F
hF : r < μ F
⊢ ∃ K ⊆ U, p K ∧ r < μ K
state_after: case intro.intro.intro.intro.intro.intro
α : Type u_1
m : MeasurableSpace α
μ : Measure α
p q : Set α → Prop
U✝ : Set α
ε : ℝ≥0∞
q' : Set α → Prop
H : μ.InnerRegularWRT p q
H' : μ.InnerRegularWRT q q'
U : Set α
hU : q' U
r : ℝ≥0∞
hr : r < μ U
F : Set α
hFU : F ⊆ U
hqF : q F
hF : r < μ F
K : Set α
hKF : K ⊆ F
hpK : p K
hrK : r < μ K
⊢ ∃ K ⊆ U, p K ∧ r < μ K

tactic: exact ⟨K, hKF.trans hFU, hpK, hrK⟩
state_before: case intro.intro.intro.intro.intro.intro
α : Type u_1
m : MeasurableSpace α
μ : Measure α
p q : Set α → Prop
U✝ : Set α
ε : ℝ≥0∞
q' : Set α → Prop
H : μ.InnerRegularWRT p q
H' : μ.InnerRegularWRT q q'
U : Set α
hU : q' U
r : ℝ≥0∞
hr : r < μ U
F : Set α
hFU : F ⊆ U
hqF : q F
hF : r < μ F
K : Set α
hKF : K ⊆ F
hpK : p K
hrK : r < μ K
⊢ ∃ K ⊆ U, p K ∧ r < μ K
state_after: no goals
Theorem: Real.fderiv_fourierChar_neg_bilinear_left_apply
File: Mathlib/Analysis/Fourier/FourierTransformDeriv.lean

tactic: simp only [(hasFDerivAt_fourierChar_neg_bilinear_left L v w).fderiv, neg_mul,
  ContinuousLinearMap.coe_smul', ContinuousLinearMap.coe_comp', Pi.smul_apply,
  Function.comp_apply, ContinuousLinearMap.flip_apply, ofRealCLM_apply, smul_eq_mul, neg_inj]
state_before: V : Type u_1
W : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : NormedSpace ℝ V
inst✝¹ : NormedAddCommGroup W
inst✝ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
v y : V
w : W
⊢ (fderiv ℝ (fun v => ↑(𝐞 (-(L v) w))) v) y = -2 * ↑π * I * ↑((L y) w) * ↑(𝐞 (-(L v) w))
state_after: V : Type u_1
W : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : NormedSpace ℝ V
inst✝¹ : NormedAddCommGroup W
inst✝ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
v y : V
w : W
⊢ 2 * ↑π * I * ↑(𝐞 (-(L v) w)) * ↑((L y) w) = 2 * ↑π * I * ↑((L y) w) * ↑(𝐞 (-(L v) w))

tactic: ring
state_before: V : Type u_1
W : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : NormedSpace ℝ V
inst✝¹ : NormedAddCommGroup W
inst✝ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
v y : V
w : W
⊢ 2 * ↑π * I * ↑(𝐞 (-(L v) w)) * ↑((L y) w) = 2 * ↑π * I * ↑((L y) w) * ↑(𝐞 (-(L v) w))
state_after: no goals
Theorem: PFun.coe_comp
File: Mathlib/Data/PFun.lean

tactic: simp only [coe_val, comp_apply, Function.comp, Part.bind_some]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ι : Type u_6
f✝ : α →. β
g : β → γ
f : α → β
x✝¹ : α
x✝ : γ
⊢ x✝ ∈ ↑(g ∘ f) x✝¹ ↔ x✝ ∈ (↑g).comp (↑f) x✝¹
state_after: no goals
Theorem: ExteriorAlgebra.toTrivSqZeroExt_comp_map
File: Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean

tactic: apply hom_ext
state_before: R : Type u1
inst✝¹² : CommRing R
M : Type u2
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Module R M
A : Type u_1
inst✝⁹ : Semiring A
inst✝⁸ : Algebra R A
N : Type u4
N' : Type u5
inst✝⁷ : AddCommGroup N
inst✝⁶ : Module R N
inst✝⁵ : AddCommGroup N'
inst✝⁴ : Module R N'
inst✝³ : Module Rᵐᵒᵖ M
inst✝² : IsCentralScalar R M
inst✝¹ : Module Rᵐᵒᵖ N
inst✝ : IsCentralScalar R N
f : M →ₗ[R] N
⊢ toTrivSqZeroExt.comp (map f) = (TrivSqZeroExt.map f).comp toTrivSqZeroExt
state_after: case h
R : Type u1
inst✝¹² : CommRing R
M : Type u2
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Module R M
A : Type u_1
inst✝⁹ : Semiring A
inst✝⁸ : Algebra R A
N : Type u4
N' : Type u5
inst✝⁷ : AddCommGroup N
inst✝⁶ : Module R N
inst✝⁵ : AddCommGroup N'
inst✝⁴ : Module R N'
inst✝³ : Module Rᵐᵒᵖ M
inst✝² : IsCentralScalar R M
inst✝¹ : Module Rᵐᵒᵖ N
inst✝ : IsCentralScalar R N
f : M →ₗ[R] N
⊢ (toTrivSqZeroExt.comp (map f)).toLinearMap ∘ₗ ι R = ((TrivSqZeroExt.map f).comp toTrivSqZeroExt).toLinearMap ∘ₗ ι R

tactic: apply LinearMap.ext
state_before: case h
R : Type u1
inst✝¹² : CommRing R
M : Type u2
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Module R M
A : Type u_1
inst✝⁹ : Semiring A
inst✝⁸ : Algebra R A
N : Type u4
N' : Type u5
inst✝⁷ : AddCommGroup N
inst✝⁶ : Module R N
inst✝⁵ : AddCommGroup N'
inst✝⁴ : Module R N'
inst✝³ : Module Rᵐᵒᵖ M
inst✝² : IsCentralScalar R M
inst✝¹ : Module Rᵐᵒᵖ N
inst✝ : IsCentralScalar R N
f : M →ₗ[R] N
⊢ (toTrivSqZeroExt.comp (map f)).toLinearMap ∘ₗ ι R = ((TrivSqZeroExt.map f).comp toTrivSqZeroExt).toLinearMap ∘ₗ ι R
state_after: case h.h
R : Type u1
inst✝¹² : CommRing R
M : Type u2
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Module R M
A : Type u_1
inst✝⁹ : Semiring A
inst✝⁸ : Algebra R A
N : Type u4
N' : Type u5
inst✝⁷ : AddCommGroup N
inst✝⁶ : Module R N
inst✝⁵ : AddCommGroup N'
inst✝⁴ : Module R N'
inst✝³ : Module Rᵐᵒᵖ M
inst✝² : IsCentralScalar R M
inst✝¹ : Module Rᵐᵒᵖ N
inst✝ : IsCentralScalar R N
f : M →ₗ[R] N
⊢ ∀ (x : M),
    ((toTrivSqZeroExt.comp (map f)).toLinearMap ∘ₗ ι R) x =
      (((TrivSqZeroExt.map f).comp toTrivSqZeroExt).toLinearMap ∘ₗ ι R) x

tactic: simp only [AlgHom.comp_toLinearMap, LinearMap.coe_comp, Function.comp_apply,
  AlgHom.toLinearMap_apply, map_apply_ι, toTrivSqZeroExt_ι, TrivSqZeroExt.map_inr, forall_const]
state_before: case h.h
R : Type u1
inst✝¹² : CommRing R
M : Type u2
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Module R M
A : Type u_1
inst✝⁹ : Semiring A
inst✝⁸ : Algebra R A
N : Type u4
N' : Type u5
inst✝⁷ : AddCommGroup N
inst✝⁶ : Module R N
inst✝⁵ : AddCommGroup N'
inst✝⁴ : Module R N'
inst✝³ : Module Rᵐᵒᵖ M
inst✝² : IsCentralScalar R M
inst✝¹ : Module Rᵐᵒᵖ N
inst✝ : IsCentralScalar R N
f : M →ₗ[R] N
⊢ ∀ (x : M),
    ((toTrivSqZeroExt.comp (map f)).toLinearMap ∘ₗ ι R) x =
      (((TrivSqZeroExt.map f).comp toTrivSqZeroExt).toLinearMap ∘ₗ ι R) x
state_after: no goals
Theorem: Ordinal.to_leftMoves_one_toPGame_symm
File: Mathlib/SetTheory/Game/Ordinal.lean

tactic: simp [eq_iff_true_of_subsingleton]
state_before: i : (toPGame 1).LeftMoves
⊢ toLeftMovesToPGame.symm i = ⟨0, ⋯⟩
state_after: no goals
Theorem: Set.zero_mem_smul_set_iff
File: Mathlib/Data/Set/Pointwise/SMul.lean

tactic: refine ⟨?_, zero_mem_smul_set⟩
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝³ : Zero β
inst✝² : SMulZeroClass α β
s : Set α
t : Set β
a : α
inst✝¹ : Zero α
inst✝ : NoZeroSMulDivisors α β
ha : a ≠ 0
⊢ 0 ∈ a • t ↔ 0 ∈ t
state_after: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝³ : Zero β
inst✝² : SMulZeroClass α β
s : Set α
t : Set β
a : α
inst✝¹ : Zero α
inst✝ : NoZeroSMulDivisors α β
ha : a ≠ 0
⊢ 0 ∈ a • t → 0 ∈ t

tactic: rintro ⟨b, hb, h⟩
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝³ : Zero β
inst✝² : SMulZeroClass α β
s : Set α
t : Set β
a : α
inst✝¹ : Zero α
inst✝ : NoZeroSMulDivisors α β
ha : a ≠ 0
⊢ 0 ∈ a • t → 0 ∈ t
state_after: case intro.intro
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝³ : Zero β
inst✝² : SMulZeroClass α β
s : Set α
t : Set β
a : α
inst✝¹ : Zero α
inst✝ : NoZeroSMulDivisors α β
ha : a ≠ 0
b : β
hb : b ∈ t
h : (fun x => a • x) b = 0
⊢ 0 ∈ t

tactic: rwa [(eq_zero_or_eq_zero_of_smul_eq_zero h).resolve_left ha] at hb
state_before: case intro.intro
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝³ : Zero β
inst✝² : SMulZeroClass α β
s : Set α
t : Set β
a : α
inst✝¹ : Zero α
inst✝ : NoZeroSMulDivisors α β
ha : a ≠ 0
b : β
hb : b ∈ t
h : (fun x => a • x) b = 0
⊢ 0 ∈ t
state_after: no goals
Theorem: Matroid.restrictSubtype_indep_iff
File: Mathlib/Data/Matroid/Map.lean

tactic: simp [restrictSubtype, Subtype.val_injective.injOn]
state_before: α : Type u_1
β : Type u_2
f : α → β
E✝ I✝¹ s : Set α
M✝ : Matroid α
N : Matroid β
E X I✝ : Set α
M : Matroid α
I : Set ↑X
⊢ (M.restrictSubtype X).Indep I ↔ M.Indep ↑I
state_after: no goals
Theorem: MeasureTheory.meas_ge_le_lintegral_div
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: rw [mul_comm]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
hf : AEMeasurable f μ
ε : ℝ≥0∞
hε : ε ≠ 0
hε' : ε ≠ ⊤
⊢ μ {x | ε ≤ f x} * ε ≤ ∫⁻ (a : α), f a ∂μ
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
hf : AEMeasurable f μ
ε : ℝ≥0∞
hε : ε ≠ 0
hε' : ε ≠ ⊤
⊢ ε * μ {x | ε ≤ f x} ≤ ∫⁻ (a : α), f a ∂μ

tactic: exact mul_meas_ge_le_lintegral₀ hf ε
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
hf : AEMeasurable f μ
ε : ℝ≥0∞
hε : ε ≠ 0
hε' : ε ≠ ⊤
⊢ ε * μ {x | ε ≤ f x} ≤ ∫⁻ (a : α), f a ∂μ
state_after: no goals
Theorem: cfc_eval_X
File: Mathlib/Topology/ContinuousFunction/FunctionalCalculus.lean

tactic: simpa using cfc_id R a
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝⁹ : CommSemiring R
inst✝⁸ : StarRing R
inst✝⁷ : MetricSpace R
inst✝⁶ : TopologicalSemiring R
inst✝⁵ : ContinuousStar R
inst✝⁴ : TopologicalSpace A
inst✝³ : Ring A
inst✝² : StarRing A
inst✝¹ : Algebra R A
inst✝ : ContinuousFunctionalCalculus R p
f g : R → R
a : A
ha✝ : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
ha : autoParam (p a) _auto✝
⊢ cfc (fun a => eval a X) a = a
state_after: no goals
Theorem: UniqueFactorizationMonoid.induction_on_prime
File: Mathlib/RingTheory/UniqueFactorizationDomain.lean

tactic: simp_rw [← UniqueFactorizationMonoid.irreducible_iff_prime] at h₃
state_before: α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : UniqueFactorizationMonoid α
P : α → Prop
a : α
h₁ : P 0
h₂ : ∀ (x : α), IsUnit x → P x
h₃ : ∀ (a p : α), a ≠ 0 → Prime p → P a → P (p * a)
⊢ P a
state_after: α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : UniqueFactorizationMonoid α
P : α → Prop
a : α
h₁ : P 0
h₂ : ∀ (x : α), IsUnit x → P x
h₃ : ∀ (a p : α), a ≠ 0 → Irreducible p → P a → P (p * a)
⊢ P a

tactic: exact WfDvdMonoid.induction_on_irreducible a h₁ h₂ h₃
state_before: α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : UniqueFactorizationMonoid α
P : α → Prop
a : α
h₁ : P 0
h₂ : ∀ (x : α), IsUnit x → P x
h₃ : ∀ (a p : α), a ≠ 0 → Irreducible p → P a → P (p * a)
⊢ P a
state_after: no goals
Theorem: legendreSym.eq_one_of_sq_sub_mul_sq_eq_zero'
File: Mathlib/NumberTheory/LegendreSymbol/Basic.lean

tactic: haveI hy : y ≠ 0 := by
  rintro rfl
  rw [zero_pow two_ne_zero, mul_zero, sub_zero, sq_eq_zero_iff] at hxy
  exact hx hxy
state_before: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ℤ
ha : ↑a ≠ 0
x y : ZMod p
hx : x ≠ 0
hxy : x ^ 2 - ↑a * y ^ 2 = 0
⊢ legendreSym p a = 1
state_after: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ℤ
ha : ↑a ≠ 0
x y : ZMod p
hx : x ≠ 0
hxy : x ^ 2 - ↑a * y ^ 2 = 0
hy : y ≠ 0
⊢ legendreSym p a = 1

tactic: exact eq_one_of_sq_sub_mul_sq_eq_zero ha hy hxy
state_before: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ℤ
ha : ↑a ≠ 0
x y : ZMod p
hx : x ≠ 0
hxy : x ^ 2 - ↑a * y ^ 2 = 0
hy : y ≠ 0
⊢ legendreSym p a = 1
state_after: no goals

tactic: rintro rfl
state_before: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ℤ
ha : ↑a ≠ 0
x y : ZMod p
hx : x ≠ 0
hxy : x ^ 2 - ↑a * y ^ 2 = 0
⊢ y ≠ 0
state_after: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ℤ
ha : ↑a ≠ 0
x : ZMod p
hx : x ≠ 0
hxy : x ^ 2 - ↑a * 0 ^ 2 = 0
⊢ False

tactic: rw [zero_pow two_ne_zero, mul_zero, sub_zero, sq_eq_zero_iff] at hxy
state_before: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ℤ
ha : ↑a ≠ 0
x : ZMod p
hx : x ≠ 0
hxy : x ^ 2 - ↑a * 0 ^ 2 = 0
⊢ False
state_after: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ℤ
ha : ↑a ≠ 0
x : ZMod p
hx : x ≠ 0
hxy : x = 0
⊢ False

tactic: exact hx hxy
state_before: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ℤ
ha : ↑a ≠ 0
x : ZMod p
hx : x ≠ 0
hxy : x = 0
⊢ False
state_after: no goals
Theorem: Nat.factorization_eq_zero_iff
File: Mathlib/Data/Nat/Factorization/Basic.lean

tactic: simp_rw [← not_mem_support_iff, support_factorization, mem_primeFactors, not_and_or, not_ne_iff]
state_before: a b m n✝ p✝ n p : ℕ
⊢ n.factorization p = 0 ↔ ¬Prime p ∨ ¬p ∣ n ∨ n = 0
state_after: no goals