ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Mathlib/Topology/Sheaves/SheafCondition/Sites.lean
C : Type u
inst✝ : Category.{v, u} C
X Y : TopCat
f : X ⟶ Y
F : TopCat.Presheaf C Y
hf : IsOpenMap ⇑f
U : Opens ↑X
S : Sieve U
hU : S ∈ (Opens.grothendieckTopology ↑X).sieves U
x : ↑X
hx : x ∈ ↑U
V : Opens ↑X
i : V ⟶ U
hV : S.arrows i
hxV : x ∈ V

⊢ ∃ U_1 f_1, (Sieve.functorPushforward hf.functor S).arrows f_1 ∧ f x ∈ U_1
-- Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean
x : ℝ
hx : x ≠ 0

⊢ HasStrictDerivAt log x⁻¹ x
-- Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean
x : ℝ
hx✝ : x ≠ 0
hx : x < 0

⊢ HasStrictDerivAt log x⁻¹ x
-- Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean
x : ℝ
hx✝ : x ≠ 0
hx : 0 < x

⊢ HasStrictDerivAt log x⁻¹ x
-- Mathlib/Data/Int/Defs.lean
a b c d m n✝ : ℤ
n : ℕ

⊢ -[n+1].toNat = 0 ↔ -[n+1] ≤ 0
-- Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean
x : ℂ

⊢ HasStrictDerivAt cosh (sinh x) x
-- Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean
x : ℂ

⊢ HasStrictDerivAt cosh ((cexp x - cexp (-x)) * 2⁻¹) x
-- Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean
x : ℂ

⊢ (cexp x - cexp (-x)) * 2⁻¹ = (cexp x + cexp (-id x) * -1) * 2⁻¹
-- Mathlib/LinearAlgebra/Matrix/Adjugate.lean
m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
inst✝ : Nontrivial n
i j : n

⊢ adjugate 0 i j = 0 i j
-- Mathlib/LinearAlgebra/Matrix/Adjugate.lean
m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
inst✝ : Nontrivial n
i j j' : n
hj' : j' ≠ j

⊢ adjugate 0 i j = 0 i j
-- Mathlib/LinearAlgebra/Matrix/Adjugate.lean
m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
inst✝ : Nontrivial n
i j j' : n
hj' : j' ≠ j

⊢ ∀ (i_1 : n), 0ᵀ.updateColumn j (Pi.single i 1) i_1 j' = 0
-- Mathlib/LinearAlgebra/Matrix/Adjugate.lean
m : Type u
n : Type v
α : Type w
inst✝⁵ : DecidableEq n
inst✝⁴ : Fintype n
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : CommRing α
inst✝ : Nontrivial n
i j j' : n
hj' : j' ≠ j
j'' : n

⊢ 0ᵀ.updateColumn j (Pi.single i 1) j'' j' = 0
-- Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean
x✝ y x : ℝ

⊢ π / 4 ≤ arcsin x ↔ √2 / 2 ≤ x
-- Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean
x✝ y x : ℝ

⊢ π / 4 ∈ Ioc (-(π / 2)) (π / 2)
-- Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean
x✝ y x : ℝ
this : 0 < π

⊢ π / 4 ∈ Ioc (-(π / 2)) (π / 2)
-- Mathlib/Computability/TuringMachine.lean
Γ : Type u_1
inst✝ : Inhabited Γ
Λ : Type u_2
σ : Type u_3
M : Λ → Stmt₁
S : Finset Λ
q₁ q₂ : Stmt₁
h₁ : q₁ ∈ stmts₁ q₂

⊢ some q₂ ∈ stmts M S → some q₁ ∈ stmts M S
-- Mathlib/Computability/TuringMachine.lean
Γ : Type u_1
inst✝ : Inhabited Γ
Λ : Type u_2
σ : Type u_3
M : Λ → Stmt₁
S : Finset Λ
q₁ q₂ : Stmt₁
h₁ : q₁ ∈ stmts₁ q₂

⊢ ∀ x ∈ S, q₂ ∈ stmts₁ (M x) → ∃ a ∈ S, q₁ ∈ stmts₁ (M a)
-- Mathlib/Topology/NoetherianSpace.lean
α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α
s : Set α

⊢ IsCompact s
-- Mathlib/Topology/NoetherianSpace.lean
α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α
s : Set α
ι✝ : Type u_1
U : ι✝ → Set α
hUo : ∀ (i : ι✝), IsOpen (U i)
hs : s ⊆ ⋃ i, U i

