1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Cardinal.zero_powerlt
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: apply (powerlt_le.2 fun c _ => zero_power_le _).antisymm
state_before: α β : Type u
c : Cardinal.{?u.256909}
a : Cardinal.{u_1}
h : a ≠ 0
⊢ 0 ^< a = 1
state_after: α β : Type u
c : Cardinal.{?u.256909}
a : Cardinal.{u_1}
h : a ≠ 0
⊢ 1 ≤ 0 ^< a

tactic: rw [← power_zero]
state_before: α β : Type u
c : Cardinal.{?u.256909}
a : Cardinal.{u_1}
h : a ≠ 0
⊢ 1 ≤ 0 ^< a
state_after: α β : Type u
c : Cardinal.{?u.256909}
a : Cardinal.{u_1}
h : a ≠ 0
⊢ ?m.257124 ^ 0 ≤ 0 ^< a

α β : Type u
c : Cardinal.{?u.256909}
a : Cardinal.{u_1}
h : a ≠ 0
⊢ Cardinal.{u_1}

tactic: exact le_powerlt 0 (pos_iff_ne_zero.2 h)
state_before: α β : Type u
c : Cardinal.{?u.256909}
a : Cardinal.{u_1}
h : a ≠ 0
⊢ ?m.257124 ^ 0 ≤ 0 ^< a

α β : Type u
c : Cardinal.{?u.256909}
a : Cardinal.{u_1}
h : a ≠ 0
⊢ Cardinal.{u_1}
state_after: no goals
Theorem: CategoryTheory.ShortComplex.quasiIso_of_comp_left
File: Mathlib/Algebra/Homology/ShortComplex/QuasiIso.lean

