1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: LinearIsometryEquiv.piLpCongrLeft_symm
File: Mathlib/Analysis/NormedSpace/PiLp.lean

tactic: simp only [LinearIsometryEquiv.piLpCongrLeft, LinearIsometryEquiv.symm,
  LinearIsometryEquiv.coe_mk]
state_before: p : ℝ≥0∞
𝕜 : Type u_1
ι : Type u_2
α : ι → Type u_3
β : ι → Type u_4
inst✝⁹ : Fact (1 ≤ p)
inst✝⁸ : Fintype ι
inst✝⁷ : Semiring 𝕜
inst✝⁶ : (i : ι) → SeminormedAddCommGroup (α i)
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (β i)
inst✝⁴ : (i : ι) → Module 𝕜 (α i)
inst✝³ : (i : ι) → Module 𝕜 (β i)
c : 𝕜
ι' : Type u_5
inst✝² : Fintype ι'
E : Type u_6
inst✝¹ : SeminormedAddCommGroup E
inst✝ : Module 𝕜 E
e : ι ≃ ι'
z : PiLp p fun x => E
⊢ (LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e).symm z = (LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e.symm) z
state_after: p : ℝ≥0∞
𝕜 : Type u_1
ι : Type u_2
α : ι → Type u_3
β : ι → Type u_4
inst✝⁹ : Fact (1 ≤ p)
inst✝⁸ : Fintype ι
inst✝⁷ : Semiring 𝕜
inst✝⁶ : (i : ι) → SeminormedAddCommGroup (α i)
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (β i)
inst✝⁴ : (i : ι) → Module 𝕜 (α i)
inst✝³ : (i : ι) → Module 𝕜 (β i)
c : 𝕜
ι' : Type u_5
inst✝² : Fintype ι'
E : Type u_6
inst✝¹ : SeminormedAddCommGroup E
inst✝ : Module 𝕜 E
e : ι ≃ ι'
z : PiLp p fun x => E
⊢ (LinearEquiv.piCongrLeft' 𝕜 (fun x => E) e).symm z = (LinearEquiv.piCongrLeft' 𝕜 (fun x => E) e.symm) z

tactic: ext
state_before: p : ℝ≥0∞
𝕜 : Type u_1
ι : Type u_2
α : ι → Type u_3
β : ι → Type u_4
inst✝⁹ : Fact (1 ≤ p)
inst✝⁸ : Fintype ι
inst✝⁷ : Semiring 𝕜
inst✝⁶ : (i : ι) → SeminormedAddCommGroup (α i)
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (β i)
inst✝⁴ : (i : ι) → Module 𝕜 (α i)
inst✝³ : (i : ι) → Module 𝕜 (β i)
c : 𝕜
ι' : Type u_5
inst✝² : Fintype ι'
E : Type u_6
inst✝¹ : SeminormedAddCommGroup E
inst✝ : Module 𝕜 E
e : ι ≃ ι'
z : PiLp p fun x => E
⊢ (LinearEquiv.piCongrLeft' 𝕜 (fun x => E) e).symm z = (LinearEquiv.piCongrLeft' 𝕜 (fun x => E) e.symm) z
state_after: case h
p : ℝ≥0∞
𝕜 : Type u_1
ι : Type u_2
α : ι → Type u_3
β : ι → Type u_4
inst✝⁹ : Fact (1 ≤ p)
inst✝⁸ : Fintype ι
inst✝⁷ : Semiring 𝕜
inst✝⁶ : (i : ι) → SeminormedAddCommGroup (α i)
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (β i)
inst✝⁴ : (i : ι) → Module 𝕜 (α i)
inst✝³ : (i : ι) → Module 𝕜 (β i)
c : 𝕜
ι' : Type u_5
inst✝² : Fintype ι'
E : Type u_6
inst✝¹ : SeminormedAddCommGroup E
inst✝ : Module 𝕜 E
e : ι ≃ ι'
z : PiLp p fun x => E
x✝ : ι
⊢ (LinearEquiv.piCongrLeft' 𝕜 (fun x => E) e).symm z x✝ = (LinearEquiv.piCongrLeft' 𝕜 (fun x => E) e.symm) z x✝

