ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: ProbabilityTheory.condCDF_ae_eq
File: Mathlib/Probability/Kernel/Disintegration/CondCdf.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
ρ : Measure (α × ℝ)
inst✝ : IsFiniteMeasure ρ
r : ℚ
⊢ (fun a => ↑(condCDF ρ a) ↑r) =ᶠ[ae ρ.fst] fun a => (preCDF ρ r a).toReal
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
ρ : Measure (α × ℝ)
inst✝ : IsFiniteMeasure ρ
r : ℚ
⊢ (fun a => ↑(stieltjesOfMeasurableRat (fun p r => (preCDF ρ r p.2).toReal) ⋯ ((), a)) ↑r) =ᶠ[ae ρ.fst] fun a =>
    (preCDF ρ r a).toReal
tactic: simp_rw [condCDF_eq_stieltjesOfMeasurableRat_unit_prod ρ]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
ρ : Measure (α × ℝ)
inst✝ : IsFiniteMeasure ρ
r : ℚ
⊢ (fun a => ↑(stieltjesOfMeasurableRat (fun p r => (preCDF ρ r p.2).toReal) ⋯ ((), a)) ↑r) =ᶠ[ae ρ.fst] fun a =>
    (preCDF ρ r a).toReal
state_after: no goals
tactic: exact stieltjesOfMeasurableRat_ae_eq (isRatCondKernelCDF_preCDF ρ) () r
Theorem: MeasureTheory.Measure.addHaar_closedBall
File: Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean

