1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Primrec.of_graph
File: Mathlib/Computability/Primrec.lean

tactic: rcases h₁ with ⟨g, pg, hg : ∀ x, f x ≤ g x⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
f : α → ℕ
h₁ : PrimrecBounded f
h₂ : PrimrecRel fun a b => f a = b
⊢ Primrec f
state_after: case intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
f : α → ℕ
h₂ : PrimrecRel fun a b => f a = b
g : α → ℕ
pg : Primrec g
hg : ∀ (x : α), f x ≤ g x
⊢ Primrec f

tactic: refine (nat_findGreatest pg h₂).of_eq fun n => ?_
state_before: case intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
f : α → ℕ
h₂ : PrimrecRel fun a b => f a = b
g : α → ℕ
pg : Primrec g
hg : ∀ (x : α), f x ≤ g x
⊢ Primrec f
state_after: case intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
f : α → ℕ
h₂ : PrimrecRel fun a b => f a = b
g : α → ℕ
pg : Primrec g
hg : ∀ (x : α), f x ≤ g x
n : α
⊢ Nat.findGreatest (fun b => f n = b) (g n) = f n

tactic: exact (Nat.findGreatest_spec (P := fun b => f n = b) (hg n) rfl).symm
state_before: case intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
f : α → ℕ
h₂ : PrimrecRel fun a b => f a = b
g : α → ℕ
pg : Primrec g
hg : ∀ (x : α), f x ≤ g x
n : α
⊢ Nat.findGreatest (fun b => f n = b) (g n) = f n
state_after: no goals
Theorem: Mathlib.Tactic.Ring.zero_mul
File: Mathlib/Tactic/Ring/Basic.lean

tactic: simp
state_before: u : Lean.Level
R : Type u_1
α : Q(Type u)
sα : Q(CommSemiring «$α»)
inst✝ : CommSemiring R
b : R
⊢ 0 * b = 0
state_after: no goals
Theorem: Submonoid.LocalizationMap.ofMulEquivOfDom_id
File: Mathlib/GroupTheory/MonoidLocalization.lean

tactic: ext
state_before: M : Type u_1
inst✝³ : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝² : CommMonoid N
P : Type u_3
inst✝¹ : CommMonoid P
f : S.LocalizationMap N
g : M →* P
hg : ∀ (y : ↥S), IsUnit (g ↑y)
T : Submonoid P
Q : Type u_4
inst✝ : CommMonoid Q
⊢ f.ofMulEquivOfDom ⋯ = f
state_after: case h
M : Type u_1
inst✝³ : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝² : CommMonoid N
P : Type u_3
inst✝¹ : CommMonoid P
f : S.LocalizationMap N
g : M →* P
hg : ∀ (y : ↥S), IsUnit (g ↑y)
T : Submonoid P
Q : Type u_4
inst✝ : CommMonoid Q
x✝ : M
⊢ (f.ofMulEquivOfDom ⋯).toMap x✝ = f.toMap x✝

tactic: rfl
state_before: case h
M : Type u_1
inst✝³ : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝² : CommMonoid N
P : Type u_3
inst✝¹ : CommMonoid P
f : S.LocalizationMap N
g : M →* P
hg : ∀ (y : ↥S), IsUnit (g ↑y)
T : Submonoid P
Q : Type u_4
inst✝ : CommMonoid Q
x✝ : M
⊢ (f.ofMulEquivOfDom ⋯).toMap x✝ = f.toMap x✝
state_after: no goals
Theorem: ProbabilityTheory.measure_condCDF_univ
File: Mathlib/Probability/Kernel/Disintegration/CondCdf.lean

tactic: rw [← ENNReal.ofReal_one, ← sub_zero (1 : ℝ)]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
ρ : Measure (α × ℝ)
a : α
⊢ (condCDF ρ a).measure univ = 1
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
ρ : Measure (α × ℝ)
a : α
⊢ (condCDF ρ a).measure univ = ENNReal.ofReal (1 - 0)

tactic: exact StieltjesFunction.measure_univ _ (tendsto_condCDF_atBot ρ a) (tendsto_condCDF_atTop ρ a)
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
ρ : Measure (α × ℝ)
a : α
⊢ (condCDF ρ a).measure univ = ENNReal.ofReal (1 - 0)
state_after: no goals
Theorem: Turing.ToPartrec.Code.nil_eval
File: Mathlib/Computability/TMToPartrec.lean

