ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: IsLocalization.integerNormalization_spec
File: Mathlib/RingTheory/Localization/Integral.lean

Proof steps:
state_before: R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type u_3
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
p : S[X]
⊢ ∃ b, ∀ (i : ℕ), (algebraMap R S) ((integerNormalization M p).coeff i) = ↑b • p.coeff i
state_after: case h
R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type u_3
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
p : S[X]
⊢ ∀ (i : ℕ), (algebraMap R S) ((integerNormalization M p).coeff i) = ↑(Classical.choose ⋯) • p.coeff i
tactic: use Classical.choose (exist_integer_multiples_of_finset M (p.support.image p.coeff))
state_before: case h
R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type u_3
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
p : S[X]
⊢ ∀ (i : ℕ), (algebraMap R S) ((integerNormalization M p).coeff i) = ↑(Classical.choose ⋯) • p.coeff i
state_after: case h
R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type u_3
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
p : S[X]
i : ℕ
⊢ (algebraMap R S) ((integerNormalization M p).coeff i) = ↑(Classical.choose ⋯) • p.coeff i
tactic: intro i
state_before: case h
R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type u_3
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
p : S[X]
i : ℕ
⊢ (algebraMap R S) ((integerNormalization M p).coeff i) = ↑(Classical.choose ⋯) • p.coeff i
state_after: case h
R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type u_3
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
p : S[X]
i : ℕ
⊢ (algebraMap R S) (if hi : i ∈ p.support then Classical.choose ⋯ else 0) = ↑(Classical.choose ⋯) • p.coeff i
tactic: rw [integerNormalization_coeff, coeffIntegerNormalization]
state_before: case h
R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type u_3
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
p : S[X]
i : ℕ
⊢ (algebraMap R S) (if hi : i ∈ p.support then Classical.choose ⋯ else 0) = ↑(Classical.choose ⋯) • p.coeff i
state_after: case pos
R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type u_3
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
p : S[X]
i : ℕ
hi : i ∈ p.support
⊢ (algebraMap R S) (Classical.choose ⋯) = ↑(Classical.choose ⋯) • p.coeff i

case neg
R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type u_3
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
p : S[X]
i : ℕ
hi : i ∉ p.support
⊢ (algebraMap R S) 0 = ↑(Classical.choose ⋯) • p.coeff i
tactic: split_ifs with hi
Theorem: stronglyMeasurable_of_tendsto
File: Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι✝ : Type u_4
inst✝⁴ : Countable ι✝
f✝ g✝ : α → β
ι : Type u_5
m : MeasurableSpace α
inst✝³ : TopologicalSpace β
inst✝² : PseudoMetrizableSpace β
u : Filter ι
inst✝¹ : u.NeBot
inst✝ : u.IsCountablyGenerated
f : ι → α → β
g : α → β
hf : ∀ (i : ι), StronglyMeasurable (f i)
lim : Tendsto f u (𝓝 g)
⊢ StronglyMeasurable g
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι✝ : Type u_4
inst✝⁴ : Countable ι✝
f✝ g✝ : α → β
ι : Type u_5
m : MeasurableSpace α
inst✝³ : TopologicalSpace β
inst✝² : PseudoMetrizableSpace β
u : Filter ι
inst✝¹ : u.NeBot
inst✝ : u.IsCountablyGenerated
f : ι → α → β
g : α → β
hf : ∀ (i : ι), StronglyMeasurable (f i)
lim : Tendsto f u (𝓝 g)
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
⊢ StronglyMeasurable g
tactic: borelize β
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι✝ : Type u_4
inst✝⁴ : Countable ι✝
f✝ g✝ : α → β
ι : Type u_5
m : MeasurableSpace α
inst✝³ : TopologicalSpace β
inst✝² : PseudoMetrizableSpace β
u : Filter ι
inst✝¹ : u.NeBot
inst✝ : u.IsCountablyGenerated
f : ι → α → β
g : α → β
hf : ∀ (i : ι), StronglyMeasurable (f i)
lim : Tendsto f u (𝓝 g)
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
⊢ StronglyMeasurable g
state_after: case refine_1
α : Type u_1
β : Type u_2
γ : Type u_3
ι✝ : Type u_4
inst✝⁴ : Countable ι✝
f✝ g✝ : α → β
ι : Type u_5
m : MeasurableSpace α
inst✝³ : TopologicalSpace β
inst✝² : PseudoMetrizableSpace β
u : Filter ι
inst✝¹ : u.NeBot
inst✝ : u.IsCountablyGenerated
f : ι → α → β
g : α → β
hf : ∀ (i : ι), StronglyMeasurable (f i)
lim : Tendsto f u (𝓝 g)
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
⊢ Measurable g

