1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.Measure.prod_zero
File: Mathlib/MeasureTheory/Constructions/Prod/Basic.lean

tactic: simp [Measure.prod]
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
E : Type u_6
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace α'
inst✝⁵ : MeasurableSpace β
inst✝⁴ : MeasurableSpace β'
inst✝³ : MeasurableSpace γ
μ✝ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝² : NormedAddCommGroup E
inst✝¹ : SFinite ν
inst✝ : SFinite μ✝
μ : Measure α
⊢ μ.prod 0 = 0
state_after: no goals
Theorem: Complex.continuous_sin
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean

tactic: change Continuous fun z => (exp (-z * I) - exp (z * I)) * I / 2
state_before: ⊢ Continuous sin
state_after: ⊢ Continuous fun z => (cexp (-z * I) - cexp (z * I)) * I / 2

tactic: continuity
state_before: ⊢ Continuous fun z => (cexp (-z * I) - cexp (z * I)) * I / 2
state_after: no goals
Theorem: List.infix_cons_iff
File: .lake/packages/batteries/Batteries/Data/List/Lemmas.lean

tactic: constructor
state_before: α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
⊢ l₁ <:+: a :: l₂ ↔ l₁ <+: a :: l₂ ∨ l₁ <:+: l₂
state_after: case mp
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
⊢ l₁ <:+: a :: l₂ → l₁ <+: a :: l₂ ∨ l₁ <:+: l₂

case mpr
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
⊢ l₁ <+: a :: l₂ ∨ l₁ <:+: l₂ → l₁ <:+: a :: l₂

tactic: rintro ⟨⟨hd, tl⟩, t, hl₃⟩
state_before: case mp
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
⊢ l₁ <:+: a :: l₂ → l₁ <+: a :: l₂ ∨ l₁ <:+: l₂
state_after: case mp.intro.nil.intro
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ t : List α✝
hl₃ : [] ++ l₁ ++ t = a :: l₂
⊢ l₁ <+: a :: l₂ ∨ l₁ <:+: l₂

case mp.intro.cons.intro
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
head✝ : α✝
tail✝ t : List α✝
hl₃ : head✝ :: tail✝ ++ l₁ ++ t = a :: l₂
⊢ l₁ <+: a :: l₂ ∨ l₁ <:+: l₂

tactic: exact Or.inl ⟨t, hl₃⟩
state_before: case mp.intro.nil.intro
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ t : List α✝
hl₃ : [] ++ l₁ ++ t = a :: l₂
⊢ l₁ <+: a :: l₂ ∨ l₁ <:+: l₂
state_after: no goals

tactic: simp only [cons_append] at hl₃
state_before: case mp.intro.cons.intro
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
head✝ : α✝
tail✝ t : List α✝
hl₃ : head✝ :: tail✝ ++ l₁ ++ t = a :: l₂
⊢ l₁ <+: a :: l₂ ∨ l₁ <:+: l₂
state_after: case mp.intro.cons.intro
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
head✝ : α✝
tail✝ t : List α✝
hl₃ : head✝ :: (tail✝ ++ l₁ ++ t) = a :: l₂
⊢ l₁ <+: a :: l₂ ∨ l₁ <:+: l₂

tactic: injection hl₃ with _ hl₄
state_before: case mp.intro.cons.intro
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
head✝ : α✝
tail✝ t : List α✝
hl₃ : head✝ :: (tail✝ ++ l₁ ++ t) = a :: l₂
⊢ l₁ <+: a :: l₂ ∨ l₁ <:+: l₂
state_after: case mp.intro.cons.intro
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
head✝ : α✝
tail✝ t : List α✝
head_eq✝ : head✝ = a
hl₄ : tail✝ ++ l₁ ++ t = l₂
⊢ l₁ <+: a :: l₂ ∨ l₁ <:+: l₂

tactic: exact Or.inr ⟨_, t, hl₄⟩
state_before: case mp.intro.cons.intro
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
head✝ : α✝
tail✝ t : List α✝
head_eq✝ : head✝ = a
hl₄ : tail✝ ++ l₁ ++ t = l₂
⊢ l₁ <+: a :: l₂ ∨ l₁ <:+: l₂
state_after: no goals