tactic: simp [nil]
state_before: v : List ℕ
⊢ nil.eval v = pure []
state_after: no goals
Theorem: Int.Matrix.card_S_eq
File: Mathlib/NumberTheory/SiegelsLemma.lean

tactic: rw [Pi.card_Icc N P, Nat.cast_prod]
state_before: m n : ℕ
A : Matrix (Fin m) (Fin n) ℤ
v : Fin n → ℤ
hn : m < n
hm : 0 < m
⊢ ↑S.card = ∏ i : Fin m, (P i - N i + 1)
state_after: m n : ℕ
A : Matrix (Fin m) (Fin n) ℤ
v : Fin n → ℤ
hn : m < n
hm : 0 < m
⊢ ∏ i : Fin m, ↑(Icc (∑ j : Fin n, ↑B * -(A i j)⁻) (∑ j : Fin n, ↑B * (A i j)⁺)).card = ∏ i : Fin m, (P i - N i + 1)

tactic: congr
state_before: m n : ℕ
A : Matrix (Fin m) (Fin n) ℤ
v : Fin n → ℤ
hn : m < n
hm : 0 < m
⊢ ∏ i : Fin m, ↑(Icc (∑ j : Fin n, ↑B * -(A i j)⁻) (∑ j : Fin n, ↑B * (A i j)⁺)).card = ∏ i : Fin m, (P i - N i + 1)
state_after: case e_f
m n : ℕ
A : Matrix (Fin m) (Fin n) ℤ
v : Fin n → ℤ
hn : m < n
hm : 0 < m
⊢ (fun i => ↑(Icc (∑ j : Fin n, ↑B * -(A i j)⁻) (∑ j : Fin n, ↑B * (A i j)⁺)).card) = fun i => P i - N i + 1

tactic: ext i
state_before: case e_f
m n : ℕ
A : Matrix (Fin m) (Fin n) ℤ
v : Fin n → ℤ
hn : m < n
hm : 0 < m
⊢ (fun i => ↑(Icc (∑ j : Fin n, ↑B * -(A i j)⁻) (∑ j : Fin n, ↑B * (A i j)⁺)).card) = fun i => P i - N i + 1
state_after: case e_f.h
m n : ℕ
A : Matrix (Fin m) (Fin n) ℤ
v : Fin n → ℤ
hn : m < n
hm : 0 < m
i : Fin m
⊢ ↑(Icc (∑ j : Fin n, ↑B * -(A i j)⁻) (∑ j : Fin n, ↑B * (A i j)⁺)).card = P i - N i + 1

tactic: rw [Int.card_Icc_of_le (N i) (P i) (N_le_P_add_one m n A i)]
state_before: case e_f.h
m n : ℕ
A : Matrix (Fin m) (Fin n) ℤ
v : Fin n → ℤ
hn : m < n
hm : 0 < m
i : Fin m
⊢ ↑(Icc (∑ j : Fin n, ↑B * -(A i j)⁻) (∑ j : Fin n, ↑B * (A i j)⁺)).card = P i - N i + 1
state_after: case e_f.h
m n : ℕ
A : Matrix (Fin m) (Fin n) ℤ
v : Fin n → ℤ
hn : m < n
hm : 0 < m
i : Fin m
⊢ P i + 1 - N i = P i - N i + 1

tactic: exact add_sub_right_comm (P i) 1 (N i)
state_before: case e_f.h
m n : ℕ
A : Matrix (Fin m) (Fin n) ℤ
v : Fin n → ℤ
hn : m < n
hm : 0 < m
i : Fin m
⊢ P i + 1 - N i = P i - N i + 1
state_after: no goals
Theorem: HasFDerivAt.comp_hasDerivAt_of_eq
File: Mathlib/Analysis/Calculus/Deriv/Comp.lean

tactic: rw [hy] at hl
state_before: 𝕜 : Type u
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type v
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type w
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
l : F → E
l' : F →L[𝕜] E
y : F
hl : HasFDerivAt l l' y
hf : HasDerivAt f f' x
hy : y = f x
⊢ HasDerivAt (l ∘ f) (l' f') x
state_after: 𝕜 : Type u
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type v
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type w
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
l : F → E
l' : F →L[𝕜] E
y : F
hl : HasFDerivAt l l' (f x)
hf : HasDerivAt f f' x
hy : y = f x
⊢ HasDerivAt (l ∘ f) (l' f') x