⊢ ∃ t, s ⊆ ⋃ i ∈ t, U i
-- Mathlib/Topology/NoetherianSpace.lean
α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α
s : Set α
ι✝ : Type u_1
U : ι✝ → Set α
hUo : ∀ (i : ι✝), IsOpen (U i)
hs : s ⊆ ⋃ i, U i
t : Finset ι✝
ht : ↑{ carrier := ⋃ i, U i, is_open' := ⋯ } ⊆ ⋃ i ∈ t, U i

⊢ ∃ t, s ⊆ ⋃ i ∈ t, U i
-- Mathlib/Order/Filter/Prod.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort u_5
s : Set α
t : Set β
f : Filter α
g : Filter β
h : Filter γ
k : Filter δ

⊢ map (fun p => ((p.1.1, p.2.1), p.1.2, p.2.2)) ((f ×ˢ g) ×ˢ h ×ˢ k) = (f ×ˢ h) ×ˢ g ×ˢ k
-- Mathlib/Order/Filter/Prod.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort u_5
s : Set α
t : Set β
f : Filter α
g : Filter β
h : Filter γ
k : Filter δ

⊢ comap ((Prod.fst ∘ Prod.fst) ∘ fun p => ((p.1.1, p.2.1), p.1.2, p.2.2)) f ⊓ comap ((Prod.snd ∘ Prod.fst) ∘ fun p => ((p.1.1, p.2.1), p.1.2, p.2.2)) g ⊓ (comap ((Prod.fst ∘ Prod.snd) ∘ fun p => ((p.1.1, p.2.1), p.1.2, p.2.2)) h ⊓ comap ((Prod.snd ∘ Prod.snd) ∘ fun p => ((p.1.1, p.2.1), p.1.2, p.2.2)) k) = comap (Prod.fst ∘ Prod.fst) f ⊓ comap (Prod.snd ∘ Prod.fst) h ⊓ (comap (Prod.fst ∘ Prod.snd) g ⊓ comap (Prod.snd ∘ Prod.snd) k)
-- Mathlib/Algebra/MvPolynomial/CommRing.lean
R : Type u
S : Type v
σ : Type u_1
a✝ a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommRing R
p q a : MvPolynomial σ R

⊢ (-a).totalDegree = a.totalDegree
-- Mathlib/Algebra/Polynomial/RingDivision.lean
R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
p✝ q✝ p q : R[X]
h2 : p * q ≠ 0

⊢ p.degree ≤ (p * q).degree
-- Mathlib/Algebra/Polynomial/RingDivision.lean
R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
p✝ q✝ p q : R[X]
h2 : p ≠ 0 ∧ q ≠ 0

⊢ p.degree ≤ (p * q).degree
-- Mathlib/Data/PNat/Prime.lean
k m n : ℕ+
h : m.Coprime n

⊢ k.gcd (m * n) = k.gcd m * k.gcd n
-- Mathlib/Data/PNat/Prime.lean
k m n : ℕ+
h : (↑m).Coprime ↑n

⊢ k.gcd (m * n) = k.gcd m * k.gcd n
-- Mathlib/Data/PNat/Prime.lean
k m n : ℕ+
h : (↑m).Coprime ↑n

⊢ ↑(k.gcd (m * n)) = ↑(k.gcd m * k.gcd n)
-- Mathlib/Data/PNat/Prime.lean
k m n : ℕ+
h : (↑m).Coprime ↑n

⊢ (↑k).gcd (↑m * ↑n) = (↑k).gcd ↑m * (↑k).gcd ↑n
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)

⊢ Splits i (X ^ n - 1)
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0

⊢ Splits i (X ^ n - 1)
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0

⊢ Splits i (X ^ n - 1)
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n

⊢ Splits i (X ^ n - 1)
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0

⊢ Splits i (X ^ n - 1)
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : eval₂ i b (X ^ n - C a) = 0

⊢ Splits i (X ^ n - 1)
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : b ^ n = i a

⊢ Splits i (X ^ n - 1)
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : b ^ n = i a
hb' : b ≠ 0

⊢ Splits i (X ^ n - 1)
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : b ^ n = i a
hb' : b ≠ 0
s : Multiset E := (Polynomial.map i (X ^ n - C a)).roots