case refine_2
α : Type u_1
β : Type u_2
γ : Type u_3
ι✝ : Type u_4
inst✝⁴ : Countable ι✝
f✝ g✝ : α → β
ι : Type u_5
m : MeasurableSpace α
inst✝³ : TopologicalSpace β
inst✝² : PseudoMetrizableSpace β
u : Filter ι
inst✝¹ : u.NeBot
inst✝ : u.IsCountablyGenerated
f : ι → α → β
g : α → β
hf : ∀ (i : ι), StronglyMeasurable (f i)
lim : Tendsto f u (𝓝 g)
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
⊢ IsSeparable (range g)
tactic: refine stronglyMeasurable_iff_measurable_separable.2 ⟨?_, ?_⟩
Theorem: Finset.sdiff_insert_of_not_mem
File: Mathlib/Data/Finset/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t✝ u v : Finset α
a b x : α
h : x ∉ s
t : Finset α
⊢ s \ insert x t = s \ t
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t✝ u v : Finset α
a b x : α
h : x ∉ s
t : Finset α
y : α
hy : y ∈ s \ t
⊢ y ∈ s \ insert x t
tactic: refine Subset.antisymm (sdiff_subset_sdiff (Subset.refl _) (subset_insert _ _)) fun y hy => ?_
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t✝ u v : Finset α
a b x : α
h : x ∉ s
t : Finset α
y : α
hy : y ∈ s \ t
⊢ y ∈ s \ insert x t
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t✝ u v : Finset α
a b x : α
h : x ∉ s
t : Finset α
y : α
hy : y ∈ s ∧ y ∉ t
⊢ y ∈ s ∧ ¬y = x ∧ y ∉ t
tactic: simp only [mem_sdiff, mem_insert, not_or] at hy ⊢
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t✝ u v : Finset α
a b x : α
h : x ∉ s
t : Finset α
y : α
hy : y ∈ s ∧ y ∉ t
⊢ y ∈ s ∧ ¬y = x ∧ y ∉ t
state_after: no goals
tactic: exact ⟨hy.1, fun hxy => h <| hxy ▸ hy.1, hy.2⟩
Theorem: Module.finite_of_finrank_pos
File: Mathlib/LinearAlgebra/Dimension/Free.lean