tactic: rintro (h | hl₁)
state_before: case mpr
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
⊢ l₁ <+: a :: l₂ ∨ l₁ <:+: l₂ → l₁ <:+: a :: l₂
state_after: case mpr.inl
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
h : l₁ <+: a :: l₂
⊢ l₁ <:+: a :: l₂

case mpr.inr
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
hl₁ : l₁ <:+: l₂
⊢ l₁ <:+: a :: l₂

tactic: exact h.isInfix
state_before: case mpr.inl
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
h : l₁ <+: a :: l₂
⊢ l₁ <:+: a :: l₂
state_after: no goals

tactic: exact infix_cons hl₁
state_before: case mpr.inr
α✝ : Type u_1
l₁ : List α✝
a : α✝
l₂ : List α✝
hl₁ : l₁ <:+: l₂
⊢ l₁ <:+: a :: l₂
state_after: no goals
Theorem: CategoryTheory.IsHomLift.fac
File: Mathlib/CategoryTheory/FiberedCategory/HomLift.lean

tactic: subst_hom_lift p f φ
state_before: 𝒮 : Type u₁
𝒳 : Type u₂
inst✝² : Category.{v₁, u₂} 𝒳
inst✝¹ : Category.{v₂, u₁} 𝒮
p : 𝒳 ⥤ 𝒮
R S : 𝒮
a b : 𝒳
f : R ⟶ S
φ : a ⟶ b
inst✝ : p.IsHomLift f φ
⊢ f = eqToHom ⋯ ≫ p.map φ ≫ eqToHom ⋯
state_after: case map
𝒮 : Type u₁
𝒳 : Type u₂
inst✝² : Category.{v₁, u₂} 𝒳
inst✝¹ : Category.{v₂, u₁} 𝒮
p : 𝒳 ⥤ 𝒮
a✝ b✝ : 𝒳
φ : a✝ ⟶ b✝
R S : 𝒮
a b : 𝒳
inst✝ : p.IsHomLift (p.map φ) φ
⊢ p.map φ = eqToHom ⋯ ≫ p.map φ ≫ eqToHom ⋯

tactic: simp
state_before: case map
𝒮 : Type u₁
𝒳 : Type u₂
inst✝² : Category.{v₁, u₂} 𝒳
inst✝¹ : Category.{v₂, u₁} 𝒮
p : 𝒳 ⥤ 𝒮
a✝ b✝ : 𝒳
φ : a✝ ⟶ b✝
R S : 𝒮
a b : 𝒳
inst✝ : p.IsHomLift (p.map φ) φ
⊢ p.map φ = eqToHom ⋯ ≫ p.map φ ≫ eqToHom ⋯
state_after: no goals
Theorem: Finset.sum_choose_succ_mul
File: Mathlib/Data/Nat/Choose/Sum.lean

tactic: simpa only [nsmul_eq_mul] using sum_choose_succ_nsmul f n
state_before: R✝ : Type u_1
M : Type u_2
R : Type u_3
inst✝¹ : CommMonoid M
inst✝ : NonAssocSemiring R
f : ℕ → ℕ → R
n : ℕ
⊢ ∑ i ∈ range (n + 2), ↑((n + 1).choose i) * f i (n + 1 - i) =
    ∑ i ∈ range (n + 1), ↑(n.choose i) * f i (n + 1 - i) + ∑ i ∈ range (n + 1), ↑(n.choose i) * f (i + 1) (n - i)
state_after: no goals
Theorem: Multiset.le_dedup_self
File: Mathlib/Data/Multiset/Dedup.lean

tactic: rw [le_dedup, and_iff_right le_rfl]
state_before: α : Type u_1
β : Type u_2
inst✝ : DecidableEq α
s : Multiset α
⊢ s ≤ s.dedup ↔ s.Nodup
state_after: no goals
Theorem: List.aestronglyMeasurable_prod
File: Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean

