ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: Disjoint.exists_uniform_thickening_of_basis
File: Mathlib/Topology/UniformSpace/Basic.lean

Proof steps:
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
inst✝ : UniformSpace α
K : Set α
p : ι → Prop
s : ι → Set (α × α)
hU : (𝓤 α).HasBasis p s
A B : Set α
hA : IsCompact A
hB : IsClosed B
h : Disjoint A B
⊢ ∃ i, p i ∧ Disjoint (⋃ x ∈ A, ball x (s i)) (⋃ x ∈ B, ball x (s i))
state_after: case intro.intro
α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
inst✝ : UniformSpace α
K : Set α
p : ι → Prop
s : ι → Set (α × α)
hU : (𝓤 α).HasBasis p s
A B : Set α
hA : IsCompact A
hB : IsClosed B
h : Disjoint A B
V : Set (α × α)
hV : V ∈ 𝓤 α
hVAB : Disjoint (⋃ x ∈ A, ball x V) (⋃ x ∈ B, ball x V)
⊢ ∃ i, p i ∧ Disjoint (⋃ x ∈ A, ball x (s i)) (⋃ x ∈ B, ball x (s i))
tactic: rcases h.exists_uniform_thickening hA hB with ⟨V, hV, hVAB⟩
state_before: case intro.intro
α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
inst✝ : UniformSpace α
K : Set α
p : ι → Prop
s : ι → Set (α × α)
hU : (𝓤 α).HasBasis p s
A B : Set α
hA : IsCompact A
hB : IsClosed B
h : Disjoint A B
V : Set (α × α)
hV : V ∈ 𝓤 α
hVAB : Disjoint (⋃ x ∈ A, ball x V) (⋃ x ∈ B, ball x V)
⊢ ∃ i, p i ∧ Disjoint (⋃ x ∈ A, ball x (s i)) (⋃ x ∈ B, ball x (s i))
state_after: case intro.intro.intro.intro
α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
inst✝ : UniformSpace α
K : Set α
p : ι → Prop
s : ι → Set (α × α)
hU : (𝓤 α).HasBasis p s
A B : Set α
hA : IsCompact A
hB : IsClosed B
h : Disjoint A B
V : Set (α × α)
hV : V ∈ 𝓤 α
hVAB : Disjoint (⋃ x ∈ A, ball x V) (⋃ x ∈ B, ball x V)
i : ι
hi : p i
hiV : s i ⊆ V
⊢ ∃ i, p i ∧ Disjoint (⋃ x ∈ A, ball x (s i)) (⋃ x ∈ B, ball x (s i))
tactic: rcases hU.mem_iff.1 hV with ⟨i, hi, hiV⟩
state_before: case intro.intro.intro.intro
α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
inst✝ : UniformSpace α
K : Set α
p : ι → Prop
s : ι → Set (α × α)
hU : (𝓤 α).HasBasis p s
A B : Set α
hA : IsCompact A
hB : IsClosed B
h : Disjoint A B
V : Set (α × α)
hV : V ∈ 𝓤 α
hVAB : Disjoint (⋃ x ∈ A, ball x V) (⋃ x ∈ B, ball x V)
i : ι
hi : p i
hiV : s i ⊆ V
⊢ ∃ i, p i ∧ Disjoint (⋃ x ∈ A, ball x (s i)) (⋃ x ∈ B, ball x (s i))
state_after: no goals
tactic: exact ⟨i, hi, hVAB.mono (iUnion₂_mono fun a _ => ball_mono hiV a)
    (iUnion₂_mono fun b _ => ball_mono hiV b)⟩
Theorem: CategoryTheory.PreOneHypercover.sieve₁'_eq_sieve₁
File: Mathlib/CategoryTheory/Sites/OneHypercover.lean