Proof steps:
state_before: R : Type u
M M₁ : Type v
M' : Type v'
inst✝¹⁰ : Ring R
inst✝⁹ : StrongRankCondition R
inst✝⁸ : AddCommGroup M
inst✝⁷ : Module R M
inst✝⁶ : Free R M
inst✝⁵ : AddCommGroup M'
inst✝⁴ : Module R M'
inst✝³ : Free R M'
inst✝² : AddCommGroup M₁
inst✝¹ : Module R M₁
inst✝ : Free R M₁
h : 0 < finrank R M
⊢ Finite R M
state_after: R : Type u
M M₁ : Type v
M' : Type v'
inst✝¹⁰ : Ring R
inst✝⁹ : StrongRankCondition R
inst✝⁸ : AddCommGroup M
inst✝⁷ : Module R M
inst✝⁶ : Free R M
inst✝⁵ : AddCommGroup M'
inst✝⁴ : Module R M'
inst✝³ : Free R M'
inst✝² : AddCommGroup M₁
inst✝¹ : Module R M₁
inst✝ : Free R M₁
h : ¬Finite R M
⊢ ¬0 < finrank R M
tactic: contrapose h
state_before: R : Type u
M M₁ : Type v
M' : Type v'
inst✝¹⁰ : Ring R
inst✝⁹ : StrongRankCondition R
inst✝⁸ : AddCommGroup M
inst✝⁷ : Module R M
inst✝⁶ : Free R M
inst✝⁵ : AddCommGroup M'
inst✝⁴ : Module R M'
inst✝³ : Free R M'
inst✝² : AddCommGroup M₁
inst✝¹ : Module R M₁
inst✝ : Free R M₁
h : ¬Finite R M
⊢ ¬0 < finrank R M
state_after: no goals
tactic: simp [finrank_of_not_finite h]
Theorem: Odd.add_dvd_pow_add_pow
File: Mathlib/Algebra/GeomSum.lean

Proof steps:
state_before: α : Type u
inst✝ : CommRing α
x y : α
n : ℕ
h : Odd n
⊢ x + y ∣ x ^ n + y ^ n
state_after: α : Type u
inst✝ : CommRing α
x y : α
n : ℕ
h : Odd n
h₁ : (∑ i ∈ range n, x ^ i * (-y) ^ (n - 1 - i)) * (x - -y) = x ^ n - (-y) ^ n
⊢ x + y ∣ x ^ n + y ^ n
tactic: have h₁ := geom_sum₂_mul x (-y) n
state_before: α : Type u
inst✝ : CommRing α
x y : α
n : ℕ
h : Odd n
h₁ : (∑ i ∈ range n, x ^ i * (-y) ^ (n - 1 - i)) * (x - -y) = x ^ n - (-y) ^ n
⊢ x + y ∣ x ^ n + y ^ n
state_after: α : Type u
inst✝ : CommRing α
x y : α
n : ℕ
h : Odd n
h₁ : (∑ i ∈ range n, x ^ i * (-y) ^ (n - 1 - i)) * (x + y) = x ^ n + y ^ n
⊢ x + y ∣ x ^ n + y ^ n
tactic: rw [Odd.neg_pow h y, sub_neg_eq_add, sub_neg_eq_add] at h₁
state_before: α : Type u
inst✝ : CommRing α
x y : α
n : ℕ
h : Odd n
h₁ : (∑ i ∈ range n, x ^ i * (-y) ^ (n - 1 - i)) * (x + y) = x ^ n + y ^ n
⊢ x + y ∣ x ^ n + y ^ n
state_after: no goals
tactic: exact Dvd.intro_left _ h₁
Theorem: AddMonoidAlgebra.of'_mul_modOf
File: Mathlib/Algebra/MonoidAlgebra/Division.lean

