1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.IsSetSemiring.pairwiseDisjoint_insert_diffFinset
File: Mathlib/MeasureTheory/SetSemiring.lean

tactic: have h := hC.pairwiseDisjoint_diffFinset hs ht
state_before: α : Type u_1
C : Set (Set α)
s t : Set α
hC : IsSetSemiring C
hs : s ∈ C
ht : t ∈ C
⊢ (insert t ↑(hC.diffFinset hs ht)).PairwiseDisjoint id
state_after: α : Type u_1
C : Set (Set α)
s t : Set α
hC : IsSetSemiring C
hs : s ∈ C
ht : t ∈ C
h : (↑(hC.diffFinset hs ht)).PairwiseDisjoint id
⊢ (insert t ↑(hC.diffFinset hs ht)).PairwiseDisjoint id

tactic: refine PairwiseDisjoint.insert_of_not_mem h (hC.not_mem_diffFinset hs ht) fun u hu ↦ ?_
state_before: α : Type u_1
C : Set (Set α)
s t : Set α
hC : IsSetSemiring C
hs : s ∈ C
ht : t ∈ C
h : (↑(hC.diffFinset hs ht)).PairwiseDisjoint id
⊢ (insert t ↑(hC.diffFinset hs ht)).PairwiseDisjoint id
state_after: α : Type u_1
C : Set (Set α)
s t : Set α
hC : IsSetSemiring C
hs : s ∈ C
ht : t ∈ C
h : (↑(hC.diffFinset hs ht)).PairwiseDisjoint id
u : Set α
hu : u ∈ ↑(hC.diffFinset hs ht)
⊢ Disjoint (id t) (id u)

tactic: simp_rw [id]
state_before: α : Type u_1
C : Set (Set α)
s t : Set α
hC : IsSetSemiring C
hs : s ∈ C
ht : t ∈ C
h : (↑(hC.diffFinset hs ht)).PairwiseDisjoint id
u : Set α
hu : u ∈ ↑(hC.diffFinset hs ht)
⊢ Disjoint (id t) (id u)
state_after: α : Type u_1
C : Set (Set α)
s t : Set α
hC : IsSetSemiring C
hs : s ∈ C
ht : t ∈ C
h : (↑(hC.diffFinset hs ht)).PairwiseDisjoint id
u : Set α
hu : u ∈ ↑(hC.diffFinset hs ht)
⊢ Disjoint t u

tactic: refine Disjoint.mono_right ?_ (hC.disjoint_sUnion_diffFinset hs ht)
state_before: α : Type u_1
C : Set (Set α)
s t : Set α
hC : IsSetSemiring C
hs : s ∈ C
ht : t ∈ C
h : (↑(hC.diffFinset hs ht)).PairwiseDisjoint id
u : Set α
hu : u ∈ ↑(hC.diffFinset hs ht)
⊢ Disjoint t u
state_after: α : Type u_1
C : Set (Set α)
s t : Set α
hC : IsSetSemiring C
hs : s ∈ C
ht : t ∈ C
h : (↑(hC.diffFinset hs ht)).PairwiseDisjoint id
u : Set α
hu : u ∈ ↑(hC.diffFinset hs ht)
⊢ u ≤ ⋃₀ ↑(hC.diffFinset hs ht)

tactic: simp only [Set.le_eq_subset]
state_before: α : Type u_1
C : Set (Set α)
s t : Set α
hC : IsSetSemiring C
hs : s ∈ C
ht : t ∈ C
h : (↑(hC.diffFinset hs ht)).PairwiseDisjoint id
u : Set α
hu : u ∈ ↑(hC.diffFinset hs ht)
⊢ u ≤ ⋃₀ ↑(hC.diffFinset hs ht)
state_after: α : Type u_1
C : Set (Set α)
s t : Set α
hC : IsSetSemiring C
hs : s ∈ C
ht : t ∈ C
h : (↑(hC.diffFinset hs ht)).PairwiseDisjoint id
u : Set α
hu : u ∈ ↑(hC.diffFinset hs ht)
⊢ u ⊆ ⋃₀ ↑(hC.diffFinset hs ht)