Proof steps:
state_before: E : Type u_1
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
inst✝⁶ : MeasurableSpace E
inst✝⁵ : BorelSpace E
inst✝⁴ : FiniteDimensional ℝ E
μ : Measure E
inst✝³ : μ.IsAddHaarMeasure
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
s : Set E
x : E
r : ℝ
hr : 0 ≤ r
⊢ μ (closedBall x r) = ENNReal.ofReal (r ^ finrank ℝ E) * μ (ball 0 1)
state_after: no goals
tactic: rw [addHaar_closedBall' μ x hr, addHaar_closed_unit_ball_eq_addHaar_unit_ball]
Theorem: Finset.sum_sum_elim
File: Mathlib/Algebra/BigOperators/Group/Finset.lean

Proof steps:
state_before: ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
s✝ s₁ s₂ : Finset α
a : α
f✝ g✝ : α → β
inst✝ : CommMonoid β
s : Finset α
t : Finset γ
f : α → β
g : γ → β
⊢ ∏ x ∈ s.disjSum t, Sum.elim f g x = (∏ x ∈ s, f x) * ∏ x ∈ t, g x
state_after: no goals
tactic: simp
Theorem: upperBounds_range_partialSups
File: Mathlib/Order/PartialSups.lean

Proof steps:
state_before: α : Type u_1
inst✝ : SemilatticeSup α
f : ℕ → α
⊢ upperBounds (Set.range ⇑(partialSups f)) = upperBounds (Set.range f)
state_after: case h
α : Type u_1
inst✝ : SemilatticeSup α
f : ℕ → α
a : α
⊢ a ∈ upperBounds (Set.range ⇑(partialSups f)) ↔ a ∈ upperBounds (Set.range f)
tactic: ext a
state_before: case h
α : Type u_1
inst✝ : SemilatticeSup α
f : ℕ → α
a : α
⊢ a ∈ upperBounds (Set.range ⇑(partialSups f)) ↔ a ∈ upperBounds (Set.range f)
state_after: case h
α : Type u_1
inst✝ : SemilatticeSup α
f : ℕ → α
a : α
⊢ (∀ (i k : ℕ), k ≤ i → f k ≤ a) ↔ ∀ (i : ℕ), f i ≤ a
tactic: simp only [mem_upperBounds, Set.forall_mem_range, partialSups_le_iff]
state_before: case h
α : Type u_1
inst✝ : SemilatticeSup α
f : ℕ → α
a : α
⊢ (∀ (i k : ℕ), k ≤ i → f k ≤ a) ↔ ∀ (i : ℕ), f i ≤ a
state_after: no goals
tactic: exact ⟨fun h _ ↦ h _ _ le_rfl, fun h _ _ _ ↦ h _⟩
Theorem: topologicalGroup_iInf
File: Mathlib/Topology/Algebra/Group/Basic.lean

Proof steps:
state_before: G : Type w
H : Type x
α : Type u
β : Type v
ι : Sort u_1
inst✝ : Group G
ts' : ι → TopologicalSpace G
h' : ∀ (i : ι), TopologicalGroup G
⊢ TopologicalGroup G
state_after: no goals
tactic: exact topologicalGroup_sInf (Set.forall_mem_range.mpr h')
Theorem: RingHom.rangeS_top_iff_surjective
File: Mathlib/Algebra/Ring/Subsemiring/Basic.lean

Proof steps:
state_before: R : Type u
S : Type v
T : Type w
inst✝⁷ : NonAssocSemiring R
M : Submonoid R
inst✝⁶ : NonAssocSemiring S
inst✝⁵ inst✝⁴ : NonAssocSemiring T
s : Subsemiring R
σR : Type u_1
σS : Type u_2
inst✝³ : SetLike σR R
inst✝² : SetLike σS S
inst✝¹ : SubsemiringClass σR R
inst✝ : SubsemiringClass σS S
f : R →+* S
⊢ ↑f.rangeS = ↑⊤ ↔ Set.range ⇑f = Set.univ
state_after: no goals
tactic: rw [coe_rangeS, coe_top]
Theorem: MeasureTheory.withDensityᵥ_zero
File: Mathlib/MeasureTheory/Measure/WithDensityVectorMeasure.lean

Proof steps:
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
⊢ μ.withDensityᵥ 0 = 0
state_after: case h
α : 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
s : Set α
hs : MeasurableSet s
⊢ ↑(μ.withDensityᵥ 0) s = ↑0 s
tactic: ext1 s hs
state_before: case h
α : 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
s : Set α
hs : MeasurableSet s
⊢ ↑(μ.withDensityᵥ 0) s = ↑0 s
state_after: case h
α : 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
s : Set α
hs : MeasurableSet s
⊢ ∫ (x : α) in s, 0 ∂μ = ↑0 s
tactic: erw [withDensityᵥ_apply (integrable_zero α E μ) hs]
state_before: case h
α : 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
s : Set α
hs : MeasurableSet s
⊢ ∫ (x : α) in s, 0 ∂μ = ↑0 s
state_after: no goals
tactic: simp
Theorem: Nat.primeFactors_one
File: Mathlib/Data/Nat/PrimeFin.lean

Proof steps:
state_before: a b k m n p : ℕ
⊢ primeFactors 1 = ∅
state_after: case a
a b k m n p a✝ : ℕ
⊢ a✝ ∈ primeFactors 1 ↔ a✝ ∈ ∅
tactic: ext
state_before: case a
a b k m n p a✝ : ℕ
⊢ a✝ ∈ primeFactors 1 ↔ a✝ ∈ ∅
state_after: no goals
tactic: simpa using Prime.ne_one
Theorem: ContinuousLinearMap.norm_adjoint_comp_self
File: Mathlib/Analysis/InnerProductSpace/Adjoint.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] F
⊢ ‖(adjoint A).comp A‖ = ‖A‖ * ‖A‖
state_after: case refine_1
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] F
⊢ ‖(adjoint A).comp A‖ ≤ ‖A‖ * ‖A‖