tactic: simp only [LinearEquiv.piCongrLeft'_symm_apply, eq_rec_constant,
  LinearEquiv.piCongrLeft'_apply, Equiv.symm_symm_apply]
state_before: case h
p : ℝ≥0∞
𝕜 : Type u_1
ι : Type u_2
α : ι → Type u_3
β : ι → Type u_4
inst✝⁹ : Fact (1 ≤ p)
inst✝⁸ : Fintype ι
inst✝⁷ : Semiring 𝕜
inst✝⁶ : (i : ι) → SeminormedAddCommGroup (α i)
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (β i)
inst✝⁴ : (i : ι) → Module 𝕜 (α i)
inst✝³ : (i : ι) → Module 𝕜 (β i)
c : 𝕜
ι' : Type u_5
inst✝² : Fintype ι'
E : Type u_6
inst✝¹ : SeminormedAddCommGroup E
inst✝ : Module 𝕜 E
e : ι ≃ ι'
z : PiLp p fun x => E
x✝ : ι
⊢ (LinearEquiv.piCongrLeft' 𝕜 (fun x => E) e).symm z x✝ = (LinearEquiv.piCongrLeft' 𝕜 (fun x => E) e.symm) z x✝
state_after: no goals
Theorem: CategoryTheory.Subgroupoid.full_mono
File: Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean

tactic: rw [le_iff]
state_before: C : Type u
inst✝ : Groupoid C
S : Subgroupoid C
D✝ D E : Set C
h : D ≤ E
⊢ full D ≤ full E
state_after: C : Type u
inst✝ : Groupoid C
S : Subgroupoid C
D✝ D E : Set C
h : D ≤ E
⊢ ∀ {c d : C}, (full D).arrows c d ⊆ (full E).arrows c d

tactic: rintro c d f
state_before: C : Type u
inst✝ : Groupoid C
S : Subgroupoid C
D✝ D E : Set C
h : D ≤ E
⊢ ∀ {c d : C}, (full D).arrows c d ⊆ (full E).arrows c d
state_after: C : Type u
inst✝ : Groupoid C
S : Subgroupoid C
D✝ D E : Set C
h : D ≤ E
c d : C
f : c ⟶ d
⊢ f ∈ (full D).arrows c d → f ∈ (full E).arrows c d

tactic: simp only [mem_full_iff]
state_before: C : Type u
inst✝ : Groupoid C
S : Subgroupoid C
D✝ D E : Set C
h : D ≤ E
c d : C
f : c ⟶ d
⊢ f ∈ (full D).arrows c d → f ∈ (full E).arrows c d
state_after: C : Type u
inst✝ : Groupoid C
S : Subgroupoid C
D✝ D E : Set C
h : D ≤ E
c d : C
f : c ⟶ d
⊢ c ∈ D ∧ d ∈ D → c ∈ E ∧ d ∈ E

tactic: exact fun ⟨hc, hd⟩ => ⟨h hc, h hd⟩
state_before: C : Type u
inst✝ : Groupoid C
S : Subgroupoid C
D✝ D E : Set C
h : D ≤ E
c d : C
f : c ⟶ d
⊢ c ∈ D ∧ d ∈ D → c ∈ E ∧ d ∈ E
state_after: no goals
Theorem: eVariationOn.Icc_add_Icc
File: Mathlib/Analysis/BoundedVariation.lean

tactic: have A : IsGreatest (s ∩ Icc a b) b :=
  ⟨⟨hb, hab, le_rfl⟩, inter_subset_right.trans Icc_subset_Iic_self⟩
state_before: α : Type u_1
inst✝¹ : LinearOrder α
E : Type u_2
inst✝ : PseudoEMetricSpace E
f : α → E
s : Set α
a b c : α
hab : a ≤ b
hbc : b ≤ c
hb : b ∈ s
⊢ eVariationOn f (s ∩ Icc a b) + eVariationOn f (s ∩ Icc b c) = eVariationOn f (s ∩ Icc a c)
state_after: α : Type u_1
inst✝¹ : LinearOrder α
E : Type u_2
inst✝ : PseudoEMetricSpace E
f : α → E
s : Set α
a b c : α
hab : a ≤ b
hbc : b ≤ c
hb : b ∈ s
A : IsGreatest (s ∩ Icc a b) b
⊢ eVariationOn f (s ∩ Icc a b) + eVariationOn f (s ∩ Icc b c) = eVariationOn f (s ∩ Icc a c)

tactic: have B : IsLeast (s ∩ Icc b c) b :=
  ⟨⟨hb, le_rfl, hbc⟩, inter_subset_right.trans Icc_subset_Ici_self⟩
state_before: α : Type u_1
inst✝¹ : LinearOrder α
E : Type u_2
inst✝ : PseudoEMetricSpace E
f : α → E
s : Set α
a b c : α
hab : a ≤ b
hbc : b ≤ c
hb : b ∈ s
A : IsGreatest (s ∩ Icc a b) b
⊢ eVariationOn f (s ∩ Icc a b) + eVariationOn f (s ∩ Icc b c) = eVariationOn f (s ∩ Icc a c)
state_after: α : Type u_1
inst✝¹ : LinearOrder α
E : Type u_2
inst✝ : PseudoEMetricSpace E
f : α → E
s : Set α
a b c : α
hab : a ≤ b
hbc : b ≤ c
hb : b ∈ s
A : IsGreatest (s ∩ Icc a b) b
B : IsLeast (s ∩ Icc b c) b
⊢ eVariationOn f (s ∩ Icc a b) + eVariationOn f (s ∩ Icc b c) = eVariationOn f (s ∩ Icc a c)

tactic: rw [← eVariationOn.union f A B, ← inter_union_distrib_left, Icc_union_Icc_eq_Icc hab hbc]
state_before: α : Type u_1
inst✝¹ : LinearOrder α
E : Type u_2
inst✝ : PseudoEMetricSpace E
f : α → E
s : Set α
a b c : α
hab : a ≤ b
hbc : b ≤ c
hb : b ∈ s
A : IsGreatest (s ∩ Icc a b) b
B : IsLeast (s ∩ Icc b c) b
⊢ eVariationOn f (s ∩ Icc a b) + eVariationOn f (s ∩ Icc b c) = eVariationOn f (s ∩ Icc a c)
state_after: no goals
Theorem: LieModule.zero_lt_finrank_weightSpace
File: Mathlib/Algebra/Lie/Weights/Linear.lean

tactic: rwa [← LieSubmodule.nontrivial_iff_ne_bot, ← rank_pos_iff_nontrivial (R := R), ← finrank_eq_rank,
  Nat.cast_pos] at hχ
state_before: R : Type u_1
L : Type u_2
M : Type u_3
inst✝¹¹ : CommRing R
inst✝¹⁰ : LieRing L
inst✝⁹ : LieAlgebra R L
inst✝⁸ : AddCommGroup M
inst✝⁷ : Module R M
inst✝⁶ : LieRingModule L M
inst✝⁵ : LieModule R L M
inst✝⁴ : IsDomain R
inst✝³ : IsPrincipalIdealRing R
inst✝² : Module.Free R M
inst✝¹ : Module.Finite R M
inst✝ : LieAlgebra.IsNilpotent R L
χ : L → R
hχ : weightSpace M χ ≠ ⊥
⊢ 0 < finrank R ↥↑(weightSpace M χ)
state_after: no goals
Theorem: CategoryTheory.Endofunctor.Coalgebra.iso_of_iso
File: Mathlib/CategoryTheory/Endofunctor/Algebra.lean

tactic: rw [IsIso.eq_inv_comp f.1, ← Category.assoc, ← f.h, Category.assoc]
state_before: C : Type u
inst✝¹ : Category.{v, u} C
F : C ⥤ C
V V₀ V₁ V₂ : Coalgebra F
f✝ : V₀ ⟶ V₁
g : V₁ ⟶ V₂
f : V₀ ⟶ V₁
inst✝ : IsIso f.f
⊢ V₁.str ≫ F.map (inv f.f) = inv f.f ≫ V₀.str
state_after: C : Type u
inst✝¹ : Category.{v, u} C
F : C ⥤ C
V V₀ V₁ V₂ : Coalgebra F
f✝ : V₀ ⟶ V₁
g : V₁ ⟶ V₂
f : V₀ ⟶ V₁
inst✝ : IsIso f.f
⊢ V₀.str ≫ F.map f.f ≫ F.map (inv f.f) = V₀.str

tactic: simp
state_before: C : Type u
inst✝¹ : Category.{v, u} C
F : C ⥤ C
V V₀ V₁ V₂ : Coalgebra F
f✝ : V₀ ⟶ V₁
g : V₁ ⟶ V₂
f : V₀ ⟶ V₁
inst✝ : IsIso f.f
⊢ V₀.str ≫ F.map f.f ≫ F.map (inv f.f) = V₀.str
state_after: no goals

tactic: aesop_cat
state_before: C : Type u
inst✝¹ : Category.{v, u} C
F : C ⥤ C
V V₀ V₁ V₂ : Coalgebra F
f✝ : V₀ ⟶ V₁
g : V₁ ⟶ V₂
f : V₀ ⟶ V₁
inst✝ : IsIso f.f
⊢ f ≫ { f := inv f.f, h := ⋯ } = 𝟙 V₀
state_after: no goals

tactic: aesop_cat
state_before: C : Type u
inst✝¹ : Category.{v, u} C
F : C ⥤ C
V V₀ V₁ V₂ : Coalgebra F
f✝ : V₀ ⟶ V₁
g : V₁ ⟶ V₂
f : V₀ ⟶ V₁
inst✝ : IsIso f.f
⊢ { f := inv f.f, h := ⋯ } ≫ f = 𝟙 V₁
state_after: no goals
Theorem: Representation.smul_ofModule_asModule
File: Mathlib/RepresentationTheory/Basic.lean

tactic: dsimp
state_before: k : Type u_1
G : Type u_2
V : Type u_3
inst✝⁵ : CommSemiring k
inst✝⁴ : Monoid G
inst✝³ : AddCommMonoid V
inst✝² : Module k V
ρ : Representation k G V
M : Type u_4
inst✝¹ : AddCommMonoid M
inst✝ : Module (MonoidAlgebra k G) M
r : MonoidAlgebra k G
m : (ofModule M).asModule
⊢ (RestrictScalars.addEquiv k (MonoidAlgebra k G) M) ((ofModule M).asModuleEquiv (r • m)) =
    r • (RestrictScalars.addEquiv k (MonoidAlgebra k G) M) ((ofModule M).asModuleEquiv m)
state_after: k : Type u_1
G : Type u_2
V : Type u_3
inst✝⁵ : CommSemiring k
inst✝⁴ : Monoid G
inst✝³ : AddCommMonoid V
inst✝² : Module k V
ρ : Representation k G V
M : Type u_4
inst✝¹ : AddCommMonoid M
inst✝ : Module (MonoidAlgebra k G) M
r : MonoidAlgebra k G
m : (ofModule M).asModule
⊢ (RestrictScalars.addEquiv k (MonoidAlgebra k G) M) (((ofModule M).asAlgebraHom r) ((ofModule M).asModuleEquiv m)) =
    r • (RestrictScalars.addEquiv k (MonoidAlgebra k G) M) ((ofModule M).asModuleEquiv m)

tactic: simp only [AddEquiv.apply_symm_apply, ofModule_asAlgebraHom_apply_apply]
state_before: k : Type u_1
G : Type u_2
V : Type u_3
inst✝⁵ : CommSemiring k
inst✝⁴ : Monoid G
inst✝³ : AddCommMonoid V
inst✝² : Module k V
ρ : Representation k G V
M : Type u_4
inst✝¹ : AddCommMonoid M
inst✝ : Module (MonoidAlgebra k G) M
r : MonoidAlgebra k G
m : (ofModule M).asModule
⊢ (RestrictScalars.addEquiv k (MonoidAlgebra k G) M) (((ofModule M).asAlgebraHom r) ((ofModule M).asModuleEquiv m)) =
    r • (RestrictScalars.addEquiv k (MonoidAlgebra k G) M) ((ofModule M).asModuleEquiv m)
state_after: no goals
Theorem: List.comp_traverse
File: Mathlib/Control/Traversable/Instances.lean

tactic: induction x <;> simp! [*, functor_norm] <;> rfl
state_before: F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : Applicative G
inst✝¹ : LawfulApplicative F
inst✝ : LawfulApplicative G
α : Type u_1
β γ : Type u
f : β → F γ
g : α → G β
x : List α
⊢ List.traverse (Comp.mk ∘ (fun x => f <$> x) ∘ g) x = Comp.mk (List.traverse f <$> List.traverse g x)
state_after: no goals
Theorem: ArithmeticFunction.abscissaOfAbsConv_moebius
File: Mathlib/NumberTheory/LSeries/Dirichlet.lean

tactic: simpa only [abscissaOfAbsConv, LSeriesSummable_moebius_iff, ofReal_re, Set.Ioi_def,
  EReal.image_coe_Ioi, EReal.coe_one] using csInf_Ioo <| EReal.coe_lt_top _
state_before: ⊢ (abscissaOfAbsConv fun n => ↑(μ n)) = 1
state_after: no goals
Theorem: Cardinal.cantor'
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: rw [← succ_le_iff, (by norm_cast : succ (1 : Cardinal) = 2)] at hb
state_before: α β : Type u
a b : Cardinal.{u_1}
hb : 1 < b
⊢ a < b ^ a
state_after: α β : Type u
a b : Cardinal.{u_1}
hb : 2 ≤ b
⊢ a < b ^ a

tactic: exact (cantor a).trans_le (power_le_power_right hb)
state_before: α β : Type u
a b : Cardinal.{u_1}
hb : 2 ≤ b
⊢ a < b ^ a
state_after: no goals

tactic: norm_cast
state_before: α β : Type u
a b : Cardinal.{u_1}
hb : succ 1 ≤ b
⊢ succ 1 = 2
state_after: no goals
Theorem: eventuallyEq_prod
File: Mathlib/Topology/Algebra/Monoid.lean

tactic: replace hs : ∀ᶠ x in l, ∀ i ∈ s, f i x = g i x := by rwa [eventually_all_finset]
state_before: ι : Type u_1
α : Type u_2
M✝ : Type u_3
N : Type u_4
X✝ : Type u_5
inst✝⁴ : TopologicalSpace X✝
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
X : Type u_6
M : Type u_7
inst✝ : CommMonoid M
s : Finset ι
l : Filter X
f g : ι → X → M
hs : ∀ i ∈ s, f i =ᶠ[l] g i
⊢ ∏ i ∈ s, f i =ᶠ[l] ∏ i ∈ s, g i
state_after: ι : Type u_1
α : Type u_2
M✝ : Type u_3
N : Type u_4
X✝ : Type u_5
inst✝⁴ : TopologicalSpace X✝
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
X : Type u_6
M : Type u_7
inst✝ : CommMonoid M
s : Finset ι
l : Filter X
f g : ι → X → M
hs : ∀ᶠ (x : X) in l, ∀ i ∈ s, f i x = g i x
⊢ ∏ i ∈ s, f i =ᶠ[l] ∏ i ∈ s, g i

tactic: filter_upwards [hs] with x hx
state_before: ι : Type u_1
α : Type u_2
M✝ : Type u_3
N : Type u_4
X✝ : Type u_5
inst✝⁴ : TopologicalSpace X✝
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
X : Type u_6
M : Type u_7
inst✝ : CommMonoid M
s : Finset ι
l : Filter X
f g : ι → X → M
hs : ∀ᶠ (x : X) in l, ∀ i ∈ s, f i x = g i x
⊢ ∏ i ∈ s, f i =ᶠ[l] ∏ i ∈ s, g i
state_after: case h
ι : Type u_1
α : Type u_2
M✝ : Type u_3
N : Type u_4
X✝ : Type u_5
inst✝⁴ : TopologicalSpace X✝
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
X : Type u_6
M : Type u_7
inst✝ : CommMonoid M
s : Finset ι
l : Filter X
f g : ι → X → M
hs : ∀ᶠ (x : X) in l, ∀ i ∈ s, f i x = g i x
x : X
hx : ∀ i ∈ s, f i x = g i x
⊢ (∏ i ∈ s, f i) x = (∏ i ∈ s, g i) x

tactic: simp only [Finset.prod_apply, Finset.prod_congr rfl hx]
state_before: case h
ι : Type u_1
α : Type u_2
M✝ : Type u_3
N : Type u_4
X✝ : Type u_5
inst✝⁴ : TopologicalSpace X✝
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
X : Type u_6
M : Type u_7
inst✝ : CommMonoid M
s : Finset ι
l : Filter X
f g : ι → X → M
hs : ∀ᶠ (x : X) in l, ∀ i ∈ s, f i x = g i x
x : X
hx : ∀ i ∈ s, f i x = g i x
⊢ (∏ i ∈ s, f i) x = (∏ i ∈ s, g i) x
state_after: no goals

tactic: rwa [eventually_all_finset]
state_before: ι : Type u_1
α : Type u_2
M✝ : Type u_3
N : Type u_4
X✝ : Type u_5
inst✝⁴ : TopologicalSpace X✝
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
X : Type u_6
M : Type u_7
inst✝ : CommMonoid M
s : Finset ι
l : Filter X
f g : ι → X → M
hs : ∀ i ∈ s, f i =ᶠ[l] g i
⊢ ∀ᶠ (x : X) in l, ∀ i ∈ s, f i x = g i x
state_after: no goals
Theorem: isEmpty_pprod
File: Mathlib/Logic/IsEmpty.lean

tactic: simp only [← not_nonempty_iff, nonempty_pprod, not_and_or]
state_before: α : Sort u_1
β : Sort u_2
γ : Sort u_3
⊢ IsEmpty (PProd α β) ↔ IsEmpty α ∨ IsEmpty β
state_after: no goals
Theorem: LinearMap.flip_injective_iff₁
File: Mathlib/LinearAlgebra/Dual.lean

tactic: rw [← dualMap_surjective_iff, ← (evalEquiv K V₁).toEquiv.surjective_comp]
state_before: K : Type uK
inst✝⁵ : Field K
V₁ : Type uV₁
V₂ : Type uV₂
inst✝⁴ : AddCommGroup V₁
inst✝³ : Module K V₁
inst✝² : AddCommGroup V₂
inst✝¹ : Module K V₂
B : V₁ →ₗ[K] V₂ →ₗ[K] K
inst✝ : FiniteDimensional K V₁
⊢ Injective ⇑B.flip ↔ Surjective ⇑B
state_after: K : Type uK
inst✝⁵ : Field K
V₁ : Type uV₁
V₂ : Type uV₂
inst✝⁴ : AddCommGroup V₁
inst✝³ : Module K V₁
inst✝² : AddCommGroup V₂
inst✝¹ : Module K V₂
B : V₁ →ₗ[K] V₂ →ₗ[K] K
inst✝ : FiniteDimensional K V₁
⊢ Surjective (⇑B.flip.dualMap ∘ ⇑(evalEquiv K V₁).toEquiv) ↔ Surjective ⇑B

tactic: rfl
state_before: K : Type uK
inst✝⁵ : Field K
V₁ : Type uV₁
V₂ : Type uV₂
inst✝⁴ : AddCommGroup V₁
inst✝³ : Module K V₁
inst✝² : AddCommGroup V₂
inst✝¹ : Module K V₂
B : V₁ →ₗ[K] V₂ →ₗ[K] K
inst✝ : FiniteDimensional K V₁
⊢ Surjective (⇑B.flip.dualMap ∘ ⇑(evalEquiv K V₁).toEquiv) ↔ Surjective ⇑B
state_after: no goals
Theorem: smul_lt_smul_iff_of_neg_left
File: Mathlib/Algebra/Order/Module/Defs.lean

tactic: rw [← neg_neg a, neg_smul, neg_smul (-a), neg_lt_neg_iff]
state_before: α : Type u_1
β : Type u_2
a a₁ a₂ : α
b b₁ b₂ : β
inst✝⁴ : OrderedRing α
inst✝³ : OrderedAddCommGroup β
inst✝² : Module α β
inst✝¹ : PosSMulStrictMono α β
inst✝ : PosSMulReflectLT α β
ha : a < 0
⊢ a • b₁ < a • b₂ ↔ b₂ < b₁
state_after: α : Type u_1
β : Type u_2
a a₁ a₂ : α
b b₁ b₂ : β
inst✝⁴ : OrderedRing α
inst✝³ : OrderedAddCommGroup β
inst✝² : Module α β
inst✝¹ : PosSMulStrictMono α β
inst✝ : PosSMulReflectLT α β
ha : a < 0
⊢ -a • b₂ < -a • b₁ ↔ b₂ < b₁

tactic: exact smul_lt_smul_iff_of_pos_left (neg_pos_of_neg ha)
state_before: α : Type u_1
β : Type u_2
a a₁ a₂ : α
b b₁ b₂ : β
inst✝⁴ : OrderedRing α
inst✝³ : OrderedAddCommGroup β
inst✝² : Module α β
inst✝¹ : PosSMulStrictMono α β
inst✝ : PosSMulReflectLT α β
ha : a < 0
⊢ -a • b₂ < -a • b₁ ↔ b₂ < b₁
state_after: no goals
Theorem: CategoryTheory.Injective.injective_iff_preservesEpimorphisms_preadditiveYoneda_obj
File: Mathlib/CategoryTheory/Preadditive/Yoneda/Injective.lean

tactic: rw [injective_iff_preservesEpimorphisms_yoneda_obj]
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
J : C
⊢ Injective J ↔ (preadditiveYoneda.obj J).PreservesEpimorphisms
state_after: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
J : C
⊢ (yoneda.obj J).PreservesEpimorphisms ↔ (preadditiveYoneda.obj J).PreservesEpimorphisms

tactic: refine
  ⟨fun h : (preadditiveYoneda.obj J ⋙ (forget AddCommGrp)).PreservesEpimorphisms => ?_, ?_⟩
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
J : C
⊢ (yoneda.obj J).PreservesEpimorphisms ↔ (preadditiveYoneda.obj J).PreservesEpimorphisms
state_after: case refine_1
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
J : C
h : (preadditiveYoneda.obj J ⋙ forget AddCommGrp).PreservesEpimorphisms
⊢ (preadditiveYoneda.obj J).PreservesEpimorphisms

case refine_2
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
J : C
⊢ (preadditiveYoneda.obj J).PreservesEpimorphisms → (yoneda.obj J).PreservesEpimorphisms

tactic: exact
  Functor.preservesEpimorphisms_of_preserves_of_reflects (preadditiveYoneda.obj J) (forget _)
state_before: case refine_1
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
J : C
h : (preadditiveYoneda.obj J ⋙ forget AddCommGrp).PreservesEpimorphisms
⊢ (preadditiveYoneda.obj J).PreservesEpimorphisms
state_after: no goals

tactic: intro
state_before: case refine_2
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
J : C
⊢ (preadditiveYoneda.obj J).PreservesEpimorphisms → (yoneda.obj J).PreservesEpimorphisms
state_after: case refine_2
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
J : C
a✝ : (preadditiveYoneda.obj J).PreservesEpimorphisms
⊢ (yoneda.obj J).PreservesEpimorphisms

tactic: exact (inferInstance : (preadditiveYoneda.obj J ⋙ forget _).PreservesEpimorphisms)
state_before: case refine_2
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
J : C
a✝ : (preadditiveYoneda.obj J).PreservesEpimorphisms
⊢ (yoneda.obj J).PreservesEpimorphisms
state_after: no goals
Theorem: Function.periodicOrbit_length
File: Mathlib/Dynamics/PeriodicPts.lean

tactic: rw [periodicOrbit, Cycle.length_coe, List.length_map, List.length_range]
state_before: α : Type u_1
β : Type u_2
f fa : α → α
fb : β → β
x y : α
m n : ℕ
⊢ (periodicOrbit f x).length = minimalPeriod f x
state_after: no goals
Theorem: Batteries.RBNode.mem_congr
File: .lake/packages/batteries/Batteries/Data/RBMap/Lemmas.lean

tactic: simp [Mem, TransCmp.cmp_congr_left' h]
state_before: α : Type u_1
cmp : α → α → Ordering
x y : α
inst✝ : TransCmp cmp
t : RBNode α
h : cmp x y = Ordering.eq
⊢ Mem cmp x t ↔ Mem cmp y t
state_after: no goals
Theorem: MeasureTheory.withDensityᵥ_smul_eq_withDensityᵥ_withDensity'
File: Mathlib/MeasureTheory/Measure/WithDensityVectorMeasure.lean

tactic: rw [← withDensity_congr_ae (coe_toNNReal_ae_eq hflt),
  ← withDensityᵥ_smul_eq_withDensityᵥ_withDensity hf.ennreal_toNNReal hfg]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
E : Type u_3
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f✝ g✝ : α → E
f : α → ℝ≥0∞
g : α → E
hf : AEMeasurable f μ
hflt : ∀ᵐ (x : α) ∂μ, f x < ⊤
hfg : Integrable (fun x => (f x).toReal • g x) μ
⊢ (μ.withDensityᵥ fun x => (f x).toReal • g x) = (μ.withDensity f).withDensityᵥ g
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
E : Type u_3
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f✝ g✝ : α → E
f : α → ℝ≥0∞
g : α → E
hf : AEMeasurable f μ
hflt : ∀ᵐ (x : α) ∂μ, f x < ⊤
hfg : Integrable (fun x => (f x).toReal • g x) μ
⊢ (μ.withDensityᵥ fun x => (f x).toReal • g x) = μ.withDensityᵥ ((fun x => (f x).toNNReal) • g)

tactic: rfl
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
E : Type u_3
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f✝ g✝ : α → E
f : α → ℝ≥0∞
g : α → E
hf : AEMeasurable f μ
hflt : ∀ᵐ (x : α) ∂μ, f x < ⊤
hfg : Integrable (fun x => (f x).toReal • g x) μ
⊢ (μ.withDensityᵥ fun x => (f x).toReal • g x) = μ.withDensityᵥ ((fun x => (f x).toNNReal) • g)
state_after: no goals
Theorem: Set.cons_mem_subchain_iff
File: Mathlib/Order/Height.lean

tactic: simp only [subchain, mem_setOf_eq, forall_mem_cons, chain'_cons', and_left_comm, and_comm,
  and_assoc]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : LT α
inst✝ : LT β
s t : Set α
l : List α
a : α
⊢ a :: l ∈ s.subchain ↔ a ∈ s ∧ l ∈ s.subchain ∧ ∀ b ∈ l.head?, a < b
state_after: no goals
Theorem: ProbabilityTheory.hasDerivAt_neg_exp_mul_exp
File: Mathlib/Probability/Distributions/Exponential.lean

tactic: convert (((hasDerivAt_id x).const_mul (-r)).exp.const_mul (-1)) using 1
state_before: r x : ℝ
⊢ HasDerivAt (fun a => -rexp (-(r * a))) (r * rexp (-(r * x))) x
state_after: case h.e'_6
r x : ℝ
⊢ (fun a => -rexp (-(r * a))) = fun y => -1 * rexp (-r * id y)

case h.e'_7
r x : ℝ
⊢ r * rexp (-(r * x)) = -1 * (rexp (-r * id x) * (-r * 1))

tactic: simp only [id_eq, neg_mul, mul_one, mul_neg, one_mul, neg_neg, mul_comm]
state_before: case h.e'_7
r x : ℝ
⊢ r * rexp (-(r * x)) = -1 * (rexp (-r * id x) * (-r * 1))
state_after: no goals

tactic: simp only [one_mul, id_eq, neg_mul]
state_before: case h.e'_6
r x : ℝ
⊢ (fun a => -rexp (-(r * a))) = fun y => -1 * rexp (-r * id y)
state_after: no goals
Theorem: Matrix.trace_blockDiagonal'
File: Mathlib/LinearAlgebra/Matrix/Trace.lean

tactic: simp [blockDiagonal', trace, Finset.sum_sigma']
state_before: ι : Type u_1
m✝ : Type u_2
n : Type u_3
p : Type u_4
α : Type u_5
R : Type u_6
S : Type u_7
inst✝⁵ : Fintype m✝
inst✝⁴ : Fintype n
inst✝³ : Fintype p
inst✝² : AddCommMonoid R
inst✝¹ : DecidableEq p
m : p → Type u_8
inst✝ : (i : p) → Fintype (m i)
M : (i : p) → Matrix (m i) (m i) R
⊢ (blockDiagonal' M).trace = ∑ i : p, (M i).trace
state_after: no goals
Theorem: NonUnitalSubsemiring.toSubsemiring_toNonUnitalSubsemiring
File: Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean

tactic: cases S
state_before: R : Type u_1
inst✝ : NonAssocSemiring R
S : NonUnitalSubsemiring R
h1 : 1 ∈ S
⊢ (S.toSubsemiring h1).toNonUnitalSubsemiring = S
state_after: case mk
R : Type u_1
inst✝ : NonAssocSemiring R
toAddSubmonoid✝ : AddSubmonoid R
mul_mem'✝ : ∀ {a b : R}, a ∈ toAddSubmonoid✝.carrier → b ∈ toAddSubmonoid✝.carrier → a * b ∈ toAddSubmonoid✝.carrier
h1 : 1 ∈ { toAddSubmonoid := toAddSubmonoid✝, mul_mem' := mul_mem'✝ }
⊢ ({ toAddSubmonoid := toAddSubmonoid✝, mul_mem' := mul_mem'✝ }.toSubsemiring h1).toNonUnitalSubsemiring =
    { toAddSubmonoid := toAddSubmonoid✝, mul_mem' := mul_mem'✝ }

tactic: rfl
state_before: case mk
R : Type u_1
inst✝ : NonAssocSemiring R
toAddSubmonoid✝ : AddSubmonoid R
mul_mem'✝ : ∀ {a b : R}, a ∈ toAddSubmonoid✝.carrier → b ∈ toAddSubmonoid✝.carrier → a * b ∈ toAddSubmonoid✝.carrier
h1 : 1 ∈ { toAddSubmonoid := toAddSubmonoid✝, mul_mem' := mul_mem'✝ }
⊢ ({ toAddSubmonoid := toAddSubmonoid✝, mul_mem' := mul_mem'✝ }.toSubsemiring h1).toNonUnitalSubsemiring =
    { toAddSubmonoid := toAddSubmonoid✝, mul_mem' := mul_mem'✝ }
state_after: no goals
Theorem: mem_own_rightCoset
File: Mathlib/GroupTheory/Coset.lean

tactic: simpa
state_before: α : Type u_1
inst✝ : Monoid α
s : Submonoid α
a : α
this : 1 * a ∈ op a • ↑s
⊢ a ∈ op a • ↑s
state_after: no goals
Theorem: NormedSpace.expSeries_apply_eq_div
File: Mathlib/Analysis/NormedSpace/Exponential.lean

tactic: rw [div_eq_mul_inv, ← (Nat.cast_commute n ! (x ^ n)).inv_left₀.eq, ← smul_eq_mul,
  expSeries_apply_eq, inv_natCast_smul_eq 𝕂 𝔸]
state_before: 𝕂 : Type u_1
𝔸 : Type u_2
inst✝⁴ : Field 𝕂
inst✝³ : DivisionRing 𝔸
inst✝² : Algebra 𝕂 𝔸
inst✝¹ : TopologicalSpace 𝔸
inst✝ : TopologicalRing 𝔸
x : 𝔸
n : ℕ
⊢ ((expSeries 𝕂 𝔸 n) fun x_1 => x) = x ^ n / ↑n !
state_after: no goals