tactic: rw [quasiIso_iff] at hφ hφφ' ⊢
state_before: C : Type u_2
inst✝⁵ : Category.{u_1, u_2} C
inst✝⁴ : HasZeroMorphisms C
S₁ S₂ S₃ S₄ : ShortComplex C
inst✝³ : S₁.HasHomology
inst✝² : S₂.HasHomology
inst✝¹ : S₃.HasHomology
inst✝ : S₄.HasHomology
φ : S₁ ⟶ S₂
φ' : S₂ ⟶ S₃
hφ : QuasiIso φ
hφφ' : QuasiIso (φ ≫ φ')
⊢ QuasiIso φ'
state_after: C : Type u_2
inst✝⁵ : Category.{u_1, u_2} C
inst✝⁴ : HasZeroMorphisms C
S₁ S₂ S₃ S₄ : ShortComplex C
inst✝³ : S₁.HasHomology
inst✝² : S₂.HasHomology
inst✝¹ : S₃.HasHomology
inst✝ : S₄.HasHomology
φ : S₁ ⟶ S₂
φ' : S₂ ⟶ S₃
hφ : IsIso (homologyMap φ)
hφφ' : IsIso (homologyMap (φ ≫ φ'))
⊢ IsIso (homologyMap φ')

tactic: rw [homologyMap_comp] at hφφ'
state_before: C : Type u_2
inst✝⁵ : Category.{u_1, u_2} C
inst✝⁴ : HasZeroMorphisms C
S₁ S₂ S₃ S₄ : ShortComplex C
inst✝³ : S₁.HasHomology
inst✝² : S₂.HasHomology
inst✝¹ : S₃.HasHomology
inst✝ : S₄.HasHomology
φ : S₁ ⟶ S₂
φ' : S₂ ⟶ S₃
hφ : IsIso (homologyMap φ)
hφφ' : IsIso (homologyMap (φ ≫ φ'))
⊢ IsIso (homologyMap φ')
state_after: C : Type u_2
inst✝⁵ : Category.{u_1, u_2} C
inst✝⁴ : HasZeroMorphisms C
S₁ S₂ S₃ S₄ : ShortComplex C
inst✝³ : S₁.HasHomology
inst✝² : S₂.HasHomology
inst✝¹ : S₃.HasHomology
inst✝ : S₄.HasHomology
φ : S₁ ⟶ S₂
φ' : S₂ ⟶ S₃
hφ : IsIso (homologyMap φ)
hφφ' : IsIso (homologyMap φ ≫ homologyMap φ')
⊢ IsIso (homologyMap φ')

tactic: exact IsIso.of_isIso_comp_left (homologyMap φ) (homologyMap φ')
state_before: C : Type u_2
inst✝⁵ : Category.{u_1, u_2} C
inst✝⁴ : HasZeroMorphisms C
S₁ S₂ S₃ S₄ : ShortComplex C
inst✝³ : S₁.HasHomology
inst✝² : S₂.HasHomology
inst✝¹ : S₃.HasHomology
inst✝ : S₄.HasHomology
φ : S₁ ⟶ S₂
φ' : S₂ ⟶ S₃
hφ : IsIso (homologyMap φ)
hφφ' : IsIso (homologyMap φ ≫ homologyMap φ')
⊢ IsIso (homologyMap φ')
state_after: no goals
Theorem: CategoryTheory.GrothendieckTopology.W_eq_W_range_sheafToPresheaf_obj
File: Mathlib/CategoryTheory/Sites/Localization.lean

tactic: apply congr_arg
state_before: C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
⊢ J.W = LeftBousfield.W fun x => x ∈ Set.range (sheafToPresheaf J A).obj
state_after: case h
C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
⊢ Presheaf.IsSheaf J = fun x => x ∈ Set.range (sheafToPresheaf J A).obj

tactic: ext P
state_before: case h
C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
⊢ Presheaf.IsSheaf J = fun x => x ∈ Set.range (sheafToPresheaf J A).obj
state_after: case h.h.a
C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
P : Cᵒᵖ ⥤ A
⊢ Presheaf.IsSheaf J P ↔ P ∈ Set.range (sheafToPresheaf J A).obj

tactic: constructor
state_before: case h.h.a
C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
P : Cᵒᵖ ⥤ A
⊢ Presheaf.IsSheaf J P ↔ P ∈ Set.range (sheafToPresheaf J A).obj
state_after: case h.h.a.mp
C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
P : Cᵒᵖ ⥤ A
⊢ Presheaf.IsSheaf J P → P ∈ Set.range (sheafToPresheaf J A).obj

case h.h.a.mpr
C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
P : Cᵒᵖ ⥤ A
⊢ P ∈ Set.range (sheafToPresheaf J A).obj → Presheaf.IsSheaf J P

tactic: intro hP
state_before: case h.h.a.mp
C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
P : Cᵒᵖ ⥤ A
⊢ Presheaf.IsSheaf J P → P ∈ Set.range (sheafToPresheaf J A).obj
state_after: case h.h.a.mp
C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
P : Cᵒᵖ ⥤ A
hP : Presheaf.IsSheaf J P
⊢ P ∈ Set.range (sheafToPresheaf J A).obj

tactic: exact ⟨⟨P, hP⟩, rfl⟩
state_before: case h.h.a.mp
C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
P : Cᵒᵖ ⥤ A
hP : Presheaf.IsSheaf J P
⊢ P ∈ Set.range (sheafToPresheaf J A).obj
state_after: no goals

tactic: rintro ⟨F, rfl⟩
state_before: case h.h.a.mpr
C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
P : Cᵒᵖ ⥤ A
⊢ P ∈ Set.range (sheafToPresheaf J A).obj → Presheaf.IsSheaf J P
state_after: case h.h.a.mpr.intro
C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
F : Sheaf J A
⊢ Presheaf.IsSheaf J ((sheafToPresheaf J A).obj F)

tactic: exact F.cond
state_before: case h.h.a.mpr.intro
C : Type u_1
inst✝¹ : Category.{u_3, u_1} C
J : GrothendieckTopology C
A : Type u_2
inst✝ : Category.{u_4, u_2} A
F : Sheaf J A
⊢ Presheaf.IsSheaf J ((sheafToPresheaf J A).obj F)
state_after: no goals
Theorem: KaehlerDifferential.subsingleton_of_surjective
File: Mathlib/RingTheory/Kaehler/Basic.lean

tactic: suffices (⊤ : Submodule S (Ω[S⁄R])) ≤ ⊥ from
  (subsingleton_iff_forall_eq 0).mpr fun y ↦ this trivial
state_before: R : Type u
S : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Algebra R S
M : Type u_1
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : Module S M
inst✝ : IsScalarTower R S M
h : Function.Surjective ⇑(algebraMap R S)
⊢ Subsingleton (Ω[S⁄R])
state_after: R : Type u
S : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Algebra R S
M : Type u_1
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : Module S M
inst✝ : IsScalarTower R S M
h : Function.Surjective ⇑(algebraMap R S)
⊢ ⊤ ≤ ⊥

tactic: rw [← KaehlerDifferential.span_range_derivation, Submodule.span_le]
state_before: R : Type u
S : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Algebra R S
M : Type u_1
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : Module S M
inst✝ : IsScalarTower R S M
h : Function.Surjective ⇑(algebraMap R S)
⊢ ⊤ ≤ ⊥
state_after: R : Type u
S : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Algebra R S
M : Type u_1
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : Module S M
inst✝ : IsScalarTower R S M
h : Function.Surjective ⇑(algebraMap R S)
⊢ Set.range ⇑(D R S) ⊆ ↑⊥

tactic: rintro _ ⟨x, rfl⟩
state_before: R : Type u
S : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Algebra R S
M : Type u_1
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : Module S M
inst✝ : IsScalarTower R S M
h : Function.Surjective ⇑(algebraMap R S)
⊢ Set.range ⇑(D R S) ⊆ ↑⊥
state_after: case intro
R : Type u
S : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Algebra R S
M : Type u_1
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : Module S M
inst✝ : IsScalarTower R S M
h : Function.Surjective ⇑(algebraMap R S)
x : S
⊢ (D R S) x ∈ ↑⊥

tactic: obtain ⟨x, rfl⟩ := h x
state_before: case intro
R : Type u
S : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Algebra R S
M : Type u_1
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : Module S M
inst✝ : IsScalarTower R S M
h : Function.Surjective ⇑(algebraMap R S)
x : S
⊢ (D R S) x ∈ ↑⊥
state_after: case intro.intro
R : Type u
S : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Algebra R S
M : Type u_1
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : Module S M
inst✝ : IsScalarTower R S M
h : Function.Surjective ⇑(algebraMap R S)
x : R
⊢ (D R S) ((algebraMap R S) x) ∈ ↑⊥

tactic: simp
state_before: case intro.intro
R : Type u
S : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Algebra R S
M : Type u_1
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : Module S M
inst✝ : IsScalarTower R S M
h : Function.Surjective ⇑(algebraMap R S)
x : R
⊢ (D R S) ((algebraMap R S) x) ∈ ↑⊥
state_after: no goals
Theorem: Nat.card_fintypeIoc
File: Mathlib/Order/Interval/Finset/Nat.lean

tactic: rw [Fintype.card_ofFinset, card_Ioc]
state_before: a b c : ℕ
⊢ Fintype.card ↑(Set.Ioc a b) = b - a
state_after: no goals
Theorem: Submodule.ClosedComplemented.exists_submodule_equiv_prod
File: Mathlib/Topology/Algebra/Module/Basic.lean

tactic: ext <;> simp [hf]
state_before: R : Type u_1
inst✝⁷ : Ring R
M : Type u_2
inst✝⁶ : TopologicalSpace M
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
M₂ : Type u_3
inst✝³ : TopologicalSpace M₂
inst✝² : AddCommGroup M₂
inst✝¹ : Module R M₂
inst✝ : TopologicalAddGroup M
p : Submodule R M
hp : p.ClosedComplemented
f : M →L[R] ↥p
hf : ∀ (x : ↥p), f ↑x = x
x✝ : ↥p
⊢ (ContinuousLinearEquiv.equivOfRightInverse f p.subtypeL hf) ↑x✝ = (x✝, 0)
state_after: no goals

tactic: ext <;> simp [hf]
state_before: R : Type u_1
inst✝⁷ : Ring R
M : Type u_2
inst✝⁶ : TopologicalSpace M
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
M₂ : Type u_3
inst✝³ : TopologicalSpace M₂
inst✝² : AddCommGroup M₂
inst✝¹ : Module R M₂
inst✝ : TopologicalAddGroup M
p : Submodule R M
hp : p.ClosedComplemented
f : M →L[R] ↥p
hf : ∀ (x : ↥p), f ↑x = x
x✝ : ↥(LinearMap.ker f)
⊢ (ContinuousLinearEquiv.equivOfRightInverse f p.subtypeL hf) ↑x✝ = (0, x✝)
state_after: no goals
Theorem: lipschitzWith_circleMap
File: Mathlib/MeasureTheory/Integral/CircleIntegral.lean

tactic: simp
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
c : ℂ
R θ : ℝ
⊢ ↑‖deriv (circleMap c R) θ‖₊ ≤ ↑(Real.nnabs R)
state_after: no goals
Theorem: locallyConnectedSpace_iff_connected_basis
File: Mathlib/Topology/Connected/LocallyConnected.lean

tactic: rw [locallyConnectedSpace_iff_connected_subsets]
state_before: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝ : TopologicalSpace α
s t u v : Set α
⊢ LocallyConnectedSpace α ↔ ∀ (x : α), (𝓝 x).HasBasis (fun s => s ∈ 𝓝 x ∧ IsPreconnected s) id
state_after: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝ : TopologicalSpace α
s t u v : Set α
⊢ (∀ (x : α), ∀ U ∈ 𝓝 x, ∃ V ∈ 𝓝 x, IsPreconnected V ∧ V ⊆ U) ↔
    ∀ (x : α), (𝓝 x).HasBasis (fun s => s ∈ 𝓝 x ∧ IsPreconnected s) id

tactic: exact forall_congr' fun x => Filter.hasBasis_self.symm
state_before: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝ : TopologicalSpace α
s t u v : Set α
⊢ (∀ (x : α), ∀ U ∈ 𝓝 x, ∃ V ∈ 𝓝 x, IsPreconnected V ∧ V ⊆ U) ↔
    ∀ (x : α), (𝓝 x).HasBasis (fun s => s ∈ 𝓝 x ∧ IsPreconnected s) id
state_after: no goals
Theorem: MeasureTheory.withDensity_smul'
File: Mathlib/MeasureTheory/Measure/WithDensity.lean

tactic: refine Measure.ext fun s hs => ?_
state_before: α : Type u_1
m0 : MeasurableSpace α
μ : Measure α
r : ℝ≥0∞
f : α → ℝ≥0∞
hr : r ≠ ⊤
⊢ μ.withDensity (r • f) = r • μ.withDensity f
state_after: α : Type u_1
m0 : MeasurableSpace α
μ : Measure α
r : ℝ≥0∞
f : α → ℝ≥0∞
hr : r ≠ ⊤
s : Set α
hs : MeasurableSet s
⊢ (μ.withDensity (r • f)) s = (r • μ.withDensity f) s

tactic: rw [withDensity_apply _ hs, Measure.coe_smul, Pi.smul_apply, withDensity_apply _ hs,
  smul_eq_mul, ← lintegral_const_mul' r f hr]
state_before: α : Type u_1
m0 : MeasurableSpace α
μ : Measure α
r : ℝ≥0∞
f : α → ℝ≥0∞
hr : r ≠ ⊤
s : Set α
hs : MeasurableSet s
⊢ (μ.withDensity (r • f)) s = (r • μ.withDensity f) s
state_after: α : Type u_1
m0 : MeasurableSpace α
μ : Measure α
r : ℝ≥0∞
f : α → ℝ≥0∞
hr : r ≠ ⊤
s : Set α
hs : MeasurableSet s
⊢ ∫⁻ (a : α) in s, (r • f) a ∂μ = ∫⁻ (a : α) in s, r * f a ∂μ

tactic: simp only [Pi.smul_apply, smul_eq_mul]
state_before: α : Type u_1
m0 : MeasurableSpace α
μ : Measure α
r : ℝ≥0∞
f : α → ℝ≥0∞
hr : r ≠ ⊤
s : Set α
hs : MeasurableSet s
⊢ ∫⁻ (a : α) in s, (r • f) a ∂μ = ∫⁻ (a : α) in s, r * f a ∂μ
state_after: no goals
Theorem: SimpleGraph.Subgraph.IsMatching.toEdge.surjective
File: Mathlib/Combinatorics/SimpleGraph/Matching.lean

tactic: rintro ⟨e, he⟩
state_before: V : Type u
G : SimpleGraph V
M✝ M : G.Subgraph
h : M.IsMatching
⊢ Function.Surjective h.toEdge
state_after: case mk
V : Type u
G : SimpleGraph V
M✝ M : G.Subgraph
h : M.IsMatching
e : Sym2 V
he : e ∈ M.edgeSet
⊢ ∃ a, h.toEdge a = ⟨e, he⟩

tactic: induction' e with x y
state_before: case mk
V : Type u
G : SimpleGraph V
M✝ M : G.Subgraph
h : M.IsMatching
e : Sym2 V
he : e ∈ M.edgeSet
⊢ ∃ a, h.toEdge a = ⟨e, he⟩
state_after: case mk.h
V : Type u
G : SimpleGraph V
M✝ M : G.Subgraph
h : M.IsMatching
x y : V
he : s(x, y) ∈ M.edgeSet
⊢ ∃ a, h.toEdge a = ⟨s(x, y), he⟩

tactic: exact ⟨⟨x, M.edge_vert he⟩, h.toEdge_eq_of_adj _ he⟩
state_before: case mk.h
V : Type u
G : SimpleGraph V
M✝ M : G.Subgraph
h : M.IsMatching
x y : V
he : s(x, y) ∈ M.edgeSet
⊢ ∃ a, h.toEdge a = ⟨s(x, y), he⟩
state_after: no goals
Theorem: Ideal.polynomialQuotientEquivQuotientPolynomial_map_mk
File: Mathlib/RingTheory/Polynomial/Quotient.lean

tactic: apply (polynomialQuotientEquivQuotientPolynomial I).symm.injective
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
f : R[X]
⊢ I.polynomialQuotientEquivQuotientPolynomial (Polynomial.map (Quotient.mk I) f) = (Quotient.mk (map C I)) f
state_after: case a
R : Type u_1
inst✝ : CommRing R
I : Ideal R
f : R[X]
⊢ I.polynomialQuotientEquivQuotientPolynomial.symm
      (I.polynomialQuotientEquivQuotientPolynomial (Polynomial.map (Quotient.mk I) f)) =
    I.polynomialQuotientEquivQuotientPolynomial.symm ((Quotient.mk (map C I)) f)

tactic: rw [RingEquiv.symm_apply_apply, polynomialQuotientEquivQuotientPolynomial_symm_mk]
state_before: case a
R : Type u_1
inst✝ : CommRing R
I : Ideal R
f : R[X]
⊢ I.polynomialQuotientEquivQuotientPolynomial.symm
      (I.polynomialQuotientEquivQuotientPolynomial (Polynomial.map (Quotient.mk I) f)) =
    I.polynomialQuotientEquivQuotientPolynomial.symm ((Quotient.mk (map C I)) f)
state_after: no goals
Theorem: denseRange_stoneCechUnit
File: Mathlib/Topology/StoneCech.lean

tactic: unfold stoneCechUnit t2Quotient.mk
state_before: α : Type u
inst✝ : TopologicalSpace α
⊢ DenseRange stoneCechUnit
state_after: α : Type u
inst✝ : TopologicalSpace α
⊢ DenseRange fun x => ⟦preStoneCechUnit x⟧

tactic: have : Function.Surjective (t2Quotient.mk : PreStoneCech α → StoneCech α) := by
  exact surjective_quot_mk _
state_before: α : Type u
inst✝ : TopologicalSpace α
⊢ DenseRange fun x => ⟦preStoneCechUnit x⟧
state_after: α : Type u
inst✝ : TopologicalSpace α
this : Function.Surjective t2Quotient.mk
⊢ DenseRange fun x => ⟦preStoneCechUnit x⟧

tactic: exact this.denseRange.comp denseRange_preStoneCechUnit continuous_coinduced_rng
state_before: α : Type u
inst✝ : TopologicalSpace α
this : Function.Surjective t2Quotient.mk
⊢ DenseRange fun x => ⟦preStoneCechUnit x⟧
state_after: no goals

tactic: exact surjective_quot_mk _
state_before: α : Type u
inst✝ : TopologicalSpace α
⊢ Function.Surjective t2Quotient.mk
state_after: no goals
Theorem: LocalizedModule.smul'_mk
File: Mathlib/Algebra/Module/LocalizedModule.lean

tactic: erw [mk_smul_mk r m 1 s, one_mul]
state_before: R : Type u
inst✝⁵ : CommSemiring R
S : Submonoid R
M : Type v
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
T : Type u_1
inst✝² : CommSemiring T
inst✝¹ : Algebra R T
inst✝ : IsLocalization S T
r : R
s : ↥S
m : M
⊢ r • mk m s = mk (r • m) s
state_after: no goals
Theorem: ProbabilityTheory.kernel.measurable_density_right
File: Mathlib/Probability/Kernel/Disintegration/Density.lean

tactic: change Measurable ((fun (p : α × γ) ↦ density κ ν p.1 p.2 s) ∘ (fun x ↦ (a, x)))
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝ : CountablyGenerated γ
κ✝ : ↥(kernel α (γ × β))
ν✝ : ↥(kernel α γ)
κ : ↥(kernel α (γ × β))
ν : ↥(kernel α γ)
s : Set β
hs : MeasurableSet s
a : α
⊢ Measurable fun x => density κ ν a x s
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝ : CountablyGenerated γ
κ✝ : ↥(kernel α (γ × β))
ν✝ : ↥(kernel α γ)
κ : ↥(kernel α (γ × β))
ν : ↥(kernel α γ)
s : Set β
hs : MeasurableSet s
a : α
⊢ Measurable ((fun p => density κ ν p.1 p.2 s) ∘ fun x => (a, x))

tactic: exact (measurable_density κ ν hs).comp measurable_prod_mk_left
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝ : CountablyGenerated γ
κ✝ : ↥(kernel α (γ × β))
ν✝ : ↥(kernel α γ)
κ : ↥(kernel α (γ × β))
ν : ↥(kernel α γ)
s : Set β
hs : MeasurableSet s
a : α
⊢ Measurable ((fun p => density κ ν p.1 p.2 s) ∘ fun x => (a, x))
state_after: no goals
Theorem: mem_ball_iff_norm'''
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: rw [mem_ball', dist_eq_norm_div]
state_before: 𝓕 : Type u_1
𝕜 : Type u_2
α : Type u_3
ι : Type u_4
κ : Type u_5
E : Type u_6
F : Type u_7
G : Type u_8
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
inst✝ : SeminormedGroup G
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
⊢ b ∈ ball a r ↔ ‖a / b‖ < r
state_after: no goals
Theorem: Equiv.id_map
File: Mathlib/Control/Traversable/Equiv.lean

tactic: simp [Equiv.map, id_map]
state_before: t t' : Type u → Type u
eqv : (α : Type u) → t α ≃ t' α
inst✝¹ : Functor t
inst✝ : LawfulFunctor t
α : Type u
x : t' α
⊢ Equiv.map eqv id x = x
state_after: no goals
Theorem: nhds_cons
File: Mathlib/Topology/List.lean

tactic: rw [nhds_list, List.traverse_cons _, ← nhds_list]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
a : α
l : List α
⊢ 𝓝 (a :: l) = Seq.seq (List.cons <$> 𝓝 a) fun x => 𝓝 l
state_after: no goals
Theorem: AdicCompletion.sumInv_apply
File: Mathlib/RingTheory/AdicCompletion/Functoriality.lean

tactic: apply induction_on I _ x (fun x ↦ ?_)
state_before: R : Type u_1
inst✝¹² : CommRing R
I : Ideal R
M✝ : Type u_2
inst✝¹¹ : AddCommGroup M✝
inst✝¹⁰ : Module R M✝
N : Type u_3
inst✝⁹ : AddCommGroup N
inst✝⁸ : Module R N
P : Type u_4
inst✝⁷ : AddCommGroup P
inst✝⁶ : Module R P
T : Type u_5
inst✝⁵ : AddCommGroup T
inst✝⁴ : Module (AdicCompletion I R) T
ι : Type u_6
inst✝³ : DecidableEq ι
M : ι → Type u_7
inst✝² : (i : ι) → AddCommGroup (M i)
inst✝¹ : (i : ι) → Module R (M i)
inst✝ : Fintype ι
x : AdicCompletion I (⨁ (j : ι), M j)
j : ι
⊢ ((sumInv I M) x) j = (map I (component R ι M j)) x
state_after: R : Type u_1
inst✝¹² : CommRing R
I : Ideal R
M✝ : Type u_2
inst✝¹¹ : AddCommGroup M✝
inst✝¹⁰ : Module R M✝
N : Type u_3
inst✝⁹ : AddCommGroup N
inst✝⁸ : Module R N
P : Type u_4
inst✝⁷ : AddCommGroup P
inst✝⁶ : Module R P
T : Type u_5
inst✝⁵ : AddCommGroup T
inst✝⁴ : Module (AdicCompletion I R) T
ι : Type u_6
inst✝³ : DecidableEq ι
M : ι → Type u_7
inst✝² : (i : ι) → AddCommGroup (M i)
inst✝¹ : (i : ι) → Module R (M i)
inst✝ : Fintype ι
x✝ : AdicCompletion I (⨁ (j : ι), M j)
j : ι
x : AdicCauchySequence I (⨁ (j : ι), M j)
⊢ ((sumInv I M) ((mk I (⨁ (j : ι), M j)) x)) j = (map I (component R ι M j)) ((mk I (⨁ (j : ι), M j)) x)

tactic: rfl
state_before: R : Type u_1
inst✝¹² : CommRing R
I : Ideal R
M✝ : Type u_2
inst✝¹¹ : AddCommGroup M✝
inst✝¹⁰ : Module R M✝
N : Type u_3
inst✝⁹ : AddCommGroup N
inst✝⁸ : Module R N
P : Type u_4
inst✝⁷ : AddCommGroup P
inst✝⁶ : Module R P
T : Type u_5
inst✝⁵ : AddCommGroup T
inst✝⁴ : Module (AdicCompletion I R) T
ι : Type u_6
inst✝³ : DecidableEq ι
M : ι → Type u_7
inst✝² : (i : ι) → AddCommGroup (M i)
inst✝¹ : (i : ι) → Module R (M i)
inst✝ : Fintype ι
x✝ : AdicCompletion I (⨁ (j : ι), M j)
j : ι
x : AdicCauchySequence I (⨁ (j : ι), M j)
⊢ ((sumInv I M) ((mk I (⨁ (j : ι), M j)) x)) j = (map I (component R ι M j)) ((mk I (⨁ (j : ι), M j)) x)
state_after: no goals
Theorem: Real.zero_lt_one
File: Mathlib/Data/Real/Basic.lean

tactic: convert ratCast_lt.2 zero_lt_one <;> simp [← ofCauchy_ratCast, ofCauchy_one, ofCauchy_zero]
state_before: x y : ℝ
⊢ 0 < 1
state_after: no goals
Theorem: Mathlib.Tactic.Abel.term_atom_pf
File: Mathlib/Tactic/Abel.lean

tactic: simp [term, h]
state_before: α : Type u_1
inst✝ : AddCommMonoid α
x x' : α
h : x = x'
⊢ x = term 1 x' 0
state_after: no goals
Theorem: List.length_sublistsLen
File: Mathlib/Data/List/Sublists.lean

tactic: simp
state_before: α : Type u
β : Type v
γ : Type w
l : List α
⊢ (sublistsLen 0 l).length = l.length.choose 0
state_after: no goals

tactic: simp
state_before: α : Type u
β : Type v
γ : Type w
n✝ : ℕ
⊢ (sublistsLen (n✝ + 1) []).length = [].length.choose (n✝ + 1)
state_after: no goals

tactic: rw [sublistsLen_succ_cons, length_append, length_sublistsLen (n+1) l,
  length_map, length_sublistsLen n l, length_cons, Nat.choose_succ_succ, Nat.add_comm]
state_before: α : Type u
β : Type v
γ : Type w
n : ℕ
a : α
l : List α
⊢ (sublistsLen (n + 1) (a :: l)).length = (a :: l).length.choose (n + 1)
state_after: no goals
Theorem: MeasureTheory.L1.dist_def
File: Mathlib/MeasureTheory/Function/L1Space.lean

tactic: simp only [Lp.dist_def, snorm, one_ne_zero, snorm', Pi.sub_apply, one_toReal, ENNReal.rpow_one,
  ne_eq, not_false_eq_true, div_self, ite_false]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f g : ↥(Lp β 1 μ)
⊢ dist f g = (∫⁻ (a : α), edist (↑↑f a) (↑↑g a) ∂μ).toReal
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f g : ↥(Lp β 1 μ)
⊢ (if 1 = ⊤ then snormEssSup (↑↑f - ↑↑g) μ else ∫⁻ (a : α), ↑‖↑↑f a - ↑↑g a‖₊ ∂μ).toReal =
    (∫⁻ (a : α), edist (↑↑f a) (↑↑g a) ∂μ).toReal

tactic: simp [edist_eq_coe_nnnorm_sub]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f g : ↥(Lp β 1 μ)
⊢ (if 1 = ⊤ then snormEssSup (↑↑f - ↑↑g) μ else ∫⁻ (a : α), ↑‖↑↑f a - ↑↑g a‖₊ ∂μ).toReal =
    (∫⁻ (a : α), edist (↑↑f a) (↑↑g a) ∂μ).toReal
state_after: no goals
Theorem: MeasureTheory.Measure.setIntegral_comp_smul_of_pos
File: Mathlib/MeasureTheory/Measure/Haar/NormedSpace.lean

tactic: rw [setIntegral_comp_smul μ f s hR.ne', abs_of_nonneg (inv_nonneg.2 (pow_nonneg hR.le _))]
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
s✝ : Set E
f : E → F
R : ℝ
s : Set E
hR : 0 < R
⊢ ∫ (x : E) in s, f (R • x) ∂μ = (R ^ finrank ℝ E)⁻¹ • ∫ (x : E) in R • s, f x ∂μ
state_after: no goals