case refine_2
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] F
⊢ ‖A‖ * ‖A‖ ≤ ‖(adjoint A).comp A‖
tactic: refine le_antisymm ?_ ?_
Theorem: ProbabilityTheory.Kernel.swapRight_apply'
File: Mathlib/Probability/Kernel/Composition.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
δ : Type u_4
mδ : MeasurableSpace δ
γ : Type u_5
mγ : MeasurableSpace γ
f : β → γ
g : γ → α
κ : Kernel α (β × γ)
a : α
s : Set (γ × β)
hs : MeasurableSet s
⊢ (κ.swapRight a) s = (κ a) {p | p.swap ∈ s}
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
δ : Type u_4
mδ : MeasurableSpace δ
γ : Type u_5
mγ : MeasurableSpace γ
f : β → γ
g : γ → α
κ : Kernel α (β × γ)
a : α
s : Set (γ × β)
hs : MeasurableSet s
⊢ (κ a) (Prod.swap ⁻¹' s) = (κ a) {p | p.swap ∈ s}
tactic: rw [swapRight_apply, Measure.map_apply measurable_swap hs]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
δ : Type u_4
mδ : MeasurableSpace δ
γ : Type u_5
mγ : MeasurableSpace γ
f : β → γ
g : γ → α
κ : Kernel α (β × γ)
a : α
s : Set (γ × β)
hs : MeasurableSet s
⊢ (κ a) (Prod.swap ⁻¹' s) = (κ a) {p | p.swap ∈ s}
state_after: no goals
tactic: rfl
Theorem: Nat.Coprime.dvd_of_dvd_mul_right
File: .lake/packages/batteries/Batteries/Data/Nat/Gcd.lean

Proof steps:
state_before: k n m : Nat
H1 : k.Coprime n
H2 : k ∣ m * n
⊢ k ∣ m
state_after: k n m : Nat
H1 : k.Coprime n
H2 : k ∣ m * n
t : k ∣ (m * k).gcd (m * n) := dvd_gcd (Nat.dvd_mul_left k m) H2
⊢ k ∣ m
tactic: let t := dvd_gcd (Nat.dvd_mul_left k m) H2
state_before: k n m : Nat
H1 : k.Coprime n
H2 : k ∣ m * n
t : k ∣ (m * k).gcd (m * n) := dvd_gcd (Nat.dvd_mul_left k m) H2
⊢ k ∣ m
state_after: no goals
tactic: rwa [gcd_mul_left, H1.gcd_eq_one, Nat.mul_one] at t
Theorem: Real.sqrt_div_self
File: Mathlib/Data/Real/Sqrt.lean

Proof steps:
state_before: x✝ y✝ x y : ℝ
⊢ √x / x = (√x)⁻¹
state_after: no goals
tactic: rw [sqrt_div_self', one_div]
Theorem: TensorProduct.AlgebraTensorModule.uncurry_apply
File: Mathlib/LinearAlgebra/TensorProduct/Tower.lean

Proof steps:
state_before: R : Type uR
A : Type uA
B : Type uB
M : Type uM
N : Type uN
P : Type uP
Q : Type uQ
P' : Type uP'
Q' : Type uQ'
inst✝³¹ : CommSemiring R
inst✝³⁰ : Semiring A
inst✝²⁹ : Semiring B
inst✝²⁸ : Algebra R A
inst✝²⁷ : Algebra R B
inst✝²⁶ : AddCommMonoid M
inst✝²⁵ : Module R M
inst✝²⁴ : Module A M
inst✝²³ : Module B M
inst✝²² : IsScalarTower R A M
inst✝²¹ : IsScalarTower R B M
inst✝²⁰ : SMulCommClass A B M
inst✝¹⁹ : AddCommMonoid N
inst✝¹⁸ : Module R N
inst✝¹⁷ : AddCommMonoid P
inst✝¹⁶ : Module R P
inst✝¹⁵ : Module A P
inst✝¹⁴ : Module B P
inst✝¹³ : IsScalarTower R A P
inst✝¹² : IsScalarTower R B P
inst✝¹¹ : SMulCommClass A B P
inst✝¹⁰ : AddCommMonoid Q
inst✝⁹ : Module R Q
inst✝⁸ : AddCommMonoid P'
inst✝⁷ : Module R P'
inst✝⁶ : Module A P'
inst✝⁵ : Module B P'
inst✝⁴ : IsScalarTower R A P'
inst✝³ : IsScalarTower R B P'
inst✝² : SMulCommClass A B P'
inst✝¹ : AddCommMonoid Q'
inst✝ : Module R Q'
x✝¹ x✝ : M →ₗ[A] N →ₗ[R] P
x : M
y : N
⊢ (lift (x✝¹ + x✝)) (x ⊗ₜ[R] y) = (lift x✝¹ + lift x✝) (x ⊗ₜ[R] y)
state_after: no goals
tactic: simp only [lift_tmul, add_apply]
state_before: R : Type uR
A : Type uA
B : Type uB
M : Type uM
N : Type uN
P : Type uP
Q : Type uQ
P' : Type uP'
Q' : Type uQ'
inst✝³¹ : CommSemiring R
inst✝³⁰ : Semiring A
inst✝²⁹ : Semiring B
inst✝²⁸ : Algebra R A
inst✝²⁷ : Algebra R B
inst✝²⁶ : AddCommMonoid M
inst✝²⁵ : Module R M
inst✝²⁴ : Module A M
inst✝²³ : Module B M
inst✝²² : IsScalarTower R A M
inst✝²¹ : IsScalarTower R B M
inst✝²⁰ : SMulCommClass A B M
inst✝¹⁹ : AddCommMonoid N
inst✝¹⁸ : Module R N
inst✝¹⁷ : AddCommMonoid P
inst✝¹⁶ : Module R P
inst✝¹⁵ : Module A P
inst✝¹⁴ : Module B P
inst✝¹³ : IsScalarTower R A P
inst✝¹² : IsScalarTower R B P
inst✝¹¹ : SMulCommClass A B P
inst✝¹⁰ : AddCommMonoid Q
inst✝⁹ : Module R Q
inst✝⁸ : AddCommMonoid P'
inst✝⁷ : Module R P'
inst✝⁶ : Module A P'
inst✝⁵ : Module B P'
inst✝⁴ : IsScalarTower R A P'
inst✝³ : IsScalarTower R B P'
inst✝² : SMulCommClass A B P'
inst✝¹ : AddCommMonoid Q'
inst✝ : Module R Q'
x✝¹ : B
x✝ : M →ₗ[A] N →ₗ[R] P
x : M
y : N
⊢ ({ toFun := lift, map_add' := ⋯ }.toFun (x✝¹ • x✝)) (x ⊗ₜ[R] y) =
    ((RingHom.id B) x✝¹ • { toFun := lift, map_add' := ⋯ }.toFun x✝) (x ⊗ₜ[R] y)
state_after: no goals
tactic: simp only [lift_tmul, smul_apply, RingHom.id_apply]
Theorem: Int.pairwise_one_le_dist
File: Mathlib/Topology/Instances/Int.lean

Proof steps:
state_before: ⊢ Pairwise fun m n => 1 ≤ dist m n
state_after: m n : ℤ
hne : m ≠ n
⊢ 1 ≤ dist m n
tactic: intro m n hne
state_before: m n : ℤ
hne : m ≠ n
⊢ 1 ≤ dist m n
state_after: m n : ℤ
hne : m ≠ n
⊢ 1 ≤ |↑m - ↑n|
tactic: rw [dist_eq]
state_before: m n : ℤ
hne : m ≠ n
⊢ 1 ≤ |↑m - ↑n|
state_after: m n : ℤ
hne : m ≠ n
⊢ 1 ≤ |m - n|
tactic: norm_cast
state_before: m n : ℤ
hne : m ≠ n
⊢ 1 ≤ |m - n|
state_after: no goals
tactic: rwa [← zero_add (1 : ℤ), Int.add_one_le_iff, abs_pos, sub_ne_zero]
Theorem: VitaliFamily.tendsto_filterAt_iff
File: Mathlib/MeasureTheory/Covering/VitaliFamily.lean

Proof steps:
state_before: α : Type u_1
inst✝ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
ι : Type u_2
l : Filter ι
f : ι → Set α
x : α
⊢ Tendsto f l (v.filterAt x) ↔ (∀ᶠ (i : ι) in l, f i ∈ v.setsAt x) ∧ ∀ ε > 0, ∀ᶠ (i : ι) in l, f i ⊆ closedBall x ε
state_after: no goals
tactic: simp only [filterAt, tendsto_inf, nhds_basis_closedBall.smallSets.tendsto_right_iff,
    tendsto_principal, and_comm, mem_powerset_iff]
Theorem: Polynomial.natSepDegree_X_pow
File: Mathlib/FieldTheory/SeparableDegree.lean

Proof steps:
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
f : F[X]
n : ℕ
⊢ (X ^ n).natSepDegree = if n = 0 then 0 else 1
state_after: no goals
tactic: simp only [natSepDegree_pow, natSepDegree_X]
Theorem: Ordinal.nmul_nadd
File: Mathlib/SetTheory/Ordinal/NaturalOps.lean

Proof steps:
state_before: a✝ b✝ c✝ d : Ordinal.{u}
a b c : Ordinal.{u_1}
⊢ a ⨳ (b ♯ c) = a ⨳ b ♯ a ⨳ c
state_after: case refine_1
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd : d < b ♯ c
⊢ a' ⨳ (b ♯ c) ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d

case refine_2
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd : d < a ⨳ b
⊢ d ♯ a ⨳ c < a ⨳ (b ♯ c)

case refine_3
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd : d < a ⨳ c
⊢ a ⨳ b ♯ d < a ⨳ (b ♯ c)
tactic: refine le_antisymm (nmul_le_iff.2 fun a' ha d hd => ?_)
      (nadd_le_iff.2 ⟨fun d hd => ?_, fun d hd => ?_⟩)
Theorem: nonpos_of_add_le_right
File: Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝² : MulOneClass α
inst✝¹ : LE α
inst✝ : ContravariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b : α
h : a * b ≤ a
⊢ a * b ≤ a * 1
state_after: no goals
tactic: simpa only [mul_one]
Theorem: CategoryTheory.OverPresheafAux.unitAuxAux_hom_app
File: Mathlib/CategoryTheory/Comma/Presheaf.lean

Proof steps:
state_before: C : Type u
inst✝ : Category.{v, u} C
A F : Cᵒᵖ ⥤ Type v
η : F ⟶ A
⊢ ∀ {X Y : Cᵒᵖ} (f : X ⟶ Y),
    (yonedaCollectionPresheaf A (restrictedYonedaObj η)).map f ≫ ((fun X => unitAuxAuxAux η (unop X)) Y).hom =
      ((fun X => unitAuxAuxAux η (unop X)) X).hom ≫ F.map f
state_after: no goals
tactic: aesop_cat
Theorem: Set.ordConnected_of_Ioo
File: Mathlib/Order/Interval/Set/OrdConnected.lean

Proof steps:
state_before: α✝ : Type u_1
β : Type u_2
inst✝² : Preorder α✝
inst✝¹ : Preorder β
s✝ t : Set α✝
α : Type u_3
inst✝ : PartialOrder α
s : Set α
hs : ∀ x ∈ s, ∀ y ∈ s, x < y → Ioo x y ⊆ s
⊢ s.OrdConnected
state_after: α✝ : Type u_1
β : Type u_2
inst✝² : Preorder α✝
inst✝¹ : Preorder β
s✝ t : Set α✝
α : Type u_3
inst✝ : PartialOrder α
s : Set α
hs : ∀ x ∈ s, ∀ y ∈ s, x < y → Ioo x y ⊆ s
⊢ ∀ x ∈ s, ∀ y ∈ s, x ≤ y → Icc x y ⊆ s
tactic: rw [ordConnected_iff]
state_before: α✝ : Type u_1
β : Type u_2
inst✝² : Preorder α✝
inst✝¹ : Preorder β
s✝ t : Set α✝
α : Type u_3
inst✝ : PartialOrder α
s : Set α
hs : ∀ x ∈ s, ∀ y ∈ s, x < y → Ioo x y ⊆ s
⊢ ∀ x ∈ s, ∀ y ∈ s, x ≤ y → Icc x y ⊆ s
state_after: α✝ : Type u_1
β : Type u_2
inst✝² : Preorder α✝
inst✝¹ : Preorder β
s✝ t : Set α✝
α : Type u_3
inst✝ : PartialOrder α
s : Set α
hs : ∀ x ∈ s, ∀ y ∈ s, x < y → Ioo x y ⊆ s
x : α
hx : x ∈ s
y : α
hy : y ∈ s
hxy : x ≤ y
⊢ Icc x y ⊆ s
tactic: intro x hx y hy hxy
state_before: α✝ : Type u_1
β : Type u_2
inst✝² : Preorder α✝
inst✝¹ : Preorder β
s✝ t : Set α✝
α : Type u_3
inst✝ : PartialOrder α
s : Set α
hs : ∀ x ∈ s, ∀ y ∈ s, x < y → Ioo x y ⊆ s
x : α
hx : x ∈ s
y : α
hy : y ∈ s
hxy : x ≤ y
⊢ Icc x y ⊆ s
state_after: case inl
α✝ : Type u_1
β : Type u_2
inst✝² : Preorder α✝
inst✝¹ : Preorder β
s✝ t : Set α✝
α : Type u_3
inst✝ : PartialOrder α
s : Set α
hs : ∀ x ∈ s, ∀ y ∈ s, x < y → Ioo x y ⊆ s
x : α
hx hy : x ∈ s
hxy : x ≤ x
⊢ Icc x x ⊆ s

case inr
α✝ : Type u_1
β : Type u_2
inst✝² : Preorder α✝
inst✝¹ : Preorder β
s✝ t : Set α✝
α : Type u_3
inst✝ : PartialOrder α
s : Set α
hs : ∀ x ∈ s, ∀ y ∈ s, x < y → Ioo x y ⊆ s
x : α
hx : x ∈ s
y : α
hy : y ∈ s
hxy : x ≤ y
hxy' : x < y
⊢ Icc x y ⊆ s
tactic: rcases eq_or_lt_of_le hxy with (rfl | hxy')
state_before: case inr
α✝ : Type u_1
β : Type u_2
inst✝² : Preorder α✝
inst✝¹ : Preorder β
s✝ t : Set α✝
α : Type u_3
inst✝ : PartialOrder α
s : Set α
hs : ∀ x ∈ s, ∀ y ∈ s, x < y → Ioo x y ⊆ s
x : α
hx : x ∈ s
y : α
hy : y ∈ s
hxy : x ≤ y
hxy' : x < y
⊢ Icc x y ⊆ s
state_after: case inr
α✝ : Type u_1
β : Type u_2
inst✝² : Preorder α✝
inst✝¹ : Preorder β
s✝ t : Set α✝
α : Type u_3
inst✝ : PartialOrder α
s : Set α
hs : ∀ x ∈ s, ∀ y ∈ s, x < y → Ioo x y ⊆ s
x : α
hx : x ∈ s
y : α
hy : y ∈ s
hxy : x ≤ y
hxy' : x < y
⊢ insert x (insert y (Ioo x y)) ⊆ s
tactic: rw [← Ioc_insert_left hxy, ← Ioo_insert_right hxy']
state_before: case inr
α✝ : Type u_1
β : Type u_2
inst✝² : Preorder α✝
inst✝¹ : Preorder β
s✝ t : Set α✝
α : Type u_3
inst✝ : PartialOrder α
s : Set α
hs : ∀ x ∈ s, ∀ y ∈ s, x < y → Ioo x y ⊆ s
x : α
hx : x ∈ s
y : α
hy : y ∈ s
hxy : x ≤ y
hxy' : x < y
⊢ insert x (insert y (Ioo x y)) ⊆ s
state_after: no goals
tactic: exact insert_subset_iff.2 ⟨hx, insert_subset_iff.2 ⟨hy, hs x hx y hy hxy'⟩⟩
Theorem: cauchySeq_tendsto_of_isComplete
File: Mathlib/Topology/UniformSpace/Cauchy.lean

Proof steps:
state_before: α : Type u
β : Type v
uniformSpace : UniformSpace α
inst✝ : Preorder β
K : Set α
h₁ : IsComplete K
u : β → α
h₂ : ∀ (n : β), u n ∈ K
h₃ : CauchySeq u
⊢ u '' univ ⊆ K
state_after: no goals
tactic: rwa [image_univ, range_subset_iff]
Theorem: Matroid.basis'_restrict_iff
File: Mathlib/Data/Matroid/Restrict.lean

Proof steps:
state_before: α : Type u_1
M : Matroid α
R I J X Y : Set α
⊢ (M ↾ R).Basis' I X ↔ M.Basis' I (X ∩ R) ∧ I ⊆ R
state_after: α : Type u_1
M : Matroid α
R I J X Y : Set α
⊢ (((M.Indep I ∧ I ⊆ R) ∧ I ⊆ X) ∧ ∀ ⦃y : Set α⦄, M.Indep y → y ⊆ R → y ⊆ X → I ⊆ y → I = y) ↔
    ((M.Indep I ∧ I ⊆ X ∧ I ⊆ R) ∧ ∀ ⦃y : Set α⦄, M.Indep y → y ⊆ X → y ⊆ R → I ⊆ y → I = y) ∧ I ⊆ R
tactic: simp_rw [Basis', mem_maximals_setOf_iff, restrict_indep_iff, subset_inter_iff, and_imp]
state_before: α : Type u_1
M : Matroid α
R I J X Y : Set α
⊢ (((M.Indep I ∧ I ⊆ R) ∧ I ⊆ X) ∧ ∀ ⦃y : Set α⦄, M.Indep y → y ⊆ R → y ⊆ X → I ⊆ y → I = y) ↔
    ((M.Indep I ∧ I ⊆ X ∧ I ⊆ R) ∧ ∀ ⦃y : Set α⦄, M.Indep y → y ⊆ X → y ⊆ R → I ⊆ y → I = y) ∧ I ⊆ R
state_after: no goals
tactic: tauto
Theorem: MeasurableSet.add_closure_zero_eq
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✝⁴ : TopologicalSpace G
inst✝³ : BorelSpace G
μ : Measure G
inst✝² : Group G
inst✝¹ : TopologicalGroup G
inst✝ : μ.IsMulLeftInvariant
s : Set G
hs : MeasurableSet s
⊢ s * closure {1} = s
state_after: 𝕜 : Type u_1
G : Type u_2
H : Type u_3
inst✝⁶ : MeasurableSpace G
inst✝⁵ : MeasurableSpace H
inst✝⁴ : TopologicalSpace G
inst✝³ : BorelSpace G
μ : Measure G
inst✝² : Group G
inst✝¹ : TopologicalGroup G
inst✝ : μ.IsMulLeftInvariant
s : Set G
hs : MeasurableSet s
⊢ ∀ (U : Set G), IsOpen U → (fun t => t • closure {1} = t) U

𝕜 : Type u_1
G : Type u_2
H : Type u_3
inst✝⁶ : MeasurableSpace G
inst✝⁵ : MeasurableSpace H
inst✝⁴ : TopologicalSpace G
inst✝³ : BorelSpace G
μ : Measure G
inst✝² : Group G
inst✝¹ : TopologicalGroup G
inst✝ : μ.IsMulLeftInvariant
s : Set G
hs : MeasurableSet s
⊢ ∀ (t : Set G), MeasurableSet t → (fun t => t • closure {1} = t) t → (fun t => t • closure {1} = t) tᶜ

𝕜 : Type u_1
G : Type u_2
H : Type u_3
inst✝⁶ : MeasurableSpace G
inst✝⁵ : MeasurableSpace H
inst✝⁴ : TopologicalSpace G
inst✝³ : BorelSpace G
μ : Measure G
inst✝² : Group G
inst✝¹ : TopologicalGroup G
inst✝ : μ.IsMulLeftInvariant
s : Set G
hs : MeasurableSet s
⊢ ∀ (f : ℕ → Set G),
    Pairwise (Disjoint on f) →
      (∀ (i : ℕ), MeasurableSet (f i)) →
        (∀ (i : ℕ), (fun t => t • closure {1} = t) (f i)) → (fun t => t • closure {1} = t) (⋃ i, f i)
tactic: apply MeasurableSet.induction_on_open (C := fun t ↦ t • (closure {1} : Set G) = t) ?_ ?_ ?_ hs
Theorem: isEmpty_sigma
File: Mathlib/Logic/IsEmpty.lean

Proof steps:
state_before: α✝ : Sort u_1
β : Sort u_2
γ : Sort u_3
α : Type u_5
E : α → Type u_4
⊢ IsEmpty (Sigma E) ↔ ∀ (a : α), IsEmpty (E a)
state_after: no goals
tactic: simp only [← not_nonempty_iff, nonempty_sigma, not_exists]
Theorem: Complex.circleIntegral_sub_inv_smul_of_differentiable_on_off_countable
File: Mathlib/Analysis/Complex/CauchyIntegral.lean

Proof steps:
state_before: E : Type u
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
R : ℝ
c w : ℂ
f : ℂ → E
s : Set ℂ
hs : s.Countable
hw : w ∈ ball c R
hc : ContinuousOn f (closedBall c R)
hd : ∀ x ∈ ball c R \ s, DifferentiableAt ℂ f x
⊢ (∮ (z : ℂ) in C(c, R), (z - w)⁻¹ • f z) = (2 * ↑π * I) • f w
state_after: case hc
E : Type u
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
R : ℝ
c w : ℂ
f : ℂ → E
s : Set ℂ
hs : s.Countable
hw : w ∈ ball c R
hc : ContinuousOn f (closedBall c R)
hd : ∀ x ∈ ball c R \ s, DifferentiableAt ℂ f x
⊢ 2 * ↑π * I ≠ 0
tactic: rw [← two_pi_I_inv_smul_circleIntegral_sub_inv_smul_of_differentiable_on_off_countable
    hs hw hc hd, smul_inv_smul₀]
state_before: case hc
E : Type u
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
R : ℝ
c w : ℂ
f : ℂ → E
s : Set ℂ
hs : s.Countable
hw : w ∈ ball c R
hc : ContinuousOn f (closedBall c R)
hd : ∀ x ∈ ball c R \ s, DifferentiableAt ℂ f x
⊢ 2 * ↑π * I ≠ 0
state_after: no goals
tactic: simp [Real.pi_ne_zero, I_ne_zero]
Theorem: Cardinal.toPartENat_eq_top
File: Mathlib/SetTheory/Cardinal/PartENat.lean

Proof steps:
state_before: α : Type u
c : Cardinal.{u_1}
⊢ toPartENat c = ⊤ ↔ ℵ₀ ≤ c
state_after: α : Type u
c : Cardinal.{u_1}
⊢ ↑(toENat c) = PartENat.withTopEquiv.symm ⊤ ↔ PartENat.withTopEquiv.symm (toENat c) = PartENat.withTopEquiv.symm ⊤
tactic: rw [← partENatOfENat_toENat, ← PartENat.withTopEquiv_symm_top, ← toENat_eq_top,
    ← PartENat.withTopEquiv.symm.injective.eq_iff]
state_before: α : Type u
c : Cardinal.{u_1}
⊢ ↑(toENat c) = PartENat.withTopEquiv.symm ⊤ ↔ PartENat.withTopEquiv.symm (toENat c) = PartENat.withTopEquiv.symm ⊤
state_after: no goals
tactic: simp
Theorem: WeierstrassCurve.Jacobian.addXYZ_of_Z_ne_zero
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
hP : W.Equation P
hQ : W.Equation Q
hPz : P z ≠ 0
hQz : Q z ≠ 0
hx : P x * Q z ^ 2 ≠ Q x * P z ^ 2
⊢ W.addXYZ P Q =
    addZ P Q •
      ![W.toAffine.addX (P x / P z ^ 2) (Q x / Q z ^ 2)
          (W.toAffine.slope (P x / P z ^ 2) (Q x / Q z ^ 2) (P y / P z ^ 3) (Q y / Q z ^ 3)),
        W.toAffine.addY (P x / P z ^ 2) (Q x / Q z ^ 2) (P y / P z ^ 3)
          (W.toAffine.slope (P x / P z ^ 2) (Q x / Q z ^ 2) (P y / P z ^ 3) (Q y / Q z ^ 3)),
        1]
state_after: R : Type u
inst✝¹ : CommRing R
W' : Jacobian R
F : Type v
inst✝ : Field F
W : Jacobian F
P Q : Fin 3 → F
hP : W.Equation P
hQ : W.Equation Q
hPz : P z ≠ 0
hQz : Q z ≠ 0
hx : P x * Q z ^ 2 ≠ Q x * P z ^ 2
hZ : ∀ {n : ℕ}, IsUnit (addZ P Q ^ n)
⊢ W.addXYZ P Q =
    addZ P Q •
      ![W.toAffine.addX (P x / P z ^ 2) (Q x / Q z ^ 2)
          (W.toAffine.slope (P x / P z ^ 2) (Q x / Q z ^ 2) (P y / P z ^ 3) (Q y / Q z ^ 3)),
        W.toAffine.addY (P x / P z ^ 2) (Q x / Q z ^ 2) (P y / P z ^ 3)
          (W.toAffine.slope (P x / P z ^ 2) (Q x / Q z ^ 2) (P y / P z ^ 3) (Q y / Q z ^ 3)),
        1]
tactic: have hZ {n : ℕ} : IsUnit <| addZ P Q ^ n := (isUnit_addZ_of_X_ne hx).pow n
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
hP : W.Equation P
hQ : W.Equation Q
hPz : P z ≠ 0
hQz : Q z ≠ 0
hx : P x * Q z ^ 2 ≠ Q x * P z ^ 2
hZ : ∀ {n : ℕ}, IsUnit (addZ P Q ^ n)
⊢ W.addXYZ P Q =
    addZ P Q •
      ![W.toAffine.addX (P x / P z ^ 2) (Q x / Q z ^ 2)
          (W.toAffine.slope (P x / P z ^ 2) (Q x / Q z ^ 2) (P y / P z ^ 3) (Q y / Q z ^ 3)),
        W.toAffine.addY (P x / P z ^ 2) (Q x / Q z ^ 2) (P y / P z ^ 3)
          (W.toAffine.slope (P x / P z ^ 2) (Q x / Q z ^ 2) (P y / P z ^ 3) (Q y / Q z ^ 3)),
        1]
state_after: no goals
tactic: erw [addXYZ, smul_fin3, ← addX_of_Z_ne_zero hP hQ hPz hQz hx, hZ.mul_div_cancel,
    ← addY_of_Z_ne_zero hP hQ hPz hQz hx, hZ.mul_div_cancel, mul_one]