tactic: exact hl.comp_hasDerivAt x hf
state_before: 𝕜 : Type u
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type v
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type w
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
l : F → E
l' : F →L[𝕜] E
y : F
hl : HasFDerivAt l l' (f x)
hf : HasDerivAt f f' x
hy : y = f x
⊢ HasDerivAt (l ∘ f) (l' f') x
state_after: no goals
Theorem: Real.exp_one_gt_d9
File: Mathlib/Data/Complex/ExponentialBounds.lean

tactic: norm_num
state_before: ⊢ 2.7182818283 < 2244083 / 825552 - 1 / 10 ^ 10
state_after: no goals
Theorem: List.sublists_concat
File: Mathlib/Data/List/Sublists.lean

tactic: rw [sublists_append, sublists_singleton, bind_eq_bind, bind_cons, bind_cons, bind_nil,
   map_id'' append_nil, append_nil]
state_before: α : Type u
β : Type v
γ : Type w
l : List α
a : α
⊢ (l ++ [a]).sublists = l.sublists ++ map (fun x => x ++ [a]) l.sublists
state_after: no goals
Theorem: iSup_congr_Prop
File: Mathlib/Order/CompleteLattice.lean

tactic: obtain rfl := propext pq
state_before: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : SupSet α
f✝ g : ι → α
p q : Prop
f₁ : p → α
f₂ : q → α
pq : p ↔ q
f : ∀ (x : q), f₁ ⋯ = f₂ x
⊢ iSup f₁ = iSup f₂
state_after: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : SupSet α
f✝ g : ι → α
p : Prop
f₁ f₂ : p → α
pq : p ↔ p
f : ∀ (x : p), f₁ ⋯ = f₂ x
⊢ iSup f₁ = iSup f₂

tactic: congr with x
state_before: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : SupSet α
f✝ g : ι → α
p : Prop
f₁ f₂ : p → α
pq : p ↔ p
f : ∀ (x : p), f₁ ⋯ = f₂ x
⊢ iSup f₁ = iSup f₂
state_after: case e_s.h
α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : SupSet α
f✝ g : ι → α
p : Prop
f₁ f₂ : p → α
pq : p ↔ p
f : ∀ (x : p), f₁ ⋯ = f₂ x
x : p
⊢ f₁ x = f₂ x

tactic: apply f
state_before: case e_s.h
α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : SupSet α
f✝ g : ι → α
p : Prop
f₁ f₂ : p → α
pq : p ↔ p
f : ∀ (x : p), f₁ ⋯ = f₂ x
x : p
⊢ f₁ x = f₂ x
state_after: no goals
Theorem: EReal.preimage_coe_Ioc_bot
File: Mathlib/Data/Real/EReal.lean

tactic: rw [← Ioi_inter_Iic]
state_before: y : ℝ
⊢ Real.toEReal ⁻¹' Ioc ⊥ ↑y = Iic y
state_after: y : ℝ
⊢ Real.toEReal ⁻¹' (Ioi ⊥ ∩ Iic ↑y) = Iic y

tactic: simp
state_before: y : ℝ
⊢ Real.toEReal ⁻¹' (Ioi ⊥ ∩ Iic ↑y) = Iic y
state_after: no goals
Theorem: List.cycleOf_formPerm
File: Mathlib/GroupTheory/Perm/Cycle/Concrete.lean

