1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.diff_mem_measurableCylinders
File: Mathlib/MeasureTheory/Constructions/Cylinders.lean

tactic: rw [diff_eq_compl_inter]
state_before: ι : Type u_1
α : ι → Type u_2
inst✝ : (i : ι) → MeasurableSpace (α i)
s t : Set ((i : ι) → α i)
hs : s ∈ measurableCylinders α
ht : t ∈ measurableCylinders α
⊢ s \ t ∈ measurableCylinders α
state_after: ι : Type u_1
α : ι → Type u_2
inst✝ : (i : ι) → MeasurableSpace (α i)
s t : Set ((i : ι) → α i)
hs : s ∈ measurableCylinders α
ht : t ∈ measurableCylinders α
⊢ tᶜ ∩ s ∈ measurableCylinders α

tactic: exact inter_mem_measurableCylinders (compl_mem_measurableCylinders ht) hs
state_before: ι : Type u_1
α : ι → Type u_2
inst✝ : (i : ι) → MeasurableSpace (α i)
s t : Set ((i : ι) → α i)
hs : s ∈ measurableCylinders α
ht : t ∈ measurableCylinders α
⊢ tᶜ ∩ s ∈ measurableCylinders α
state_after: no goals
Theorem: CategoryTheory.Pretriangulated.Triangle.isZero₁_of_isZero₂₃
File: Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean

tactic: rw [T.isZero₁_iff hT]
state_before: C : Type u
inst✝⁴ : Category.{v, u} C
inst✝³ : HasZeroObject C
inst✝² : HasShift C ℤ
inst✝¹ : Preadditive C
inst✝ : ∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive
hC : Pretriangulated C
T : Triangle C
hT : T ∈ distinguishedTriangles
h₂ : IsZero T.obj₂
h₃ : IsZero T.obj₃
⊢ IsZero T.obj₁
state_after: C : Type u
inst✝⁴ : Category.{v, u} C
inst✝³ : HasZeroObject C
inst✝² : HasShift C ℤ
inst✝¹ : Preadditive C
inst✝ : ∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive
hC : Pretriangulated C
T : Triangle C
hT : T ∈ distinguishedTriangles
h₂ : IsZero T.obj₂
h₃ : IsZero T.obj₃
⊢ T.mor₁ = 0 ∧ T.mor₃ = 0

tactic: exact ⟨h₂.eq_of_tgt _ _, h₃.eq_of_src _ _⟩
state_before: C : Type u
inst✝⁴ : Category.{v, u} C
inst✝³ : HasZeroObject C
inst✝² : HasShift C ℤ
inst✝¹ : Preadditive C
inst✝ : ∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive
hC : Pretriangulated C
T : Triangle C
hT : T ∈ distinguishedTriangles
h₂ : IsZero T.obj₂
h₃ : IsZero T.obj₃
⊢ T.mor₁ = 0 ∧ T.mor₃ = 0
state_after: no goals
Theorem: CliffordAlgebra.ι_mul_ι_mul_ι
File: Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean

tactic: rw [ι_mul_ι_comm, sub_mul, mul_assoc, ι_sq_scalar, ← Algebra.smul_def, ← Algebra.commutes, ←
  Algebra.smul_def, ← map_smul, ← map_smul, ← map_sub]
state_before: R : Type u_1
inst✝⁴ : CommRing R
M : Type u_2
inst✝³ : AddCommGroup M
inst✝² : Module R M
Q : QuadraticForm R M
n : ℕ
A : Type u_3
inst✝¹ : Semiring A
inst✝ : Algebra R A
a b : M
⊢ (ι Q) a * (ι Q) b * (ι Q) a = (ι Q) (QuadraticForm.polar (⇑Q) a b • a - Q a • b)
state_after: no goals
Theorem: Ideal.IsHomogeneous.toIdeal_homogeneousHull_eq_self
File: Mathlib/RingTheory/GradedAlgebra/HomogeneousIdeal.lean

tactic: apply le_antisymm _ (Ideal.le_toIdeal_homogeneousHull _ _)
state_before: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : DecidableEq ι
inst✝³ : AddMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
I : Ideal A
h : IsHomogeneous 𝒜 I
⊢ (homogeneousHull 𝒜 I).toIdeal = I
state_after: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : DecidableEq ι
inst✝³ : AddMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
I : Ideal A
h : IsHomogeneous 𝒜 I
⊢ (homogeneousHull 𝒜 I).toIdeal ≤ I

