1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: List.Pairwise.forall
File: Mathlib/Data/List/Pairwise.lean

tactic: apply Pairwise.forall_of_forall
state_before: α : Type u_1
β : Type u_2
R S T : α → α → Prop
a : α
l : List α
hR : Symmetric R
hl : Pairwise R l
⊢ ∀ ⦃a : α⦄, a ∈ l → ∀ ⦃b : α⦄, b ∈ l → a ≠ b → R a b
state_after: case H
α : Type u_1
β : Type u_2
R S T : α → α → Prop
a : α
l : List α
hR : Symmetric R
hl : Pairwise R l
⊢ Symmetric fun x y => x ≠ y → R x y

case H₁
α : Type u_1
β : Type u_2
R S T : α → α → Prop
a : α
l : List α
hR : Symmetric R
hl : Pairwise R l
⊢ ∀ (x : α), x ∈ l → x ≠ x → R x x

case H₂
α : Type u_1
β : Type u_2
R S T : α → α → Prop
a : α
l : List α
hR : Symmetric R
hl : Pairwise R l
⊢ Pairwise (fun x y => x ≠ y → R x y) l

tactic: exact fun a b h hne => hR (h hne.symm)
state_before: case H
α : Type u_1
β : Type u_2
R S T : α → α → Prop
a : α
l : List α
hR : Symmetric R
hl : Pairwise R l
⊢ Symmetric fun x y => x ≠ y → R x y
state_after: no goals

tactic: exact fun _ _ hx => (hx rfl).elim
state_before: case H₁
α : Type u_1
β : Type u_2
R S T : α → α → Prop
a : α
l : List α
hR : Symmetric R
hl : Pairwise R l
⊢ ∀ (x : α), x ∈ l → x ≠ x → R x x
state_after: no goals

tactic: exact hl.imp (@fun a b h _ => by exact h)
state_before: case H₂
α : Type u_1
β : Type u_2
R S T : α → α → Prop
a : α
l : List α
hR : Symmetric R
hl : Pairwise R l
⊢ Pairwise (fun x y => x ≠ y → R x y) l
state_after: no goals

tactic: exact h
state_before: α : Type u_1
β : Type u_2
R S T : α → α → Prop
a✝ : α
l : List α
hR : Symmetric R
hl : Pairwise R l
a b : α
h : R a b
x✝ : a ≠ b
⊢ R a b
state_after: no goals
Theorem: PartENat.coe_lt_iff
File: Mathlib/Data/Nat/PartENat.lean

tactic: simp only [lt_def, exists_prop_of_true, dom_some, forall_true_iff]
state_before: n : ℕ
x : PartENat
⊢ ↑n < x ↔ ∀ (h : x.Dom), n < x.get h
state_after: n : ℕ
x : PartENat
⊢ (∀ (hy : x.Dom), (↑n).get ⋯ < x.get hy) ↔ ∀ (h : x.Dom), n < x.get h

tactic: rfl
state_before: n : ℕ
x : PartENat
⊢ (∀ (hy : x.Dom), (↑n).get ⋯ < x.get hy) ↔ ∀ (h : x.Dom), n < x.get h
state_after: no goals
Theorem: Pell.yn_modEq_two
File: Mathlib/NumberTheory/PellMatiyasevic.lean

tactic: rfl
state_before: a : ℕ
a1 : 1 < a
⊢ yn a1 0 ≡ 0 [MOD 2]
state_after: no goals

tactic: simp
state_before: a : ℕ
a1 : 1 < a
⊢ yn a1 1 ≡ 1 [MOD 2]
state_after: a : ℕ
a1 : 1 < a
⊢ 1 ≡ 1 [MOD 2]

tactic: rfl
state_before: a : ℕ
a1 : 1 < a
⊢ 1 ≡ 1 [MOD 2]
state_after: no goals

tactic: rw [yn_succ_succ, mul_assoc, (by ring : n + 2 + n = 2 * (n + 1))]
state_before: a : ℕ
a1 : 1 < a
n : ℕ
⊢ yn a1 (n + 2) + yn a1 n ≡ n + 2 + n [MOD 2]
state_after: a : ℕ
a1 : 1 < a
n : ℕ
⊢ 2 * (a * yn a1 (n + 1)) ≡ 2 * (n + 1) [MOD 2]