tactic: simpa only [← Pi.list_prod_apply] using l.aestronglyMeasurable_prod' hl
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝⁵ : Countable ι
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : TopologicalSpace β
inst✝³ : TopologicalSpace γ
f g : α → β
M : Type u_5
inst✝² : Monoid M
inst✝¹ : TopologicalSpace M
inst✝ : ContinuousMul M
l : List (α → M)
hl : ∀ f ∈ l, AEStronglyMeasurable f μ
⊢ AEStronglyMeasurable (fun x => (List.map (fun f => f x) l).prod) μ
state_after: no goals
Theorem: YoungDiagram.length_rowLens
File: Mathlib/Combinatorics/Young/YoungDiagram.lean

tactic: simp only [rowLens, List.length_map, List.length_range]
state_before: μ : YoungDiagram
⊢ μ.rowLens.length = μ.colLen 0
state_after: no goals
Theorem: Finset.Ici_mul_Ici_subset'
File: Mathlib/Data/Finset/Pointwise/Interval.lean

tactic: simpa using Set.Ici_mul_Ici_subset' _ _
state_before: α : Type u_1
inst✝⁵ : Mul α
inst✝⁴ : Preorder α
inst✝³ : DecidableEq α
inst✝² : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝¹ : CovariantClass α α (Function.swap HMul.hMul) LE.le
inst✝ : LocallyFiniteOrderTop α
a b : α
⊢ ↑(Ici a * Ici b) ⊆ ↑(Ici (a * b))
state_after: no goals
Theorem: ContinuousLinearMap.smulRight_one_one
File: Mathlib/Topology/Algebra/Module/Basic.lean

tactic: ext
state_before: R₁ : Type u_1
R₂ : Type u_2
R₃ : Type u_3
inst✝²⁰ : Semiring R₁
inst✝¹⁹ : Semiring R₂
inst✝¹⁸ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
M₁ : Type u_4
inst✝¹⁷ : TopologicalSpace M₁
inst✝¹⁶ : AddCommMonoid M₁
M'₁ : Type u_5
inst✝¹⁵ : TopologicalSpace M'₁
inst✝¹⁴ : AddCommMonoid M'₁
M₂ : Type u_6
inst✝¹³ : TopologicalSpace M₂
inst✝¹² : AddCommMonoid M₂
M₃ : Type u_7
inst✝¹¹ : TopologicalSpace M₃
inst✝¹⁰ : AddCommMonoid M₃
M₄ : Type u_8
inst✝⁹ : TopologicalSpace M₄
inst✝⁸ : AddCommMonoid M₄
inst✝⁷ : Module R₁ M₁
inst✝⁶ : Module R₁ M'₁
inst✝⁵ : Module R₂ M₂
inst✝⁴ : Module R₃ M₃
inst✝³ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
F : Type u_9
inst✝² : Module R₁ M₂
inst✝¹ : TopologicalSpace R₁
inst✝ : ContinuousSMul R₁ M₂
c : R₁ →L[R₁] M₂
⊢ smulRight 1 (c 1) = c
state_after: case h
R₁ : Type u_1
R₂ : Type u_2
R₃ : Type u_3
inst✝²⁰ : Semiring R₁
inst✝¹⁹ : Semiring R₂
inst✝¹⁸ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
M₁ : Type u_4
inst✝¹⁷ : TopologicalSpace M₁
inst✝¹⁶ : AddCommMonoid M₁
M'₁ : Type u_5
inst✝¹⁵ : TopologicalSpace M'₁
inst✝¹⁴ : AddCommMonoid M'₁
M₂ : Type u_6
inst✝¹³ : TopologicalSpace M₂
inst✝¹² : AddCommMonoid M₂
M₃ : Type u_7
inst✝¹¹ : TopologicalSpace M₃
inst✝¹⁰ : AddCommMonoid M₃
M₄ : Type u_8
inst✝⁹ : TopologicalSpace M₄
inst✝⁸ : AddCommMonoid M₄
inst✝⁷ : Module R₁ M₁
inst✝⁶ : Module R₁ M'₁
inst✝⁵ : Module R₂ M₂
inst✝⁴ : Module R₃ M₃
inst✝³ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
F : Type u_9
inst✝² : Module R₁ M₂
inst✝¹ : TopologicalSpace R₁
inst✝ : ContinuousSMul R₁ M₂
c : R₁ →L[R₁] M₂
⊢ (smulRight 1 (c 1)) 1 = c 1