tactic: apply Ideal.span_le.2
state_before: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : DecidableEq ι
inst✝³ : AddMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
I : Ideal A
h : IsHomogeneous 𝒜 I
⊢ (homogeneousHull 𝒜 I).toIdeal ≤ I
state_after: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : DecidableEq ι
inst✝³ : AddMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
I : Ideal A
h : IsHomogeneous 𝒜 I
⊢ {r | ∃ i x, ↑(((decompose 𝒜) ↑x) i) = r} ⊆ ↑I

tactic: rintro _ ⟨i, x, rfl⟩
state_before: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : DecidableEq ι
inst✝³ : AddMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
I : Ideal A
h : IsHomogeneous 𝒜 I
⊢ {r | ∃ i x, ↑(((decompose 𝒜) ↑x) i) = r} ⊆ ↑I
state_after: case intro.intro
ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : DecidableEq ι
inst✝³ : AddMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
I : Ideal A
h : IsHomogeneous 𝒜 I
i : ι
x : ↥I
⊢ ↑(((decompose 𝒜) ↑x) i) ∈ ↑I

tactic: exact h _ x.prop
state_before: case intro.intro
ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : DecidableEq ι
inst✝³ : AddMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
I : Ideal A
h : IsHomogeneous 𝒜 I
i : ι
x : ↥I
⊢ ↑(((decompose 𝒜) ↑x) i) ∈ ↑I
state_after: no goals
Theorem: meas_essSup_lt
File: Mathlib/MeasureTheory/Function/EssSup.lean

tactic: simp_rw [← not_le]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝³ : ConditionallyCompleteLinearOrder β
x : β
f : α → β
inst✝² : TopologicalSpace β
inst✝¹ : FirstCountableTopology β
inst✝ : OrderTopology β
hf : autoParam (IsBoundedUnder (fun x x_1 => x ≤ x_1) (ae μ) f) _auto✝
⊢ μ {y | essSup f μ < f y} = 0
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝³ : ConditionallyCompleteLinearOrder β
x : β
f : α → β
inst✝² : TopologicalSpace β
inst✝¹ : FirstCountableTopology β
inst✝ : OrderTopology β
hf : autoParam (IsBoundedUnder (fun x x_1 => x ≤ x_1) (ae μ) f) _auto✝
⊢ μ {y | ¬f y ≤ essSup f μ} = 0

tactic: exact ae_le_essSup hf
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝³ : ConditionallyCompleteLinearOrder β
x : β
f : α → β
inst✝² : TopologicalSpace β
inst✝¹ : FirstCountableTopology β
inst✝ : OrderTopology β
hf : autoParam (IsBoundedUnder (fun x x_1 => x ≤ x_1) (ae μ) f) _auto✝
⊢ μ {y | ¬f y ≤ essSup f μ} = 0
state_after: no goals
Theorem: LinearMap.injective_or_eq_zero
File: Mathlib/RingTheory/SimpleModule.lean

tactic: rw [← ker_eq_bot, ← ker_eq_top]
state_before: ι : Type u_1
R : Type u_2
S : Type u_3
inst✝⁶ : Ring R
inst✝⁵ : Ring S
M : Type u_4
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
m : Submodule R M
N : Type u_5
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : IsSimpleModule R M
f : M →ₗ[R] N
⊢ Function.Injective ⇑f ∨ f = 0
state_after: ι : Type u_1
R : Type u_2
S : Type u_3
inst✝⁶ : Ring R
inst✝⁵ : Ring S
M : Type u_4
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
m : Submodule R M
N : Type u_5
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : IsSimpleModule R M
f : M →ₗ[R] N
⊢ ker f = ⊥ ∨ ker f = ⊤

tactic: apply eq_bot_or_eq_top
state_before: ι : Type u_1
R : Type u_2
S : Type u_3
inst✝⁶ : Ring R
inst✝⁵ : Ring S
M : Type u_4
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
m : Submodule R M
N : Type u_5
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : IsSimpleModule R M
f : M →ₗ[R] N
⊢ ker f = ⊥ ∨ ker f = ⊤
state_after: no goals
Theorem: ENNReal.rpow_intCast_mul
File: Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean

tactic: rw [rpow_mul, rpow_intCast]
state_before: x : ℝ≥0∞
n : ℤ
z : ℝ
⊢ x ^ (↑n * z) = (x ^ n) ^ z
state_after: no goals
Theorem: VectorBundleCore.mem_source_at
File: Mathlib/Topology/VectorBundle/Basic.lean

tactic: rw [localTrivAt, mem_localTriv_source]
state_before: R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁸ : NontriviallyNormedField R
inst✝⁷ : (x : B) → AddCommMonoid (E x)
inst✝⁶ : (x : B) → Module R (E x)
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace R F
inst✝³ : TopologicalSpace B
inst✝² : TopologicalSpace (TotalSpace F E)
inst✝¹ : (x : B) → TopologicalSpace (E x)
inst✝ : FiberBundle F E
ι : Type u_5
Z : VectorBundleCore R B F ι
b : B
a : F
i j : ι
⊢ { proj := b, snd := a } ∈ (Z.localTrivAt b).source
state_after: R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁸ : NontriviallyNormedField R
inst✝⁷ : (x : B) → AddCommMonoid (E x)
inst✝⁶ : (x : B) → Module R (E x)
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace R F
inst✝³ : TopologicalSpace B
inst✝² : TopologicalSpace (TotalSpace F E)
inst✝¹ : (x : B) → TopologicalSpace (E x)
inst✝ : FiberBundle F E
ι : Type u_5
Z : VectorBundleCore R B F ι
b : B
a : F
i j : ι
⊢ { proj := b, snd := a }.proj ∈ Z.baseSet (Z.indexAt b)

tactic: exact Z.mem_baseSet_at b
state_before: R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁸ : NontriviallyNormedField R
inst✝⁷ : (x : B) → AddCommMonoid (E x)
inst✝⁶ : (x : B) → Module R (E x)
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace R F
inst✝³ : TopologicalSpace B
inst✝² : TopologicalSpace (TotalSpace F E)
inst✝¹ : (x : B) → TopologicalSpace (E x)
inst✝ : FiberBundle F E
ι : Type u_5
Z : VectorBundleCore R B F ι
b : B
a : F
i j : ι
⊢ { proj := b, snd := a }.proj ∈ Z.baseSet (Z.indexAt b)
state_after: no goals
Theorem: MeasureTheory.OuterMeasure.map_sup
File: Mathlib/MeasureTheory/OuterMeasure/Operations.lean