tactic: exact subset_sUnion_of_mem hu
state_before: α : Type u_1
C : Set (Set α)
s t : Set α
hC : IsSetSemiring C
hs : s ∈ C
ht : t ∈ C
h : (↑(hC.diffFinset hs ht)).PairwiseDisjoint id
u : Set α
hu : u ∈ ↑(hC.diffFinset hs ht)
⊢ u ⊆ ⋃₀ ↑(hC.diffFinset hs ht)
state_after: no goals
Theorem: MeasureTheory.Measure.addHaar_smul_of_nonneg
File: Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean

tactic: rw [addHaar_smul, abs_pow, abs_of_nonneg hr]
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
r : ℝ
hr : 0 ≤ r
s : Set E
⊢ μ (r • s) = ENNReal.ofReal (r ^ finrank ℝ E) * μ s
state_after: no goals
Theorem: ENNReal.tsum_coe_ne_top_iff_summable
File: Mathlib/Topology/Instances/ENNReal.lean

tactic: refine ⟨fun h => ?_, fun h => ENNReal.coe_tsum h ▸ ENNReal.coe_ne_top⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α → ℝ≥0∞
f : β → ℝ≥0
⊢ ∑' (b : β), ↑(f b) ≠ ⊤ ↔ Summable f
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α → ℝ≥0∞
f : β → ℝ≥0
h : ∑' (b : β), ↑(f b) ≠ ⊤
⊢ Summable f

tactic: lift ∑' b, (f b : ℝ≥0∞) to ℝ≥0 using h with a ha
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α → ℝ≥0∞
f : β → ℝ≥0
h : ∑' (b : β), ↑(f b) ≠ ⊤
⊢ Summable f
state_after: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
a✝ b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α → ℝ≥0∞
f : β → ℝ≥0
a : ℝ≥0
ha : ↑a = ∑' (b : β), ↑(f b)
⊢ Summable f

tactic: refine ⟨a, ENNReal.hasSum_coe.1 ?_⟩
state_before: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
a✝ b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α → ℝ≥0∞
f : β → ℝ≥0
a : ℝ≥0
ha : ↑a = ∑' (b : β), ↑(f b)
⊢ Summable f
state_after: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
a✝ b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α → ℝ≥0∞
f : β → ℝ≥0
a : ℝ≥0
ha : ↑a = ∑' (b : β), ↑(f b)
⊢ HasSum (fun a => ↑(f a)) ↑a