tactic: simp [← ContinuousLinearMap.map_smul_of_tower]
state_before: case h
R₁ : Type u_1
R₂ : Type u_2
R₃ : Type u_3
inst✝²⁰ : Semiring R₁
inst✝¹⁹ : Semiring R₂
inst✝¹⁸ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
M₁ : Type u_4
inst✝¹⁷ : TopologicalSpace M₁
inst✝¹⁶ : AddCommMonoid M₁
M'₁ : Type u_5
inst✝¹⁵ : TopologicalSpace M'₁
inst✝¹⁴ : AddCommMonoid M'₁
M₂ : Type u_6
inst✝¹³ : TopologicalSpace M₂
inst✝¹² : AddCommMonoid M₂
M₃ : Type u_7
inst✝¹¹ : TopologicalSpace M₃
inst✝¹⁰ : AddCommMonoid M₃
M₄ : Type u_8
inst✝⁹ : TopologicalSpace M₄
inst✝⁸ : AddCommMonoid M₄
inst✝⁷ : Module R₁ M₁
inst✝⁶ : Module R₁ M'₁
inst✝⁵ : Module R₂ M₂
inst✝⁴ : Module R₃ M₃
inst✝³ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
F : Type u_9
inst✝² : Module R₁ M₂
inst✝¹ : TopologicalSpace R₁
inst✝ : ContinuousSMul R₁ M₂
c : R₁ →L[R₁] M₂
⊢ (smulRight 1 (c 1)) 1 = c 1
state_after: no goals
Theorem: MvPolynomial.degreeOf_mul_C_le
File: Mathlib/Algebra/MvPolynomial/Degrees.lean

tactic: unfold degreeOf
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
i : σ
c : R
⊢ degreeOf i (p * C c) ≤ degreeOf i p
state_after: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
i : σ
c : R
⊢ Multiset.count i (p * C c).degrees ≤ Multiset.count i p.degrees

tactic: convert Multiset.count_le_of_le i <| degrees_mul p (C c)
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
i : σ
c : R
⊢ Multiset.count i (p * C c).degrees ≤ Multiset.count i p.degrees
state_after: case h.e'_4.h.e'_4
R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
i : σ
c : R
⊢ p.degrees = p.degrees + (C c).degrees

tactic: simp [degrees_C]
state_before: case h.e'_4.h.e'_4
R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
i : σ
c : R
⊢ p.degrees = p.degrees + (C c).degrees
state_after: no goals
Theorem: MeasureTheory.Measure.join_map_join
File: Mathlib/MeasureTheory/Measure/GiryMonad.lean

tactic: show bind μ join = join (join μ)
state_before: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
μ : Measure (Measure (Measure α))
⊢ (map join μ).join = μ.join.join
state_after: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
μ : Measure (Measure (Measure α))
⊢ μ.bind join = μ.join.join

tactic: rw [join_eq_bind, join_eq_bind, bind_bind measurable_id measurable_id]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
μ : Measure (Measure (Measure α))
⊢ μ.bind join = μ.join.join
state_after: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
μ : Measure (Measure (Measure α))
⊢ μ.bind join = μ.bind fun a => (id a).bind id

tactic: apply congr_arg (bind μ)
state_before: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
μ : Measure (Measure (Measure α))
⊢ μ.bind join = μ.bind fun a => (id a).bind id
state_after: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
μ : Measure (Measure (Measure α))
⊢ join = fun a => (id a).bind id

tactic: funext ν
state_before: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
μ : Measure (Measure (Measure α))
⊢ join = fun a => (id a).bind id
state_after: case h
α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
μ : Measure (Measure (Measure α))
ν : Measure (Measure α)
⊢ ν.join = (id ν).bind id

tactic: exact join_eq_bind ν
state_before: case h
α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
μ : Measure (Measure (Measure α))
ν : Measure (Measure α)
⊢ ν.join = (id ν).bind id
state_after: no goals
Theorem: Nat.Primrec'.pred
File: Mathlib/Computability/Primrec.lean