tactic: simp only [map_apply, sup_apply]
state_before: α : Type u_1
β✝ : Type u_2
m✝ : OuterMeasure α
β : Type u_3
f : α → β
m m' : OuterMeasure α
s : Set β
⊢ ((map f) (m ⊔ m')) s = ((map f) m ⊔ (map f) m') s
state_after: no goals
Theorem: Fin.cast_rev
File: Mathlib/Data/Fin/Basic.lean

tactic: subst h
state_before: n m : ℕ
i : Fin n
h : n = m
⊢ cast h i.rev = (cast h i).rev
state_after: n : ℕ
i : Fin n
⊢ cast ⋯ i.rev = (cast ⋯ i).rev

tactic: simp
state_before: n : ℕ
i : Fin n
⊢ cast ⋯ i.rev = (cast ⋯ i).rev
state_after: no goals
Theorem: SeparationQuotient.continuous_lift
File: Mathlib/Topology/Inseparable.lean

tactic: simp only [continuous_iff_continuousOn_univ, continuousOn_lift, preimage_univ]
state_before: X : Type u_1
Y : Type u_2
Z : Type u_3
α : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : (i : ι) → TopologicalSpace (π i)
x y z : X
s : Set X
f g : X → Y
t : Set (SeparationQuotient X)
hf : ∀ (x y : X), (x ~ᵢ y) → f x = f y
⊢ Continuous (lift f hf) ↔ Continuous f
state_after: no goals
Theorem: Real.isPiSystem_Iio_rat
File: Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean

tactic: convert isPiSystem_image_Iio (((↑) : ℚ → ℝ) '' univ)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort y
s t u : Set α
⊢ IsPiSystem (⋃ a, {Iio ↑a})
state_after: case h.e'_2
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort y
s t u : Set α
⊢ ⋃ a, {Iio ↑a} = Iio '' (Rat.cast '' univ)

tactic: ext x
state_before: case h.e'_2
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort y
s t u : Set α
⊢ ⋃ a, {Iio ↑a} = Iio '' (Rat.cast '' univ)
state_after: case h.e'_2.h
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort y
s t u : Set α
x : Set ℝ
⊢ x ∈ ⋃ a, {Iio ↑a} ↔ x ∈ Iio '' (Rat.cast '' univ)

tactic: simp only [iUnion_singleton_eq_range, mem_range, image_univ, mem_image, exists_exists_eq_and]
state_before: case h.e'_2.h
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort y
s t u : Set α
x : Set ℝ
⊢ x ∈ ⋃ a, {Iio ↑a} ↔ x ∈ Iio '' (Rat.cast '' univ)
state_after: no goals
Theorem: ENNReal.iUnion_Iio_coe_nat
File: Mathlib/Data/ENNReal/Basic.lean

tactic: ext x
state_before: α : Type u_1
a b c d : ℝ≥0∞
r p q : ℝ≥0
⊢ ⋃ n, Iio ↑n = {⊤}ᶜ
state_after: case h
α : Type u_1
a b c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
⊢ x ∈ ⋃ n, Iio ↑n ↔ x ∈ {⊤}ᶜ

tactic: rw [mem_iUnion]
state_before: case h
α : Type u_1
a b c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
⊢ x ∈ ⋃ n, Iio ↑n ↔ x ∈ {⊤}ᶜ
state_after: case h
α : Type u_1
a b c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
⊢ (∃ i, x ∈ Iio ↑i) ↔ x ∈ {⊤}ᶜ

tactic: exact ⟨fun ⟨n, hn⟩ => ne_top_of_lt hn, ENNReal.exists_nat_gt⟩
state_before: case h
α : Type u_1
a b c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
⊢ (∃ i, x ∈ Iio ↑i) ↔ x ∈ {⊤}ᶜ
state_after: no goals
Theorem: monovary_inv
File: Mathlib/Algebra/Order/Monovary.lean

tactic: simp
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : OrderedCommGroup α
inst✝ : OrderedCommGroup β
s : Set ι
f f₁ f₂ : ι → α
g g₁ g₂ : ι → β
⊢ Monovary f⁻¹ g⁻¹ ↔ Monovary f g
state_after: no goals
Theorem: SimpleGraph.Walk.length_eq_zero_iff
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: cases p <;> simp
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u : V
p : G.Walk u u
⊢ p.length = 0 ↔ p = nil
state_after: no goals
Theorem: ProbabilityTheory.kernel.comapRight_id
File: Mathlib/Probability/Kernel/Basic.lean

tactic: ext _ _ hs
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : ↥(kernel α β)
γ : Type u_4
mγ : MeasurableSpace γ
f : γ → β
κ : ↥(kernel α β)
⊢ comapRight κ ⋯ = κ
state_after: case h.h
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : ↥(kernel α β)
γ : Type u_4
mγ : MeasurableSpace γ
f : γ → β
κ : ↥(kernel α β)
a✝ : α
s✝ : Set β
hs : MeasurableSet s✝
⊢ ((comapRight κ ⋯) a✝) s✝ = (κ a✝) s✝

tactic: rw [comapRight_apply' _ _ _ hs]
state_before: case h.h
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : ↥(kernel α β)
γ : Type u_4
mγ : MeasurableSpace γ
f : γ → β
κ : ↥(kernel α β)
a✝ : α
s✝ : Set β
hs : MeasurableSet s✝
⊢ ((comapRight κ ⋯) a✝) s✝ = (κ a✝) s✝
state_after: case h.h
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : ↥(kernel α β)
γ : Type u_4
mγ : MeasurableSpace γ
f : γ → β
κ : ↥(kernel α β)
a✝ : α
s✝ : Set β
hs : MeasurableSet s✝
⊢ (κ a✝) (id '' s✝) = (κ a✝) s✝

tactic: simp
state_before: case h.h
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : ↥(kernel α β)
γ : Type u_4
mγ : MeasurableSpace γ
f : γ → β
κ : ↥(kernel α β)
a✝ : α
s✝ : Set β
hs : MeasurableSet s✝
⊢ (κ a✝) (id '' s✝) = (κ a✝) s✝
state_after: no goals
Theorem: LowerSet.sdiff_sup_lowerClosure
File: Mathlib/Order/UpperLower/Basic.lean

tactic: refine le_antisymm (sup_le sdiff_le_left <| lowerClosure_le.2 hts) fun a ha ↦ ?_
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : Preorder α
s : LowerSet α
t : Set α
a : α
hts : t ⊆ ↑s
hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t
⊢ s.sdiff t ⊔ lowerClosure t = s
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : Preorder α
s : LowerSet α
t : Set α
a✝ : α
hts : t ⊆ ↑s
hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t
a : α
ha : a ∈ ↑s
⊢ a ∈ ↑(s.sdiff t ⊔ lowerClosure t)

tactic: obtain hat | hat := em (a ∈ t)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : Preorder α
s : LowerSet α
t : Set α
a✝ : α
hts : t ⊆ ↑s
hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t
a : α
ha : a ∈ ↑s
⊢ a ∈ ↑(s.sdiff t ⊔ lowerClosure t)
state_after: case inl
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : Preorder α
s : LowerSet α
t : Set α
a✝ : α
hts : t ⊆ ↑s
hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t
a : α
ha : a ∈ ↑s
hat : a ∈ t
⊢ a ∈ ↑(s.sdiff t ⊔ lowerClosure t)

case inr
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : Preorder α
s : LowerSet α
t : Set α
a✝ : α
hts : t ⊆ ↑s
hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t
a : α
ha : a ∈ ↑s
hat : a ∉ t
⊢ a ∈ ↑(s.sdiff t ⊔ lowerClosure t)

tactic: exact subset_union_right (subset_lowerClosure hat)
state_before: case inl
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : Preorder α
s : LowerSet α
t : Set α
a✝ : α
hts : t ⊆ ↑s
hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t
a : α
ha : a ∈ ↑s
hat : a ∈ t
⊢ a ∈ ↑(s.sdiff t ⊔ lowerClosure t)
state_after: no goals

tactic: refine subset_union_left ⟨ha, ?_⟩
state_before: case inr
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : Preorder α
s : LowerSet α
t : Set α
a✝ : α
hts : t ⊆ ↑s
hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t
a : α
ha : a ∈ ↑s
hat : a ∉ t
⊢ a ∈ ↑(s.sdiff t ⊔ lowerClosure t)
state_after: case inr
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : Preorder α
s : LowerSet α
t : Set α
a✝ : α
hts : t ⊆ ↑s
hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t
a : α
ha : a ∈ ↑s
hat : a ∉ t
⊢ a ∉ ↑(upperClosure t)

tactic: rintro ⟨b, hb, hba⟩
state_before: case inr
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : Preorder α
s : LowerSet α
t : Set α
a✝ : α
hts : t ⊆ ↑s
hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t
a : α
ha : a ∈ ↑s
hat : a ∉ t
⊢ a ∉ ↑(upperClosure t)
state_after: case inr.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : Preorder α
s : LowerSet α
t : Set α
a✝ : α
hts : t ⊆ ↑s
hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t
a : α
ha : a ∈ ↑s
hat : a ∉ t
b : α
hb : b ∈ t
hba : b ≤ a
⊢ False

tactic: exact hat <| hst _ ha _ hb hba
state_before: case inr.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : Preorder α
s : LowerSet α
t : Set α
a✝ : α
hts : t ⊆ ↑s
hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t
a : α
ha : a ∈ ↑s
hat : a ∉ t
b : α
hb : b ∈ t
hba : b ≤ a
⊢ False
state_after: no goals
Theorem: List.kerase_cons_eq
File: Mathlib/Data/List/Sigma.lean

tactic: simp [kerase, h]
state_before: α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
s : Sigma β
l : List (Sigma β)
h : a = s.fst
⊢ kerase a (s :: l) = l
state_after: no goals
Theorem: NNReal.sSup_of_not_bddAbove
File: Mathlib/Data/NNReal/Basic.lean

tactic: rw [← bddAbove_coe] at hs
state_before: ι : Sort u_1
f : ι → ℝ≥0
s : Set ℝ≥0
hs : ¬BddAbove s
⊢ sSup s = 0
state_after: ι : Sort u_1
f : ι → ℝ≥0
s : Set ℝ≥0
hs : ¬BddAbove (toReal '' s)
⊢ sSup s = 0

tactic: rw [← coe_inj, coe_sSup, NNReal.coe_zero]
state_before: ι : Sort u_1
f : ι → ℝ≥0
s : Set ℝ≥0
hs : ¬BddAbove (toReal '' s)
⊢ sSup s = 0
state_after: ι : Sort u_1
f : ι → ℝ≥0
s : Set ℝ≥0
hs : ¬BddAbove (toReal '' s)
⊢ sSup (toReal '' s) = 0

tactic: exact sSup_of_not_bddAbove hs
state_before: ι : Sort u_1
f : ι → ℝ≥0
s : Set ℝ≥0
hs : ¬BddAbove (toReal '' s)
⊢ sSup (toReal '' s) = 0
state_after: no goals
Theorem: IsDedekindDomainInv.integrallyClosed
File: Mathlib/RingTheory/DedekindDomain/Ideal.lean

tactic: refine (isIntegrallyClosed_iff (FractionRing A)).mpr (fun {x hx} => ?_)
state_before: R : Type u_1
A : Type u_2
K : Type u_3
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Field K
inst✝² : IsDomain A
inst✝¹ : Algebra A K
inst✝ : IsFractionRing A K
h : IsDedekindDomainInv A
⊢ IsIntegrallyClosed A
state_after: R : Type u_1
A : Type u_2
K : Type u_3
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Field K
inst✝² : IsDomain A
inst✝¹ : Algebra A K
inst✝ : IsFractionRing A K
h : IsDedekindDomainInv A
x : FractionRing A
hx : IsIntegral A x
⊢ ∃ y, (algebraMap A (FractionRing A)) y = x

tactic: rw [← Set.mem_range, ← Algebra.mem_bot, ← Subalgebra.mem_toSubmodule, Algebra.toSubmodule_bot,
  Submodule.one_eq_span, ← coe_spanSingleton A⁰ (1 : FractionRing A), spanSingleton_one, ←
  FractionalIdeal.adjoinIntegral_eq_one_of_isUnit x hx (h.isUnit _)]
state_before: R : Type u_1
A : Type u_2
K : Type u_3
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Field K
inst✝² : IsDomain A
inst✝¹ : Algebra A K
inst✝ : IsFractionRing A K
h : IsDedekindDomainInv A
x : FractionRing A
hx : IsIntegral A x
⊢ ∃ y, (algebraMap A (FractionRing A)) y = x
state_after: R : Type u_1
A : Type u_2
K : Type u_3
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Field K
inst✝² : IsDomain A
inst✝¹ : Algebra A K
inst✝ : IsFractionRing A K
h : IsDedekindDomainInv A
x : FractionRing A
hx : IsIntegral A x
⊢ x ∈ ↑(adjoinIntegral A⁰ x hx)

R : Type u_1
A : Type u_2
K : Type u_3
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Field K
inst✝² : IsDomain A
inst✝¹ : Algebra A K
inst✝ : IsFractionRing A K
h : IsDedekindDomainInv A
x : FractionRing A
hx : IsIntegral A x
⊢ adjoinIntegral A⁰ x hx ≠ 0

tactic: exact mem_adjoinIntegral_self A⁰ x hx
state_before: R : Type u_1
A : Type u_2
K : Type u_3
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Field K
inst✝² : IsDomain A
inst✝¹ : Algebra A K
inst✝ : IsFractionRing A K
h : IsDedekindDomainInv A
x : FractionRing A
hx : IsIntegral A x
⊢ x ∈ ↑(adjoinIntegral A⁰ x hx)
state_after: no goals

tactic: exact fun h => one_ne_zero (eq_zero_iff.mp h 1 (Algebra.adjoin A {x}).one_mem)
state_before: R : Type u_1
A : Type u_2
K : Type u_3
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Field K
inst✝² : IsDomain A
inst✝¹ : Algebra A K
inst✝ : IsFractionRing A K
h : IsDedekindDomainInv A
x : FractionRing A
hx : IsIntegral A x
⊢ adjoinIntegral A⁰ x hx ≠ 0
state_after: no goals
Theorem: Batteries.UnionFind.find_size
File: .lake/packages/batteries/Batteries/Data/UnionFind/Basic.lean

tactic: simp [find, size, FindAux.size_eq]
state_before: self : UnionFind
x : Fin self.size
⊢ (self.find x).fst.size = self.size
state_after: no goals
Theorem: Filter.HasBasis.cauchy_iff
File: Mathlib/Topology/UniformSpace/Cauchy.lean

tactic: simp only [subset_def, Prod.forall, mem_prod_eq, and_imp, id, forall_mem_comm]
state_before: α : Type u
β : Type v
uniformSpace : UniformSpace α
ι : Sort u_1
p : ι → Prop
s : ι → Set (α × α)
h : (𝓤 α).HasBasis p s
f : Filter α
⊢ (∀ (i' : ι), p i' → ∃ i ∈ f, id i ×ˢ id i ⊆ s i') ↔ ∀ (i : ι), p i → ∃ t ∈ f, ∀ x ∈ t, ∀ y ∈ t, (x, y) ∈ s i
state_after: no goals
Theorem: ampleSet_univ
File: Mathlib/Analysis/Convex/AmpleSet.lean

tactic: intro x _
state_before: F✝ : Type u_1
inst✝⁴ : AddCommGroup F✝
inst✝³ : Module ℝ F✝
inst✝² : TopologicalSpace F✝
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
⊢ AmpleSet univ
state_after: F✝ : Type u_1
inst✝⁴ : AddCommGroup F✝
inst✝³ : Module ℝ F✝
inst✝² : TopologicalSpace F✝
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
x : F
a✝ : x ∈ univ
⊢ (convexHull ℝ) (connectedComponentIn univ x) = univ

tactic: rw [connectedComponentIn_univ, PreconnectedSpace.connectedComponent_eq_univ, convexHull_univ]
state_before: F✝ : Type u_1
inst✝⁴ : AddCommGroup F✝
inst✝³ : Module ℝ F✝
inst✝² : TopologicalSpace F✝
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
x : F
a✝ : x ∈ univ
⊢ (convexHull ℝ) (connectedComponentIn univ x) = univ
state_after: no goals
Theorem: Algebra.eq_top_iff
File: Mathlib/Algebra/Algebra/Subalgebra/Basic.lean

tactic: rw [h]
state_before: R : Type u
A : Type v
B : Type w
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : Semiring B
inst✝ : Algebra R B
S : Subalgebra R A
h : S = ⊤
x : A
⊢ x ∈ S
state_after: R : Type u
A : Type v
B : Type w
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : Semiring B
inst✝ : Algebra R B
S : Subalgebra R A
h : S = ⊤
x : A
⊢ x ∈ ⊤

tactic: exact mem_top
state_before: R : Type u
A : Type v
B : Type w
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : Semiring B
inst✝ : Algebra R B
S : Subalgebra R A
h : S = ⊤
x : A
⊢ x ∈ ⊤
state_after: no goals

tactic: ext x
state_before: R : Type u
A : Type v
B : Type w
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : Semiring B
inst✝ : Algebra R B
S : Subalgebra R A
h : ∀ (x : A), x ∈ S
⊢ S = ⊤
state_after: case h
R : Type u
A : Type v
B : Type w
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : Semiring B
inst✝ : Algebra R B
S : Subalgebra R A
h : ∀ (x : A), x ∈ S
x : A
⊢ x ∈ S ↔ x ∈ ⊤

tactic: exact ⟨fun _ => mem_top, fun _ => h x⟩
state_before: case h
R : Type u
A : Type v
B : Type w
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : Semiring B
inst✝ : Algebra R B
S : Subalgebra R A
h : ∀ (x : A), x ∈ S
x : A
⊢ x ∈ S ↔ x ∈ ⊤
state_after: no goals
Theorem: ENNReal.coe_inv_le
File: Mathlib/Data/ENNReal/Inv.lean

tactic: rintro b rfl
state_before: a b✝ c d : ℝ≥0∞
r p q : ℝ≥0
b : ℝ≥0∞
hb : 1 ≤ ↑r * b
⊢ ∀ (p : ℝ≥0), b = ↑p → r⁻¹ ≤ p
state_after: a b✝ c d : ℝ≥0∞
r p q b : ℝ≥0
hb : 1 ≤ ↑r * ↑b
⊢ r⁻¹ ≤ b

tactic: apply NNReal.inv_le_of_le_mul
state_before: a b✝ c d : ℝ≥0∞
r p q b : ℝ≥0
hb : 1 ≤ ↑r * ↑b
⊢ r⁻¹ ≤ b
state_after: case h
a b✝ c d : ℝ≥0∞
r p q b : ℝ≥0
hb : 1 ≤ ↑r * ↑b
⊢ 1 ≤ r * b

tactic: rwa [← coe_mul, ← coe_one, coe_le_coe] at hb
state_before: case h
a b✝ c d : ℝ≥0∞
r p q b : ℝ≥0
hb : 1 ≤ ↑r * ↑b
⊢ 1 ≤ r * b
state_after: no goals