Proof steps:
state_before: k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
g : G
x : k[G]
⊢ of' k G g * x %ᵒᶠ g = 0
state_after: k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
g : G
x : k[G]
g' : G
⊢ (of' k G g * x %ᵒᶠ g) g' = 0 g'
tactic: refine Finsupp.ext fun g' => ?_
state_before: k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
g : G
x : k[G]
g' : G
⊢ (of' k G g * x %ᵒᶠ g) g' = 0 g'
state_after: k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
g : G
x : k[G]
g' : G
⊢ (of' k G g * x %ᵒᶠ g) g' = 0
tactic: rw [Finsupp.zero_apply]
state_before: k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
g : G
x : k[G]
g' : G
⊢ (of' k G g * x %ᵒᶠ g) g' = 0
state_after: case inl.intro
k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
g : G
x : k[G]
d : G
⊢ (of' k G g * x %ᵒᶠ g) (g + d) = 0

case inr
k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
g : G
x : k[G]
g' : G
h : ¬∃ d, g' = g + d
⊢ (of' k G g * x %ᵒᶠ g) g' = 0
tactic: obtain ⟨d, rfl⟩ | h := em (∃ d, g' = g + d)
Theorem: pow_four_add_four_mul_pow_four
File: Mathlib/Algebra/Ring/Identities.lean

Proof steps:
state_before: R : Type u_1
inst✝ : CommRing R
a b x₁ x₂ x₃ x₄ x₅ x₆ x₇ x₈ y₁ y₂ y₃ y₄ y₅ y₆ y₇ y₈ n : R
⊢ a ^ 4 + 4 * b ^ 4 = ((a - b) ^ 2 + b ^ 2) * ((a + b) ^ 2 + b ^ 2)
state_after: no goals
tactic: ring
Theorem: CategoryTheory.OverPresheafAux.YonedaCollection.map₁_comp
File: Mathlib/CategoryTheory/Comma/Presheaf.lean

Proof steps:
state_before: C : Type u
inst✝ : Category.{v, u} C
A : Cᵒᵖ ⥤ Type v
F : (CostructuredArrow yoneda A)ᵒᵖ ⥤ Type v
X : C
G H : (CostructuredArrow yoneda A)ᵒᵖ ⥤ Type v
η : F ⟶ G
μ : G ⟶ H
⊢ map₁ (η ≫ μ) = map₁ μ ∘ map₁ η
state_after: case h.h.w.h.h
C : Type u
inst✝ : Category.{v, u} C
A : Cᵒᵖ ⥤ Type v
F : (CostructuredArrow yoneda A)ᵒᵖ ⥤ Type v
X : C
G H : (CostructuredArrow yoneda A)ᵒᵖ ⥤ Type v
η : F ⟶ G
μ : G ⟶ H
x✝¹ : YonedaCollection F X
x✝ : Cᵒᵖ
a✝ : (yoneda.obj X).obj x✝
⊢ (map₁ (η ≫ μ) x✝¹).fst.app x✝ a✝ = ((map₁ μ ∘ map₁ η) x✝¹).fst.app x✝ a✝

case h.h'
C : Type u
inst✝ : Category.{v, u} C
A : Cᵒᵖ ⥤ Type v
F : (CostructuredArrow yoneda A)ᵒᵖ ⥤ Type v
X : C
G H : (CostructuredArrow yoneda A)ᵒᵖ ⥤ Type v
η : F ⟶ G
μ : G ⟶ H
x✝ : YonedaCollection F X
⊢ H.map (eqToHom ⋯) ((map₁ μ ∘ map₁ η) x✝).snd = (map₁ (η ≫ μ) x✝).snd
tactic: ext
state_before: case h.h.w.h.h
C : Type u
inst✝ : Category.{v, u} C
A : Cᵒᵖ ⥤ Type v
F : (CostructuredArrow yoneda A)ᵒᵖ ⥤ Type v
X : C
G H : (CostructuredArrow yoneda A)ᵒᵖ ⥤ Type v
η : F ⟶ G
μ : G ⟶ H
x✝¹ : YonedaCollection F X
x✝ : Cᵒᵖ
a✝ : (yoneda.obj X).obj x✝
⊢ (map₁ (η ≫ μ) x✝¹).fst.app x✝ a✝ = ((map₁ μ ∘ map₁ η) x✝¹).fst.app x✝ a✝

case h.h'
C : Type u
inst✝ : Category.{v, u} C
A : Cᵒᵖ ⥤ Type v
F : (CostructuredArrow yoneda A)ᵒᵖ ⥤ Type v
X : C
G H : (CostructuredArrow yoneda A)ᵒᵖ ⥤ Type v
η : F ⟶ G
μ : G ⟶ H
x✝ : YonedaCollection F X
⊢ H.map (eqToHom ⋯) ((map₁ μ ∘ map₁ η) x✝).snd = (map₁ (η ≫ μ) x✝).snd
state_after: no goals
tactic: all_goals simp
Theorem: ZMod.minOrder
File: Mathlib/GroupTheory/Order/Min.lean

Proof steps:
state_before: α : Type u_1
n : ℕ
hn : n ≠ 0
hn₁ : n ≠ 1
⊢ minOrder (ZMod n) = ↑n.minFac
state_after: α : Type u_1
n : ℕ
hn : n ≠ 0
hn₁ : n ≠ 1
this : Fact (1 < n)
⊢ minOrder (ZMod n) = ↑n.minFac
tactic: have : Fact (1 < n) := ⟨one_lt_iff_ne_zero_and_ne_one.mpr ⟨hn, hn₁⟩⟩
Theorem: Nat.clog_pos
File: Mathlib/Data/Nat/Log.lean

Proof steps:
state_before: b n : ℕ
hb : 1 < b
hn : 2 ≤ n
⊢ 0 < clog b n
state_after: b n : ℕ
hb : 1 < b
hn : 2 ≤ n
⊢ 0 < clog b ((n + b - 1) / b) + 1
tactic: rw [clog_of_two_le hb hn]
state_before: b n : ℕ
hb : 1 < b
hn : 2 ≤ n
⊢ 0 < clog b ((n + b - 1) / b) + 1
state_after: no goals
tactic: exact zero_lt_succ _
Theorem: abs_le_abs_of_nonneg
File: Mathlib/Algebra/Order/Group/Unbundled/Abs.lean

Proof steps:
state_before: α : Type u_1
inst✝² : Lattice α
inst✝¹ : Group α
a b : α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
ha : 1 ≤ a
hab : a ≤ b
⊢ mabs a ≤ mabs b
state_after: no goals
tactic: rwa [mabs_of_one_le ha, mabs_of_one_le (ha.trans hab)]
Theorem: ne_neg_of_mem_sphere
File: Mathlib/Analysis/NormedSpace/BallAction.lean

Proof steps:
state_before: 𝕜 : Type u_1
𝕜' : Type u_2
E : Type u_3
inst✝⁵ : NormedField 𝕜
inst✝⁴ : NormedField 𝕜'
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜' E
r✝ : ℝ
inst✝ : CharZero 𝕜
r : ℝ
hr : r ≠ 0
x : ↑(sphere 0 r)
h : x = -x
⊢ ↑x = -↑x
state_after: 𝕜 : Type u_1
𝕜' : Type u_2
E : Type u_3
inst✝⁵ : NormedField 𝕜
inst✝⁴ : NormedField 𝕜'
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜' E
r✝ : ℝ
inst✝ : CharZero 𝕜
r : ℝ
hr : r ≠ 0
x : ↑(sphere 0 r)
h : x = -x
⊢ ↑(-x) = -↑x
tactic: (conv_lhs => rw [h])
state_before: 𝕜 : Type u_1
𝕜' : Type u_2
E : Type u_3
inst✝⁵ : NormedField 𝕜
inst✝⁴ : NormedField 𝕜'
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜' E
r✝ : ℝ
inst✝ : CharZero 𝕜
r : ℝ
hr : r ≠ 0
x : ↑(sphere 0 r)
h : x = -x
⊢ ↑(-x) = -↑x
state_after: no goals
tactic: rfl
Theorem: PiTensorProduct.mapLMultilinear_apply_toFun
File: Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean

Proof steps:
state_before: ι : Type uι
inst✝⁹ : Fintype ι
𝕜 : Type u𝕜
inst✝⁸ : NontriviallyNormedField 𝕜
E : ι → Type uE
inst✝⁷ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁶ : (i : ι) → NormedSpace 𝕜 (E i)
F : Type uF
inst✝⁵ : SeminormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
E' : ι → Type u_1
E'' : ι → Type u_2
inst✝³ : (i : ι) → SeminormedAddCommGroup (E' i)
inst✝² : (i : ι) → NormedSpace 𝕜 (E' i)
inst✝¹ : (i : ι) → SeminormedAddCommGroup (E'' i)
inst✝ : (i : ι) → NormedSpace 𝕜 (E'' i)
g : (i : ι) → E' i →L[𝕜] E'' i
f✝ f : (i : ι) → E i →L[𝕜] E' i
⊢ ‖{ toFun := mapL, map_add' := ⋯, map_smul' := ⋯ } f‖ ≤ 1 * ∏ i : ι, ‖f i‖
state_after: ι : Type uι
inst✝⁹ : Fintype ι
𝕜 : Type u𝕜
inst✝⁸ : NontriviallyNormedField 𝕜
E : ι → Type uE
inst✝⁷ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁶ : (i : ι) → NormedSpace 𝕜 (E i)
F : Type uF
inst✝⁵ : SeminormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
E' : ι → Type u_1
E'' : ι → Type u_2
inst✝³ : (i : ι) → SeminormedAddCommGroup (E' i)
inst✝² : (i : ι) → NormedSpace 𝕜 (E' i)
inst✝¹ : (i : ι) → SeminormedAddCommGroup (E'' i)
inst✝ : (i : ι) → NormedSpace 𝕜 (E'' i)
g : (i : ι) → E' i →L[𝕜] E'' i
f✝ f : (i : ι) → E i →L[𝕜] E' i
⊢ ‖{ toFun := mapL, map_add' := ⋯, map_smul' := ⋯ } f‖ ≤ ∏ i : ι, ‖f i‖
tactic: rw [one_mul]
state_before: ι : Type uι
inst✝⁹ : Fintype ι
𝕜 : Type u𝕜
inst✝⁸ : NontriviallyNormedField 𝕜
E : ι → Type uE
inst✝⁷ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁶ : (i : ι) → NormedSpace 𝕜 (E i)
F : Type uF
inst✝⁵ : SeminormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
E' : ι → Type u_1
E'' : ι → Type u_2
inst✝³ : (i : ι) → SeminormedAddCommGroup (E' i)
inst✝² : (i : ι) → NormedSpace 𝕜 (E' i)
inst✝¹ : (i : ι) → SeminormedAddCommGroup (E'' i)
inst✝ : (i : ι) → NormedSpace 𝕜 (E'' i)
g : (i : ι) → E' i →L[𝕜] E'' i
f✝ f : (i : ι) → E i →L[𝕜] E' i
⊢ ‖{ toFun := mapL, map_add' := ⋯, map_smul' := ⋯ } f‖ ≤ ∏ i : ι, ‖f i‖
state_after: no goals
tactic: exact mapL_opNorm f
Theorem: NormedAddGroupHom.zero_comp
File: Mathlib/Analysis/Normed/Group/Hom.lean

Proof steps:
state_before: V : Type u_1
V₁ : Type u_2
V₂ : Type u_3
V₃ : Type u_4
inst✝³ : SeminormedAddCommGroup V
inst✝² : SeminormedAddCommGroup V₁
inst✝¹ : SeminormedAddCommGroup V₂
inst✝ : SeminormedAddCommGroup V₃
f✝ g f : NormedAddGroupHom V₁ V₂
⊢ NormedAddGroupHom.comp 0 f = 0
state_after: case H
V : Type u_1
V₁ : Type u_2
V₂ : Type u_3
V₃ : Type u_4
inst✝³ : SeminormedAddCommGroup V
inst✝² : SeminormedAddCommGroup V₁
inst✝¹ : SeminormedAddCommGroup V₂
inst✝ : SeminormedAddCommGroup V₃
f✝ g f : NormedAddGroupHom V₁ V₂
x✝ : V₁
⊢ (NormedAddGroupHom.comp 0 f) x✝ = 0 x✝
tactic: ext
state_before: case H
V : Type u_1
V₁ : Type u_2
V₂ : Type u_3
V₃ : Type u_4
inst✝³ : SeminormedAddCommGroup V
inst✝² : SeminormedAddCommGroup V₁
inst✝¹ : SeminormedAddCommGroup V₂
inst✝ : SeminormedAddCommGroup V₃
f✝ g f : NormedAddGroupHom V₁ V₂
x✝ : V₁
⊢ (NormedAddGroupHom.comp 0 f) x✝ = 0 x✝
state_after: no goals
tactic: rfl
Theorem: List.exists_mem_ne_one_of_prod_ne_one
File: Mathlib/Algebra/BigOperators/Group/List.lean

Proof steps:
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
M : Type u_4
N : Type u_5
P : Type u_6
G : Type u_7
inst✝² : Monoid M
inst✝¹ : Monoid N
inst✝ : Monoid P
l l₁ l₂ : List M
a : M
h : l.prod ≠ 1
⊢ ∃ x ∈ l, x ≠ 1
state_after: no goals
tactic: simpa only [not_forall, exists_prop] using mt prod_eq_one h
Theorem: Real.tan_pi_div_three
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean

Proof steps:
state_before: ⊢ tan (π / 3) = √3
state_after: ⊢ √3 / 2 / (1 / 2) = √3
tactic: rw [tan_eq_sin_div_cos, sin_pi_div_three, cos_pi_div_three]
state_before: ⊢ √3 / 2 / (1 / 2) = √3
state_after: no goals
tactic: ring
Theorem: InnerProductGeometry.cos_eq_zero_iff_angle_eq_pi_div_two
File: Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean

Proof steps:
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
⊢ cos (angle x y) = 0 ↔ angle x y = π / 2
state_after: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
⊢ cos (angle x y) = cos (π / 2) ↔ angle x y = π / 2
tactic: rw [← cos_pi_div_two]
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
⊢ cos (angle x y) = cos (π / 2) ↔ angle x y = π / 2
state_after: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
⊢ π / 2 ∈ Icc 0 π
tactic: apply injOn_cos.eq_iff ⟨angle_nonneg x y, angle_le_pi x y⟩
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
⊢ π / 2 ∈ Icc 0 π
state_after: no goals
tactic: constructor <;> linarith [pi_pos]
Theorem: MeasureTheory.condexp_of_not_sigmaFinite
File: Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean

Proof steps:
state_before: α : Type u_1
F : Type u_2
F' : Type u_3
𝕜 : Type u_4
p : ℝ≥0∞
inst✝⁶ : RCLike 𝕜
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
f g : α → F'
s : Set α
hm : m ≤ m0
hμm_not : ¬SigmaFinite (μ.trim hm)
⊢ μ[f|m] = 0
state_after: case hnc
α : Type u_1
F : Type u_2
F' : Type u_3
𝕜 : Type u_4
p : ℝ≥0∞
inst✝⁶ : RCLike 𝕜
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
f g : α → F'
s : Set α
hm : m ≤ m0
hμm_not : ¬SigmaFinite (μ.trim hm)
⊢ ¬(SigmaFinite (μ.trim hm) ∧ Integrable f μ)
tactic: rw [condexp, dif_pos hm, dif_neg]
state_before: case hnc
α : Type u_1
F : Type u_2
F' : Type u_3
𝕜 : Type u_4
p : ℝ≥0∞
inst✝⁶ : RCLike 𝕜
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
f g : α → F'
s : Set α
hm : m ≤ m0
hμm_not : ¬SigmaFinite (μ.trim hm)
⊢ ¬(SigmaFinite (μ.trim hm) ∧ Integrable f μ)
state_after: case hnc
α : Type u_1
F : Type u_2
F' : Type u_3
𝕜 : Type u_4
p : ℝ≥0∞
inst✝⁶ : RCLike 𝕜
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
f g : α → F'
s : Set α
hm : m ≤ m0
hμm_not : ¬SigmaFinite (μ.trim hm)
⊢ SigmaFinite (μ.trim hm) → ¬Integrable f μ
tactic: push_neg
state_before: case hnc
α : Type u_1
F : Type u_2
F' : Type u_3
𝕜 : Type u_4
p : ℝ≥0∞
inst✝⁶ : RCLike 𝕜
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
f g : α → F'
s : Set α
hm : m ≤ m0
hμm_not : ¬SigmaFinite (μ.trim hm)
⊢ SigmaFinite (μ.trim hm) → ¬Integrable f μ
state_after: no goals
tactic: exact fun h => absurd h hμm_not
Theorem: MvPolynomial.finsum_weightedHomogeneousComponent
File: Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean

Proof steps:
state_before: R : Type u_1
M : Type u_2
inst✝¹ : CommSemiring R
σ : Type u_3
inst✝ : AddCommMonoid M
w : σ → M
n : M
φ ψ : MvPolynomial σ R
⊢ ∑ᶠ (m : M), (weightedHomogeneousComponent w m) φ = φ
state_after: no goals
tactic: rw [sum_weightedHomogeneousComponent]
Theorem: Finset.sup_inf_sup
File: Mathlib/Data/Finset/Lattice.lean

Proof steps:
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝¹ : DistribLattice α
inst✝ : OrderBot α
s✝ : Finset ι
t✝ : Finset κ
f✝ : ι → α
g✝ : κ → α
a : α
s : Finset ι
t : Finset κ
f : ι → α
g : κ → α
⊢ s.sup f ⊓ t.sup g = (s ×ˢ t).sup fun i => f i.1 ⊓ g i.2
state_after: no goals
tactic: simp_rw [Finset.sup_inf_distrib_right, Finset.sup_inf_distrib_left, sup_product_left]
Theorem: Rat.divInt_one
File: Mathlib/Data/Rat/Defs.lean

Proof steps:
state_before: q a b c : ℚ
n : ℤ
⊢ n /. 1 = ↑n
state_after: no goals
tactic: simp [divInt, mkRat, normalize]
Theorem: FractionalIdeal.count_coe
File: Mathlib/RingTheory/DedekindDomain/Factorization.lean

Proof steps:
state_before: R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v : HeightOneSpectrum R
J : Ideal R
hJ : J ≠ 0
⊢ count K v ↑J = ↑((Associates.mk v.asIdeal).count (Associates.mk J).factors)
state_after: case hI
R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v : HeightOneSpectrum R
J : Ideal R
hJ : J ≠ 0
⊢ ↑J ≠ 0

case h_aJ
R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v : HeightOneSpectrum R
J : Ideal R
hJ : J ≠ 0
⊢ ↑J = spanSingleton R⁰ ((algebraMap R K) 1)⁻¹ * ↑J
tactic: rw [count_well_defined K (J := J) (a := 1), Ideal.span_singleton_one, sub_eq_self,
    Nat.cast_eq_zero, ← Ideal.one_eq_top, Associates.mk_one, Associates.factors_one,
    Associates.count_zero v.associates_irreducible]
Theorem: List.Chain'.rel_head?
File: Mathlib/Data/List/Chain.lean

Proof steps:
state_before: α : Type u
β : Type v
R r : α → α → Prop
l✝ l₁ l₂ : List α
a b x : α
l : List α
h : Chain' R (x :: l)
y : α
hy : y ∈ l.head?
⊢ R x y
state_after: α : Type u
β : Type v
R r : α → α → Prop
l✝ l₁ l₂ : List α
a b x : α
l : List α
y : α
h : Chain' R (x :: y :: l.tail)
hy : y ∈ l.head?
⊢ R x y
tactic: rw [← cons_head?_tail hy] at h
state_before: α : Type u
β : Type v
R r : α → α → Prop
l✝ l₁ l₂ : List α
a b x : α
l : List α
y : α
h : Chain' R (x :: y :: l.tail)
hy : y ∈ l.head?
⊢ R x y
state_after: no goals
tactic: exact h.rel_head
Theorem: Ordinal.lt_omega
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

Proof steps:
state_before: o : Ordinal.{u_1}
⊢ o < ω ↔ ∃ n, o = ↑n
state_after: no goals
tactic: simp_rw [← Cardinal.ord_aleph0, Cardinal.lt_ord, lt_aleph0, card_eq_nat]