Proof steps:
state_before: C : Type u
inst✝² : Category.{v, u} C
A : Type u_1
inst✝¹ : Category.{?u.11500, u_1} A
S : C
E : PreOneHypercover S
i₁ i₂ : E.I₀
inst✝ : HasPullback (E.f i₁) (E.f i₂)
⊢ E.sieve₁' i₁ i₂ = E.sieve₁ (pullback.fst (E.f i₁) (E.f i₂)) (pullback.snd (E.f i₁) (E.f i₂))
state_after: C : Type u
inst✝² : Category.{v, u} C
A : Type u_1
inst✝¹ : Category.{?u.11500, u_1} A
S : C
E : PreOneHypercover S
i₁ i₂ : E.I₀
inst✝ : HasPullback (E.f i₁) (E.f i₂)
⊢ Sieve.pullback (𝟙 (pullback (E.f i₁) (E.f i₂))) (E.sieve₁' i₁ i₂) =
    Sieve.pullback (pullback.lift (pullback.fst (E.f i₁) (E.f i₂)) (pullback.snd (E.f i₁) (E.f i₂)) ⋯) (E.sieve₁' i₁ i₂)
tactic: rw [← Sieve.pullback_id (S := E.sieve₁' i₁ i₂),
    sieve₁_eq_pullback_sieve₁' _ _ _ pullback.condition]
state_before: C : Type u
inst✝² : Category.{v, u} C
A : Type u_1
inst✝¹ : Category.{?u.11500, u_1} A
S : C
E : PreOneHypercover S
i₁ i₂ : E.I₀
inst✝ : HasPullback (E.f i₁) (E.f i₂)
⊢ Sieve.pullback (𝟙 (pullback (E.f i₁) (E.f i₂))) (E.sieve₁' i₁ i₂) =
    Sieve.pullback (pullback.lift (pullback.fst (E.f i₁) (E.f i₂)) (pullback.snd (E.f i₁) (E.f i₂)) ⋯) (E.sieve₁' i₁ i₂)
state_after: case e_h
C : Type u
inst✝² : Category.{v, u} C
A : Type u_1
inst✝¹ : Category.{?u.11500, u_1} A
S : C
E : PreOneHypercover S
i₁ i₂ : E.I₀
inst✝ : HasPullback (E.f i₁) (E.f i₂)
⊢ 𝟙 (pullback (E.f i₁) (E.f i₂)) = pullback.lift (pullback.fst (E.f i₁) (E.f i₂)) (pullback.snd (E.f i₁) (E.f i₂)) ⋯
tactic: congr
state_before: case e_h
C : Type u
inst✝² : Category.{v, u} C
A : Type u_1
inst✝¹ : Category.{?u.11500, u_1} A
S : C
E : PreOneHypercover S
i₁ i₂ : E.I₀
inst✝ : HasPullback (E.f i₁) (E.f i₂)
⊢ 𝟙 (pullback (E.f i₁) (E.f i₂)) = pullback.lift (pullback.fst (E.f i₁) (E.f i₂)) (pullback.snd (E.f i₁) (E.f i₂)) ⋯
state_after: no goals
tactic: aesop_cat
Theorem: Submodule.one_le
File: Mathlib/Algebra/Algebra/Operations.lean

Proof steps:
state_before: ι : Sort uι
R : Type u
inst✝² : CommSemiring R
A : Type v
inst✝¹ : Semiring A
inst✝ : Algebra R A
S T : Set A
M N P Q : Submodule R A
m n : A
⊢ 1 ≤ P ↔ 1 ∈ P
state_after: no goals
tactic: simp only [one_eq_span, span_le, Set.singleton_subset_iff, SetLike.mem_coe]
Theorem: Basis.eval_range
File: Mathlib/LinearAlgebra/Dual.lean

Proof steps:
state_before: R : Type uR
M : Type uM
K : Type uK
V : Type uV
ι✝ : Type uι
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : DecidableEq ι✝
b✝ : Basis ι✝ R M
ι : Type u_1
inst✝ : _root_.Finite ι
b : Basis ι R M
⊢ range (Dual.eval R M) = ⊤
state_after: no goals
tactic: classical
    cases nonempty_fintype ι
    rw [← b.toDual_toDual, range_comp, b.toDual_range, Submodule.map_top, toDual_range _]
Theorem: WithBot.preimage_coe_Icc
File: Mathlib/Order/Interval/Set/WithBotTop.lean

Proof steps:
state_before: α : Type u_1
inst✝ : Preorder α
a b : α
⊢ some ⁻¹' Icc ↑a ↑b = Icc a b
state_after: no goals
tactic: simp [← Ici_inter_Iic]
Theorem: CategoryTheory.Abelian.FunctorCategory.coimageObjIso_inv
File: Mathlib/CategoryTheory/Abelian/FunctorCategory.lean

Proof steps:
state_before: C : Type u
inst✝² : Category.{v, u} C
D : Type w
inst✝¹ : Category.{z, w} D
inst✝ : Abelian D
F G : C ⥤ D
α : F ⟶ G
X : C
⊢ ((evaluation C D).obj X).map (kernel.ι α) ≫ (Iso.refl (((evaluation C D).obj X).obj F)).hom =
    (PreservesKernel.iso ((evaluation C D).obj X) α).hom ≫ kernel.ι (α.app X)
state_after: C : Type u
inst✝² : Category.{v, u} C
D : Type w
inst✝¹ : Category.{z, w} D
inst✝ : Abelian D
F G : C ⥤ D
α : F ⟶ G
X : C
⊢ (kernel.ι α).app X ≫ 𝟙 (F.obj X) = (PreservesKernel.iso ((evaluation C D).obj X) α).hom ≫ kernel.ι (α.app X)
tactic: dsimp
state_before: C : Type u
inst✝² : Category.{v, u} C
D : Type w
inst✝¹ : Category.{z, w} D
inst✝ : Abelian D
F G : C ⥤ D
α : F ⟶ G
X : C
⊢ (kernel.ι α).app X ≫ 𝟙 (F.obj X) = (PreservesKernel.iso ((evaluation C D).obj X) α).hom ≫ kernel.ι (α.app X)
state_after: C : Type u
inst✝² : Category.{v, u} C
D : Type w
inst✝¹ : Category.{z, w} D
inst✝ : Abelian D
F G : C ⥤ D
α : F ⟶ G
X : C
⊢ (kernel.ι α).app X = kernelComparison α ((evaluation C D).obj X) ≫ kernel.ι (α.app X)
tactic: simp only [Category.comp_id, PreservesKernel.iso_hom]
state_before: C : Type u
inst✝² : Category.{v, u} C
D : Type w
inst✝¹ : Category.{z, w} D
inst✝ : Abelian D
F G : C ⥤ D
α : F ⟶ G
X : C
⊢ (kernel.ι α).app X = kernelComparison α ((evaluation C D).obj X) ≫ kernel.ι (α.app X)
state_after: no goals
tactic: exact (kernelComparison_comp_ι _ ((evaluation C D).obj X)).symm
Theorem: NumberField.discr_eq_discr
File: Mathlib/NumberTheory/NumberField/Discriminant.lean

Proof steps:
state_before: K : Type u_1
inst✝³ : Field K
inst✝² : NumberField K
ι : Type u_2
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
b : Basis ι ℤ (𝓞 K)
⊢ Algebra.discr ℤ ⇑b = discr K
state_after: K : Type u_1
inst✝³ : Field K
inst✝² : NumberField K
ι : Type u_2
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
b : Basis ι ℤ (𝓞 K)
b₀ : Basis ι ℤ (𝓞 K) := (RingOfIntegers.basis K).reindex ((RingOfIntegers.basis K).indexEquiv b)
⊢ Algebra.discr ℤ ⇑b = discr K
tactic: let b₀ := Basis.reindex (RingOfIntegers.basis K) (Basis.indexEquiv (RingOfIntegers.basis K) b)
state_before: K : Type u_1
inst✝³ : Field K
inst✝² : NumberField K
ι : Type u_2
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
b : Basis ι ℤ (𝓞 K)
b₀ : Basis ι ℤ (𝓞 K) := (RingOfIntegers.basis K).reindex ((RingOfIntegers.basis K).indexEquiv b)
⊢ Algebra.discr ℤ ⇑b = discr K
state_after: no goals
tactic: rw [Algebra.discr_eq_discr (𝓞 K) b b₀, Basis.coe_reindex, Algebra.discr_reindex]
Theorem: MonoidHom.ext_int
File: Mathlib/Data/Int/Cast/Lemmas.lean

Proof steps:
state_before: F : Type u_1
ι : Type u_2
α : Type u_3
β : Type u_4
M : Type u_5
inst✝ : Monoid M
f g : ℤ →* M
h_neg_one : f (-1) = g (-1)
h_nat : f.comp ↑ofNatHom = g.comp ↑ofNatHom
⊢ f = g
state_after: case h.ofNat
F : Type u_1
ι : Type u_2
α : Type u_3
β : Type u_4
M : Type u_5
inst✝ : Monoid M
f g : ℤ →* M
h_neg_one : f (-1) = g (-1)
h_nat : f.comp ↑ofNatHom = g.comp ↑ofNatHom
x : ℕ
⊢ f (ofNat x) = g (ofNat x)

case h.negSucc
F : Type u_1
ι : Type u_2
α : Type u_3
β : Type u_4
M : Type u_5
inst✝ : Monoid M
f g : ℤ →* M
h_neg_one : f (-1) = g (-1)
h_nat : f.comp ↑ofNatHom = g.comp ↑ofNatHom
x : ℕ
⊢ f -[x+1] = g -[x+1]
tactic: ext (x | x)
Theorem: Real.volume_Ioi
File: Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean

Proof steps:
state_before: ι : Type u_1
inst✝ : Fintype ι
a : ℝ
n : ℕ
⊢ ↑n = volume (Ioo a (a + ↑n))
state_after: no goals
tactic: simp
Theorem: integrable_cexp_neg_mul_sq
File: Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean

Proof steps:
state_before: b : ℂ
hb : 0 < b.re
⊢ Integrable (fun x => cexp (-b * ↑x ^ 2)) volume
state_after: b : ℂ
hb : 0 < b.re
⊢ HasFiniteIntegral (fun x => cexp (-b * ↑x ^ 2)) volume
tactic: refine ⟨(Complex.continuous_exp.comp
    (continuous_const.mul (continuous_ofReal.pow 2))).aestronglyMeasurable, ?_⟩
state_before: b : ℂ
hb : 0 < b.re
⊢ HasFiniteIntegral (fun x => cexp (-b * ↑x ^ 2)) volume
state_after: b : ℂ
hb : 0 < b.re
⊢ HasFiniteIntegral (fun a => ‖cexp (-b * ↑a ^ 2)‖) volume
tactic: rw [← hasFiniteIntegral_norm_iff]
state_before: b : ℂ
hb : 0 < b.re
⊢ HasFiniteIntegral (fun a => ‖cexp (-b * ↑a ^ 2)‖) volume
state_after: b : ℂ
hb : 0 < b.re
⊢ HasFiniteIntegral (fun a => rexp (-b.re * a ^ 2)) volume
tactic: simp_rw [norm_cexp_neg_mul_sq]
state_before: b : ℂ
hb : 0 < b.re
⊢ HasFiniteIntegral (fun a => rexp (-b.re * a ^ 2)) volume
state_after: no goals
tactic: exact (integrable_exp_neg_mul_sq hb).2
Theorem: Polynomial.splits_pow
File: Mathlib/Algebra/Polynomial/Splits.lean

Proof steps:
state_before: R : Type u_1
F : Type u
K : Type v
L : Type w
inst✝² : CommRing K
inst✝¹ : Field L
inst✝ : Field F
i : K →+* L
f : K[X]
hf : Splits i f
n : ℕ
⊢ Splits i (f ^ n)
state_after: R : Type u_1
F : Type u
K : Type v
L : Type w
inst✝² : CommRing K
inst✝¹ : Field L
inst✝ : Field F
i : K →+* L
f : K[X]
hf : Splits i f
n : ℕ
⊢ Splits i (∏ _x ∈ Finset.range n, f)
tactic: rw [← Finset.card_range n, ← Finset.prod_const]
state_before: R : Type u_1
F : Type u
K : Type v
L : Type w
inst✝² : CommRing K
inst✝¹ : Field L
inst✝ : Field F
i : K →+* L
f : K[X]
hf : Splits i f
n : ℕ
⊢ Splits i (∏ _x ∈ Finset.range n, f)
state_after: no goals
tactic: exact splits_prod i fun j _ => hf
Theorem: AlgebraicClosure.AdjoinMonic.exists_root
File: Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean

Proof steps:
state_before: k : Type u
inst✝ : Field k
f : k[X]
hfm : f.Monic
hfi : Irreducible f
⊢ Polynomial.eval₂ (toAdjoinMonic k) ((Ideal.Quotient.mk (maxIdeal k)) (MvPolynomial.X ⟨f, ⋯⟩)) f = 0
state_after: k : Type u
inst✝ : Field k
f : k[X]
hfm : f.Monic
hfi : Irreducible f
⊢ Polynomial.eval₂ MvPolynomial.C (MvPolynomial.X ⟨f, ⋯⟩) f ∈ maxIdeal k
tactic: erw [toAdjoinMonic, ← hom_eval₂, Ideal.Quotient.eq_zero_iff_mem]
state_before: k : Type u
inst✝ : Field k
f : k[X]
hfm : f.Monic
hfi : Irreducible f
⊢ Polynomial.eval₂ MvPolynomial.C (MvPolynomial.X ⟨f, ⋯⟩) f ∈ maxIdeal k
state_after: no goals
tactic: exact le_maxIdeal k (Ideal.subset_span <| ⟨_, rfl⟩)
Theorem: expMapCircle_zero
File: Mathlib/Analysis/Complex/Circle.lean

Proof steps:
state_before: ⊢ ↑(expMapCircle 0) = ↑1
state_after: no goals
tactic: rw [expMapCircle_apply, ofReal_zero, zero_mul, exp_zero, Submonoid.coe_one]
Theorem: isωSup_ωSup
File: Mathlib/Topology/OmegaCompletePartialOrder.lean

Proof steps:
state_before: α : Type u_1
inst✝ : OmegaCompletePartialOrder α
c : Chain α
⊢ IsωSup c (ωSup c)
state_after: case left
α : Type u_1
inst✝ : OmegaCompletePartialOrder α
c : Chain α
⊢ ∀ (i : ℕ), c i ≤ ωSup c

case right
α : Type u_1
inst✝ : OmegaCompletePartialOrder α
c : Chain α
⊢ ∀ (y : α), (∀ (i : ℕ), c i ≤ y) → ωSup c ≤ y
tactic: constructor
Theorem: HahnSeries.zero_lt_orderTop_iff
File: Mathlib/RingTheory/HahnSeries/Basic.lean

Proof steps:
state_before: Γ : Type u_1
R : Type u_2
inst✝² : PartialOrder Γ
inst✝¹ : Zero R
a b : Γ
r : R
inst✝ : Zero Γ
x : HahnSeries Γ R
hx : x ≠ 0
⊢ 0 < x.orderTop ↔ 0 < x.order
state_after: no goals
tactic: simp_all [orderTop_of_ne hx, order_of_ne hx]
Theorem: Multiset.singleton_subset
File: Mathlib/Data/Multiset/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type v
γ : Type u_2
s : Multiset α
a : α
⊢ {a} ⊆ s ↔ a ∈ s
state_after: no goals
tactic: simp [subset_iff]
Theorem: MeasureTheory.Measure.isHaarMeasure_map
File: Mathlib/MeasureTheory/Group/Measure.lean

Proof steps:
state_before: 𝕜 : Type u_1
G : Type u_2
H✝ : Type u_3
inst✝¹² : MeasurableSpace G
inst✝¹¹ : MeasurableSpace H✝
inst✝¹⁰ : Group G
inst✝⁹ : TopologicalSpace G
μ : Measure G
inst✝⁸ : μ.IsHaarMeasure
inst✝⁷ : BorelSpace G
inst✝⁶ : TopologicalGroup G
H : Type u_4
inst✝⁵ : Group H
inst✝⁴ : TopologicalSpace H
inst✝³ : MeasurableSpace H
inst✝² : BorelSpace H
inst✝¹ : T2Space H
inst✝ : TopologicalGroup H
f : G →* H
hf : Continuous ⇑f
h_surj : Surjective ⇑f
h_prop : Tendsto (⇑f) (cocompact G) (cocompact H)
⊢ ∀ ⦃K : Set H⦄, IsCompact K → (map (⇑f) μ) K < ⊤
state_after: 𝕜 : Type u_1
G : Type u_2
H✝ : Type u_3
inst✝¹² : MeasurableSpace G
inst✝¹¹ : MeasurableSpace H✝
inst✝¹⁰ : Group G
inst✝⁹ : TopologicalSpace G
μ : Measure G
inst✝⁸ : μ.IsHaarMeasure
inst✝⁷ : BorelSpace G
inst✝⁶ : TopologicalGroup G
H : Type u_4
inst✝⁵ : Group H
inst✝⁴ : TopologicalSpace H
inst✝³ : MeasurableSpace H
inst✝² : BorelSpace H
inst✝¹ : T2Space H
inst✝ : TopologicalGroup H
f : G →* H
hf : Continuous ⇑f
h_surj : Surjective ⇑f
h_prop : Tendsto (⇑f) (cocompact G) (cocompact H)
K : Set H
hK : IsCompact K
⊢ (map (⇑f) μ) K < ⊤
tactic: intro K hK
state_before: 𝕜 : Type u_1
G : Type u_2
H✝ : Type u_3
inst✝¹² : MeasurableSpace G
inst✝¹¹ : MeasurableSpace H✝
inst✝¹⁰ : Group G
inst✝⁹ : TopologicalSpace G
μ : Measure G
inst✝⁸ : μ.IsHaarMeasure
inst✝⁷ : BorelSpace G
inst✝⁶ : TopologicalGroup G
H : Type u_4
inst✝⁵ : Group H
inst✝⁴ : TopologicalSpace H
inst✝³ : MeasurableSpace H
inst✝² : BorelSpace H
inst✝¹ : T2Space H
inst✝ : TopologicalGroup H
f : G →* H
hf : Continuous ⇑f
h_surj : Surjective ⇑f
h_prop : Tendsto (⇑f) (cocompact G) (cocompact H)
K : Set H
hK : IsCompact K
⊢ (map (⇑f) μ) K < ⊤
state_after: 𝕜 : Type u_1
G : Type u_2
H✝ : Type u_3
inst✝¹² : MeasurableSpace G
inst✝¹¹ : MeasurableSpace H✝
inst✝¹⁰ : Group G
inst✝⁹ : TopologicalSpace G
μ : Measure G
inst✝⁸ : μ.IsHaarMeasure
inst✝⁷ : BorelSpace G
inst✝⁶ : TopologicalGroup G
H : Type u_4
inst✝⁵ : Group H
inst✝⁴ : TopologicalSpace H
inst✝³ : MeasurableSpace H
inst✝² : BorelSpace H
inst✝¹ : T2Space H
inst✝ : TopologicalGroup H
f : G →* H
hf : Continuous ⇑f
h_surj : Surjective ⇑f
h_prop : Tendsto (⇑f) (cocompact G) (cocompact H)
K : Set H
hK : IsCompact K
⊢ μ (⇑f ⁻¹' K) < ⊤
tactic: rw [map_apply hf.measurable hK.measurableSet]
state_before: 𝕜 : Type u_1
G : Type u_2
H✝ : Type u_3
inst✝¹² : MeasurableSpace G
inst✝¹¹ : MeasurableSpace H✝
inst✝¹⁰ : Group G
inst✝⁹ : TopologicalSpace G
μ : Measure G
inst✝⁸ : μ.IsHaarMeasure
inst✝⁷ : BorelSpace G
inst✝⁶ : TopologicalGroup G
H : Type u_4
inst✝⁵ : Group H
inst✝⁴ : TopologicalSpace H
inst✝³ : MeasurableSpace H
inst✝² : BorelSpace H
inst✝¹ : T2Space H
inst✝ : TopologicalGroup H
f : G →* H
hf : Continuous ⇑f
h_surj : Surjective ⇑f
h_prop : Tendsto (⇑f) (cocompact G) (cocompact H)
K : Set H
hK : IsCompact K
⊢ μ (⇑f ⁻¹' K) < ⊤
state_after: no goals
tactic: exact IsCompact.measure_lt_top ((⟨⟨f, hf⟩, h_prop⟩ : CocompactMap G H).isCompact_preimage hK)
Theorem: InnerProductSpace.Core.inner_zero_left
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝² : _root_.RCLike 𝕜
inst✝¹ : AddCommGroup F
inst✝ : Module 𝕜 F
c : Core 𝕜 F
x : F
⊢ ⟪0, x⟫_𝕜 = 0
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝² : _root_.RCLike 𝕜
inst✝¹ : AddCommGroup F
inst✝ : Module 𝕜 F
c : Core 𝕜 F
x : F
⊢ (starRingEnd 𝕜) 0 * ⟪0, x⟫_𝕜 = 0
tactic: rw [← zero_smul 𝕜 (0 : F), inner_smul_left]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝² : _root_.RCLike 𝕜
inst✝¹ : AddCommGroup F
inst✝ : Module 𝕜 F
c : Core 𝕜 F
x : F
⊢ (starRingEnd 𝕜) 0 * ⟪0, x⟫_𝕜 = 0
state_after: no goals
tactic: simp only [zero_mul, RingHom.map_zero]
Theorem: Zsqrtd.intCast_val
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

Proof steps:
state_before: d n : ℤ
⊢ ↑n = { re := n, im := 0 }
state_after: no goals
tactic: ext <;> simp
Theorem: MeasureTheory.indicatorConstLp_empty
File: Mathlib/MeasureTheory/Function/LpSpace.lean

Proof steps:
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
s : Set α
hs : MeasurableSet s
hμs : μ s ≠ ⊤
c : E
⊢ μ ∅ ≠ ⊤
state_after: no goals
tactic: simp
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
s : Set α
hs : MeasurableSet s
hμs : μ s ≠ ⊤
c : E
⊢ indicatorConstLp p ⋯ ⋯ c = 0
state_after: no goals
tactic: simp only [indicatorConstLp, Set.indicator_empty', Memℒp.toLp_zero]
Theorem: Polynomial.degree_add_eq_right_of_degree_lt
File: Mathlib/Algebra/Polynomial/Degree/Definitions.lean

Proof steps:
state_before: R : Type u
S : Type v
a b c d : R
n m : ℕ
inst✝ : Semiring R
p✝ p q : R[X]
ι : Type u_1
h : p.degree < q.degree
⊢ (p + q).degree = q.degree
state_after: no goals
tactic: rw [add_comm, degree_add_eq_left_of_degree_lt h]
Theorem: CstarRing.norm_coe_unitary_mul
File: Mathlib/Analysis/CstarAlgebra/Basic.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
α : Type u_3
inst✝² : NormedRing E
inst✝¹ : StarRing E
inst✝ : CstarRing E
U : ↥(unitary E)
A : E
⊢ ‖↑U * A‖ = ‖A‖
state_after: 𝕜 : Type u_1
E : Type u_2
α : Type u_3
inst✝² : NormedRing E
inst✝¹ : StarRing E
inst✝ : CstarRing E
U : ↥(unitary E)
A : E
a✝ : Nontrivial E
⊢ ‖↑U * A‖ = ‖A‖
tactic: nontriviality E
state_before: 𝕜 : Type u_1
E : Type u_2
α : Type u_3
inst✝² : NormedRing E
inst✝¹ : StarRing E
inst✝ : CstarRing E
U : ↥(unitary E)
A : E
a✝ : Nontrivial E
⊢ ‖↑U * A‖ = ‖A‖
state_after: case refine_1
𝕜 : Type u_1
E : Type u_2
α : Type u_3
inst✝² : NormedRing E
inst✝¹ : StarRing E
inst✝ : CstarRing E
U : ↥(unitary E)
A : E
a✝ : Nontrivial E
⊢ ‖↑U * A‖ ≤ ‖A‖

case refine_2
𝕜 : Type u_1
E : Type u_2
α : Type u_3
inst✝² : NormedRing E
inst✝¹ : StarRing E
inst✝ : CstarRing E
U : ↥(unitary E)
A : E
a✝ : Nontrivial E
⊢ ‖A‖ ≤ ‖↑U * A‖
tactic: refine le_antisymm ?_ ?_
Theorem: Nat.div_two_mul_two_add_one_of_odd
File: Mathlib/Algebra/Ring/Parity.lean

Proof steps:
state_before: F : Type u_1
α : Type u_2
β : Type u_3
R : Type u_4
m n : ℕ
h : Odd n
⊢ n / 2 * 2 + 1 = n
state_after: no goals
tactic: rw [← odd_iff.mp h, div_add_mod']
Theorem: WeierstrassCurve.Ψ_four
File: Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean

Proof steps:
state_before: R : Type r
S : Type s
inst✝¹ : CommRing R
inst✝ : CommRing S
W : WeierstrassCurve R
⊢ W.Ψ 4 = C W.preΨ₄ * W.ψ₂
state_after: no goals
tactic: erw [Ψ_ofNat, preΨ'_four, if_pos <| by decide]
Theorem: CategoryTheory.ShortComplex.SnakeInput.op_L₀
File: Mathlib/Algebra/Homology/ShortComplex/SnakeLemma.lean

Proof steps:
state_before: C : Type u_1
inst✝¹ : Category.{?u.4837, u_1} C
inst✝ : Abelian C
S : SnakeInput C
⊢ Epi S.L₂.op.g
state_after: C : Type u_1
inst✝¹ : Category.{?u.4837, u_1} C
inst✝ : Abelian C
S : SnakeInput C
⊢ Epi S.L₂.f.op
tactic: dsimp
state_before: C : Type u_1
inst✝¹ : Category.{?u.4837, u_1} C
inst✝ : Abelian C
S : SnakeInput C
⊢ Epi S.L₂.f.op
state_after: no goals
tactic: infer_instance
state_before: C : Type u_1
inst✝¹ : Category.{?u.4837, u_1} C
inst✝ : Abelian C
S : SnakeInput C
⊢ Mono S.L₁.op.f
state_after: C : Type u_1
inst✝¹ : Category.{?u.4837, u_1} C
inst✝ : Abelian C
S : SnakeInput C
⊢ Mono S.L₁.g.op
tactic: dsimp
state_before: C : Type u_1
inst✝¹ : Category.{?u.4837, u_1} C
inst✝ : Abelian C
S : SnakeInput C
⊢ Mono S.L₁.g.op
state_after: no goals
tactic: infer_instance
Theorem: IsCompact.add_closedBall
File: Mathlib/Analysis/Normed/Group/Pointwise.lean

Proof steps:
state_before: E : Type u_1
inst✝ : SeminormedCommGroup E
ε δ : ℝ
s t : Set E
x✝ y : E
hs : IsCompact s
hδ : 0 ≤ δ
x : E
⊢ s * closedBall x δ = x • cthickening δ s
state_after: no goals
tactic: rw [← smul_closedBall_one, mul_smul_comm, hs.mul_closedBall_one hδ]
Theorem: LinearMap.toMatrixAlgEquiv_mul
File: Mathlib/LinearAlgebra/Matrix/ToLin.lean

Proof steps:
state_before: R : Type u_1
inst✝⁹ : CommSemiring R
l : Type u_2
m : Type u_3
n : Type u_4
inst✝⁸ : Fintype n
inst✝⁷ : Fintype m
inst✝⁶ : DecidableEq n
M₁ : Type u_5
M₂ : Type u_6
inst✝⁵ : AddCommMonoid M₁
inst✝⁴ : AddCommMonoid M₂
inst✝³ : Module R M₁
inst✝² : Module R M₂
v₁ : Basis n R M₁
v₂ : Basis m R M₂
M₃ : Type u_7
inst✝¹ : AddCommMonoid M₃
inst✝ : Module R M₃
v₃ : Basis l R M₃
f g : M₁ →ₗ[R] M₁
⊢ (toMatrixAlgEquiv v₁) (f * g) = (toMatrixAlgEquiv v₁) f * (toMatrixAlgEquiv v₁) g
state_after: no goals
tactic: rw [LinearMap.mul_eq_comp, LinearMap.toMatrixAlgEquiv_comp v₁ f g]
Theorem: Mathlib.Tactic.Monoidal.eval_of
File: Mathlib/Tactic/CategoryTheory/Monoidal.lean

Proof steps:
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : MonoidalCategory C
f f' g g' h i j : C
η : f ⟶ g
⊢ η = 𝟙 f ≫ η ≫ 𝟙 g
state_after: no goals
tactic: simp
Theorem: Tropical.add_eq_left_iff
File: Mathlib/Algebra/Tropical/Basic.lean

Proof steps:
state_before: R : Type u
inst✝ : LinearOrder R
x y : Tropical R
⊢ x + y = x ↔ x ≤ y
state_after: no goals
tactic: rw [trop_add_def, trop_eq_iff_eq_untrop, ← untrop_le_iff, min_eq_left_iff]
Theorem: List.filter_false
File: Mathlib/Data/List/Basic.lean

Proof steps:
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
p : α → Bool
l : List α
⊢ filter (fun x => false) l = []
state_after: no goals
tactic: induction l <;> simp [*, filter]
Theorem: AffineSubspace.bot_parallel_iff_eq_bot
File: Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean

Proof steps:
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
s : AffineSubspace k P
⊢ ⊥ ∥ s ↔ s = ⊥
state_after: no goals
tactic: rw [parallel_comm, parallel_bot_iff_eq_bot]
Theorem: WithLp.prod_sup_edist_ne_top_aux
File: Mathlib/Analysis/Normed/Lp/ProdLp.lean

Proof steps:
state_before: p : ℝ≥0∞
𝕜 : Type u_1
α : Type u_2
β : Type u_3
hp : Fact (1 ≤ p)
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
f g : WithLp ⊤ (α × β)
⊢ edist f.1 g.1 ⊔ edist f.2 g.2 < ⊤
state_after: no goals
tactic: simp [edist, PseudoMetricSpace.edist_dist]
Theorem: Finset.erase_inj
File: Mathlib/Data/Finset/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b x y : α
s : Finset α
hx : x ∈ s
⊢ s.erase x = s.erase y ↔ x = y
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b x y : α
s : Finset α
hx : x ∈ s
h : s.erase x = s.erase y
⊢ x ∉ s.erase y
tactic: refine ⟨fun h => eq_of_mem_of_not_mem_erase hx ?_, congr_arg _⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b x y : α
s : Finset α
hx : x ∈ s
h : s.erase x = s.erase y
⊢ x ∉ s.erase y
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b x y : α
s : Finset α
hx : x ∈ s
h : s.erase x = s.erase y
⊢ x ∉ s.erase x
tactic: rw [← h]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b x y : α
s : Finset α
hx : x ∈ s
h : s.erase x = s.erase y
⊢ x ∉ s.erase x
state_after: no goals
tactic: simp
Theorem: isAddUnit_iff_exists_neg'
File: Mathlib/Algebra/Group/Units.lean

Proof steps:
state_before: α : Type u
M : Type u_1
N : Type u_2
inst✝ : CommMonoid M
a : M
⊢ IsUnit a ↔ ∃ b, b * a = 1
state_after: no goals
tactic: simp [isUnit_iff_exists_inv, mul_comm]