tactic: exact (dvd_mul_right 2 _).modEq_zero_nat.trans (dvd_mul_right 2 _).zero_modEq_nat
state_before: a : ℕ
a1 : 1 < a
n : ℕ
⊢ 2 * (a * yn a1 (n + 1)) ≡ 2 * (n + 1) [MOD 2]
state_after: no goals

tactic: ring
state_before: a : ℕ
a1 : 1 < a
n : ℕ
⊢ n + 2 + n = 2 * (n + 1)
state_after: no goals
Theorem: measurable_measure_prod_mk_left
File: Mathlib/MeasureTheory/Constructions/Prod/Basic.lean

tactic: rw [← sum_sFiniteSeq ν]
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 ν
s : Set (α × β)
hs : MeasurableSet s
⊢ Measurable fun x => ν (Prod.mk x ⁻¹' s)
state_after: α : 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 ν
s : Set (α × β)
hs : MeasurableSet s
⊢ Measurable fun x => (sum (sFiniteSeq ν)) (Prod.mk x ⁻¹' s)

tactic: simp_rw [Measure.sum_apply_of_countable]
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 ν
s : Set (α × β)
hs : MeasurableSet s
⊢ Measurable fun x => (sum (sFiniteSeq ν)) (Prod.mk x ⁻¹' s)
state_after: α : 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 ν
s : Set (α × β)
hs : MeasurableSet s
⊢ Measurable fun x => ∑' (i : ℕ), (sFiniteSeq ν i) (Prod.mk x ⁻¹' s)

tactic: exact Measurable.ennreal_tsum (fun i ↦ measurable_measure_prod_mk_left_finite hs)
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 ν
s : Set (α × β)
hs : MeasurableSet s
⊢ Measurable fun x => ∑' (i : ℕ), (sFiniteSeq ν i) (Prod.mk x ⁻¹' s)
state_after: no goals
Theorem: Matrix.cons_val_succ
File: Mathlib/Data/Fin/VecNotation.lean

tactic: simp [vecCons]
state_before: α : Type u
m n o : ℕ
m' : Type u_1
n' : Type u_2
o' : Type u_3
x : α
u : Fin m → α
i : Fin m
⊢ vecCons x u i.succ = u i
state_after: no goals
Theorem: AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso_eq
File: Mathlib/AlgebraicTopology/DoldKan/Compatibility.lean

tactic: ext Y
state_before: A : Type u_1
A' : Type u_2
B : Type u_3
B' : Type u_4
inst✝³ : Category.{u_6, u_1} A
inst✝² : Category.{u_7, u_2} A'
inst✝¹ : Category.{?u.9708, u_3} B
inst✝ : Category.{u_5, u_4} B'
eA : A ≌ A'
eB : B ≌ B'
e' : A' ≌ B'
F : A ⥤ B'
hF : eA.functor ⋙ e'.functor ≅ F
G : B ⥤ A
hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor
⊢ (equivalence₁ hF).counitIso = equivalence₁CounitIso hF
state_after: case w.w.h
A : Type u_1
A' : Type u_2
B : Type u_3
B' : Type u_4
inst✝³ : Category.{u_6, u_1} A
inst✝² : Category.{u_7, u_2} A'
inst✝¹ : Category.{?u.9708, u_3} B
inst✝ : Category.{u_5, u_4} B'
eA : A ≌ A'
eB : B ≌ B'
e' : A' ≌ B'
F : A ⥤ B'
hF : eA.functor ⋙ e'.functor ≅ F
G : B ⥤ A
hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor
Y : B'
⊢ (equivalence₁ hF).counitIso.hom.app Y = (equivalence₁CounitIso hF).hom.app Y

tactic: simp [equivalence₁, equivalence₀]
state_before: case w.w.h
A : Type u_1
A' : Type u_2
B : Type u_3
B' : Type u_4
inst✝³ : Category.{u_6, u_1} A
inst✝² : Category.{u_7, u_2} A'
inst✝¹ : Category.{?u.9708, u_3} B
inst✝ : Category.{u_5, u_4} B'
eA : A ≌ A'
eB : B ≌ B'
e' : A' ≌ B'
F : A ⥤ B'
hF : eA.functor ⋙ e'.functor ≅ F
G : B ⥤ A
hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor
Y : B'
⊢ (equivalence₁ hF).counitIso.hom.app Y = (equivalence₁CounitIso hF).hom.app Y
state_after: no goals
Theorem: Set.indicator_prod_one
File: Mathlib/Algebra/GroupWithZero/Indicator.lean

tactic: simp_rw [indicator, mem_prod_eq]
state_before: ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
R : Type u_5
inst✝ : MulZeroOneClass M₀
s t✝ : Set ι
i : ι
t : Set κ
j : κ
⊢ (s ×ˢ t).indicator 1 (i, j) = s.indicator 1 i * t.indicator 1 j
state_after: ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
R : Type u_5
inst✝ : MulZeroOneClass M₀
s t✝ : Set ι
i : ι
t : Set κ
j : κ
⊢ (if i ∈ s ∧ j ∈ t then 1 (i, j) else 0) = (if i ∈ s then 1 i else 0) * if j ∈ t then 1 j else 0

tactic: split_ifs with h₀ <;> simp only [Pi.one_apply, mul_one, mul_zero] <;> tauto
state_before: ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
R : Type u_5
inst✝ : MulZeroOneClass M₀
s t✝ : Set ι
i : ι
t : Set κ
j : κ
⊢ (if i ∈ s ∧ j ∈ t then 1 (i, j) else 0) = (if i ∈ s then 1 i else 0) * if j ∈ t then 1 j else 0
state_after: no goals
Theorem: Computable.option_bind
File: Mathlib/Computability/Partrec.lean

tactic: cases f a <;> rfl
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f : α → Option β
g : α → β → Option σ
hf : Computable f
hg : Computable₂ g
a : α
⊢ Option.casesOn (f a) Option.none (g a) = (f a).bind (g a)
state_after: no goals
Theorem: Complex.arg_mul_cos_add_sin_mul_I_sub
File: Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean

tactic: rw [arg_mul_cos_add_sin_mul_I_eq_toIocMod hr, toIocMod_sub_self, toIocDiv_eq_neg_floor,
  zsmul_eq_mul]
state_before: a x z : ℂ
r : ℝ
hr : 0 < r
θ : ℝ
⊢ (↑r * (cos ↑θ + sin ↑θ * I)).arg - θ = 2 * π * ↑⌊(π - θ) / (2 * π)⌋
state_after: a x z : ℂ
r : ℝ
hr : 0 < r
θ : ℝ
⊢ ↑(- -⌊(-π + 2 * π - θ) / (2 * π)⌋) * (2 * π) = 2 * π * ↑⌊(π - θ) / (2 * π)⌋

tactic: ring_nf
state_before: a x z : ℂ
r : ℝ
hr : 0 < r
θ : ℝ
⊢ ↑(- -⌊(-π + 2 * π - θ) / (2 * π)⌋) * (2 * π) = 2 * π * ↑⌊(π - θ) / (2 * π)⌋
state_after: no goals
Theorem: List.reduceOption_cons_of_some
File: Mathlib/Data/List/ReduceOption.lean

tactic: simp only [reduceOption, filterMap, id, eq_self_iff_true, and_self_iff]
state_before: α : Type u_1
β : Type u_2
x : α
l : List (Option α)
⊢ (some x :: l).reduceOption = x :: l.reduceOption
state_after: no goals
Theorem: List.indexOf_finRange
File: Mathlib/Data/List/Range.lean

tactic: have : (finRange k).indexOf i < (finRange k).length := indexOf_lt_length.mpr (by simp)
state_before: α : Type u
k : ℕ
i : Fin k
⊢ indexOf i (finRange k) = ↑i
state_after: α : Type u
k : ℕ
i : Fin k
this : indexOf i (finRange k) < (finRange k).length
⊢ indexOf i (finRange k) = ↑i

tactic: have h₁ : (finRange k).get ⟨(finRange k).indexOf i, this⟩ = i := indexOf_get this
state_before: α : Type u
k : ℕ
i : Fin k
this : indexOf i (finRange k) < (finRange k).length
⊢ indexOf i (finRange k) = ↑i
state_after: α : Type u
k : ℕ
i : Fin k
this : indexOf i (finRange k) < (finRange k).length
h₁ : (finRange k).get ⟨indexOf i (finRange k), this⟩ = i
⊢ indexOf i (finRange k) = ↑i

tactic: have h₂ : (finRange k).get ⟨i, by simp⟩ = i := get_finRange _
state_before: α : Type u
k : ℕ
i : Fin k
this : indexOf i (finRange k) < (finRange k).length
h₁ : (finRange k).get ⟨indexOf i (finRange k), this⟩ = i
⊢ indexOf i (finRange k) = ↑i
state_after: α : Type u
k : ℕ
i : Fin k
this : indexOf i (finRange k) < (finRange k).length
h₁ : (finRange k).get ⟨indexOf i (finRange k), this⟩ = i
h₂ : (finRange k).get ⟨↑i, ⋯⟩ = i
⊢ indexOf i (finRange k) = ↑i

tactic: simpa using (Nodup.get_inj_iff (nodup_finRange k)).mp (Eq.trans h₁ h₂.symm)
state_before: α : Type u
k : ℕ
i : Fin k
this : indexOf i (finRange k) < (finRange k).length
h₁ : (finRange k).get ⟨indexOf i (finRange k), this⟩ = i
h₂ : (finRange k).get ⟨↑i, ⋯⟩ = i
⊢ indexOf i (finRange k) = ↑i
state_after: no goals

tactic: simp
state_before: α : Type u
k : ℕ
i : Fin k
⊢ i ∈ finRange k
state_after: no goals

tactic: simp
state_before: α : Type u
k : ℕ
i : Fin k
this : indexOf i (finRange k) < (finRange k).length
h₁ : (finRange k).get ⟨indexOf i (finRange k), this⟩ = i
⊢ ↑i < (finRange k).length
state_after: no goals
Theorem: Besicovitch.multiplicity_le
File: Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean

tactic: apply csSup_le
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : FiniteDimensional ℝ E
⊢ multiplicity E ≤ 5 ^ finrank ℝ E
state_after: case h₁
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : FiniteDimensional ℝ E
⊢ {N | ∃ s, s.card = N ∧ (∀ c ∈ s, ‖c‖ ≤ 2) ∧ ∀ c ∈ s, ∀ d ∈ s, c ≠ d → 1 ≤ ‖c - d‖}.Nonempty

case h₂
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : FiniteDimensional ℝ E
⊢ ∀ b ∈ {N | ∃ s, s.card = N ∧ (∀ c ∈ s, ‖c‖ ≤ 2) ∧ ∀ c ∈ s, ∀ d ∈ s, c ≠ d → 1 ≤ ‖c - d‖}, b ≤ 5 ^ finrank ℝ E

tactic: refine ⟨0, ⟨∅, by simp⟩⟩
state_before: case h₁
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : FiniteDimensional ℝ E
⊢ {N | ∃ s, s.card = N ∧ (∀ c ∈ s, ‖c‖ ≤ 2) ∧ ∀ c ∈ s, ∀ d ∈ s, c ≠ d → 1 ≤ ‖c - d‖}.Nonempty
state_after: no goals

tactic: simp
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : FiniteDimensional ℝ E
⊢ ∅.card = 0 ∧ (∀ c ∈ ∅, ‖c‖ ≤ 2) ∧ ∀ c ∈ ∅, ∀ d ∈ ∅, c ≠ d → 1 ≤ ‖c - d‖
state_after: no goals

tactic: rintro _ ⟨s, ⟨rfl, h⟩⟩
state_before: case h₂
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : FiniteDimensional ℝ E
⊢ ∀ b ∈ {N | ∃ s, s.card = N ∧ (∀ c ∈ s, ‖c‖ ≤ 2) ∧ ∀ c ∈ s, ∀ d ∈ s, c ≠ d → 1 ≤ ‖c - d‖}, b ≤ 5 ^ finrank ℝ E
state_after: case h₂.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : FiniteDimensional ℝ E
s : Finset E
h : (∀ c ∈ s, ‖c‖ ≤ 2) ∧ ∀ c ∈ s, ∀ d ∈ s, c ≠ d → 1 ≤ ‖c - d‖
⊢ s.card ≤ 5 ^ finrank ℝ E

tactic: exact Besicovitch.card_le_of_separated s h.1 h.2
state_before: case h₂.intro.intro
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : FiniteDimensional ℝ E
s : Finset E
h : (∀ c ∈ s, ‖c‖ ≤ 2) ∧ ∀ c ∈ s, ∀ d ∈ s, c ≠ d → 1 ≤ ‖c - d‖
⊢ s.card ≤ 5 ^ finrank ℝ E
state_after: no goals
Theorem: Submodule.subtype_comp_inclusion
File: Mathlib/Algebra/Module/Submodule/LinearMap.lean

tactic: ext ⟨b, hb⟩
state_before: R : Type u_1
M : Type u_2
inst✝² : Semiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
p✝ p' p q : Submodule R M
h : p ≤ q
⊢ q.subtype ∘ₗ inclusion h = p.subtype
state_after: case h.mk
R : Type u_1
M : Type u_2
inst✝² : Semiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
p✝ p' p q : Submodule R M
h : p ≤ q
b : M
hb : b ∈ p
⊢ (q.subtype ∘ₗ inclusion h) ⟨b, hb⟩ = p.subtype ⟨b, hb⟩

tactic: rfl
state_before: case h.mk
R : Type u_1
M : Type u_2
inst✝² : Semiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
p✝ p' p q : Submodule R M
h : p ≤ q
b : M
hb : b ∈ p
⊢ (q.subtype ∘ₗ inclusion h) ⟨b, hb⟩ = p.subtype ⟨b, hb⟩
state_after: no goals
Theorem: Besicovitch.ae_tendsto_rnDeriv
File: Mathlib/MeasureTheory/Covering/Besicovitch.lean

tactic: filter_upwards [VitaliFamily.ae_tendsto_rnDeriv (Besicovitch.vitaliFamily μ) ρ] with x hx
state_before: α : Type u_1
inst✝¹¹ : MetricSpace α
β : Type u
inst✝¹⁰ : SecondCountableTopology α
inst✝⁹ : MeasurableSpace α
inst✝⁸ : OpensMeasurableSpace α
inst✝⁷ : HasBesicovitchCovering α
inst✝⁶ : MetricSpace β
inst✝⁵ : MeasurableSpace β
inst✝⁴ : BorelSpace β
inst✝³ : SecondCountableTopology β
inst✝² : HasBesicovitchCovering β
ρ μ : Measure β
inst✝¹ : IsLocallyFiniteMeasure μ
inst✝ : IsLocallyFiniteMeasure ρ
⊢ ∀ᵐ (x : β) ∂μ, Tendsto (fun r => ρ (closedBall x r) / μ (closedBall x r)) (𝓝[>] 0) (𝓝 (ρ.rnDeriv μ x))
state_after: case h
α : Type u_1
inst✝¹¹ : MetricSpace α
β : Type u
inst✝¹⁰ : SecondCountableTopology α
inst✝⁹ : MeasurableSpace α
inst✝⁸ : OpensMeasurableSpace α
inst✝⁷ : HasBesicovitchCovering α
inst✝⁶ : MetricSpace β
inst✝⁵ : MeasurableSpace β
inst✝⁴ : BorelSpace β
inst✝³ : SecondCountableTopology β
inst✝² : HasBesicovitchCovering β
ρ μ : Measure β
inst✝¹ : IsLocallyFiniteMeasure μ
inst✝ : IsLocallyFiniteMeasure ρ
x : β
hx : Tendsto (fun a => ρ a / μ a) ((Besicovitch.vitaliFamily μ).filterAt x) (𝓝 (ρ.rnDeriv μ x))
⊢ Tendsto (fun r => ρ (closedBall x r) / μ (closedBall x r)) (𝓝[>] 0) (𝓝 (ρ.rnDeriv μ x))

tactic: exact hx.comp (tendsto_filterAt μ x)
state_before: case h
α : Type u_1
inst✝¹¹ : MetricSpace α
β : Type u
inst✝¹⁰ : SecondCountableTopology α
inst✝⁹ : MeasurableSpace α
inst✝⁸ : OpensMeasurableSpace α
inst✝⁷ : HasBesicovitchCovering α
inst✝⁶ : MetricSpace β
inst✝⁵ : MeasurableSpace β
inst✝⁴ : BorelSpace β
inst✝³ : SecondCountableTopology β
inst✝² : HasBesicovitchCovering β
ρ μ : Measure β
inst✝¹ : IsLocallyFiniteMeasure μ
inst✝ : IsLocallyFiniteMeasure ρ
x : β
hx : Tendsto (fun a => ρ a / μ a) ((Besicovitch.vitaliFamily μ).filterAt x) (𝓝 (ρ.rnDeriv μ x))
⊢ Tendsto (fun r => ρ (closedBall x r) / μ (closedBall x r)) (𝓝[>] 0) (𝓝 (ρ.rnDeriv μ x))
state_after: no goals
Theorem: IsScalarTower.Algebra.ext
File: Mathlib/Algebra/Algebra/Tower.lean

tactic: have I := h1
state_before: R : Type u
S✝ : Type v
A✝ : Type w
B : Type u₁
M : Type v₁
inst✝¹² : CommSemiring R
inst✝¹¹ : CommSemiring S✝
inst✝¹⁰ : Semiring A✝
inst✝⁹ : Semiring B
inst✝⁸ : Algebra R S✝
inst✝⁷ : Algebra S✝ A✝
inst✝⁶ : Algebra S✝ B
inst✝⁵ : Algebra R A✝
inst✝⁴ : Algebra R B
inst✝³ : IsScalarTower R S✝ A✝
inst✝² : IsScalarTower R S✝ B
S : Type u
A : Type v
inst✝¹ : CommSemiring S
inst✝ : Semiring A
h1 h2 : Algebra S A
r : S
x : A
⊢ A
state_after: R : Type u
S✝ : Type v
A✝ : Type w
B : Type u₁
M : Type v₁
inst✝¹² : CommSemiring R
inst✝¹¹ : CommSemiring S✝
inst✝¹⁰ : Semiring A✝
inst✝⁹ : Semiring B
inst✝⁸ : Algebra R S✝
inst✝⁷ : Algebra S✝ A✝
inst✝⁶ : Algebra S✝ B
inst✝⁵ : Algebra R A✝
inst✝⁴ : Algebra R B
inst✝³ : IsScalarTower R S✝ A✝
inst✝² : IsScalarTower R S✝ B
S : Type u
A : Type v
inst✝¹ : CommSemiring S
inst✝ : Semiring A
h1 h2 : Algebra S A
r : S
x : A
I : Algebra S A
⊢ A

tactic: exact r • x
state_before: R : Type u
S✝ : Type v
A✝ : Type w
B : Type u₁
M : Type v₁
inst✝¹² : CommSemiring R
inst✝¹¹ : CommSemiring S✝
inst✝¹⁰ : Semiring A✝
inst✝⁹ : Semiring B
inst✝⁸ : Algebra R S✝
inst✝⁷ : Algebra S✝ A✝
inst✝⁶ : Algebra S✝ B
inst✝⁵ : Algebra R A✝
inst✝⁴ : Algebra R B
inst✝³ : IsScalarTower R S✝ A✝
inst✝² : IsScalarTower R S✝ B
S : Type u
A : Type v
inst✝¹ : CommSemiring S
inst✝ : Semiring A
h1 h2 : Algebra S A
r : S
x : A
I : Algebra S A
⊢ A
state_after: no goals

tactic: simpa only [@Algebra.smul_def _ _ _ _ h1, @Algebra.smul_def _ _ _ _ h2, mul_one] using h r 1
state_before: R : Type u
S✝ : Type v
A✝ : Type w
B : Type u₁
M : Type v₁
inst✝¹² : CommSemiring R
inst✝¹¹ : CommSemiring S✝
inst✝¹⁰ : Semiring A✝
inst✝⁹ : Semiring B
inst✝⁸ : Algebra R S✝
inst✝⁷ : Algebra S✝ A✝
inst✝⁶ : Algebra S✝ B
inst✝⁵ : Algebra R A✝
inst✝⁴ : Algebra R B
inst✝³ : IsScalarTower R S✝ A✝
inst✝² : IsScalarTower R S✝ B
S : Type u
A : Type v
inst✝¹ : CommSemiring S
inst✝ : Semiring A
h1 h2 : Algebra S A
h :
  ∀ (r : S) (x : A),
    (let_fun I := h1;
      r • x) =
      r • x
r : S
⊢ (algebraMap S A) r = (algebraMap S A) r
state_after: no goals
Theorem: MeasureTheory.Measure.pi'_pi
File: Mathlib/MeasureTheory/Constructions/Pi.lean

tactic: rw [pi']
state_before: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝³ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝² : (i : ι) → MeasurableSpace (α i)
μ : (i : ι) → Measure (α i)
inst✝¹ : Encodable ι
inst✝ : ∀ (i : ι), SigmaFinite (μ i)
s : (i : ι) → Set (α i)
⊢ (pi' μ) (univ.pi s) = ∏ i : ι, (μ i) (s i)
state_after: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝³ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝² : (i : ι) → MeasurableSpace (α i)
μ : (i : ι) → Measure (α i)
inst✝¹ : Encodable ι
inst✝ : ∀ (i : ι), SigmaFinite (μ i)
s : (i : ι) → Set (α i)
⊢ (map (TProd.elim' ⋯) (Measure.tprod (sortedUniv ι) μ)) (univ.pi s) = ∏ i : ι, (μ i) (s i)

tactic: rw [← MeasurableEquiv.piMeasurableEquivTProd_symm_apply, MeasurableEquiv.map_apply,
  MeasurableEquiv.piMeasurableEquivTProd_symm_apply, elim_preimage_pi, tprod_tprod _ μ, ←
  List.prod_toFinset, sortedUniv_toFinset] <;>
exact sortedUniv_nodup ι
state_before: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝³ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝² : (i : ι) → MeasurableSpace (α i)
μ : (i : ι) → Measure (α i)
inst✝¹ : Encodable ι
inst✝ : ∀ (i : ι), SigmaFinite (μ i)
s : (i : ι) → Set (α i)
⊢ (map (TProd.elim' ⋯) (Measure.tprod (sortedUniv ι) μ)) (univ.pi s) = ∏ i : ι, (μ i) (s i)
state_after: no goals
Theorem: LowerSet.coe_eq_univ
File: Mathlib/Order/UpperLower/Basic.lean

tactic: simp [SetLike.ext'_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
⊢ ↑s = univ ↔ s = ⊤
state_after: no goals
Theorem: Finset.Ioc_erase_right
File: Mathlib/Order/Interval/Finset/Basic.lean

tactic: simp [← coe_inj]
state_before: ι : Type u_1
α : Type u_2
inst✝² : PartialOrder α
inst✝¹ : LocallyFiniteOrder α
a✝ b✝ c : α
inst✝ : DecidableEq α
a b : α
⊢ (Ioc a b).erase b = Ioo a b
state_after: no goals
Theorem: Pi.isCompact_closure_iff
File: Mathlib/Topology/Separation.lean

tactic: simp_rw [← exists_isCompact_superset_iff, Pi.exists_compact_superset_iff, image_subset_iff]
state_before: X : Type u_1
Y : Type u_2
inst✝⁵ : TopologicalSpace X
inst✝⁴ : FirstCountableTopology X
Z : Type u_3
inst✝³ : TopologicalSpace Y
inst✝² : TopologicalSpace Z
ι : Type u_4
π : ι → Type u_5
inst✝¹ : (i : ι) → TopologicalSpace (π i)
inst✝ : ∀ (i : ι), T2Space (π i)
s : Set ((i : ι) → π i)
⊢ IsCompact (closure s) ↔ ∀ (i : ι), IsCompact (closure (eval i '' s))
state_after: no goals
Theorem: EReal.range_coe_eq_Ioo
File: Mathlib/Data/Real/EReal.lean

tactic: ext x
state_before: ⊢ range Real.toEReal = Ioo ⊥ ⊤
state_after: case h
x : EReal
⊢ x ∈ range Real.toEReal ↔ x ∈ Ioo ⊥ ⊤

tactic: induction x <;> simp
state_before: case h
x : EReal
⊢ x ∈ range Real.toEReal ↔ x ∈ Ioo ⊥ ⊤
state_after: no goals
Theorem: YoungDiagram.mem_transpose
File: Mathlib/Combinatorics/Young/YoungDiagram.lean

tactic: simp [transpose]
state_before: μ : YoungDiagram
c : ℕ × ℕ
⊢ c ∈ μ.transpose ↔ c.swap ∈ μ
state_after: no goals
Theorem: Matrix.conjTranspose_neg
File: Mathlib/Data/Matrix/Basic.lean

tactic: simp
state_before: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝¹ : AddGroup α
inst✝ : StarAddMonoid α
M : Matrix m n α
⊢ ∀ (i : n) (j : m), (-M)ᴴ i j = (-Mᴴ) i j
state_after: no goals
Theorem: LieSubalgebra.ucs_eq_self_of_isCartanSubalgebra
File: Mathlib/Algebra/Lie/CartanSubalgebra.lean

tactic: induction' k with k ih
state_before: R : Type u
L : Type v
inst✝³ : CommRing R
inst✝² : LieRing L
inst✝¹ : LieAlgebra R L
H✝ H : LieSubalgebra R L
inst✝ : H.IsCartanSubalgebra
k : ℕ
⊢ LieSubmodule.ucs k H.toLieSubmodule = H.toLieSubmodule
state_after: case zero
R : Type u
L : Type v
inst✝³ : CommRing R
inst✝² : LieRing L
inst✝¹ : LieAlgebra R L
H✝ H : LieSubalgebra R L
inst✝ : H.IsCartanSubalgebra
⊢ LieSubmodule.ucs 0 H.toLieSubmodule = H.toLieSubmodule

case succ
R : Type u
L : Type v
inst✝³ : CommRing R
inst✝² : LieRing L
inst✝¹ : LieAlgebra R L
H✝ H : LieSubalgebra R L
inst✝ : H.IsCartanSubalgebra
k : ℕ
ih : LieSubmodule.ucs k H.toLieSubmodule = H.toLieSubmodule
⊢ LieSubmodule.ucs (k + 1) H.toLieSubmodule = H.toLieSubmodule

tactic: simp
state_before: case zero
R : Type u
L : Type v
inst✝³ : CommRing R
inst✝² : LieRing L
inst✝¹ : LieAlgebra R L
H✝ H : LieSubalgebra R L
inst✝ : H.IsCartanSubalgebra
⊢ LieSubmodule.ucs 0 H.toLieSubmodule = H.toLieSubmodule
state_after: no goals

tactic: simp [ih]
state_before: case succ
R : Type u
L : Type v
inst✝³ : CommRing R
inst✝² : LieRing L
inst✝¹ : LieAlgebra R L
H✝ H : LieSubalgebra R L
inst✝ : H.IsCartanSubalgebra
k : ℕ
ih : LieSubmodule.ucs k H.toLieSubmodule = H.toLieSubmodule
⊢ LieSubmodule.ucs (k + 1) H.toLieSubmodule = H.toLieSubmodule
state_after: no goals
Theorem: Zsqrtd.nonneg_mul_lem
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

tactic: have : (⟨x, y⟩ * a : ℤ√d) = (x : ℤ√d) * a + sqrtd * ((y : ℤ√d) * a) := by
  rw [decompose, right_distrib, mul_assoc, Int.cast_natCast, Int.cast_natCast]
state_before: d x y : ℕ
a : ℤ√↑d
ha : a.Nonneg
⊢ ({ re := ↑x, im := ↑y } * a).Nonneg
state_after: d x y : ℕ
a : ℤ√↑d
ha : a.Nonneg
this : { re := ↑x, im := ↑y } * a = ↑x * a + sqrtd * (↑y * a)
⊢ ({ re := ↑x, im := ↑y } * a).Nonneg

tactic: rw [this]
state_before: d x y : ℕ
a : ℤ√↑d
ha : a.Nonneg
this : { re := ↑x, im := ↑y } * a = ↑x * a + sqrtd * (↑y * a)
⊢ ({ re := ↑x, im := ↑y } * a).Nonneg
state_after: d x y : ℕ
a : ℤ√↑d
ha : a.Nonneg
this : { re := ↑x, im := ↑y } * a = ↑x * a + sqrtd * (↑y * a)
⊢ (↑x * a + sqrtd * (↑y * a)).Nonneg

tactic: exact (nonneg_smul ha).add (nonneg_muld <| nonneg_smul ha)
state_before: d x y : ℕ
a : ℤ√↑d
ha : a.Nonneg
this : { re := ↑x, im := ↑y } * a = ↑x * a + sqrtd * (↑y * a)
⊢ (↑x * a + sqrtd * (↑y * a)).Nonneg
state_after: no goals

tactic: rw [decompose, right_distrib, mul_assoc, Int.cast_natCast, Int.cast_natCast]
state_before: d x y : ℕ
a : ℤ√↑d
ha : a.Nonneg
⊢ { re := ↑x, im := ↑y } * a = ↑x * a + sqrtd * (↑y * a)
state_after: no goals