tactic: simp
state_before: v : Vector ℕ (Nat.succ 0)
⊢ Nat.rec 0 (fun y IH => (y ::ᵥ IH ::ᵥ v).head) v.head = v.head.pred
state_after: v : Vector ℕ (Nat.succ 0)
⊢ Nat.rec 0 (fun y IH => y) v.head = v.head - 1

tactic: cases v.head <;> rfl
state_before: v : Vector ℕ (Nat.succ 0)
⊢ Nat.rec 0 (fun y IH => y) v.head = v.head - 1
state_after: no goals
Theorem: Cardinal.natCast_le_toPartENat_iff
File: Mathlib/SetTheory/Cardinal/Finite.lean

tactic: rw [← toPartENat_natCast n, toPartENat_le_iff_of_le_aleph0 (le_of_lt (nat_lt_aleph0 n))]
state_before: α : Type u_1
β : Type u_2
n : ℕ
c : Cardinal.{u_3}
⊢ ↑n ≤ toPartENat c ↔ ↑n ≤ c
state_after: no goals
Theorem: finrank_eq_zero_of_basis_imp_false
File: Mathlib/LinearAlgebra/Dimension/Finite.lean

tactic: convert b
state_before: R : Type u
M M₁ : Type v
M' : Type v'
ι : Type w
inst✝⁹ : Ring R
inst✝⁸ : AddCommGroup M
inst✝⁷ : AddCommGroup M'
inst✝⁶ : AddCommGroup M₁
inst✝⁵ : Module R M
inst✝⁴ : Module R M'
inst✝³ : Module R M₁
inst✝² : Nontrivial R
inst✝¹ : NoZeroSMulDivisors R M
inst✝ : Module.Free R M
h : ∀ (s : Finset M), Basis (↑↑s) R M → False
s : Set M
b : Basis (↑s) R M
hs : s.Finite
⊢ Basis (↑↑hs.toFinset) R M
state_after: case h.e'_1.h.e'_2
R : Type u
M M₁ : Type v
M' : Type v'
ι : Type w
inst✝⁹ : Ring R
inst✝⁸ : AddCommGroup M
inst✝⁷ : AddCommGroup M'
inst✝⁶ : AddCommGroup M₁
inst✝⁵ : Module R M
inst✝⁴ : Module R M'
inst✝³ : Module R M₁
inst✝² : Nontrivial R
inst✝¹ : NoZeroSMulDivisors R M
inst✝ : Module.Free R M
h : ∀ (s : Finset M), Basis (↑↑s) R M → False
s : Set M
b : Basis (↑s) R M
hs : s.Finite
⊢ ↑hs.toFinset = s

tactic: simp
state_before: case h.e'_1.h.e'_2
R : Type u
M M₁ : Type v
M' : Type v'
ι : Type w
inst✝⁹ : Ring R
inst✝⁸ : AddCommGroup M
inst✝⁷ : AddCommGroup M'
inst✝⁶ : AddCommGroup M₁
inst✝⁵ : Module R M
inst✝⁴ : Module R M'
inst✝³ : Module R M₁
inst✝² : Nontrivial R
inst✝¹ : NoZeroSMulDivisors R M
inst✝ : Module.Free R M
h : ∀ (s : Finset M), Basis (↑↑s) R M → False
s : Set M
b : Basis (↑s) R M
hs : s.Finite
⊢ ↑hs.toFinset = s
state_after: no goals
Theorem: IsSigmaCompact.of_isClosed_subset
File: Mathlib/Topology/Compactness/SigmaCompact.lean

tactic: rcases ht with ⟨K, hcompact, hcov⟩
state_before: X : Type u_1
Y : Type u_2
ι : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t✝ s t : Set X
ht : IsSigmaCompact t
hs : IsClosed s
h : s ⊆ t
⊢ IsSigmaCompact s
state_after: case intro.intro
X : Type u_1
Y : Type u_2
ι : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t✝ s t : Set X
hs : IsClosed s
h : s ⊆ t
K : ℕ → Set X
hcompact : ∀ (n : ℕ), IsCompact (K n)
hcov : ⋃ n, K n = t
⊢ IsSigmaCompact s

