ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: EllipticCurve.ofJ_1728_of_two_eq_zero
File: Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean

Proof steps:
state_before: R : Type u
inst✝² : CommRing R
E : EllipticCurve R
F : Type u
inst✝¹ : Field F
j : F
inst✝ : DecidableEq F
h2 : 2 = 0
⊢ ofJ 1728 = ofJ0 F
state_after: no goals
tactic: rw [ofJ, dif_pos <| by rw [show (1728 : F) = 2 * 864 by norm_num1, h2, zero_mul], dif_neg]
Theorem: sub_lt_sub_iff
File: Mathlib/Algebra/Order/Group/Unbundled/Basic.lean

Proof steps:
state_before: α : Type u
inst✝² : CommGroup α
inst✝¹ : LT α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x < x_1
a b c d : α
⊢ a / b < c / d ↔ a * d < c * b
state_after: no goals
tactic: simpa only [div_eq_mul_inv] using mul_inv_lt_mul_inv_iff'
Theorem: OrderIso.map_mem_minimals
File: Mathlib/Order/Minimal.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
r✝ r₁ r₂ : α → α → Prop
s✝¹ t✝ : Set α
a b x✝ : α
f✝ : α → β
r : α → α → Prop
s✝ : β → β → Prop
inst✝¹ : LE α
inst✝ : LE β
s : Set α
t : Set β
f : ↑s ≃o ↑t
x : α
hx : x ∈ minimals (fun x x_1 => x ≤ x_1) s
⊢ ↑(f ⟨x, ⋯⟩) ∈ minimals (fun x x_1 => x ≤ x_1) t
state_after: α : Type u_1
β : Type u_2
r✝ r₁ r₂ : α → α → Prop
s✝¹ t✝ : Set α
a b x✝ : α
f✝ : α → β
r : α → α → Prop
s✝ : β → β → Prop
inst✝¹ : LE α
inst✝ : LE β
s : Set α
t : Set β
f : ↑s ≃o ↑t
x : α
hx✝ : x ∈ minimals (fun x x_1 => x ≤ x_1) s
hx : x ∈ Subtype.val '' minimals (fun x x_1 => x ≤ x_1) univ
⊢ ↑(f ⟨x, ⋯⟩) ∈ minimals (fun x x_1 => x ≤ x_1) t
tactic: rw [← image_minimals_univ] at hx
state_before: α : Type u_1
β : Type u_2
r✝ r₁ r₂ : α → α → Prop
s✝¹ t✝ : Set α
a b x✝ : α
f✝ : α → β
r : α → α → Prop
s✝ : β → β → Prop
inst✝¹ : LE α
inst✝ : LE β
s : Set α
t : Set β
f : ↑s ≃o ↑t
x : α
hx✝ : x ∈ minimals (fun x x_1 => x ≤ x_1) s
hx : x ∈ Subtype.val '' minimals (fun x x_1 => x ≤ x_1) univ
⊢ ↑(f ⟨x, ⋯⟩) ∈ minimals (fun x x_1 => x ≤ x_1) t
state_after: case intro.intro
α : Type u_1
β : Type u_2
r✝ r₁ r₂ : α → α → Prop
s✝¹ t✝ : Set α
a b x✝ : α
f✝ : α → β
r : α → α → Prop
s✝ : β → β → Prop
inst✝¹ : LE α
inst✝ : LE β
s : Set α
t : Set β
f : ↑s ≃o ↑t
x : { x // x ∈ s }
h : x ∈ minimals (fun x x_1 => x ≤ x_1) univ
hx : ↑x ∈ minimals (fun x x_1 => x ≤ x_1) s
⊢ ↑(f ⟨↑x, ⋯⟩) ∈ minimals (fun x x_1 => x ≤ x_1) t
tactic: obtain ⟨x, h, rfl⟩ := hx
state_before: case intro.intro
α : Type u_1
β : Type u_2
r✝ r₁ r₂ : α → α → Prop
s✝¹ t✝ : Set α
a b x✝ : α
f✝ : α → β
r : α → α → Prop
s✝ : β → β → Prop
inst✝¹ : LE α
inst✝ : LE β
s : Set α
t : Set β
f : ↑s ≃o ↑t
x : { x // x ∈ s }
h : x ∈ minimals (fun x x_1 => x ≤ x_1) univ
hx : ↑x ∈ minimals (fun x x_1 => x ≤ x_1) s
⊢ ↑(f ⟨↑x, ⋯⟩) ∈ minimals (fun x x_1 => x ≤ x_1) t
state_after: case h.e'_5.h.e'_3
α : Type u_1
β : Type u_2
r✝ r₁ r₂ : α → α → Prop
s✝¹ t✝ : Set α
a b x✝ : α
f✝ : α → β
r : α → α → Prop
s✝ : β → β → Prop
inst✝¹ : LE α
inst✝ : LE β
s : Set α
t : Set β
f : ↑s ≃o ↑t
x : { x // x ∈ s }
h : x ∈ minimals (fun x x_1 => x ≤ x_1) univ
hx : ↑x ∈ minimals (fun x x_1 => x ≤ x_1) s
⊢ t = Subtype.val ∘ ⇑f '' univ
tactic: convert map_mem_minimals (f := Subtype.val ∘ f) (fun _ _ _ _ ↦ f.map_rel_iff.symm) h
state_before: case h.e'_5.h.e'_3
α : Type u_1
β : Type u_2
r✝ r₁ r₂ : α → α → Prop
s✝¹ t✝ : Set α
a b x✝ : α
f✝ : α → β
r : α → α → Prop
s✝ : β → β → Prop
inst✝¹ : LE α
inst✝ : LE β
s : Set α
t : Set β
f : ↑s ≃o ↑t
x : { x // x ∈ s }
h : x ∈ minimals (fun x x_1 => x ≤ x_1) univ
hx : ↑x ∈ minimals (fun x x_1 => x ≤ x_1) s
⊢ t = Subtype.val ∘ ⇑f '' univ
state_after: no goals
tactic: rw [image_comp, image_univ, f.range_eq, image_univ, Subtype.range_val]
Theorem: CategoryTheory.Functor.rightDerivedNatTrans_id
File: Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean

Proof steps:
state_before: C : Type u_5
C' : Type ?u.47162
D : Type u_1
D' : Type ?u.47168
H : Type u_3
H' : Type ?u.47174
inst✝⁹ : Category.{u_6, u_5} C
inst✝⁸ : Category.{?u.47182, ?u.47162} C'
inst✝⁷ : Category.{u_4, u_1} D
inst✝⁶ : Category.{?u.47190, ?u.47168} D'
inst✝⁵ : Category.{u_2, u_3} H
inst✝⁴ : Category.{?u.47198, ?u.47174} H'
RF RF' RF'' : D ⥤ H
F F' F'' : C ⥤ H
e : F ≅ F'
L : C ⥤ D
α : F ⟶ L ⋙ RF
α' : F' ⟶ L ⋙ RF'
α'' : F'' ⟶ L ⋙ RF''
α'₂ : F ⟶ L ⋙ RF'
W : MorphismProperty C
inst✝³ : L.IsLocalization W
inst✝² : RF.IsRightDerivedFunctor α W
inst✝¹ : RF'.IsRightDerivedFunctor α' W
inst✝ : RF''.IsRightDerivedFunctor α'' W
⊢ α ≫ whiskerLeft L (RF.rightDerivedNatTrans RF α α W (𝟙 F)) = α ≫ whiskerLeft L (𝟙 RF)
state_after: no goals
tactic: aesop_cat
Theorem: YoungDiagram.colLen_anti
File: Mathlib/Combinatorics/Young/YoungDiagram.lean

Proof steps:
state_before: μ : YoungDiagram
j1 j2 : ℕ
hj : j1 ≤ j2
⊢ μ.colLen j2 ≤ μ.colLen j1
state_after: no goals
tactic: convert μ.transpose.rowLen_anti j1 j2 hj using 1 <;> simp
Theorem: Filter.eventually_atBot_prod_self
File: Mathlib/Order/Filter/AtTopBot.lean

Proof steps:
state_before: ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : SemilatticeInf α
inst✝ : Nonempty α
p : α × α → Prop
⊢ (∀ᶠ (x : α × α) in atBot, p x) ↔ ∃ a, ∀ (k l : α), k ≤ a → l ≤ a → p (k, l)
state_after: no goals
tactic: simp [← prod_atBot_atBot_eq, (@atBot_basis α _ _).prod_self.eventually_iff]
Theorem: HomologicalComplex₂.total.mapAux.d₁_mapMap
File: Mathlib/Algebra/Homology/TotalComplex.lean

Proof steps:
state_before: C : Type u_1
inst✝⁵ : Category.{u_5, u_1} C
inst✝⁴ : Preadditive C
I₁ : Type u_2
I₂ : Type u_3
I₁₂ : Type u_4
c₁ : ComplexShape I₁
c₂ : ComplexShape I₂
K L M : HomologicalComplex₂ C c₁ c₂
φ : K ⟶ L
e : K ≅ L
ψ : L ⟶ M
c₁₂ : ComplexShape I₁₂
inst✝³ : DecidableEq I₁₂
inst✝² : TotalComplexShape c₁ c₂ c₁₂
inst✝¹ : K.HasTotal c₁₂
inst✝ : L.HasTotal c₁₂
i₁ : I₁
i₂ : I₂
i₁₂ : I₁₂
⊢ K.d₁ c₁₂ i₁ i₂ i₁₂ ≫ GradedObject.mapMap (toGradedObjectMap φ) (c₁.π c₂ c₁₂) i₁₂ = (φ.f i₁).f i₂ ≫ L.d₁ c₁₂ i₁ i₂ i₁₂
state_after: case pos
C : Type u_1
inst✝⁵ : Category.{u_5, u_1} C
inst✝⁴ : Preadditive C
I₁ : Type u_2
I₂ : Type u_3
I₁₂ : Type u_4
c₁ : ComplexShape I₁
c₂ : ComplexShape I₂
K L M : HomologicalComplex₂ C c₁ c₂
φ : K ⟶ L
e : K ≅ L
ψ : L ⟶ M
c₁₂ : ComplexShape I₁₂
inst✝³ : DecidableEq I₁₂
inst✝² : TotalComplexShape c₁ c₂ c₁₂
inst✝¹ : K.HasTotal c₁₂
inst✝ : L.HasTotal c₁₂
i₁ : I₁
i₂ : I₂
i₁₂ : I₁₂
h : c₁.Rel i₁ (c₁.next i₁)
⊢ K.d₁ c₁₂ i₁ i₂ i₁₂ ≫ GradedObject.mapMap (toGradedObjectMap φ) (c₁.π c₂ c₁₂) i₁₂ = (φ.f i₁).f i₂ ≫ L.d₁ c₁₂ i₁ i₂ i₁₂

case neg
C : Type u_1
inst✝⁵ : Category.{u_5, u_1} C
inst✝⁴ : Preadditive C
I₁ : Type u_2
I₂ : Type u_3
I₁₂ : Type u_4
c₁ : ComplexShape I₁
c₂ : ComplexShape I₂
K L M : HomologicalComplex₂ C c₁ c₂
φ : K ⟶ L
e : K ≅ L
ψ : L ⟶ M
c₁₂ : ComplexShape I₁₂
inst✝³ : DecidableEq I₁₂
inst✝² : TotalComplexShape c₁ c₂ c₁₂
inst✝¹ : K.HasTotal c₁₂
inst✝ : L.HasTotal c₁₂
i₁ : I₁
i₂ : I₂
i₁₂ : I₁₂
h : ¬c₁.Rel i₁ (c₁.next i₁)
⊢ K.d₁ c₁₂ i₁ i₂ i₁₂ ≫ GradedObject.mapMap (toGradedObjectMap φ) (c₁.π c₂ c₁₂) i₁₂ = (φ.f i₁).f i₂ ≫ L.d₁ c₁₂ i₁ i₂ i₁₂
tactic: by_cases h : c₁.Rel i₁ (c₁.next i₁)
Theorem: integrableOn_Icc_iff_integrableOn_Ioc'
File: Mathlib/MeasureTheory/Integral/IntegrableOn.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
inst✝¹ : PartialOrder α
inst✝ : MeasurableSingletonClass α
f : α → E
μ : Measure α
a b : α
ha : μ {a} ≠ ⊤
⊢ IntegrableOn f (Icc a b) μ ↔ IntegrableOn f (Ioc a b) μ
state_after: case pos
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
inst✝¹ : PartialOrder α
inst✝ : MeasurableSingletonClass α
f : α → E
μ : Measure α
a b : α
ha : μ {a} ≠ ⊤
hab : a ≤ b
⊢ IntegrableOn f (Icc a b) μ ↔ IntegrableOn f (Ioc a b) μ

case neg
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
inst✝¹ : PartialOrder α
inst✝ : MeasurableSingletonClass α
f : α → E
μ : Measure α
a b : α
ha : μ {a} ≠ ⊤
hab : ¬a ≤ b
⊢ IntegrableOn f (Icc a b) μ ↔ IntegrableOn f (Ioc a b) μ
tactic: by_cases hab : a ≤ b
Theorem: Sylow.exists_subgroup_card_pow_prime_of_le_card
File: Mathlib/GroupTheory/Sylow.lean

Proof steps:
state_before: G : Type u
α : Type v
β : Type w
inst✝ : Group G
n p : ℕ
hp : Nat.Prime p
h : IsPGroup p G
hn : p ^ n ≤ Nat.card G
⊢ ∃ H, Nat.card ↥H = p ^ n
state_after: G : Type u
α : Type v
β : Type w
inst✝ : Group G
n p : ℕ
hp : Nat.Prime p
h : IsPGroup p G
hn : p ^ n ≤ Nat.card G
this : Fact (Nat.Prime p)
⊢ ∃ H, Nat.card ↥H = p ^ n
tactic: have : Fact p.Prime := ⟨hp⟩
state_before: G : Type u
α : Type v
β : Type w
inst✝ : Group G
n p : ℕ
hp : Nat.Prime p
h : IsPGroup p G
hn : p ^ n ≤ Nat.card G
this : Fact (Nat.Prime p)
⊢ ∃ H, Nat.card ↥H = p ^ n
state_after: G : Type u
α : Type v
β : Type w
inst✝ : Group G
n p : ℕ
hp : Nat.Prime p
h : IsPGroup p G
hn : p ^ n ≤ Nat.card G
this✝ : Fact (Nat.Prime p)
this : Finite G
⊢ ∃ H, Nat.card ↥H = p ^ n
tactic: have : Finite G := Nat.finite_of_card_ne_zero <| by linarith [Nat.one_le_pow n p hp.pos]
state_before: G : Type u
α : Type v
β : Type w
inst✝ : Group G
n p : ℕ
hp : Nat.Prime p
h : IsPGroup p G
hn : p ^ n ≤ Nat.card G
this✝ : Fact (Nat.Prime p)
this : Finite G
⊢ ∃ H, Nat.card ↥H = p ^ n
state_after: case intro
G : Type u
α : Type v
β : Type w
inst✝ : Group G
n p : ℕ
hp : Nat.Prime p
h : IsPGroup p G
hn : p ^ n ≤ Nat.card G
this✝ : Fact (Nat.Prime p)
this : Finite G
m : ℕ
hm : Nat.card G = p ^ m
⊢ ∃ H, Nat.card ↥H = p ^ n
tactic: obtain ⟨m, hm⟩ := h.exists_card_eq
state_before: case intro
G : Type u
α : Type v
β : Type w
inst✝ : Group G
n p : ℕ
hp : Nat.Prime p
h : IsPGroup p G
hn : p ^ n ≤ Nat.card G
this✝ : Fact (Nat.Prime p)
this : Finite G
m : ℕ
hm : Nat.card G = p ^ m
⊢ ∃ H, Nat.card ↥H = p ^ n
state_after: case intro
G : Type u
α : Type v
β : Type w
inst✝ : Group G
n p : ℕ
hp : Nat.Prime p
h : IsPGroup p G
hn : p ^ n ≤ Nat.card G
this✝ : Fact (Nat.Prime p)
this : Finite G
m : ℕ
hm : Nat.card G = p ^ m
⊢ p ^ n ∣ Nat.card G
tactic: refine exists_subgroup_card_pow_prime _ ?_
state_before: case intro
G : Type u
α : Type v
β : Type w
inst✝ : Group G
n p : ℕ
hp : Nat.Prime p
h : IsPGroup p G
hn : p ^ n ≤ Nat.card G
this✝ : Fact (Nat.Prime p)
this : Finite G
m : ℕ
hm : Nat.card G = p ^ m
⊢ p ^ n ∣ Nat.card G
state_after: case intro
G : Type u
α : Type v
β : Type w
inst✝ : Group G
n p : ℕ
hp : Nat.Prime p
h : IsPGroup p G
this✝ : Fact (Nat.Prime p)
this : Finite G
m : ℕ
hn : p ^ n ≤ p ^ m
hm : Nat.card G = p ^ m
⊢ p ^ n ∣ p ^ m
tactic: rw [hm] at hn ⊢
state_before: case intro
G : Type u
α : Type v
β : Type w
inst✝ : Group G
n p : ℕ
hp : Nat.Prime p
h : IsPGroup p G
this✝ : Fact (Nat.Prime p)
this : Finite G
m : ℕ
hn : p ^ n ≤ p ^ m
hm : Nat.card G = p ^ m
⊢ p ^ n ∣ p ^ m
state_after: no goals
tactic: exact pow_dvd_pow _ <| (pow_le_pow_iff_right hp.one_lt).1 hn
Theorem: AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.locallyRingedSpace_toLocallyRingedSpace
File: Mathlib/Geometry/RingedSpace/OpenImmersion.lean

Proof steps:
state_before: C : Type u
inst✝¹ : Category.{v, u} C
X✝ : PresheafedSpace CommRingCat
Y✝ : LocallyRingedSpace
f✝ : X✝ ⟶ Y✝.toPresheafedSpace
H : IsOpenImmersion f✝
X Y : LocallyRingedSpace
f : X ⟶ Y
inst✝ : LocallyRingedSpace.IsOpenImmersion f
⊢ toLocallyRingedSpace Y f.val = X
state_after: case mk
C : Type u
inst✝¹ : Category.{v, u} C
X : PresheafedSpace CommRingCat
Y✝ : LocallyRingedSpace
f✝ : X ⟶ Y✝.toPresheafedSpace
H : IsOpenImmersion f✝
Y : LocallyRingedSpace
toSheafedSpace✝ : SheafedSpace CommRingCat
localRing✝ : ∀ (x : ↑↑toSheafedSpace✝.toPresheafedSpace), LocalRing ↑(toSheafedSpace✝.presheaf.stalk x)
f : { toSheafedSpace := toSheafedSpace✝, localRing := localRing✝ } ⟶ Y
inst✝ : LocallyRingedSpace.IsOpenImmersion f
⊢ toLocallyRingedSpace Y f.val = { toSheafedSpace := toSheafedSpace✝, localRing := localRing✝ }
tactic: cases X
state_before: case mk
C : Type u
inst✝¹ : Category.{v, u} C
X : PresheafedSpace CommRingCat
Y✝ : LocallyRingedSpace
f✝ : X ⟶ Y✝.toPresheafedSpace
H : IsOpenImmersion f✝
Y : LocallyRingedSpace
toSheafedSpace✝ : SheafedSpace CommRingCat
localRing✝ : ∀ (x : ↑↑toSheafedSpace✝.toPresheafedSpace), LocalRing ↑(toSheafedSpace✝.presheaf.stalk x)
f : { toSheafedSpace := toSheafedSpace✝, localRing := localRing✝ } ⟶ Y
inst✝ : LocallyRingedSpace.IsOpenImmersion f
⊢ toLocallyRingedSpace Y f.val = { toSheafedSpace := toSheafedSpace✝, localRing := localRing✝ }
state_after: case mk
C : Type u
inst✝¹ : Category.{v, u} C
X : PresheafedSpace CommRingCat
Y✝ : LocallyRingedSpace
f✝ : X ⟶ Y✝.toPresheafedSpace
H : IsOpenImmersion f✝
Y : LocallyRingedSpace
toSheafedSpace✝ : SheafedSpace CommRingCat
localRing✝ : ∀ (x : ↑↑toSheafedSpace✝.toPresheafedSpace), LocalRing ↑(toSheafedSpace✝.presheaf.stalk x)
f : { toSheafedSpace := toSheafedSpace✝, localRing := localRing✝ } ⟶ Y
inst✝ : LocallyRingedSpace.IsOpenImmersion f
⊢ { toSheafedSpace := toSheafedSpace Y.toSheafedSpace f.val, localRing := ⋯ } =
    { toSheafedSpace := toSheafedSpace✝, localRing := localRing✝ }
tactic: delta toLocallyRingedSpace
state_before: case mk
C : Type u
inst✝¹ : Category.{v, u} C
X : PresheafedSpace CommRingCat
Y✝ : LocallyRingedSpace
f✝ : X ⟶ Y✝.toPresheafedSpace
H : IsOpenImmersion f✝
Y : LocallyRingedSpace
toSheafedSpace✝ : SheafedSpace CommRingCat
localRing✝ : ∀ (x : ↑↑toSheafedSpace✝.toPresheafedSpace), LocalRing ↑(toSheafedSpace✝.presheaf.stalk x)
f : { toSheafedSpace := toSheafedSpace✝, localRing := localRing✝ } ⟶ Y
inst✝ : LocallyRingedSpace.IsOpenImmersion f
⊢ { toSheafedSpace := toSheafedSpace Y.toSheafedSpace f.val, localRing := ⋯ } =
    { toSheafedSpace := toSheafedSpace✝, localRing := localRing✝ }
state_after: no goals
tactic: simp
Theorem: MeasureTheory.LocallyIntegrableOn.integrableOn_of_isBigO_atTop
File: Mathlib/MeasureTheory/Integral/Asymptotics.lean

Proof steps:
state_before: α : Type u_1
E : Type u_2
F : Type u_3
inst✝⁷ : MeasurableSpace α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
f : α → E
g : α → F
a b : α
μ : Measure α
l : Filter α
inst✝⁴ : TopologicalSpace α
inst✝³ : SecondCountableTopology α
inst✝² : LinearOrder α
inst✝¹ : CompactIccSpace α
g' : α → F
inst✝ : atTop.IsMeasurablyGenerated
hf : LocallyIntegrableOn f (Ici a) μ
ho : f =O[atTop] g
hg : IntegrableAtFilter g atTop μ
⊢ IntegrableOn f (Ici a) μ
state_after: α : Type u_1
E : Type u_2
F : Type u_3
inst✝⁷ : MeasurableSpace α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
f : α → E
g : α → F
a b : α
μ : Measure α
l : Filter α
inst✝⁴ : TopologicalSpace α
inst✝³ : SecondCountableTopology α
inst✝² : LinearOrder α
inst✝¹ : CompactIccSpace α
g' : α → F
inst✝ : atTop.IsMeasurablyGenerated
hf : LocallyIntegrableOn f (Ici a) μ
ho : f =O[atTop] g
hg : IntegrableAtFilter g atTop μ
⊢ StronglyMeasurableAtFilter f atTop μ
tactic: refine integrableOn_Ici_iff_integrableAtFilter_atTop.mpr ⟨ho.integrableAtFilter ?_ hg, hf⟩
state_before: α : Type u_1
E : Type u_2
F : Type u_3
inst✝⁷ : MeasurableSpace α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
f : α → E
g : α → F
a b : α
μ : Measure α
l : Filter α
inst✝⁴ : TopologicalSpace α
inst✝³ : SecondCountableTopology α
inst✝² : LinearOrder α
inst✝¹ : CompactIccSpace α
g' : α → F
inst✝ : atTop.IsMeasurablyGenerated
hf : LocallyIntegrableOn f (Ici a) μ
ho : f =O[atTop] g
hg : IntegrableAtFilter g atTop μ
⊢ StronglyMeasurableAtFilter f atTop μ
state_after: no goals
tactic: exact ⟨Ici a, Ici_mem_atTop a, hf.aestronglyMeasurable⟩
Theorem: Ordinal.natCast_mul
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

Proof steps:
state_before: m : ℕ
⊢ ↑(m * 0) = ↑m * ↑0
state_after: no goals
tactic: simp
state_before: m n : ℕ
⊢ ↑(m * (n + 1)) = ↑m * ↑(n + 1)
state_after: no goals
tactic: rw [Nat.mul_succ, Nat.cast_add, natCast_mul m n, Nat.cast_succ, mul_add_one]
Theorem: WeierstrassCurve.Jacobian.addU_of_Z_eq_zero_right
File: Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean

Proof steps:
state_before: R : Type u
inst✝¹ : CommRing R
W' : Jacobian R
F : Type v
inst✝ : Field F
W : Jacobian F
P Q : Fin 3 → F
hQz : Q z = 0
⊢ addU P Q = 0
state_after: no goals
tactic: rw [addU, hQz, mul_zero, div_zero, neg_zero]
Theorem: Set.image2_subset_iff_left
File: Mathlib/Data/Set/NAry.lean

Proof steps:
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Set α
t t' : Set β
u u' : Set γ
v : Set δ
a a' : α
b b' : β
c c' : γ
d d' : δ
⊢ image2 f s t ⊆ u ↔ ∀ a ∈ s, (fun b => f a b) '' t ⊆ u
state_after: no goals
tactic: simp_rw [image2_subset_iff, image_subset_iff, subset_def, mem_preimage]
Theorem: Algebra.map_leftMulMatrix_localization
File: Mathlib/RingTheory/Localization/NormTrace.lean

Proof steps:
state_before: R : Type u_1
S : Type u_2
inst✝¹⁴ : CommRing R
inst✝¹³ : CommRing S
inst✝¹² : Algebra R S
Rₘ : Type u_3
Sₘ : Type u_4
inst✝¹¹ : CommRing Rₘ
inst✝¹⁰ : Algebra R Rₘ
inst✝⁹ : CommRing Sₘ
inst✝⁸ : Algebra S Sₘ
M : Submonoid R
inst✝⁷ : IsLocalization M Rₘ
inst✝⁶ : IsLocalization (algebraMapSubmonoid S M) Sₘ
inst✝⁵ : Algebra Rₘ Sₘ
inst✝⁴ : Algebra R Sₘ
inst✝³ : IsScalarTower R Rₘ Sₘ
inst✝² : IsScalarTower R S Sₘ
ι : Type u_5
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
b : Basis ι R S
a : S
⊢ (algebraMap R Rₘ).mapMatrix ((leftMulMatrix b) a) =
    (leftMulMatrix (Basis.localizationLocalization Rₘ M Sₘ b)) ((algebraMap S Sₘ) a)
state_after: case a
R : Type u_1
S : Type u_2
inst✝¹⁴ : CommRing R
inst✝¹³ : CommRing S
inst✝¹² : Algebra R S
Rₘ : Type u_3
Sₘ : Type u_4
inst✝¹¹ : CommRing Rₘ
inst✝¹⁰ : Algebra R Rₘ
inst✝⁹ : CommRing Sₘ
inst✝⁸ : Algebra S Sₘ
M : Submonoid R
inst✝⁷ : IsLocalization M Rₘ
inst✝⁶ : IsLocalization (algebraMapSubmonoid S M) Sₘ
inst✝⁵ : Algebra Rₘ Sₘ
inst✝⁴ : Algebra R Sₘ
inst✝³ : IsScalarTower R Rₘ Sₘ
inst✝² : IsScalarTower R S Sₘ
ι : Type u_5
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
b : Basis ι R S
a : S
i j : ι
⊢ (algebraMap R Rₘ).mapMatrix ((leftMulMatrix b) a) i j =
    (leftMulMatrix (Basis.localizationLocalization Rₘ M Sₘ b)) ((algebraMap S Sₘ) a) i j
tactic: ext i j
state_before: case a
R : Type u_1
S : Type u_2
inst✝¹⁴ : CommRing R
inst✝¹³ : CommRing S
inst✝¹² : Algebra R S
Rₘ : Type u_3
Sₘ : Type u_4
inst✝¹¹ : CommRing Rₘ
inst✝¹⁰ : Algebra R Rₘ
inst✝⁹ : CommRing Sₘ
inst✝⁸ : Algebra S Sₘ
M : Submonoid R
inst✝⁷ : IsLocalization M Rₘ
inst✝⁶ : IsLocalization (algebraMapSubmonoid S M) Sₘ
inst✝⁵ : Algebra Rₘ Sₘ
inst✝⁴ : Algebra R Sₘ
inst✝³ : IsScalarTower R Rₘ Sₘ
inst✝² : IsScalarTower R S Sₘ
ι : Type u_5
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
b : Basis ι R S
a : S
i j : ι
⊢ (algebraMap R Rₘ).mapMatrix ((leftMulMatrix b) a) i j =
    (leftMulMatrix (Basis.localizationLocalization Rₘ M Sₘ b)) ((algebraMap S Sₘ) a) i j
state_after: no goals
tactic: simp only [Matrix.map_apply, RingHom.mapMatrix_apply, leftMulMatrix_eq_repr_mul, ← map_mul,
    Basis.localizationLocalization_apply, Basis.localizationLocalization_repr_algebraMap]
Theorem: Filter.Tendsto.val_addUnits
File: Mathlib/Topology/Algebra/Monoid.lean

Proof steps:
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✝⁶ : Mul M
inst✝⁵ : ContinuousMul M
inst✝⁴ : TopologicalSpace N
inst✝³ : Monoid N
inst✝² : ContinuousMul N
inst✝¹ : T2Space N
f : ι → Nˣ
r₁ r₂ : N
l : Filter ι
inst✝ : l.NeBot
h₁ : Tendsto (fun x => ↑(f x)) l (𝓝 r₁)
h₂ : Tendsto (fun x => ↑(f x)⁻¹) l (𝓝 r₂)
⊢ r₁ * r₂ = 1
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✝⁶ : Mul M
inst✝⁵ : ContinuousMul M
inst✝⁴ : TopologicalSpace N
inst✝³ : Monoid N
inst✝² : ContinuousMul N
inst✝¹ : T2Space N
f : ι → Nˣ
r₁ r₂ : N
l : Filter ι
inst✝ : l.NeBot
h₁ : Tendsto (fun x => ↑(f x)) l (𝓝 r₁)
h₂ : Tendsto (fun x => ↑(f x)⁻¹) l (𝓝 r₂)
⊢ 1 = r₁ * r₂
tactic: symm
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✝⁶ : Mul M
inst✝⁵ : ContinuousMul M
inst✝⁴ : TopologicalSpace N
inst✝³ : Monoid N
inst✝² : ContinuousMul N
inst✝¹ : T2Space N
f : ι → Nˣ
r₁ r₂ : N
l : Filter ι
inst✝ : l.NeBot
h₁ : Tendsto (fun x => ↑(f x)) l (𝓝 r₁)
h₂ : Tendsto (fun x => ↑(f x)⁻¹) l (𝓝 r₂)
⊢ 1 = r₁ * r₂
state_after: no goals
tactic: simpa using h₁.mul h₂
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✝⁶ : Mul M
inst✝⁵ : ContinuousMul M
inst✝⁴ : TopologicalSpace N
inst✝³ : Monoid N
inst✝² : ContinuousMul N
inst✝¹ : T2Space N
f : ι → Nˣ
r₁ r₂ : N
l : Filter ι
inst✝ : l.NeBot
h₁ : Tendsto (fun x => ↑(f x)) l (𝓝 r₁)
h₂ : Tendsto (fun x => ↑(f x)⁻¹) l (𝓝 r₂)
⊢ r₂ * r₁ = 1
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✝⁶ : Mul M
inst✝⁵ : ContinuousMul M
inst✝⁴ : TopologicalSpace N
inst✝³ : Monoid N
inst✝² : ContinuousMul N
inst✝¹ : T2Space N
f : ι → Nˣ
r₁ r₂ : N
l : Filter ι
inst✝ : l.NeBot
h₁ : Tendsto (fun x => ↑(f x)) l (𝓝 r₁)
h₂ : Tendsto (fun x => ↑(f x)⁻¹) l (𝓝 r₂)
⊢ 1 = r₂ * r₁
tactic: symm
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✝⁶ : Mul M
inst✝⁵ : ContinuousMul M
inst✝⁴ : TopologicalSpace N
inst✝³ : Monoid N
inst✝² : ContinuousMul N
inst✝¹ : T2Space N
f : ι → Nˣ
r₁ r₂ : N
l : Filter ι
inst✝ : l.NeBot
h₁ : Tendsto (fun x => ↑(f x)) l (𝓝 r₁)
h₂ : Tendsto (fun x => ↑(f x)⁻¹) l (𝓝 r₂)
⊢ 1 = r₂ * r₁
state_after: no goals
tactic: simpa using h₂.mul h₁
Theorem: Set.biUnion_diff_biUnion_subset
File: Mathlib/Data/Set/Lattice.lean

Proof steps:
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
t : α → Set β
s₁ s₂ : Set α
⊢ (⋃ x ∈ s₁, t x) \ ⋃ x ∈ s₂, t x ⊆ ⋃ x ∈ s₁ \ s₂, t x
state_after: α : 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
t : α → Set β
s₁ s₂ : Set α
⊢ ⋃ x ∈ s₁, t x ⊆ ⋃ x ∈ s₂ ∪ s₁ \ s₂, t x
tactic: simp only [diff_subset_iff, ← biUnion_union]
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
t : α → Set β
s₁ s₂ : Set α
⊢ ⋃ x ∈ s₁, t x ⊆ ⋃ x ∈ s₂ ∪ s₁ \ s₂, t x
state_after: case h
α : 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
t : α → Set β
s₁ s₂ : Set α
⊢ s₁ ⊆ s₂ ∪ s₁ \ s₂
tactic: apply biUnion_subset_biUnion_left
state_before: case h
α : 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
t : α → Set β
s₁ s₂ : Set α
⊢ s₁ ⊆ s₂ ∪ s₁ \ s₂
state_after: case h
α : 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
t : α → Set β
s₁ s₂ : Set α
⊢ s₁ ⊆ s₂ ∪ s₁
tactic: rw [union_diff_self]
state_before: case h
α : 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
t : α → Set β
s₁ s₂ : Set α
⊢ s₁ ⊆ s₂ ∪ s₁
state_after: no goals
tactic: apply subset_union_right
Theorem: sSup_image
File: Mathlib/Order/CompleteLattice.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : CompleteLattice α
f✝ g s✝ t : ι → α
a b : α
s : Set β
f : β → α
⊢ sSup (f '' s) = ⨆ a ∈ s, f a
state_after: no goals
tactic: rw [← iSup_subtype'', sSup_image']
Theorem: ENNReal.rpow_mul
File: Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean

Proof steps:
state_before: x : ℝ≥0∞
y z : ℝ
⊢ x ^ (y * z) = (x ^ y) ^ z
state_after: case top
y z : ℝ
⊢ ⊤ ^ (y * z) = (⊤ ^ y) ^ z

case coe
y z : ℝ
x : ℝ≥0
⊢ ↑x ^ (y * z) = (↑x ^ y) ^ z
tactic: cases' x with x