tactic: rwa [← length_attach] at hn
state_before: α : Type u_1
inst✝ : DecidableEq α
l l' : List α
hl : l.Nodup
hn : 2 ≤ l.length
x : { x // x ∈ l }
⊢ 2 ≤ l.attach.length
state_after: no goals

tactic: rwa [← nodup_attach] at hl
state_before: α : Type u_1
inst✝ : DecidableEq α
l l' : List α
hl : l.Nodup
hn✝ : 2 ≤ l.length
x : { x // x ∈ l }
hn : 2 ≤ l.attach.length
⊢ l.attach.Nodup
state_after: no goals
Theorem: LinearMap.range_le_bot_iff
File: Mathlib/Algebra/Module/Submodule/Range.lean

tactic: rw [range_le_iff_comap]
state_before: R : Type u_1
R₂ : Type u_2
R₃ : Type u_3
K : Type u_4
K₂ : Type u_5
M : Type u_6
M₂ : Type u_7
M₃ : Type u_8
V : Type u_9
V₂ : Type u_10
inst✝¹³ : Semiring R
inst✝¹² : Semiring R₂
inst✝¹¹ : Semiring R₃
inst✝¹⁰ : AddCommMonoid M
inst✝⁹ : AddCommMonoid M₂
inst✝⁸ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁷ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝⁶ : Module R M
inst✝⁵ : Module R₂ M₂
inst✝⁴ : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝³ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_11
inst✝² : FunLike F M M₂
inst✝¹ : SemilinearMapClass F τ₁₂ M M₂
inst✝ : RingHomSurjective τ₁₂
f : M →ₛₗ[τ₁₂] M₂
⊢ range f ≤ ⊥ ↔ f = 0
state_after: R : Type u_1
R₂ : Type u_2
R₃ : Type u_3
K : Type u_4
K₂ : Type u_5
M : Type u_6
M₂ : Type u_7
M₃ : Type u_8
V : Type u_9
V₂ : Type u_10
inst✝¹³ : Semiring R
inst✝¹² : Semiring R₂
inst✝¹¹ : Semiring R₃
inst✝¹⁰ : AddCommMonoid M
inst✝⁹ : AddCommMonoid M₂
inst✝⁸ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁷ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝⁶ : Module R M
inst✝⁵ : Module R₂ M₂
inst✝⁴ : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝³ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_11
inst✝² : FunLike F M M₂
inst✝¹ : SemilinearMapClass F τ₁₂ M M₂
inst✝ : RingHomSurjective τ₁₂
f : M →ₛₗ[τ₁₂] M₂
⊢ comap f ⊥ = ⊤ ↔ f = 0

tactic: exact ker_eq_top
state_before: R : Type u_1
R₂ : Type u_2
R₃ : Type u_3
K : Type u_4
K₂ : Type u_5
M : Type u_6
M₂ : Type u_7
M₃ : Type u_8
V : Type u_9
V₂ : Type u_10
inst✝¹³ : Semiring R
inst✝¹² : Semiring R₂
inst✝¹¹ : Semiring R₃
inst✝¹⁰ : AddCommMonoid M
inst✝⁹ : AddCommMonoid M₂
inst✝⁸ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁷ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝⁶ : Module R M
inst✝⁵ : Module R₂ M₂
inst✝⁴ : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝³ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_11
inst✝² : FunLike F M M₂
inst✝¹ : SemilinearMapClass F τ₁₂ M M₂
inst✝ : RingHomSurjective τ₁₂
f : M →ₛₗ[τ₁₂] M₂
⊢ comap f ⊥ = ⊤ ↔ f = 0
state_after: no goals
Theorem: NormedSpace.double_dual_bound
File: Mathlib/Analysis/NormedSpace/Dual.lean

tactic: simpa using ContinuousLinearMap.le_of_opNorm_le _ (inclusionInDoubleDual_norm_le 𝕜 E) x
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
x : E
⊢ ‖(inclusionInDoubleDual 𝕜 E) x‖ ≤ ‖x‖
state_after: no goals
Theorem: Real.volume_pi_Ioc_toReal
File: Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean

tactic: simp only [volume_pi_Ioc, ENNReal.toReal_prod, ENNReal.toReal_ofReal (sub_nonneg.2 (h _))]
state_before: ι : Type u_1
inst✝ : Fintype ι
a b : ι → ℝ
h : a ≤ b
⊢ (volume (univ.pi fun i => Ioc (a i) (b i))).toReal = ∏ i : ι, (b i - a i)
state_after: no goals
Theorem: Cardinal.powerlt_zero
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: convert Cardinal.iSup_of_empty _
state_before: α β : Type u
c : Cardinal.{?u.257342}
a : Cardinal.{u_1}
⊢ a ^< 0 = 0
state_after: case convert_3
α β : Type u
c : Cardinal.{?u.257342}
a : Cardinal.{u_1}
⊢ IsEmpty ↑(Iio 0)

tactic: exact Subtype.isEmpty_of_false fun x => mem_Iio.not.mpr (Cardinal.zero_le x).not_lt
state_before: case convert_3
α β : Type u
c : Cardinal.{?u.257342}
a : Cardinal.{u_1}
⊢ IsEmpty ↑(Iio 0)
state_after: no goals
Theorem: disjoint_nhds_nhds
File: Mathlib/Topology/Separation.lean

tactic: simp [he, nhds_neBot.ne] at hd
state_before: X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : FirstCountableTopology X
inst✝ : T2Space X
x y : X
hd : Disjoint (𝓝 x) (𝓝 y)
he : x = y
⊢ False
state_after: no goals
Theorem: PartitionOfUnity.exists_pos
File: Mathlib/Topology/PartitionOfUnity.lean

tactic: have H := f.sum_eq_one hx
state_before: ι : Type u
X : Type v
inst✝⁴ : TopologicalSpace X
E : Type u_1
inst✝³ : AddCommMonoid E
inst✝² : SMulWithZero ℝ E
inst✝¹ : TopologicalSpace E
inst✝ : ContinuousSMul ℝ E
s : Set X
f : PartitionOfUnity ι X s
x : X
hx : x ∈ s
⊢ ∃ i, 0 < (f i) x
state_after: ι : Type u
X : Type v
inst✝⁴ : TopologicalSpace X
E : Type u_1
inst✝³ : AddCommMonoid E
inst✝² : SMulWithZero ℝ E
inst✝¹ : TopologicalSpace E
inst✝ : ContinuousSMul ℝ E
s : Set X
f : PartitionOfUnity ι X s
x : X
hx : x ∈ s
H : ∑ᶠ (i : ι), (f i) x = 1
⊢ ∃ i, 0 < (f i) x

tactic: contrapose! H
state_before: ι : Type u
X : Type v
inst✝⁴ : TopologicalSpace X
E : Type u_1
inst✝³ : AddCommMonoid E
inst✝² : SMulWithZero ℝ E
inst✝¹ : TopologicalSpace E
inst✝ : ContinuousSMul ℝ E
s : Set X
f : PartitionOfUnity ι X s
x : X
hx : x ∈ s
H : ∑ᶠ (i : ι), (f i) x = 1
⊢ ∃ i, 0 < (f i) x
state_after: ι : Type u
X : Type v
inst✝⁴ : TopologicalSpace X
E : Type u_1
inst✝³ : AddCommMonoid E
inst✝² : SMulWithZero ℝ E
inst✝¹ : TopologicalSpace E
inst✝ : ContinuousSMul ℝ E
s : Set X
f : PartitionOfUnity ι X s
x : X
hx : x ∈ s
H : ∀ (i : ι), (f i) x ≤ 0
⊢ ∑ᶠ (i : ι), (f i) x ≠ 1

tactic: simpa only [fun i => (H i).antisymm (f.nonneg i x), finsum_zero] using zero_ne_one
state_before: ι : Type u
X : Type v
inst✝⁴ : TopologicalSpace X
E : Type u_1
inst✝³ : AddCommMonoid E
inst✝² : SMulWithZero ℝ E
inst✝¹ : TopologicalSpace E
inst✝ : ContinuousSMul ℝ E
s : Set X
f : PartitionOfUnity ι X s
x : X
hx : x ∈ s
H : ∀ (i : ι), (f i) x ≤ 0
⊢ ∑ᶠ (i : ι), (f i) x ≠ 1
state_after: no goals
Theorem: Absorbs.empty
File: Mathlib/Topology/Bornology/Absorbs.lean

tactic: simp [Absorbs]
state_before: M : Type u_1
α : Type u_2
inst✝¹ : Bornology M
inst✝ : SMul M α
s s₁ s₂ t t₁ t₂ : Set α
S T : Set (Set α)
⊢ Absorbs M s ∅
state_after: no goals
Theorem: MeasureTheory.MeasurePreserving.measure_preimage
File: Mathlib/Dynamics/Ergodic/MeasurePreserving.lean

tactic: rw [← hf.map_eq, map_apply hf.1 hs]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝³ : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
inst✝ : MeasurableSpace δ
μa : Measure α
μb : Measure β
μc : Measure γ
μd : Measure δ
f : α → β
hf : MeasurePreserving f μa μb
s : Set β
hs : MeasurableSet s
⊢ μa (f ⁻¹' s) = μb s
state_after: no goals
Theorem: SetTheory.PGame.nim_equiv_iff_eq
File: Mathlib/SetTheory/Game/Nim.lean

tactic: rw [Impartial.equiv_iff_add_equiv_zero, nim_add_equiv_zero_iff]
state_before: o₁ o₂ : Ordinal.{u_1}
⊢ nim o₁ ≈ nim o₂ ↔ o₁ = o₂
state_after: no goals
Theorem: Ordinal.le_sup_shrink_equiv
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: convert le_sup.{u, u} (fun x => ((@equivShrink s hs).symm x).val) ((@equivShrink s hs) ⟨a, ha⟩)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r : α → α → Prop
s✝ : β → β → Prop
t : γ → γ → Prop
s : Set Ordinal.{u}
hs : Small.{u, u + 1} ↑s
a : Ordinal.{u}
ha : a ∈ s
⊢ a ≤ sup fun x => ↑((equivShrink ↑s).symm x)
state_after: case h.e'_3
α : Type u_1
β : Type u_2
γ : Type u_3
r : α → α → Prop
s✝ : β → β → Prop
t : γ → γ → Prop
s : Set Ordinal.{u}
hs : Small.{u, u + 1} ↑s
a : Ordinal.{u}
ha : a ∈ s
⊢ a = ↑((equivShrink ↑s).symm ((equivShrink ↑s) ⟨a, ha⟩))

tactic: rw [symm_apply_apply]
state_before: case h.e'_3
α : Type u_1
β : Type u_2
γ : Type u_3
r : α → α → Prop
s✝ : β → β → Prop
t : γ → γ → Prop
s : Set Ordinal.{u}
hs : Small.{u, u + 1} ↑s
a : Ordinal.{u}
ha : a ∈ s
⊢ a = ↑((equivShrink ↑s).symm ((equivShrink ↑s) ⟨a, ha⟩))
state_after: no goals
Theorem: MeasureTheory.exists_measurable_superset_forall_eq
File: Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean

tactic: simpa only [← measure_eq_trim] using
  OuterMeasure.exists_measurable_superset_forall_eq_trim (fun i => (μ i).toOuterMeasure) s
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort u_5
inst✝¹ : MeasurableSpace α
μ✝ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t : Set α
inst✝ : Countable ι
μ : ι → Measure α
s : Set α
⊢ ∃ t, s ⊆ t ∧ MeasurableSet t ∧ ∀ (i : ι), (μ i) t = (μ i) s
state_after: no goals
Theorem: LinearMap.IsProj.eq_conj_prodMap
File: Mathlib/LinearAlgebra/Projection.lean

tactic: rw [LinearEquiv.conj_apply]
state_before: R : Type u_1
inst✝² : CommRing R
E : Type u_2
inst✝¹ : AddCommGroup E
inst✝ : Module R E
p : Submodule R E
f : E →ₗ[R] E
h : IsProj p f
⊢ f = (p.prodEquivOfIsCompl (ker f) ⋯).conj (id.prodMap 0)
state_after: R : Type u_1
inst✝² : CommRing R
E : Type u_2
inst✝¹ : AddCommGroup E
inst✝ : Module R E
p : Submodule R E
f : E →ₗ[R] E
h : IsProj p f
⊢ f = (↑(p.prodEquivOfIsCompl (ker f) ⋯) ∘ₗ id.prodMap 0) ∘ₗ ↑(p.prodEquivOfIsCompl (ker f) ⋯).symm

tactic: exact h.eq_conj_prod_map'
state_before: R : Type u_1
inst✝² : CommRing R
E : Type u_2
inst✝¹ : AddCommGroup E
inst✝ : Module R E
p : Submodule R E
f : E →ₗ[R] E
h : IsProj p f
⊢ f = (↑(p.prodEquivOfIsCompl (ker f) ⋯) ∘ₗ id.prodMap 0) ∘ₗ ↑(p.prodEquivOfIsCompl (ker f) ⋯).symm
state_after: no goals
Theorem: LieEquiv.nilpotent_iff_equiv_nilpotent
File: Mathlib/Algebra/Lie/Nilpotent.lean

tactic: constructor <;> intro h
state_before: R : Type u
L : Type v
L' : Type w
inst✝⁴ : CommRing R
inst✝³ : LieRing L
inst✝² : LieAlgebra R L
inst✝¹ : LieRing L'
inst✝ : LieAlgebra R L'
e : L ≃ₗ⁅R⁆ L'
⊢ LieAlgebra.IsNilpotent R L ↔ LieAlgebra.IsNilpotent R L'
state_after: case mp
R : Type u
L : Type v
L' : Type w
inst✝⁴ : CommRing R
inst✝³ : LieRing L
inst✝² : LieAlgebra R L
inst✝¹ : LieRing L'
inst✝ : LieAlgebra R L'
e : L ≃ₗ⁅R⁆ L'
h : LieAlgebra.IsNilpotent R L
⊢ LieAlgebra.IsNilpotent R L'

case mpr
R : Type u
L : Type v
L' : Type w
inst✝⁴ : CommRing R
inst✝³ : LieRing L
inst✝² : LieAlgebra R L
inst✝¹ : LieRing L'
inst✝ : LieAlgebra R L'
e : L ≃ₗ⁅R⁆ L'
h : LieAlgebra.IsNilpotent R L'
⊢ LieAlgebra.IsNilpotent R L

tactic: exact e.symm.injective.lieAlgebra_isNilpotent
state_before: case mp
R : Type u
L : Type v
L' : Type w
inst✝⁴ : CommRing R
inst✝³ : LieRing L
inst✝² : LieAlgebra R L
inst✝¹ : LieRing L'
inst✝ : LieAlgebra R L'
e : L ≃ₗ⁅R⁆ L'
h : LieAlgebra.IsNilpotent R L
⊢ LieAlgebra.IsNilpotent R L'
state_after: no goals

tactic: exact e.injective.lieAlgebra_isNilpotent
state_before: case mpr
R : Type u
L : Type v
L' : Type w
inst✝⁴ : CommRing R
inst✝³ : LieRing L
inst✝² : LieAlgebra R L
inst✝¹ : LieRing L'
inst✝ : LieAlgebra R L'
e : L ≃ₗ⁅R⁆ L'
h : LieAlgebra.IsNilpotent R L'
⊢ LieAlgebra.IsNilpotent R L
state_after: no goals
Theorem: LinearMap.IsSymm.domRestrict
File: Mathlib/LinearAlgebra/SesquilinearForm.lean

tactic: simp_rw [domRestrict₁₂_apply]
state_before: R : Type u_1
R₁ : Type u_2
R₂ : Type u_3
R₃ : Type u_4
M : Type u_5
M₁ : Type u_6
M₂ : Type u_7
M₃ : Type u_8
Mₗ₁ : Type u_9
Mₗ₁' : Type u_10
Mₗ₂ : Type u_11
Mₗ₂' : Type u_12
K : Type u_13
K₁ : Type u_14
K₂ : Type u_15
V : Type u_16
V₁ : Type u_17
V₂ : Type u_18
n : Type u_19
inst✝² : CommSemiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
I : R →+* R
B : M →ₛₗ[I] M →ₗ[R] R
H : B.IsSymm
p : Submodule R M
x✝¹ x✝ : ↥p
⊢ I (((B.domRestrict₁₂ p p) x✝¹) x✝) = ((B.domRestrict₁₂ p p) x✝) x✝¹
state_after: R : Type u_1
R₁ : Type u_2
R₂ : Type u_3
R₃ : Type u_4
M : Type u_5
M₁ : Type u_6
M₂ : Type u_7
M₃ : Type u_8
Mₗ₁ : Type u_9
Mₗ₁' : Type u_10
Mₗ₂ : Type u_11
Mₗ₂' : Type u_12
K : Type u_13
K₁ : Type u_14
K₂ : Type u_15
V : Type u_16
V₁ : Type u_17
V₂ : Type u_18
n : Type u_19
inst✝² : CommSemiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
I : R →+* R
B : M →ₛₗ[I] M →ₗ[R] R
H : B.IsSymm
p : Submodule R M
x✝¹ x✝ : ↥p
⊢ I ((B ↑x✝¹) ↑x✝) = (B ↑x✝) ↑x✝¹

tactic: exact H _ _
state_before: R : Type u_1
R₁ : Type u_2
R₂ : Type u_3
R₃ : Type u_4
M : Type u_5
M₁ : Type u_6
M₂ : Type u_7
M₃ : Type u_8
Mₗ₁ : Type u_9
Mₗ₁' : Type u_10
Mₗ₂ : Type u_11
Mₗ₂' : Type u_12
K : Type u_13
K₁ : Type u_14
K₂ : Type u_15
V : Type u_16
V₁ : Type u_17
V₂ : Type u_18
n : Type u_19
inst✝² : CommSemiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
I : R →+* R
B : M →ₛₗ[I] M →ₗ[R] R
H : B.IsSymm
p : Submodule R M
x✝¹ x✝ : ↥p
⊢ I ((B ↑x✝¹) ↑x✝) = (B ↑x✝) ↑x✝¹
state_after: no goals