tactic: refine ⟨(fun n ↦ s ∩ (K n)), fun n ↦ (hcompact n).inter_left hs, ?_⟩
state_before: case intro.intro
X : Type u_1
Y : Type u_2
ι : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t✝ s t : Set X
hs : IsClosed s
h : s ⊆ t
K : ℕ → Set X
hcompact : ∀ (n : ℕ), IsCompact (K n)
hcov : ⋃ n, K n = t
⊢ IsSigmaCompact s
state_after: case intro.intro
X : Type u_1
Y : Type u_2
ι : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t✝ s t : Set X
hs : IsClosed s
h : s ⊆ t
K : ℕ → Set X
hcompact : ∀ (n : ℕ), IsCompact (K n)
hcov : ⋃ n, K n = t
⊢ ⋃ n, (fun n => s ∩ K n) n = s

tactic: rw [← inter_iUnion, hcov]
state_before: case intro.intro
X : Type u_1
Y : Type u_2
ι : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t✝ s t : Set X
hs : IsClosed s
h : s ⊆ t
K : ℕ → Set X
hcompact : ∀ (n : ℕ), IsCompact (K n)
hcov : ⋃ n, K n = t
⊢ ⋃ n, (fun n => s ∩ K n) n = s
state_after: case intro.intro
X : Type u_1
Y : Type u_2
ι : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t✝ s t : Set X
hs : IsClosed s
h : s ⊆ t
K : ℕ → Set X
hcompact : ∀ (n : ℕ), IsCompact (K n)
hcov : ⋃ n, K n = t
⊢ s ∩ t = s

tactic: exact inter_eq_left.mpr h
state_before: case intro.intro
X : Type u_1
Y : Type u_2
ι : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t✝ s t : Set X
hs : IsClosed s
h : s ⊆ t
K : ℕ → Set X
hcompact : ∀ (n : ℕ), IsCompact (K n)
hcov : ⋃ n, K n = t
⊢ s ∩ t = s
state_after: no goals
Theorem: MeasureTheory.Integrable.integral_norm_condexpKernel
File: Mathlib/Probability/Kernel/Condexp.lean

tactic: rw [condexpKernel]
state_before: Ω : Type u_1
F : Type u_2
m mΩ : MeasurableSpace Ω
inst✝³ : StandardBorelSpace Ω
inst✝² : Nonempty Ω
μ : Measure Ω
inst✝¹ : IsFiniteMeasure μ
inst✝ : NormedAddCommGroup F
f : Ω → F
hf_int : Integrable f μ
⊢ Integrable (fun ω => ∫ (y : Ω), ‖f y‖ ∂(condexpKernel μ m) ω) μ
state_after: Ω : Type u_1
F : Type u_2
m mΩ : MeasurableSpace Ω
inst✝³ : StandardBorelSpace Ω
inst✝² : Nonempty Ω
μ : Measure Ω
inst✝¹ : IsFiniteMeasure μ
inst✝ : NormedAddCommGroup F
f : Ω → F
hf_int : Integrable f μ
⊢ Integrable (fun ω => ∫ (y : Ω), ‖f y‖ ∂(kernel.comap (condDistrib id id μ) id ⋯) ω) μ

tactic: convert Integrable.integral_norm_condDistrib
  (aemeasurable_id'' μ (inf_le_right : m ⊓ mΩ ≤ mΩ)) aemeasurable_id
  (hf_int.comp_snd_map_prod_id (inf_le_right : m ⊓ mΩ ≤ mΩ)) using 1
state_before: Ω : Type u_1
F : Type u_2
m mΩ : MeasurableSpace Ω
inst✝³ : StandardBorelSpace Ω
inst✝² : Nonempty Ω
μ : Measure Ω
inst✝¹ : IsFiniteMeasure μ
inst✝ : NormedAddCommGroup F
f : Ω → F
hf_int : Integrable f μ
⊢ Integrable (fun ω => ∫ (y : Ω), ‖f y‖ ∂(kernel.comap (condDistrib id id μ) id ⋯) ω) μ
state_after: no goals
Theorem: ball_sub_ball
File: Mathlib/Analysis/NormedSpace/Pointwise.lean