⊢ Splits i (X ^ n - 1)
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : b ^ n = i a
hb' : b ≠ 0
s : Multiset E := (Polynomial.map i (X ^ n - C a)).roots
hs : Polynomial.map i (X ^ n - C a) = C (i (X ^ n - C a).leadingCoeff) * (Multiset.map (fun a => X - C a) s).prod

⊢ Splits i (X ^ n - 1)
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : b ^ n = i a
hb' : b ≠ 0
s : Multiset E := (Polynomial.map i (X ^ n - C a)).roots
hs : Polynomial.map i (X ^ n - C a) = (Multiset.map (fun a => X - C a) s).prod

⊢ Splits i (X ^ n - 1)
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : b ^ n = i a
hb' : b ≠ 0
s : Multiset E := (Polynomial.map i (X ^ n - C a)).roots
hs : Polynomial.map i (X ^ n - C a) = (Multiset.map (fun a => X - C a) s).prod
hs' : Multiset.card s = n

⊢ Splits i (X ^ n - 1)
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : b ^ n = i a
hb' : b ≠ 0
s : Multiset E := (Polynomial.map i (X ^ n - C a)).roots
hs : Polynomial.map i (X ^ n - C a) = (Multiset.map (fun a => X - C a) s).prod
hs' : Multiset.card s = n

⊢ Polynomial.map i (X ^ n - 1) = C (i (X ^ n - 1).leadingCoeff) * (Multiset.map (fun a => X - C a) (Multiset.map (fun c => c / b) s)).prod
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : b ^ n = i a
hb' : b ≠ 0
s : Multiset E := (Polynomial.map i (X ^ n - C a)).roots
hs : Polynomial.map i (X ^ n - C a) = (Multiset.map (fun a => X - C a) s).prod
hs' : Multiset.card s = n

⊢ Polynomial.map i (X ^ n - 1) = (Multiset.map ((fun a => X - C a) ∘ fun c => c / b) s).prod
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : b ^ n = i a
hb' : b ≠ 0
s : Multiset E := (Polynomial.map i (X ^ n - C a)).roots
hs : Polynomial.map i (X ^ n - C a) = (Multiset.map (fun a => X - C a) s).prod
hs' : Multiset.card s = n
C_mul_C : C (i a⁻¹) * C (i a) = 1

⊢ Polynomial.map i (X ^ n - 1) = (Multiset.map ((fun a => X - C a) ∘ fun c => c / b) s).prod
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : b ^ n = i a
hb' : b ≠ 0
s : Multiset E := (Polynomial.map i (X ^ n - C a)).roots
hs : Polynomial.map i (X ^ n - C a) = (Multiset.map (fun a => X - C a) s).prod
hs' : Multiset.card s = n
C_mul_C : C (i a⁻¹) * C (i a) = 1
key1 : Polynomial.map i (X ^ n - 1) = C (i a⁻¹) * (Polynomial.map i (X ^ n - C a)).comp (C b * X)

⊢ Polynomial.map i (X ^ n - 1) = (Multiset.map ((fun a => X - C a) ∘ fun c => c / b) s).prod
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : b ^ n = i a
hb' : b ≠ 0
s : Multiset E := (Polynomial.map i (X ^ n - C a)).roots
hs : Polynomial.map i (X ^ n - C a) = (Multiset.map (fun a => X - C a) s).prod
hs' : Multiset.card s = n
C_mul_C : C (i a⁻¹) * C (i a) = 1
key1 : Polynomial.map i (X ^ n - 1) = C (i a⁻¹) * (Polynomial.map i (X ^ n - C a)).comp (C b * X)
key2 : ((fun q => q.comp (C b * X)) ∘ fun c => X - C c) = fun c => C b * (X - C (c / b))

⊢ Polynomial.map i (X ^ n - 1) = (Multiset.map ((fun a => X - C a) ∘ fun c => c / b) s).prod
-- Mathlib/FieldTheory/AbelRuffini.lean
F✝ : Type u_1
inst✝⁴ : Field F✝
E✝ : Type u_2
inst✝³ : Field E✝
inst✝² : Algebra F✝ E✝
F : Type u_3
inst✝¹ : Field F
E : Type u_4
inst✝ : Field E
i : F →+* E
n : ℕ
a : F
ha : a ≠ 0
h : Splits i (X ^ n - C a)
ha' : i a ≠ 0
hn : ¬n = 0
hn' : 0 < n
hn'' : (X ^ n - C a).degree ≠ 0
b : E
hb : b ^ n = i a
hb' : b ≠ 0
s : Multiset E := (Polynomial.map i (X ^ n - C a)).roots
hs : Polynomial.map i (X ^ n - C a) = (Multiset.map (fun a => X - C a) s).prod
hs' : Multiset.card s = n
C_mul_C : C (i a⁻¹) * C (i a) = 1
key1 : Polynomial.map i (X ^ n - 1) = C (i a⁻¹) * (Polynomial.map i (X ^ n - C a)).comp (C b * X)
key2 : ((fun q => q.comp (C b * X)) ∘ fun c => X - C c) = fun c => C b * (X - C (c / b))