tactic: rw [ha]
state_before: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
a✝ b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α → ℝ≥0∞
f : β → ℝ≥0
a : ℝ≥0
ha : ↑a = ∑' (b : β), ↑(f b)
⊢ HasSum (fun a => ↑(f a)) ↑a
state_after: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
a✝ b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α → ℝ≥0∞
f : β → ℝ≥0
a : ℝ≥0
ha : ↑a = ∑' (b : β), ↑(f b)
⊢ HasSum (fun a => ↑(f a)) (∑' (b : β), ↑(f b))

tactic: exact ENNReal.summable.hasSum
state_before: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
a✝ b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g : α → ℝ≥0∞
f : β → ℝ≥0
a : ℝ≥0
ha : ↑a = ∑' (b : β), ↑(f b)
⊢ HasSum (fun a => ↑(f a)) (∑' (b : β), ↑(f b))
state_after: no goals
Theorem: nhds_left_sup_nhds_right
File: Mathlib/Topology/Order/LeftRight.lean

tactic: rw [← nhdsWithin_union, Iic_union_Ici, nhdsWithin_univ]
state_before: α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrder α
inst✝ : TopologicalSpace β
a : α
⊢ 𝓝[≤] a ⊔ 𝓝[≥] a = 𝓝 a
state_after: no goals
Theorem: Real.sin_eq_zero_iff_cos_eq
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean

tactic: rw [← mul_self_eq_one_iff, ← sin_sq_add_cos_sq x, sq, sq, ← sub_eq_iff_eq_add, sub_self]
state_before: x : ℝ
⊢ sin x = 0 ↔ cos x = 1 ∨ cos x = -1
state_after: x : ℝ
⊢ sin x = 0 ↔ 0 = sin x * sin x

tactic: exact ⟨fun h => by rw [h, mul_zero], eq_zero_of_mul_self_eq_zero ∘ Eq.symm⟩
state_before: x : ℝ
⊢ sin x = 0 ↔ 0 = sin x * sin x
state_after: no goals

tactic: rw [h, mul_zero]
state_before: x : ℝ
h : sin x = 0
⊢ 0 = sin x * sin x
state_after: no goals
Theorem: ContractingWith.eq_or_edist_eq_top_of_fixedPoints
File: Mathlib/Topology/MetricSpace/Contracting.lean

tactic: refine or_iff_not_imp_right.2 fun h ↦ edist_le_zero.1 ?_
state_before: α : Type u_1
inst✝ : EMetricSpace α
cs : CompleteSpace α
K : ℝ≥0
f : α → α
hf : ContractingWith K f
x y : α
hx : IsFixedPt f x
hy : IsFixedPt f y
⊢ x = y ∨ edist x y = ⊤
state_after: α : Type u_1
inst✝ : EMetricSpace α
cs : CompleteSpace α
K : ℝ≥0
f : α → α
hf : ContractingWith K f
x y : α
hx : IsFixedPt f x
hy : IsFixedPt f y
h : ¬edist x y = ⊤
⊢ edist x y ≤ 0

tactic: simpa only [hx.eq, edist_self, add_zero, ENNReal.zero_div] using hf.edist_le_of_fixedPoint h hy
state_before: α : Type u_1
inst✝ : EMetricSpace α
cs : CompleteSpace α
K : ℝ≥0
f : α → α
hf : ContractingWith K f
x y : α
hx : IsFixedPt f x
hy : IsFixedPt f y
h : ¬edist x y = ⊤
⊢ edist x y ≤ 0
state_after: no goals
Theorem: LieAlgebra.Orthogonal.jb_transform
File: Mathlib/Algebra/Lie/Classical.lean

tactic: simp [PB, JB, jd_transform, Matrix.fromBlocks_transpose, Matrix.fromBlocks_multiply,
  Matrix.fromBlocks_smul]
state_before: n : Type u_1
p : Type u_2
q : Type u_3
l : Type u_4
R : Type u₂
inst✝⁷ : DecidableEq n
inst✝⁶ : DecidableEq p
inst✝⁵ : DecidableEq q
inst✝⁴ : DecidableEq l
inst✝³ : CommRing R
inst✝² : Fintype p
inst✝¹ : Fintype q
inst✝ : Fintype l
⊢ (PB l R)ᵀ * JB l R * PB l R = 2 • fromBlocks 1 0 0 (S l R)
state_after: no goals
Theorem: Set.encard_eq_zero
File: Mathlib/Data/Set/Card.lean

tactic: rw [encard, ← PartENat.withTopEquiv.symm.injective.eq_iff, Equiv.symm_apply_apply,
  PartENat.withTopEquiv_symm_zero, PartENat.card_eq_zero_iff_empty, isEmpty_subtype,
  eq_empty_iff_forall_not_mem]
state_before: α : Type u_1
β : Type u_2
s t : Set α
⊢ s.encard = 0 ↔ s = ∅
state_after: no goals
Theorem: eq_of_hammingDist_eq_zero
File: Mathlib/InformationTheory/Hamming.lean

tactic: simp_rw [hammingDist, card_eq_zero, filter_eq_empty_iff, Classical.not_not, funext_iff, mem_univ,
  forall_true_left, imp_self]
state_before: α : Type u_1
ι : Type u_2
β : ι → Type u_3
inst✝² : Fintype ι
inst✝¹ : (i : ι) → DecidableEq (β i)
γ : ι → Type u_4
inst✝ : (i : ι) → DecidableEq (γ i)
x y : (i : ι) → β i
⊢ hammingDist x y = 0 → x = y
state_after: no goals
Theorem: Grp.SurjectiveOfEpiAuxs.h_apply_fromCoset
File: Mathlib/Algebra/Category/Grp/EpiMono.lean

tactic: change ((τ).symm.trans (g x)).trans τ _ = _
state_before: A B : Grp
f : A ⟶ B
x : ↑B
⊢ (h x) (fromCoset ⟨↑(MonoidHom.range f), ⋯⟩) = fromCoset ⟨↑(MonoidHom.range f), ⋯⟩
state_after: A B : Grp
f : A ⟶ B
x : ↑B
⊢ (((Equiv.symm τ).trans (g x)).trans τ) (fromCoset ⟨↑(MonoidHom.range f), ⋯⟩) = fromCoset ⟨↑(MonoidHom.range f), ⋯⟩

tactic: simp [-MonoidHom.coe_range, τ_symm_apply_fromCoset, g_apply_infinity, τ_apply_infinity]
state_before: A B : Grp
f : A ⟶ B
x : ↑B
⊢ (((Equiv.symm τ).trans (g x)).trans τ) (fromCoset ⟨↑(MonoidHom.range f), ⋯⟩) = fromCoset ⟨↑(MonoidHom.range f), ⋯⟩
state_after: no goals
Theorem: Cardinal.nat_eq_ofENat
File: Mathlib/SetTheory/Cardinal/ENat.lean

tactic: norm_cast
state_before: m : ℕ
n : ℕ∞
⊢ ↑m = ↑n ↔ ↑m = n
state_after: no goals
Theorem: MvPolynomial.eval₂_eta
File: Mathlib/Algebra/MvPolynomial/Basic.lean

tactic: apply MvPolynomial.induction_on p <;>
  simp (config := { contextual := true }) [eval₂_add, eval₂_mul]
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p✝ q : MvPolynomial σ R
f : R →+* S₁
g : σ → S₁
p : MvPolynomial σ R
⊢ eval₂ C X p = p
state_after: no goals
Theorem: NonUnitalAlgHom.coe_distribMulActionHom_mk
File: Mathlib/Algebra/Algebra/NonUnitalHom.lean

tactic: rfl
state_before: R : Type u
S : Type u₁
T : Type u_1
inst✝⁸ : Monoid R
inst✝⁷ : Monoid S
inst✝⁶ : Monoid T
φ : R →* S
A : Type v
B : Type w
C : Type w₁
inst✝⁵ : NonUnitalNonAssocSemiring A
inst✝⁴ : DistribMulAction R A
inst✝³ : NonUnitalNonAssocSemiring B
inst✝² : DistribMulAction S B
inst✝¹ : NonUnitalNonAssocSemiring C
inst✝ : DistribMulAction T C
f : A →ₛₙₐ[φ] B
h₁ : ∀ (m : R) (x : A), f (m • x) = φ m • f x
h₂ : { toFun := ⇑f, map_smul' := h₁ }.toFun 0 = 0
h₃ :
  ∀ (x y : A),
    { toFun := ⇑f, map_smul' := h₁ }.toFun (x + y) =
      { toFun := ⇑f, map_smul' := h₁ }.toFun x + { toFun := ⇑f, map_smul' := h₁ }.toFun y
h₄ :
  ∀ (x y : A),
    { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun (x * y) =
      { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun x *
        { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun y
⊢ ↑{ toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃, map_mul' := h₄ } =
    { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }
state_after: no goals
Theorem: ZetaAsymptotics.term_nonneg
File: Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean

tactic: rw [term, intervalIntegral.integral_of_le (by simp)]
state_before: n : ℕ
s : ℝ
⊢ 0 ≤ term n s
state_after: n : ℕ
s : ℝ
⊢ 0 ≤ ∫ (x : ℝ) in Ioc (↑n) (↑n + 1), (x - ↑n) / x ^ (s + 1) ∂volume

tactic: refine setIntegral_nonneg measurableSet_Ioc (fun x hx ↦ ?_)
state_before: n : ℕ
s : ℝ
⊢ 0 ≤ ∫ (x : ℝ) in Ioc (↑n) (↑n + 1), (x - ↑n) / x ^ (s + 1) ∂volume
state_after: n : ℕ
s x : ℝ
hx : x ∈ Ioc (↑n) (↑n + 1)
⊢ 0 ≤ (x - ↑n) / x ^ (s + 1)

tactic: refine div_nonneg ?_ (rpow_nonneg ?_ _)
state_before: n : ℕ
s x : ℝ
hx : x ∈ Ioc (↑n) (↑n + 1)
⊢ 0 ≤ (x - ↑n) / x ^ (s + 1)
state_after: case refine_1
n : ℕ
s x : ℝ
hx : x ∈ Ioc (↑n) (↑n + 1)
⊢ 0 ≤ x - ↑n

case refine_2
n : ℕ
s x : ℝ
hx : x ∈ Ioc (↑n) (↑n + 1)
⊢ 0 ≤ x

tactic: all_goals linarith [hx.1]
state_before: case refine_1
n : ℕ
s x : ℝ
hx : x ∈ Ioc (↑n) (↑n + 1)
⊢ 0 ≤ x - ↑n

case refine_2
n : ℕ
s x : ℝ
hx : x ∈ Ioc (↑n) (↑n + 1)
⊢ 0 ≤ x
state_after: no goals

tactic: simp
state_before: n : ℕ
s : ℝ
⊢ ↑n ≤ ↑n + 1
state_after: no goals

tactic: linarith [hx.1]
state_before: case refine_2
n : ℕ
s x : ℝ
hx : x ∈ Ioc (↑n) (↑n + 1)
⊢ 0 ≤ x
state_after: no goals
Theorem: CategoryTheory.DifferentialObject.eqToHom_f'
File: Mathlib/Algebra/Homology/DifferentialObject.lean

tactic: cases h
state_before: β : Type u_1
inst✝² : AddCommGroup β
b : β
V : Type u_2
inst✝¹ : Category.{u_3, u_2} V
inst✝ : HasZeroMorphisms V
X✝ X Y : DifferentialObject ℤ (GradedObjectWithShift b V)
f : X ⟶ Y
x y : β
h : x = y
⊢ X.objEqToHom h ≫ f.f y = f.f x ≫ Y.objEqToHom h
state_after: case refl
β : Type u_1
inst✝² : AddCommGroup β
b : β
V : Type u_2
inst✝¹ : Category.{u_3, u_2} V
inst✝ : HasZeroMorphisms V
X✝ X Y : DifferentialObject ℤ (GradedObjectWithShift b V)
f : X ⟶ Y
x : β
⊢ X.objEqToHom ⋯ ≫ f.f x = f.f x ≫ Y.objEqToHom ⋯

tactic: simp
state_before: case refl
β : Type u_1
inst✝² : AddCommGroup β
b : β
V : Type u_2
inst✝¹ : Category.{u_3, u_2} V
inst✝ : HasZeroMorphisms V
X✝ X Y : DifferentialObject ℤ (GradedObjectWithShift b V)
f : X ⟶ Y
x : β
⊢ X.objEqToHom ⋯ ≫ f.f x = f.f x ≫ Y.objEqToHom ⋯
state_after: no goals
Theorem: Real.exp_half
File: Mathlib/Analysis/SpecialFunctions/Exp.lean

tactic: rw [eq_comm, sqrt_eq_iff_sq_eq, sq, ← exp_add, add_halves] <;> exact (exp_pos _).le
state_before: α : Type u_1
x✝ y z : ℝ
l : Filter α
x : ℝ
⊢ rexp (x / 2) = √(rexp x)
state_after: no goals
Theorem: Equiv.Perm.SameCycle.of_pow
File: Mathlib/GroupTheory/Perm/Cycle/Basic.lean

tactic: simp [zpow_mul, h]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
p : α → Prop
x y z : α
n : ℕ
x✝ : (f ^ n).SameCycle x y
m : ℤ
h : ((f ^ n) ^ m) x = y
⊢ (f ^ (↑n * m)) x = y
state_after: no goals
Theorem: Cubic.of_a_eq_zero
File: Mathlib/Algebra/CubicDiscriminant.lean

tactic: rw [toPoly, ha, C_0, zero_mul, zero_add]
state_before: R : Type u_1
S : Type u_2
F : Type u_3
K : Type u_4
P Q : Cubic R
a b c d a' b' c' d' : R
inst✝ : Semiring R
ha : P.a = 0
⊢ P.toPoly = C P.b * X ^ 2 + C P.c * X + C P.d
state_after: no goals
Theorem: MeasureTheory.Measure.rnDeriv_smul_left_of_ne_top'
File: Mathlib/MeasureTheory/Decomposition/Lebesgue.lean

tactic: have h : (r.toNNReal • ν).rnDeriv μ =ᵐ[μ] r.toNNReal • ν.rnDeriv μ :=
  rnDeriv_smul_left' ν μ r.toNNReal
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ ν μ : Measure α
inst✝¹ : SigmaFinite ν
inst✝ : SigmaFinite μ
r : ℝ≥0∞
hr : r ≠ ⊤
⊢ (r • ν).rnDeriv μ =ᶠ[ae μ] r • ν.rnDeriv μ
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ ν μ : Measure α
inst✝¹ : SigmaFinite ν
inst✝ : SigmaFinite μ
r : ℝ≥0∞
hr : r ≠ ⊤
h : (r.toNNReal • ν).rnDeriv μ =ᶠ[ae μ] r.toNNReal • ν.rnDeriv μ
⊢ (r • ν).rnDeriv μ =ᶠ[ae μ] r • ν.rnDeriv μ

tactic: simpa [ENNReal.smul_def, ENNReal.coe_toNNReal hr] using h
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ ν μ : Measure α
inst✝¹ : SigmaFinite ν
inst✝ : SigmaFinite μ
r : ℝ≥0∞
hr : r ≠ ⊤
h : (r.toNNReal • ν).rnDeriv μ =ᶠ[ae μ] r.toNNReal • ν.rnDeriv μ
⊢ (r • ν).rnDeriv μ =ᶠ[ae μ] r • ν.rnDeriv μ
state_after: no goals
Theorem: Prod.comul_comp_snd
File: Mathlib/RingTheory/Coalgebra/Basic.lean

tactic: ext : 1
state_before: R : Type u
A : Type v
B : Type w
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid A
inst✝⁴ : AddCommMonoid B
inst✝³ : Module R A
inst✝² : Module R B
inst✝¹ : Coalgebra R A
inst✝ : Coalgebra R B
⊢ comul ∘ₗ LinearMap.snd R A B = TensorProduct.map (LinearMap.snd R A B) (LinearMap.snd R A B) ∘ₗ comul
state_after: case hl
R : Type u
A : Type v
B : Type w
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid A
inst✝⁴ : AddCommMonoid B
inst✝³ : Module R A
inst✝² : Module R B
inst✝¹ : Coalgebra R A
inst✝ : Coalgebra R B
⊢ (comul ∘ₗ LinearMap.snd R A B) ∘ₗ inl R A B =
    (TensorProduct.map (LinearMap.snd R A B) (LinearMap.snd R A B) ∘ₗ comul) ∘ₗ inl R A B

case hr
R : Type u
A : Type v
B : Type w
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid A
inst✝⁴ : AddCommMonoid B
inst✝³ : Module R A
inst✝² : Module R B
inst✝¹ : Coalgebra R A
inst✝ : Coalgebra R B
⊢ (comul ∘ₗ LinearMap.snd R A B) ∘ₗ inr R A B =
    (TensorProduct.map (LinearMap.snd R A B) (LinearMap.snd R A B) ∘ₗ comul) ∘ₗ inr R A B

tactic: rw [comp_assoc, snd_comp_inl, comp_zero, comp_assoc, comul_comp_inl, ← comp_assoc,
  ← TensorProduct.map_comp, snd_comp_inl, TensorProduct.map_zero_left, zero_comp]
state_before: case hl
R : Type u
A : Type v
B : Type w
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid A
inst✝⁴ : AddCommMonoid B
inst✝³ : Module R A
inst✝² : Module R B
inst✝¹ : Coalgebra R A
inst✝ : Coalgebra R B
⊢ (comul ∘ₗ LinearMap.snd R A B) ∘ₗ inl R A B =
    (TensorProduct.map (LinearMap.snd R A B) (LinearMap.snd R A B) ∘ₗ comul) ∘ₗ inl R A B
state_after: no goals

tactic: rw [comp_assoc, snd_comp_inr, comp_id, comp_assoc, comul_comp_inr, ← comp_assoc,
  ← TensorProduct.map_comp, snd_comp_inr, TensorProduct.map_id, id_comp]
state_before: case hr
R : Type u
A : Type v
B : Type w
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid A
inst✝⁴ : AddCommMonoid B
inst✝³ : Module R A
inst✝² : Module R B
inst✝¹ : Coalgebra R A
inst✝ : Coalgebra R B
⊢ (comul ∘ₗ LinearMap.snd R A B) ∘ₗ inr R A B =
    (TensorProduct.map (LinearMap.snd R A B) (LinearMap.snd R A B) ∘ₗ comul) ∘ₗ inr R A B
state_after: no goals
Theorem: Matrix.cramer_zero
File: Mathlib/LinearAlgebra/Matrix/Adjugate.lean

tactic: ext i j
state_before: m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
A : Matrix n n α
b : n → α
inst✝ : Nontrivial n
⊢ cramer 0 = 0
state_after: case h.h.h
m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
A : Matrix n n α
b : n → α
inst✝ : Nontrivial n
i j : n
⊢ (cramer 0 ∘ₗ LinearMap.single i) 1 j = (0 ∘ₗ LinearMap.single i) 1 j

tactic: obtain ⟨j', hj'⟩ : ∃ j', j' ≠ j := exists_ne j
state_before: case h.h.h
m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
A : Matrix n n α
b : n → α
inst✝ : Nontrivial n
i j : n
⊢ (cramer 0 ∘ₗ LinearMap.single i) 1 j = (0 ∘ₗ LinearMap.single i) 1 j
state_after: case h.h.h.intro
m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
A : Matrix n n α
b : n → α
inst✝ : Nontrivial n
i j j' : n
hj' : j' ≠ j
⊢ (cramer 0 ∘ₗ LinearMap.single i) 1 j = (0 ∘ₗ LinearMap.single i) 1 j

tactic: apply det_eq_zero_of_column_eq_zero j'
state_before: case h.h.h.intro
m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
A : Matrix n n α
b : n → α
inst✝ : Nontrivial n
i j j' : n
hj' : j' ≠ j
⊢ (cramer 0 ∘ₗ LinearMap.single i) 1 j = (0 ∘ₗ LinearMap.single i) 1 j
state_after: case h.h.h.intro
m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
A : Matrix n n α
b : n → α
inst✝ : Nontrivial n
i j j' : n
hj' : j' ≠ j
⊢ ∀ (i_1 : n), updateColumn 0 j ((LinearMap.single i) 1) i_1 j' = 0

tactic: intro j''
state_before: case h.h.h.intro
m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
A : Matrix n n α
b : n → α
inst✝ : Nontrivial n
i j j' : n
hj' : j' ≠ j
⊢ ∀ (i_1 : n), updateColumn 0 j ((LinearMap.single i) 1) i_1 j' = 0
state_after: case h.h.h.intro
m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
A : Matrix n n α
b : n → α
inst✝ : Nontrivial n
i j j' : n
hj' : j' ≠ j
j'' : n
⊢ updateColumn 0 j ((LinearMap.single i) 1) j'' j' = 0

tactic: simp [updateColumn_ne hj']
state_before: case h.h.h.intro
m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
A : Matrix n n α
b : n → α
inst✝ : Nontrivial n
i j j' : n
hj' : j' ≠ j
j'' : n
⊢ updateColumn 0 j ((LinearMap.single i) 1) j'' j' = 0
state_after: no goals
Theorem: MeasureTheory.Measure.dirac_apply
File: Mathlib/MeasureTheory/Measure/Dirac.lean

tactic: by_cases h : a ∈ s
state_before: α : Type u_1
β : Type u_2
δ : Type u_3
inst✝² : MeasurableSpace α
inst✝¹ : MeasurableSpace β
s✝ : Set α
a✝ : α
inst✝ : MeasurableSingletonClass α
a : α
s : Set α
⊢ (dirac a) s = s.indicator 1 a
state_after: case pos
α : Type u_1
β : Type u_2
δ : Type u_3
inst✝² : MeasurableSpace α
inst✝¹ : MeasurableSpace β
s✝ : Set α
a✝ : α
inst✝ : MeasurableSingletonClass α
a : α
s : Set α
h : a ∈ s
⊢ (dirac a) s = s.indicator 1 a

case neg
α : Type u_1
β : Type u_2
δ : Type u_3
inst✝² : MeasurableSpace α
inst✝¹ : MeasurableSpace β
s✝ : Set α
a✝ : α
inst✝ : MeasurableSingletonClass α
a : α
s : Set α
h : a ∉ s
⊢ (dirac a) s = s.indicator 1 a

tactic: rw [indicator_of_not_mem h, ← nonpos_iff_eq_zero]
state_before: case neg
α : Type u_1
β : Type u_2
δ : Type u_3
inst✝² : MeasurableSpace α
inst✝¹ : MeasurableSpace β
s✝ : Set α
a✝ : α
inst✝ : MeasurableSingletonClass α
a : α
s : Set α
h : a ∉ s
⊢ (dirac a) s = s.indicator 1 a
state_after: case neg
α : Type u_1
β : Type u_2
δ : Type u_3
inst✝² : MeasurableSpace α
inst✝¹ : MeasurableSpace β
s✝ : Set α
a✝ : α
inst✝ : MeasurableSingletonClass α
a : α
s : Set α
h : a ∉ s
⊢ (dirac a) s ≤ 0

tactic: calc
  dirac a s ≤ dirac a {a}ᶜ := measure_mono (subset_compl_comm.1 <| singleton_subset_iff.2 h)
  _ = 0 := by simp [dirac_apply' _ (measurableSet_singleton _).compl]
state_before: case neg
α : Type u_1
β : Type u_2
δ : Type u_3
inst✝² : MeasurableSpace α
inst✝¹ : MeasurableSpace β
s✝ : Set α
a✝ : α
inst✝ : MeasurableSingletonClass α
a : α
s : Set α
h : a ∉ s
⊢ (dirac a) s ≤ 0
state_after: no goals

tactic: rw [dirac_apply_of_mem h, indicator_of_mem h, Pi.one_apply]
state_before: case pos
α : Type u_1
β : Type u_2
δ : Type u_3
inst✝² : MeasurableSpace α
inst✝¹ : MeasurableSpace β
s✝ : Set α
a✝ : α
inst✝ : MeasurableSingletonClass α
a : α
s : Set α
h : a ∈ s
⊢ (dirac a) s = s.indicator 1 a
state_after: no goals

tactic: simp [dirac_apply' _ (measurableSet_singleton _).compl]
state_before: α : Type u_1
β : Type u_2
δ : Type u_3
inst✝² : MeasurableSpace α
inst✝¹ : MeasurableSpace β
s✝ : Set α
a✝ : α
inst✝ : MeasurableSingletonClass α
a : α
s : Set α
h : a ∉ s
⊢ (dirac a) {a}ᶜ = 0
state_after: no goals
Theorem: ONote.mulNat_eq_mul
File: Mathlib/SetTheory/Ordinal/Notation.lean

tactic: cases o <;> cases n <;> rfl
state_before: n : ℕ
o : ONote
⊢ o.mulNat n = o * ↑n
state_after: no goals
Theorem: MeasureTheory.Measure.haarMeasure_eq_iff
File: Mathlib/MeasureTheory/Measure/Haar/Basic.lean

tactic: rw [haarMeasure_unique μ K₀, h, one_smul]
state_before: G : Type u_1
inst✝⁷ : Group G
inst✝⁶ : TopologicalSpace G
inst✝⁵ : TopologicalGroup G
inst✝⁴ : MeasurableSpace G
inst✝³ : BorelSpace G
inst✝² : SecondCountableTopology G
K₀ : PositiveCompacts G
μ : Measure G
inst✝¹ : SigmaFinite μ
inst✝ : μ.IsMulLeftInvariant
h : μ ↑K₀ = 1
⊢ haarMeasure K₀ = μ
state_after: no goals
Theorem: Filter.closure_singleton
File: Mathlib/Topology/Filter.lean

tactic: ext l'
state_before: ι : Sort u_1
α : Type u_2
β : Type u_3
X : Type u_4
Y : Type u_5
l : Filter α
⊢ closure {l} = Ici l
state_after: case h
ι : Sort u_1
α : Type u_2
β : Type u_3
X : Type u_4
Y : Type u_5
l l' : Filter α
⊢ l' ∈ closure {l} ↔ l' ∈ Ici l

tactic: simp [Filter.mem_closure, Filter.le_def]
state_before: case h
ι : Sort u_1
α : Type u_2
β : Type u_3
X : Type u_4
Y : Type u_5
l l' : Filter α
⊢ l' ∈ closure {l} ↔ l' ∈ Ici l
state_after: no goals