tactic: simp_rw [sub_eq_add_neg, neg_ball, ball_add_ball hε hδ]
state_before: 𝕜 : Type u_1
E : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : NormedSpace ℝ E
x y z : E
δ ε : ℝ
hε : 0 < ε
hδ : 0 < δ
a b : E
⊢ Metric.ball a ε - Metric.ball b δ = Metric.ball (a - b) (ε + δ)
state_after: no goals
Theorem: InnerProductGeometry.norm_div_sin_angle_sub_of_inner_eq_zero
File: Mathlib/Geometry/Euclidean/Angle/Unoriented/RightAngle.lean

tactic: rw [← neg_eq_zero, ← inner_neg_right] at h
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
h : ⟪x, y⟫_ℝ = 0
h0 : x = 0 ∨ y ≠ 0
⊢ ‖y‖ / Real.sin (angle x (x - y)) = ‖x - y‖
state_after: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
h : ⟪x, -y⟫_ℝ = 0
h0 : x = 0 ∨ y ≠ 0
⊢ ‖y‖ / Real.sin (angle x (x - y)) = ‖x - y‖

tactic: rw [← neg_ne_zero] at h0
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
h : ⟪x, -y⟫_ℝ = 0
h0 : x = 0 ∨ y ≠ 0
⊢ ‖y‖ / Real.sin (angle x (x - y)) = ‖x - y‖
state_after: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
h : ⟪x, -y⟫_ℝ = 0
h0 : x = 0 ∨ -y ≠ 0
⊢ ‖y‖ / Real.sin (angle x (x - y)) = ‖x - y‖

tactic: rw [sub_eq_add_neg, ← norm_neg, norm_div_sin_angle_add_of_inner_eq_zero h h0]
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
h : ⟪x, -y⟫_ℝ = 0
h0 : x = 0 ∨ -y ≠ 0
⊢ ‖y‖ / Real.sin (angle x (x - y)) = ‖x - y‖
state_after: no goals
Theorem: MeasurableSet.of_union_cover
File: Mathlib/MeasureTheory/MeasurableSpace/Basic.lean

