1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.IsProjectiveLimit.measure_cylinder
File: Mathlib/MeasureTheory/Constructions/Projective.lean

tactic: rw [cylinder, ← Measure.map_apply _ hs, h I]
state_before: ι : Type u_1
α : ι → Type u_2
inst✝ : (i : ι) → MeasurableSpace (α i)
P : (J : Finset ι) → Measure ((j : { x // x ∈ J }) → α ↑j)
μ ν : Measure ((i : ι) → α i)
h : IsProjectiveLimit μ P
I : Finset ι
s : Set ((i : { x // x ∈ I }) → α ↑i)
hs : MeasurableSet s
⊢ μ (cylinder I s) = (P I) s
state_after: ι : Type u_1
α : ι → Type u_2
inst✝ : (i : ι) → MeasurableSpace (α i)
P : (J : Finset ι) → Measure ((j : { x // x ∈ J }) → α ↑j)
μ ν : Measure ((i : ι) → α i)
h : IsProjectiveLimit μ P
I : Finset ι
s : Set ((i : { x // x ∈ I }) → α ↑i)
hs : MeasurableSet s
⊢ Measurable fun f i => f ↑i

tactic: exact measurable_pi_lambda _ (fun _ ↦ measurable_pi_apply _)
state_before: ι : Type u_1
α : ι → Type u_2
inst✝ : (i : ι) → MeasurableSpace (α i)
P : (J : Finset ι) → Measure ((j : { x // x ∈ J }) → α ↑j)
μ ν : Measure ((i : ι) → α i)
h : IsProjectiveLimit μ P
I : Finset ι
s : Set ((i : { x // x ∈ I }) → α ↑i)
hs : MeasurableSet s
⊢ Measurable fun f i => f ↑i
state_after: no goals
Theorem: Filter.disjoint_cofinite_left
File: Mathlib/Order/Filter/Cofinite.lean

tactic: simp [l.basis_sets.disjoint_iff_right]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
l : Filter α
⊢ Disjoint cofinite l ↔ ∃ s ∈ l, s.Finite
state_after: no goals
Theorem: PowerSeries.coeff_zero_X_mul
File: Mathlib/RingTheory/PowerSeries/Basic.lean

tactic: simp
state_before: R : Type u_1
inst✝ : Semiring R
φ : R⟦X⟧
⊢ (coeff R 0) (X * φ) = 0
state_after: no goals
Theorem: Polynomial.bernoulli_succ_eval
File: Mathlib/NumberTheory/BernoulliPolynomials.lean

tactic: apply eq_add_of_sub_eq'
state_before: n p : ℕ
⊢ eval (↑n) (bernoulli p.succ) = _root_.bernoulli p.succ + (↑p + 1) * ∑ k ∈ range n, ↑k ^ p
state_after: case h
n p : ℕ
⊢ eval (↑n) (bernoulli p.succ) - _root_.bernoulli p.succ = (↑p + 1) * ∑ k ∈ range n, ↑k ^ p

tactic: rw [sum_range_pow_eq_bernoulli_sub]
state_before: case h
n p : ℕ
⊢ eval (↑n) (bernoulli p.succ) - _root_.bernoulli p.succ = (↑p + 1) * ∑ k ∈ range n, ↑k ^ p
state_after: no goals
Theorem: LightProfinite.finiteCoproduct.hom_ext
File: Mathlib/Topology/Category/LightProfinite/Limits.lean

tactic: ext ⟨a, x⟩
state_before: α : Type w
inst✝ : Finite α
X : α → LightProfinite
B : LightProfinite
f g : finiteCoproduct X ⟶ B
h : ∀ (a : α), ι X a ≫ f = ι X a ≫ g
⊢ f = g
state_after: case w.mk
α : Type w
inst✝ : Finite α
X : α → LightProfinite
B : LightProfinite
f g : finiteCoproduct X ⟶ B
h : ∀ (a : α), ι X a ≫ f = ι X a ≫ g
a : α
x : ↑(X a).toCompHaus.toTop
⊢ f ⟨a, x⟩ = g ⟨a, x⟩

tactic: specialize h a
state_before: case w.mk
α : Type w
inst✝ : Finite α
X : α → LightProfinite
B : LightProfinite
f g : finiteCoproduct X ⟶ B
h : ∀ (a : α), ι X a ≫ f = ι X a ≫ g
a : α
x : ↑(X a).toCompHaus.toTop
⊢ f ⟨a, x⟩ = g ⟨a, x⟩
state_after: case w.mk
α : Type w
inst✝ : Finite α
X : α → LightProfinite
B : LightProfinite
f g : finiteCoproduct X ⟶ B
a : α
x : ↑(X a).toCompHaus.toTop
h : ι X a ≫ f = ι X a ≫ g
⊢ f ⟨a, x⟩ = g ⟨a, x⟩

tactic: exact h
state_before: case w.mk
α : Type w
inst✝ : Finite α
X : α → LightProfinite
B : LightProfinite
f g : finiteCoproduct X ⟶ B
a : α
x : ↑(X a).toCompHaus.toTop
h : (ι X a ≫ f) x = (ι X a ≫ g) x
⊢ f ⟨a, x⟩ = g ⟨a, x⟩
state_after: no goals
Theorem: tendsto_inv_nhdsWithin_Ioi
File: Mathlib/Topology/Algebra/Group/Basic.lean

tactic: simp [tendsto_principal_principal]
state_before: G : Type w
H : Type x
α : Type u
β : Type v
inst✝⁶ : TopologicalSpace G
inst✝⁵ : Group G
inst✝⁴ : TopologicalGroup G
inst✝³ : TopologicalSpace α
f : α → G
s : Set α
x : α
inst✝² : TopologicalSpace H
inst✝¹ : OrderedCommGroup H
inst✝ : ContinuousInv H
a : H
⊢ Tendsto (fun a => a⁻¹) (𝓟 (Ioi a)) (𝓟 (Iio a⁻¹))
state_after: no goals
Theorem: List.mapAccumr₂_eq_foldr
File: Mathlib/Data/List/Lemmas.lean

tactic: simp only [mapAccumr₂, foldr, mapAccumr₂_eq_foldr f as]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
φ : Type u_5
f : α → β → σ → σ × φ
a : α
as : List α
b : β
bs : List β
s : σ
⊢ mapAccumr₂ f (a :: as) (b :: bs) s =
    foldr
      (fun ab s =>
        let r := f ab.1 ab.2 s.1;
        (r.1, r.2 :: s.2))
      (s, []) ((a :: as).zip (b :: bs))
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
φ : Type u_5
f : α → β → σ → σ × φ
a : α
as : List α
b : β
bs : List β
s : σ
⊢ ((f a b (foldr (fun ab s => ((f ab.1 ab.2 s.1).1, (f ab.1 ab.2 s.1).2 :: s.2)) (s, []) (as.zip bs)).1).1,
      (f a b (foldr (fun ab s => ((f ab.1 ab.2 s.1).1, (f ab.1 ab.2 s.1).2 :: s.2)) (s, []) (as.zip bs)).1).2 ::
        (foldr (fun ab s => ((f ab.1 ab.2 s.1).1, (f ab.1 ab.2 s.1).2 :: s.2)) (s, []) (as.zip bs)).2) =
    ((f a b
          (foldr (fun ab s => ((f ab.1 ab.2 s.1).1, (f ab.1 ab.2 s.1).2 :: s.2)) (s, []) (zipWith Prod.mk as bs)).1).1,
      (f a b
            (foldr (fun ab s => ((f ab.1 ab.2 s.1).1, (f ab.1 ab.2 s.1).2 :: s.2)) (s, [])
                (zipWith Prod.mk as bs)).1).2 ::
        (foldr (fun ab s => ((f ab.1 ab.2 s.1).1, (f ab.1 ab.2 s.1).2 :: s.2)) (s, []) (zipWith Prod.mk as bs)).2)

tactic: rfl
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
φ : Type u_5
f : α → β → σ → σ × φ
a : α
as : List α
b : β
bs : List β
s : σ
⊢ ((f a b (foldr (fun ab s => ((f ab.1 ab.2 s.1).1, (f ab.1 ab.2 s.1).2 :: s.2)) (s, []) (as.zip bs)).1).1,
      (f a b (foldr (fun ab s => ((f ab.1 ab.2 s.1).1, (f ab.1 ab.2 s.1).2 :: s.2)) (s, []) (as.zip bs)).1).2 ::
        (foldr (fun ab s => ((f ab.1 ab.2 s.1).1, (f ab.1 ab.2 s.1).2 :: s.2)) (s, []) (as.zip bs)).2) =
    ((f a b
          (foldr (fun ab s => ((f ab.1 ab.2 s.1).1, (f ab.1 ab.2 s.1).2 :: s.2)) (s, []) (zipWith Prod.mk as bs)).1).1,
      (f a b
            (foldr (fun ab s => ((f ab.1 ab.2 s.1).1, (f ab.1 ab.2 s.1).2 :: s.2)) (s, [])
                (zipWith Prod.mk as bs)).1).2 ::
        (foldr (fun ab s => ((f ab.1 ab.2 s.1).1, (f ab.1 ab.2 s.1).2 :: s.2)) (s, []) (zipWith Prod.mk as bs)).2)
state_after: no goals
Theorem: Seminorm.ball_comp
File: Mathlib/Analysis/Seminorm.lean

tactic: ext
state_before: R : Type u_1
R' : Type u_2
𝕜 : Type u_3
𝕜₂ : Type u_4
𝕜₃ : Type u_5
𝕝 : Type u_6
E : Type u_7
E₂ : Type u_8
E₃ : Type u_9
F : Type u_10
G : Type u_11
ι : Type u_12
inst✝⁶ : SeminormedRing 𝕜
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SeminormedRing 𝕜₂
inst✝² : AddCommGroup E₂
inst✝¹ : Module 𝕜₂ E₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝ : RingHomIsometric σ₁₂
p : Seminorm 𝕜₂ E₂
f : E →ₛₗ[σ₁₂] E₂
x : E
r : ℝ
⊢ (p.comp f).ball x r = ⇑f ⁻¹' p.ball (f x) r
state_after: case h
R : Type u_1
R' : Type u_2
𝕜 : Type u_3
𝕜₂ : Type u_4
𝕜₃ : Type u_5
𝕝 : Type u_6
E : Type u_7
E₂ : Type u_8
E₃ : Type u_9
F : Type u_10
G : Type u_11
ι : Type u_12
inst✝⁶ : SeminormedRing 𝕜
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SeminormedRing 𝕜₂
inst✝² : AddCommGroup E₂
inst✝¹ : Module 𝕜₂ E₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝ : RingHomIsometric σ₁₂
p : Seminorm 𝕜₂ E₂
f : E →ₛₗ[σ₁₂] E₂
x : E
r : ℝ
x✝ : E
⊢ x✝ ∈ (p.comp f).ball x r ↔ x✝ ∈ ⇑f ⁻¹' p.ball (f x) r

tactic: simp_rw [ball, mem_preimage, comp_apply, Set.mem_setOf_eq, map_sub]
state_before: case h
R : Type u_1
R' : Type u_2
𝕜 : Type u_3
𝕜₂ : Type u_4
𝕜₃ : Type u_5
𝕝 : Type u_6
E : Type u_7
E₂ : Type u_8
E₃ : Type u_9
F : Type u_10
G : Type u_11
ι : Type u_12
inst✝⁶ : SeminormedRing 𝕜
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SeminormedRing 𝕜₂
inst✝² : AddCommGroup E₂
inst✝¹ : Module 𝕜₂ E₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝ : RingHomIsometric σ₁₂
p : Seminorm 𝕜₂ E₂
f : E →ₛₗ[σ₁₂] E₂
x : E
r : ℝ
x✝ : E
⊢ x✝ ∈ (p.comp f).ball x r ↔ x✝ ∈ ⇑f ⁻¹' p.ball (f x) r
state_after: no goals
Theorem: Continuous.memℒp_of_hasCompactSupport
File: Mathlib/MeasureTheory/Function/LpSpace.lean

tactic: have := hf.memℒp_top_of_hasCompactSupport h'f μ
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ✝ ν : Measure α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedAddCommGroup G
X : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : MeasurableSpace X
μ : Measure X
inst✝¹ : IsFiniteMeasureOnCompacts μ
inst✝ : OpensMeasurableSpace X
f : X → E
hf : Continuous f
h'f : HasCompactSupport f
⊢ Memℒp f p μ
state_after: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ✝ ν : Measure α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedAddCommGroup G
X : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : MeasurableSpace X
μ : Measure X
inst✝¹ : IsFiniteMeasureOnCompacts μ
inst✝ : OpensMeasurableSpace X
f : X → E
hf : Continuous f
h'f : HasCompactSupport f
this : Memℒp f ⊤ μ
⊢ Memℒp f p μ

tactic: exact this.memℒp_of_exponent_le_of_measure_support_ne_top
  (fun x ↦ image_eq_zero_of_nmem_tsupport) (h'f.measure_lt_top.ne) le_top
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ✝ ν : Measure α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedAddCommGroup G
X : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : MeasurableSpace X
μ : Measure X
inst✝¹ : IsFiniteMeasureOnCompacts μ
inst✝ : OpensMeasurableSpace X
f : X → E
hf : Continuous f
h'f : HasCompactSupport f
this : Memℒp f ⊤ μ
⊢ Memℒp f p μ
state_after: no goals
Theorem: Finset.disjiUnion_filter_eq
File: Mathlib/Data/Finset/Union.lean

tactic: simpa using and_comm
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
s✝¹ s₁ s₂ : Finset α
t✝¹ t₁ t₂ : α → Finset β
inst✝ : DecidableEq β
s✝ : Finset α
t✝ : Finset β
f✝ : α → β
s : Finset α
t : Finset β
f : α → β
b : α
⊢ b ∈ t.disjiUnion (fun a => filter (fun x => f x = a) s) ⋯ ↔ b ∈ filter (fun c => f c ∈ t) s
state_after: no goals
Theorem: CategoryTheory.isCoseparator_iff_faithful_preadditiveYonedaObj
File: Mathlib/CategoryTheory/Preadditive/Generator.lean

tactic: rw [isCoseparator_iff_faithful_preadditiveYoneda, preadditiveYoneda_obj]
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
G : C
⊢ IsCoseparator G ↔ (preadditiveYonedaObj G).Faithful
state_after: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
G : C
⊢ (preadditiveYonedaObj G ⋙ forget₂ (ModuleCat (End G)) AddCommGrp).Faithful ↔ (preadditiveYonedaObj G).Faithful

tactic: exact ⟨fun h => Functor.Faithful.of_comp _ (forget₂ _ AddCommGrp.{v}),
  fun h => Functor.Faithful.comp _ _⟩
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
G : C
⊢ (preadditiveYonedaObj G ⋙ forget₂ (ModuleCat (End G)) AddCommGrp).Faithful ↔ (preadditiveYonedaObj G).Faithful
state_after: no goals
Theorem: CategoryTheory.Limits.biproduct.lift_eq
File: Mathlib/CategoryTheory/Preadditive/Biproducts.lean

tactic: ext j
state_before: C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
J : Type
inst✝¹ : Fintype J
f : J → C
inst✝ : HasBiproduct f
T : C
g : (j : J) → T ⟶ f j
⊢ lift g = ∑ j : J, g j ≫ ι f j
state_after: case w
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
J : Type
inst✝¹ : Fintype J
f : J → C
inst✝ : HasBiproduct f
T : C
g : (j : J) → T ⟶ f j
j : J
⊢ lift g ≫ π f j = (∑ j : J, g j ≫ ι f j) ≫ π f j

tactic: simp only [sum_comp, biproduct.ι_π, comp_dite, biproduct.lift_π, Category.assoc, comp_zero,
  Finset.sum_dite_eq', Finset.mem_univ, eqToHom_refl, Category.comp_id, if_true]
state_before: case w
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
J : Type
inst✝¹ : Fintype J
f : J → C
inst✝ : HasBiproduct f
T : C
g : (j : J) → T ⟶ f j
j : J
⊢ lift g ≫ π f j = (∑ j : J, g j ≫ ι f j) ≫ π f j
state_after: no goals
Theorem: CompleteLattice.independent_of_independent_coe_Iic_comp
File: Mathlib/Order/SupIndep.lean

tactic: intro i x
state_before: α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι' : Type u_4
inst✝ : CompleteLattice α
s : Set α
hs : SetIndependent s
t✝ : ι✝ → α
ht✝ : Independent t✝
ι : Sort u_5
a : α
t : ι → ↑(Iic a)
ht : Independent (Subtype.val ∘ t)
⊢ Independent t
state_after: α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι' : Type u_4
inst✝ : CompleteLattice α
s : Set α
hs : SetIndependent s
t✝ : ι✝ → α
ht✝ : Independent t✝
ι : Sort u_5
a : α
t : ι → ↑(Iic a)
ht : Independent (Subtype.val ∘ t)
i : ι
x : ↑(Iic a)
⊢ x ≤ t i → x ≤ ⨆ j, ⨆ (_ : j ≠ i), t j → x ≤ ⊥

tactic: specialize ht i
state_before: α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι' : Type u_4
inst✝ : CompleteLattice α
s : Set α
hs : SetIndependent s
t✝ : ι✝ → α
ht✝ : Independent t✝
ι : Sort u_5
a : α
t : ι → ↑(Iic a)
ht : Independent (Subtype.val ∘ t)
i : ι
x : ↑(Iic a)
⊢ x ≤ t i → x ≤ ⨆ j, ⨆ (_ : j ≠ i), t j → x ≤ ⊥
state_after: α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι' : Type u_4
inst✝ : CompleteLattice α
s : Set α
hs : SetIndependent s
t✝ : ι✝ → α
ht✝ : Independent t✝
ι : Sort u_5
a : α
t : ι → ↑(Iic a)
i : ι
x : ↑(Iic a)
ht : Disjoint ((Subtype.val ∘ t) i) (⨆ j, ⨆ (_ : j ≠ i), (Subtype.val ∘ t) j)
⊢ x ≤ t i → x ≤ ⨆ j, ⨆ (_ : j ≠ i), t j → x ≤ ⊥

tactic: simp_rw [Function.comp_apply, ← Set.Iic.coe_iSup] at ht
state_before: α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι' : Type u_4
inst✝ : CompleteLattice α
s : Set α
hs : SetIndependent s
t✝ : ι✝ → α
ht✝ : Independent t✝
ι : Sort u_5
a : α
t : ι → ↑(Iic a)
i : ι
x : ↑(Iic a)
ht : Disjoint ((Subtype.val ∘ t) i) (⨆ j, ⨆ (_ : j ≠ i), (Subtype.val ∘ t) j)
⊢ x ≤ t i → x ≤ ⨆ j, ⨆ (_ : j ≠ i), t j → x ≤ ⊥
state_after: α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι' : Type u_4
inst✝ : CompleteLattice α
s : Set α
hs : SetIndependent s
t✝ : ι✝ → α
ht✝ : Independent t✝
ι : Sort u_5
a : α
t : ι → ↑(Iic a)
i : ι
x : ↑(Iic a)
ht : Disjoint ↑(t i) ↑(⨆ i_1, ⨆ (_ : i_1 ≠ i), t i_1)
⊢ x ≤ t i → x ≤ ⨆ j, ⨆ (_ : j ≠ i), t j → x ≤ ⊥

tactic: exact @ht x
state_before: α : Type u_1
β : Type u_2
ι✝ : Type u_3
ι' : Type u_4
inst✝ : CompleteLattice α
s : Set α
hs : SetIndependent s
t✝ : ι✝ → α
ht✝ : Independent t✝
ι : Sort u_5
a : α
t : ι → ↑(Iic a)
i : ι
x : ↑(Iic a)
ht : Disjoint ↑(t i) ↑(⨆ i_1, ⨆ (_ : i_1 ≠ i), t i_1)
⊢ x ≤ t i → x ≤ ⨆ j, ⨆ (_ : j ≠ i), t j → x ≤ ⊥
state_after: no goals
Theorem: Set.univ_pi_eq_empty_iff
File: Mathlib/Data/Set/Prod.lean

tactic: simp [← not_nonempty_iff_eq_empty, univ_pi_nonempty_iff]
state_before: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
s s₁ s₂ : Set ι
t t₁ t₂ : (i : ι) → Set (α i)
i : ι
⊢ univ.pi t = ∅ ↔ ∃ i, t i = ∅
state_after: no goals
Theorem: Fin.rev_eq_iff
File: Mathlib/Data/Fin/Basic.lean

tactic: rw [← rev_inj, rev_rev]
state_before: n m : ℕ
i j : Fin n
⊢ i.rev = j ↔ i = j.rev
state_after: no goals
Theorem: ConvexCone.blunt_iff_not_pointed
File: Mathlib/Analysis/Convex/Cone/Basic.lean

tactic: rw [pointed_iff_not_blunt, Classical.not_not]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝² : OrderedSemiring 𝕜
inst✝¹ : AddCommMonoid E
inst✝ : SMul 𝕜 E
S✝ S : ConvexCone 𝕜 E
⊢ S.Blunt ↔ ¬S.Pointed
state_after: no goals
Theorem: Set.Iic_mul_Iio_subset'
File: Mathlib/Data/Set/Pointwise/Interval.lean

tactic: haveI := covariantClass_le_of_lt
state_before: α : Type u_1
inst✝³ : Mul α
inst✝² : PartialOrder α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x < x_1
inst✝ : CovariantClass α α (Function.swap HMul.hMul) LT.lt
a b : α
⊢ Iic a * Iio b ⊆ Iio (a * b)
state_after: α : Type u_1
inst✝³ : Mul α
inst✝² : PartialOrder α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x < x_1
inst✝ : CovariantClass α α (Function.swap HMul.hMul) LT.lt
a b : α
this :
  ∀ (M : Type ?u.9467) (N : Type ?u.9466) (μ : M → N → N) [inst : PartialOrder N]
    [inst_1 : CovariantClass M N μ fun x x_1 => x < x_1], CovariantClass M N μ fun x x_1 => x ≤ x_1
⊢ Iic a * Iio b ⊆ Iio (a * b)

tactic: rintro x ⟨y, hya, z, hzb, rfl⟩
state_before: α : Type u_1
inst✝³ : Mul α
inst✝² : PartialOrder α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x < x_1
inst✝ : CovariantClass α α (Function.swap HMul.hMul) LT.lt
a b : α
this :
  ∀ (M : Type ?u.9467) (N : Type ?u.9466) (μ : M → N → N) [inst : PartialOrder N]
    [inst_1 : CovariantClass M N μ fun x x_1 => x < x_1], CovariantClass M N μ fun x x_1 => x ≤ x_1
⊢ Iic a * Iio b ⊆ Iio (a * b)
state_after: case intro.intro.intro.intro
α : Type u_1
inst✝³ : Mul α
inst✝² : PartialOrder α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x < x_1
inst✝ : CovariantClass α α (Function.swap HMul.hMul) LT.lt
a b : α
this :
  ∀ (M : Type ?u.9467) (N : Type ?u.9466) (μ : M → N → N) [inst : PartialOrder N]
    [inst_1 : CovariantClass M N μ fun x x_1 => x < x_1], CovariantClass M N μ fun x x_1 => x ≤ x_1
y : α
hya : y ∈ Iic a
z : α
hzb : z ∈ Iio b
⊢ (fun x x_1 => x * x_1) y z ∈ Iio (a * b)

tactic: exact mul_lt_mul_of_le_of_lt hya hzb
state_before: case intro.intro.intro.intro
α : Type u_1
inst✝³ : Mul α
inst✝² : PartialOrder α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x < x_1
inst✝ : CovariantClass α α (Function.swap HMul.hMul) LT.lt
a b : α
this :
  ∀ (M : Type ?u.9467) (N : Type ?u.9466) (μ : M → N → N) [inst : PartialOrder N]
    [inst_1 : CovariantClass M N μ fun x x_1 => x < x_1], CovariantClass M N μ fun x x_1 => x ≤ x_1
y : α
hya : y ∈ Iic a
z : α
hzb : z ∈ Iio b
⊢ (fun x x_1 => x * x_1) y z ∈ Iio (a * b)
state_after: no goals
Theorem: ProbabilityTheory.IdentDistrib.memℒp_snd
File: Mathlib/Probability/IdentDistrib.lean

tactic: refine ⟨h.aestronglyMeasurable_snd hf.aestronglyMeasurable, ?_⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace γ
inst✝² : MeasurableSpace δ
μ : Measure α
ν : Measure β
f : α → γ
g : β → γ
inst✝¹ : NormedAddCommGroup γ
inst✝ : BorelSpace γ
p : ℝ≥0∞
h : IdentDistrib f g μ ν
hf : Memℒp f p μ
⊢ Memℒp g p ν
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace γ
inst✝² : MeasurableSpace δ
μ : Measure α
ν : Measure β
f : α → γ
g : β → γ
inst✝¹ : NormedAddCommGroup γ
inst✝ : BorelSpace γ
p : ℝ≥0∞
h : IdentDistrib f g μ ν
hf : Memℒp f p μ
⊢ snorm g p ν < ⊤

tactic: rw [← h.snorm_eq]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace γ
inst✝² : MeasurableSpace δ
μ : Measure α
ν : Measure β
f : α → γ
g : β → γ
inst✝¹ : NormedAddCommGroup γ
inst✝ : BorelSpace γ
p : ℝ≥0∞
h : IdentDistrib f g μ ν
hf : Memℒp f p μ
⊢ snorm g p ν < ⊤
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace γ
inst✝² : MeasurableSpace δ
μ : Measure α
ν : Measure β
f : α → γ
g : β → γ
inst✝¹ : NormedAddCommGroup γ
inst✝ : BorelSpace γ
p : ℝ≥0∞
h : IdentDistrib f g μ ν
hf : Memℒp f p μ
⊢ snorm f p μ < ⊤

tactic: exact hf.2
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace γ
inst✝² : MeasurableSpace δ
μ : Measure α
ν : Measure β
f : α → γ
g : β → γ
inst✝¹ : NormedAddCommGroup γ
inst✝ : BorelSpace γ
p : ℝ≥0∞
h : IdentDistrib f g μ ν
hf : Memℒp f p μ
⊢ snorm f p μ < ⊤
state_after: no goals
Theorem: Field.sepDegree_self
File: Mathlib/FieldTheory/SeparableClosure.lean

tactic: rw [sepDegree, Subsingleton.elim (separableClosure F F) ⊥, IntermediateField.rank_bot]
state_before: F : Type u
E : Type v
inst✝⁴ : Field F
inst✝³ : Field E
inst✝² : Algebra F E
K : Type w
inst✝¹ : Field K
inst✝ : Algebra F K
⊢ sepDegree F F = 1
state_after: no goals
Theorem: CategoryTheory.Idempotents.idem_of_id_sub_idem
File: Mathlib/CategoryTheory/Idempotents/Basic.lean

tactic: simp only [comp_sub, sub_comp, id_comp, comp_id, hp, sub_self, sub_zero]
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X : C
p : X ⟶ X
hp : p ≫ p = p
⊢ (𝟙 X - p) ≫ (𝟙 X - p) = 𝟙 X - p
state_after: no goals
Theorem: PiTensorProduct.tmul_apply
File: Mathlib/LinearAlgebra/PiTensorProduct.lean

tactic: erw [TensorProduct.lift.tmul, PiTensorProduct.lift.tprod, PiTensorProduct.lift.tprod]
state_before: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝⁹ : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝⁸ : (i : ι) → AddCommMonoid (s i)
inst✝⁷ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
E : Type u_9
inst✝⁴ : AddCommMonoid E
inst✝³ : Module R E
F : Type u_10
inst✝² : AddCommMonoid F
t : ι → Type u_11
inst✝¹ : (i : ι) → AddCommMonoid (t i)
inst✝ : (i : ι) → Module R (t i)
a : ι → M
b : ι₂ → M
⊢ PiTensorProduct.tmul (((tprod R) fun i => a i) ⊗ₜ[R] (tprod R) fun i => b i) = (tprod R) fun i => Sum.elim a b i
state_after: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝⁹ : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝⁸ : (i : ι) → AddCommMonoid (s i)
inst✝⁷ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
E : Type u_9
inst✝⁴ : AddCommMonoid E
inst✝³ : Module R E
F : Type u_10
inst✝² : AddCommMonoid F
t : ι → Type u_11
inst✝¹ : (i : ι) → AddCommMonoid (t i)
inst✝ : (i : ι) → Module R (t i)
a : ι → M
b : ι₂ → M
⊢ ((((currySumEquiv R ι (⨂[R] (i : ι ⊕ ι₂), M) M ι₂) (tprod R)) fun i => a i) fun i => b i) =
    (tprod R) fun i => Sum.elim a b i

tactic: rfl
state_before: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝⁹ : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝⁸ : (i : ι) → AddCommMonoid (s i)
inst✝⁷ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
E : Type u_9
inst✝⁴ : AddCommMonoid E
inst✝³ : Module R E
F : Type u_10
inst✝² : AddCommMonoid F
t : ι → Type u_11
inst✝¹ : (i : ι) → AddCommMonoid (t i)
inst✝ : (i : ι) → Module R (t i)
a : ι → M
b : ι₂ → M
⊢ ((((currySumEquiv R ι (⨂[R] (i : ι ⊕ ι₂), M) M ι₂) (tprod R)) fun i => a i) fun i => b i) =
    (tprod R) fun i => Sum.elim a b i
state_after: no goals
Theorem: range_mem_nhds_isInteriorPoint
File: Mathlib/Geometry/Manifold/InteriorBoundary.lean

tactic: rw [mem_nhds_iff]
state_before: 𝕜 : Type u_1
inst✝⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
H : Type u_3
inst✝² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace H M
x : M
h : I.IsInteriorPoint x
⊢ range ↑I ∈ 𝓝 (↑(extChartAt I x) x)
state_after: 𝕜 : Type u_1
inst✝⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
H : Type u_3
inst✝² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace H M
x : M
h : I.IsInteriorPoint x
⊢ ∃ t ⊆ range ↑I, IsOpen t ∧ ↑(extChartAt I x) x ∈ t

tactic: exact ⟨interior (range I), interior_subset, isOpen_interior, h⟩
state_before: 𝕜 : Type u_1
inst✝⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
H : Type u_3
inst✝² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace H M
x : M
h : I.IsInteriorPoint x
⊢ ∃ t ⊆ range ↑I, IsOpen t ∧ ↑(extChartAt I x) x ∈ t
state_after: no goals
Theorem: Ordinal.log_opow
File: Mathlib/SetTheory/Ordinal/Exponential.lean

tactic: convert log_opow_mul_add hb zero_ne_one.symm hb (opow_pos x (zero_lt_one.trans hb))
  using 1
state_before: b : Ordinal.{u_1}
hb : 1 < b
x : Ordinal.{u_1}
⊢ log b (b ^ x) = x
state_after: case h.e'_2
b : Ordinal.{u_1}
hb : 1 < b
x : Ordinal.{u_1}
⊢ log b (b ^ x) = log b (b ^ x * 1 + 0)

tactic: rw [add_zero, mul_one]
state_before: case h.e'_2
b : Ordinal.{u_1}
hb : 1 < b
x : Ordinal.{u_1}
⊢ log b (b ^ x) = log b (b ^ x * 1 + 0)
state_after: no goals