⊢ (Multiset.map (fun c => X - C (c / b)) s).prod = (Multiset.map ((fun a => X - C a) ∘ fun c => c / b) s).prod
-- Mathlib/Data/Multiset/Basic.lean
α : Type u_1
β : Type v
γ : Type u_2
inst✝ : DecidableEq α
s t u : Multiset α
a b : α

⊢ s ∪ 0 = s
-- Mathlib/RingTheory/RootsOfUnity/Basic.lean
M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝³ : CommMonoid M
inst✝² : CommMonoid N
inst✝¹ : DivisionCommMonoid G
k l : ℕ
inst✝ : CommRing R
ζ : Rˣ
h : IsPrimitiveRoot ζ k
i : ℕ
this : ↑i = ↑↑i

⊢ h.zmodEquivZPowers ↑i = Additive.ofMul ⟨ζ ^ i, ⋯⟩
-- Mathlib/MeasureTheory/Function/AEEqFun.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝³ : MeasurableSpace α
μ ν : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
f : α →ₘ[μ] β

⊢ mk ↑f ⋯ = f
-- Mathlib/MeasureTheory/Function/AEEqFun.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝³ : MeasurableSpace α
μ ν : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
f : α →ₘ[μ] β

⊢ mk ↑f ⋯ = Quotient.mk'' (Quotient.out' f)
-- Mathlib/MeasureTheory/Function/AEEqFun.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝³ : MeasurableSpace α
μ ν : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
f : α →ₘ[μ] β
g : { f // AEStronglyMeasurable f μ } := Quotient.out' f

⊢ mk ↑f ⋯ = Quotient.mk'' g
-- Mathlib/MeasureTheory/Function/AEEqFun.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝³ : MeasurableSpace α
μ ν : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
f : α →ₘ[μ] β
g : { f // AEStronglyMeasurable f μ } := Quotient.out' f
this : g = ⟨↑g, ⋯⟩

⊢ mk ↑f ⋯ = Quotient.mk'' g
-- Mathlib/MeasureTheory/Function/AEEqFun.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝³ : MeasurableSpace α
μ ν : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
f : α →ₘ[μ] β
g : { f // AEStronglyMeasurable f μ } := Quotient.out' f
this : g = ⟨↑g, ⋯⟩

⊢ ↑f =ᶠ[ae μ] ↑g
-- Mathlib/Topology/Order.lean
α : Type u_1
t t₁ t₂ : TopologicalSpace α
s : Set α
inst✝¹ : TopologicalSpace α
inst✝ : DiscreteTopology α
β : Type u_2
ι : Type u_3
f : ι → α

⊢ DenseRange f ↔ Surjective f
-- Mathlib/Probability/Kernel/Disintegration/CdfToKernel.lean
α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : Kernel α (β × ℝ)
ν : Kernel α β
f : α × β → ℚ → ℝ
hf : IsRatCondKernelCDF f κ ν
a : α
q : ℚ
s : Set β
hs : MeasurableSet s

⊢ ∫ (b : β) in s, ↑(stieltjesOfMeasurableRat f ⋯ (a, b)) ↑q ∂ν a = ((κ a) (s ×ˢ Iic ↑q)).toReal
-- Mathlib/Probability/Kernel/Disintegration/CdfToKernel.lean
α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : Kernel α (β × ℝ)
ν : Kernel α β
f : α × β → ℚ → ℝ
hf : IsRatCondKernelCDF f κ ν
a : α
q : ℚ
s : Set β
hs : MeasurableSet s

⊢ ∀ᵐ (x : β) ∂ν a, x ∈ s → ↑(stieltjesOfMeasurableRat f ⋯ (a, x)) ↑q = (fun b => f (a, b) q) x
-- Mathlib/Geometry/Manifold/ContMDiff/Defs.lean
𝕜 : Type u_1
inst✝³⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³⁶ : NormedAddCommGroup E
inst✝³⁵ : NormedSpace 𝕜 E
H : Type u_3
inst✝³⁴ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝³³ : TopologicalSpace M
inst✝³² : ChartedSpace H M
inst✝³¹ : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝³⁰ : NormedAddCommGroup E'
inst✝²⁹ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝²⁸ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝²⁷ : TopologicalSpace M'
inst✝²⁶ : ChartedSpace H' M'
inst✝²⁵ : SmoothManifoldWithCorners I' M'
E'' : Type u_8
inst✝²⁴ : NormedAddCommGroup E''
inst✝²³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝²² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝²¹ : TopologicalSpace M''
inst✝²⁰ : ChartedSpace H'' M''
F : Type u_11
inst✝¹⁹ : NormedAddCommGroup F
inst✝¹⁸ : NormedSpace 𝕜 F
G : Type u_12
inst✝¹⁷ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_13
inst✝¹⁶ : TopologicalSpace N
inst✝¹⁵ : ChartedSpace G N
inst✝¹⁴ : SmoothManifoldWithCorners J N
F' : Type u_14
inst✝¹³ : NormedAddCommGroup F'
inst✝¹² : NormedSpace 𝕜 F'
G' : Type u_15
inst✝¹¹ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_16
inst✝¹⁰ : TopologicalSpace N'
inst✝⁹ : ChartedSpace G' N'
inst✝⁸ : SmoothManifoldWithCorners J' N'
F₁ : Type u_17
inst✝⁷ : NormedAddCommGroup F₁
inst✝⁶ : NormedSpace 𝕜 F₁
F₂ : Type u_18
inst✝⁵ : NormedAddCommGroup F₂
inst✝⁴ : NormedSpace 𝕜 F₂
F₃ : Type u_19
inst✝³ : NormedAddCommGroup F₃
inst✝² : NormedSpace 𝕜 F₃
F₄ : Type u_20
inst✝¹ : NormedAddCommGroup F₄
inst✝ : NormedSpace 𝕜 F₄
e : PartialHomeomorph M H
e' : PartialHomeomorph M' H'
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
y : M'
hs : s ⊆ (extChartAt I x).source
h2s : MapsTo f s (extChartAt I' y).source

⊢ ContMDiffOn I I' n f s ↔ ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(extChartAt I x).symm) (↑(extChartAt I x) '' s)
-- Mathlib/Geometry/Manifold/ContMDiff/Defs.lean
𝕜 : Type u_1
inst✝³⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³⁶ : NormedAddCommGroup E
inst✝³⁵ : NormedSpace 𝕜 E
H : Type u_3
inst✝³⁴ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝³³ : TopologicalSpace M
inst✝³² : ChartedSpace H M
inst✝³¹ : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝³⁰ : NormedAddCommGroup E'
inst✝²⁹ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝²⁸ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝²⁷ : TopologicalSpace M'
inst✝²⁶ : ChartedSpace H' M'
inst✝²⁵ : SmoothManifoldWithCorners I' M'
E'' : Type u_8
inst✝²⁴ : NormedAddCommGroup E''
inst✝²³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝²² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝²¹ : TopologicalSpace M''
inst✝²⁰ : ChartedSpace H'' M''
F : Type u_11
inst✝¹⁹ : NormedAddCommGroup F
inst✝¹⁸ : NormedSpace 𝕜 F
G : Type u_12
inst✝¹⁷ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_13
inst✝¹⁶ : TopologicalSpace N
inst✝¹⁵ : ChartedSpace G N
inst✝¹⁴ : SmoothManifoldWithCorners J N
F' : Type u_14
inst✝¹³ : NormedAddCommGroup F'
inst✝¹² : NormedSpace 𝕜 F'
G' : Type u_15
inst✝¹¹ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_16
inst✝¹⁰ : TopologicalSpace N'
inst✝⁹ : ChartedSpace G' N'
inst✝⁸ : SmoothManifoldWithCorners J' N'
F₁ : Type u_17
inst✝⁷ : NormedAddCommGroup F₁
inst✝⁶ : NormedSpace 𝕜 F₁
F₂ : Type u_18
inst✝⁵ : NormedAddCommGroup F₂
inst✝⁴ : NormedSpace 𝕜 F₂
F₃ : Type u_19
inst✝³ : NormedAddCommGroup F₃
inst✝² : NormedSpace 𝕜 F₃
F₄ : Type u_20
inst✝¹ : NormedAddCommGroup F₄
inst✝ : NormedSpace 𝕜 F₄
e : PartialHomeomorph M H
e' : PartialHomeomorph M' H'
f f₁ : M → M'
s s₁ t : Set M
x✝ : M
m n : ℕ∞
x : M
y : M'
hs : s ⊆ (chartAt H x).source
h2s : MapsTo f s (chartAt H' y).source

⊢ ContMDiffOn I I' n f s ↔ ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(extChartAt I x).symm) (↑(extChartAt I x) '' s)
-- Mathlib/Algebra/Polynomial/Laurent.lean
R : Type u_1
inst✝ : Semiring R
s : Finset ℕ

⊢ ∀ (f : R[X]), f.support = s → (toLaurent f).support = Finset.map Nat.castEmbedding s
-- Mathlib/Algebra/Polynomial/Laurent.lean
R : Type u_1
inst✝ : Semiring R

⊢ ∀ (f : R[X]), f.support = ∅ → (toLaurent f).support = Finset.map Nat.castEmbedding ∅
-- Mathlib/Algebra/Polynomial/Laurent.lean
R : Type u_1
inst✝ : Semiring R

⊢ ∀ ⦃a : ℕ⦄ {s : Finset ℕ}, a ∉ s → (∀ (f : R[X]), f.support = s → (toLaurent f).support = Finset.map Nat.castEmbedding s) → ∀ (f : R[X]), f.support = insert a s → (toLaurent f).support = Finset.map Nat.castEmbedding (insert a s)
-- Mathlib/Order/LiminfLimsup.lean
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
ι' : Type u_5
r : α → α → Prop
f✝ g : Filter α
inst✝ : Preorder α
f : Filter β
u : β → α
b : α
hb : b ∈ lowerBounds (range u)

⊢ ∀ (x : β), u x ≥ b
-- Mathlib/Algebra/Module/PID.lean
R : Type u
inst✝⁶ : CommRing R
inst✝⁵ : IsDomain R
inst✝⁴ : IsPrincipalIdealRing R
M : Type v
inst✝³ : AddCommGroup M
inst✝² : Module R M
N : Type (max u v)
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p : R
hp : Irreducible p
hM : IsTorsion' M ↥(Submonoid.powers p)
dec : (x : M) → Decidable (x = 0)
x : M

⊢ torsionOf R M x = Ideal.span {p ^ Nat.find ⋯}
-- Mathlib/Algebra/Module/PID.lean
R : Type u
inst✝⁶ : CommRing R
inst✝⁵ : IsDomain R
inst✝⁴ : IsPrincipalIdealRing R
M : Type v
inst✝³ : AddCommGroup M
inst✝² : Module R M
N : Type (max u v)
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p : R
hp : Irreducible p
hM : IsTorsion' M ↥(Submonoid.powers p)
dec : (x : M) → Decidable (x = 0)
x : M

⊢ Associates.mk (generator (torsionOf R M x)) = Associates.mk p ^ Nat.find ⋯
-- Mathlib/Algebra/Module/PID.lean
R : Type u
inst✝⁶ : CommRing R
inst✝⁵ : IsDomain R
inst✝⁴ : IsPrincipalIdealRing R
M : Type v
inst✝³ : AddCommGroup M
inst✝² : Module R M
N : Type (max u v)
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p : R
hp : Irreducible p
hM : IsTorsion' M ↥(Submonoid.powers p)
dec : (x : M) → Decidable (x = 0)
x : M
prop : (fun n => p ^ n • x = 0) = fun n => Associates.mk (generator (torsionOf R M x)) ∣ Associates.mk p ^ n

⊢ Associates.mk (generator (torsionOf R M x)) = Associates.mk p ^ Nat.find ⋯
-- Mathlib/Algebra/Module/PID.lean
R : Type u
inst✝⁶ : CommRing R
inst✝⁵ : IsDomain R
inst✝⁴ : IsPrincipalIdealRing R
M : Type v
inst✝³ : AddCommGroup M
inst✝² : Module R M
N : Type (max u v)
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p : R
hp : Irreducible p
hM : IsTorsion' M ↥(Submonoid.powers p)
dec : (x : M) → Decidable (x = 0)
x : M
prop : (fun n => p ^ n • x = 0) = fun n => Associates.mk (generator (torsionOf R M x)) ∣ Associates.mk p ^ n
this : ∃ n, p ^ n • x = 0

⊢ Associates.mk (generator (torsionOf R M x)) = Associates.mk p ^ Nat.find ⋯