tactic: convert (hs.subtype_image hsu).union (ht.subtype_image htu)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
δ' : Type u_5
ι : Sort uι
s✝ t✝ u✝ : Set α
m : MeasurableSpace α
mβ : MeasurableSpace β
s t u : Set α
hs : MeasurableSet s
ht : MeasurableSet t
h : univ ⊆ s ∪ t
hsu : MeasurableSet (Subtype.val ⁻¹' u)
htu : MeasurableSet (Subtype.val ⁻¹' u)
⊢ MeasurableSet u
state_after: case h.e'_3
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
δ' : Type u_5
ι : Sort uι
s✝ t✝ u✝ : Set α
m : MeasurableSpace α
mβ : MeasurableSpace β
s t u : Set α
hs : MeasurableSet s
ht : MeasurableSet t
h : univ ⊆ s ∪ t
hsu : MeasurableSet (Subtype.val ⁻¹' u)
htu : MeasurableSet (Subtype.val ⁻¹' u)
⊢ u = Subtype.val '' (Subtype.val ⁻¹' u) ∪ Subtype.val '' (Subtype.val ⁻¹' u)

tactic: simp [image_preimage_eq_inter_range, ← inter_union_distrib_left, univ_subset_iff.1 h]
state_before: case h.e'_3
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
δ' : Type u_5
ι : Sort uι
s✝ t✝ u✝ : Set α
m : MeasurableSpace α
mβ : MeasurableSpace β
s t u : Set α
hs : MeasurableSet s
ht : MeasurableSet t
h : univ ⊆ s ∪ t
hsu : MeasurableSet (Subtype.val ⁻¹' u)
htu : MeasurableSet (Subtype.val ⁻¹' u)
⊢ u = Subtype.val '' (Subtype.val ⁻¹' u) ∪ Subtype.val '' (Subtype.val ⁻¹' u)
state_after: no goals
Theorem: CategoryTheory.PreGaloisCategory.comp_autMap_apply
File: Mathlib/CategoryTheory/Galois/GaloisObjects.lean

tactic: simpa [-comp_autMap] using congrFun (F.congr_map (comp_autMap f σ)) a
state_before: C : Type u₁
inst✝⁴ : Category.{u₂, u₁} C
inst✝³ : GaloisCategory C
F : C ⥤ FintypeCat
inst✝² : FiberFunctor F
A B : C
inst✝¹ : IsConnected A
inst✝ : IsGalois B
f : A ⟶ B
σ : Aut A
a : ↑(F.obj A)
⊢ F.map (autMap f σ).hom (F.map f a) = F.map f (F.map σ.hom a)
state_after: no goals
Theorem: Inducing.frechetUrysohnSpace
File: Mathlib/Topology/Sequences.lean

tactic: refine ⟨fun s x hx ↦ ?_⟩
state_before: X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : FrechetUrysohnSpace Y
f : X → Y
hf : Inducing f
⊢ FrechetUrysohnSpace X
state_after: X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : FrechetUrysohnSpace Y
f : X → Y
hf : Inducing f
s : Set X
x : X
hx : x ∈ closure s
⊢ x ∈ seqClosure s

tactic: rw [hf.closure_eq_preimage_closure_image, mem_preimage, mem_closure_iff_seq_limit] at hx
state_before: X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : FrechetUrysohnSpace Y
f : X → Y
hf : Inducing f
s : Set X
x : X
hx : x ∈ closure s
⊢ x ∈ seqClosure s
state_after: X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : FrechetUrysohnSpace Y
f : X → Y
hf : Inducing f
s : Set X
x : X
hx : ∃ x_1, (∀ (n : ℕ), x_1 n ∈ f '' s) ∧ Tendsto x_1 atTop (𝓝 (f x))
⊢ x ∈ seqClosure s

tactic: rcases hx with ⟨u, hus, hu⟩
state_before: X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : FrechetUrysohnSpace Y
f : X → Y
hf : Inducing f
s : Set X
x : X
hx : ∃ x_1, (∀ (n : ℕ), x_1 n ∈ f '' s) ∧ Tendsto x_1 atTop (𝓝 (f x))
⊢ x ∈ seqClosure s
state_after: case intro.intro
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : FrechetUrysohnSpace Y
f : X → Y
hf : Inducing f
s : Set X
x : X
u : ℕ → Y
hus : ∀ (n : ℕ), u n ∈ f '' s
hu : Tendsto u atTop (𝓝 (f x))
⊢ x ∈ seqClosure s

tactic: choose v hv hvu using hus
state_before: case intro.intro
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : FrechetUrysohnSpace Y
f : X → Y
hf : Inducing f
s : Set X
x : X
u : ℕ → Y
hus : ∀ (n : ℕ), u n ∈ f '' s
hu : Tendsto u atTop (𝓝 (f x))
⊢ x ∈ seqClosure s
state_after: case intro.intro
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : FrechetUrysohnSpace Y
f : X → Y
hf : Inducing f
s : Set X
x : X
u : ℕ → Y
hu : Tendsto u atTop (𝓝 (f x))
v : ℕ → X
hv : ∀ (n : ℕ), v n ∈ s
hvu : ∀ (n : ℕ), f (v n) = u n
⊢ x ∈ seqClosure s

tactic: refine ⟨v, hv, ?_⟩
state_before: case intro.intro
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : FrechetUrysohnSpace Y
f : X → Y
hf : Inducing f
s : Set X
x : X
u : ℕ → Y
hu : Tendsto u atTop (𝓝 (f x))
v : ℕ → X
hv : ∀ (n : ℕ), v n ∈ s
hvu : ∀ (n : ℕ), f (v n) = u n
⊢ x ∈ seqClosure s
state_after: case intro.intro
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : FrechetUrysohnSpace Y
f : X → Y
hf : Inducing f
s : Set X
x : X
u : ℕ → Y
hu : Tendsto u atTop (𝓝 (f x))
v : ℕ → X
hv : ∀ (n : ℕ), v n ∈ s
hvu : ∀ (n : ℕ), f (v n) = u n
⊢ Tendsto v atTop (𝓝 x)