ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Mathlib/NumberTheory/Pell.lean
d : ℤ
h₀ : 0 < d
\u22a2 (∃ x y, x ^ 2 - d * y ^ 2 = 1 ∧ y ≠ 0) ↔ ¬IsSquare d
-- Mathlib/NumberTheory/Pell.lean
d : ℤ
h₀ : 0 < d
\u22a2 (∃ x y, x ^ 2 - d * y ^ 2 = 1 ∧ y ≠ 0) → ¬IsSquare d
-- Mathlib/NumberTheory/Pell.lean
x y : ℤ
hy : y ≠ 0
a : ℤ
h₀ : 0 < a * a
hxy : x ^ 2 - a * a * y ^ 2 = 1
\u22a2 False
-- Mathlib/NumberTheory/Pell.lean
x y : ℤ
hy : y ≠ 0
a : ℤ
h₀ : 0 < a * a
hxy : (x + a * y) * (x - a * y) = 1
\u22a2 False
-- Mathlib/Geometry/RingedSpace/OpenImmersion.lean
C : Type u
inst✝ : Category.{v, u} C
X Y : PresheafedSpace C
f : X ⟶ Y
H : IsOpenImmersion f
U : Opens ↑↑X
\u22a2 (Opens.map f.base).op.obj (op ((opensFunctor f).obj U)) = op U
-- Mathlib/Geometry/RingedSpace/OpenImmersion.lean
C : Type u
inst✝ : Category.{v, u} C
X Y : PresheafedSpace C
f : X ⟶ Y
H : IsOpenImmersion f
U : Opens ↑↑X
\u22a2 inv (invApp f U) = f.c.app (op ((opensFunctor f).obj U)) ≫ X.presheaf.map (eqToHom ⋯)
-- Mathlib/Geometry/RingedSpace/OpenImmersion.lean
C : Type u
inst✝ : Category.{v, u} C
X Y : PresheafedSpace C
f : X ⟶ Y
H : IsOpenImmersion f
U : Opens ↑↑X
\u22a2 𝟙 (X.presheaf.obj (op U)) = invApp f U ≫ f.c.app (op ((opensFunctor f).obj U)) ≫ X.presheaf.map (eqToHom ⋯)
-- Mathlib/Geometry/RingedSpace/OpenImmersion.lean
C : Type u
inst✝ : Category.{v, u} C
X Y : PresheafedSpace C
f : X ⟶ Y
H : IsOpenImmersion f
U : Opens ↑↑X
\u22a2 𝟙 (X.presheaf.obj (op U)) = (X.presheaf.map (eqToHom ⋯) ≫ inv (f.c.app (op ((opensFunctor f).obj U)))) ≫ f.c.app (op ((opensFunctor f).obj U)) ≫ X.presheaf.map (eqToHom ⋯)
-- Mathlib/FieldTheory/Minpoly/MinpolyDiv.lean
R : Type u_1
K : Type u_3
L : Type ?u.74540
S : Type u_2
inst✝¹² : CommRing R
inst✝¹¹ : Field K
inst✝¹⁰ : Field L
inst✝⁹ : CommRing S
inst✝⁸ : Algebra R S
inst✝⁷ : Algebra K L
x : S
hx : IsIntegral R x
inst✝⁶ : IsDomain R
inst✝⁵ : IsIntegrallyClosed R
inst✝⁴ : IsDomain S
inst✝³ : Algebra R K
inst✝² : Algebra K S
inst✝¹ : IsScalarTower R K S
inst✝ : IsFractionRing R K
\u22a2 map (algebraMap R S) (minpoly R x) /ₘ (X - C x) = map (algebraMap K S) (minpoly K x) /ₘ (X - C x)
-- Mathlib/Analysis/Normed/Field/Basic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝ : SeminormedRing α
a b : α
l : List α
x✝ : a :: b :: l ≠ []
\u22a2 ‖(a :: b :: l).prod‖ ≤ (map norm (a :: b :: l)).prod
-- Mathlib/Analysis/Normed/Field/Basic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝ : SeminormedRing α
a b : α
l : List α
x✝ : a :: b :: l ≠ []
\u22a2 ‖a * (b :: l).prod‖ ≤ ‖a‖ * (map norm (b :: l)).prod
-- Mathlib/Analysis/Normed/Field/Basic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝ : SeminormedRing α
a b : α
l : List α
x✝ : a :: b :: l ≠ []
\u22a2 ‖(b :: l).prod‖ ≤ (map norm (b :: l)).prod
-- Mathlib/MeasureTheory/Measure/OpenPos.lean
X : Type u_1
Y : Type u_2
inst✝⁵ : TopologicalSpace X
m : MeasurableSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : T2Space Y
μ ν : Measure X
inst✝² : μ.IsOpenPosMeasure
s U F : Set X
x : X
inst✝¹ : OpensMeasurableSpace X
inst✝ : IsFiniteMeasure μ
hF : IsClosed F
\u22a2 μ F = μ univ ↔ F = univ
-- Mathlib/RingTheory/Ideal/Cotangent.lean
R : Type u_1
inst✝² : CommRing R
inst✝¹ : LocalRing R
inst✝ : IsNoetherianRing R
\u22a2 finrank (ResidueField R) (CotangentSpace R) = 0 ↔ IsField R
-- Mathlib/Analysis/Calculus/MeanValue.lean
E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
f : ℝ → E
a b : ℝ
f' : ℝ → E
C : ℝ
hf : ∀ x ∈ Icc 0 1, HasDerivWithinAt f (f' x) (Icc 0 1) x
bound : ∀ x ∈ Ico 0 1, ‖f' x‖ ≤ C
\u22a2 ‖f 1 - f 0‖ ≤ C
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean
α : Type u_1
𝕜 : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : DecidableEq α
A : Finset α
P : Finpartition A
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε δ : 𝕜
u v s t : Finset α
hP : P.IsEquipartition
hε : 0 ≤ ε
\u22a2 ↑((P.sparsePairs G ε).biUnion fun x => match x with | (U, V) => G.interedges U V).card ≤ 4 * ε * ↑A.card ^ 2
-- Mathlib/Probability/Distributions/Exponential.lean
r : ℝ
hr : 0 < r
x : ℝ
\u22a2 ↑(exponentialCDFReal r) x = if 0 ≤ x then 1 - rexp (-(r * x)) else 0
-- Mathlib/Probability/Distributions/Exponential.lean
r : ℝ
hr : 0 < r
x : ℝ
\u22a2 0 ≤ if 0 ≤ x then 1 - rexp (-(r * x)) else 0
-- Mathlib/Algebra/Algebra/Defs.lean
R : Type u
S : Type v
A : Type w
B : Type u_1
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : Semiring B
inst✝ : Algebra R B
s : R
x y : A
\u22a2 x * s • y = s • (x * y)
-- Mathlib/MeasureTheory/Measure/AEMeasurable.lean
ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
δ : Type u_5
R : Type u_6
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
inst✝ : MeasurableSpace δ
f g : α → β
μ ν : Measure α
\u22a2 AEMeasurable f (μ + ν) ↔ AEMeasurable f μ ∧ AEMeasurable f ν
-- Mathlib/MeasureTheory/Measure/AEMeasurable.lean
ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
δ : Type u_5
R : Type u_6
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
inst✝ : MeasurableSpace δ
f g : α → β
μ ν : Measure α
\u22a2 AEMeasurable f (bif true then μ else ν) ∧ AEMeasurable f (bif false then μ else ν) ↔ AEMeasurable f μ ∧ AEMeasurable f ν
-- Mathlib/RingTheory/OreLocalization/Basic.lean
R : Type u_1
inst✝³ : Monoid R
S : Submonoid R
inst✝² : OreSet S
X : Type u_2
inst✝¹ : AddMonoid X
inst✝ : DistribMulAction R X
r r' : X
s s' : ↥S
rb sb : R
h : sb * ↑s = rb * ↑s'
h' : sb * ↑s ∈ S
\u22a2 r /ₒ s + r' /ₒ s' = (sb • r + rb • r') /ₒ ⟨sb * ↑s, h'⟩
-- Mathlib/Geometry/Manifold/MFDeriv/Basic.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
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'
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 f₀ f₁ : M → M'
x : M
s t : Set M
g : M' → M''
u : Set M'
Is : SmoothManifoldWithCorners I M
I's : SmoothManifoldWithCorners I' M'
I''s : SmoothManifoldWithCorners I'' M''
f' f₀' f₁' : TangentSpace I x →L[𝕜] TangentSpace I' (f x)
g' : TangentSpace I' (f x) →L[𝕜] TangentSpace I'' (g (f x))
n : ℕ∞
hg : MDifferentiableWithinAt I' I'' g u (f x)
hf : MDifferentiableWithinAt I I' f s x
h : s ⊆ f ⁻¹' u
hxs : UniqueMDiffWithinAt I s x
\u22a2 mfderivWithin I I'' (g ∘ f) s x = (mfderivWithin I' I'' g u (f x)).comp (mfderivWithin I I' f s x)
-- Mathlib/Geometry/Manifold/MFDeriv/Basic.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
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'
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 f₀ f₁ : M → M'
x : M
s t : Set M
g : M' → M''
u : Set M'
Is : SmoothManifoldWithCorners I M
I's : SmoothManifoldWithCorners I' M'
I''s : SmoothManifoldWithCorners I'' M''
f' f₀' f₁' : TangentSpace I x →L[𝕜] TangentSpace I' (f x)
g' : TangentSpace I' (f x) →L[𝕜] TangentSpace I'' (g (f x))
n : ℕ∞
hg : MDifferentiableWithinAt I' I'' g u (f x)
hf : MDifferentiableWithinAt I I' f s x
h : s ⊆ f ⁻¹' u
hxs : UniqueMDiffWithinAt I s x
\u22a2 HasMFDerivWithinAt I I'' (g ∘ f) s x ((mfderivWithin I' I'' g u (f x)).comp (mfderivWithin I I' f s x))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
\u22a2 (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPoly p n) = frobeniusPolyRat p n
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
\u22a2 X n ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p n) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ n)
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
\u22a2 ∀ (n : ℕ), (∀ m < n, X m ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p m) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ m)) → X n ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p n) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ n)
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
IH : ∀ m < n, X m ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p m) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ m)
\u22a2 X n ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p n) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ n)
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
IH : ∀ m < n, X m ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p m) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ m)
\u22a2 X n ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p n) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) ((X n - ∑ i ∈ range n, C (↑p ^ i) * xInTermsOfW p ℚ i ^ p ^ (n - i)) * C (⅟↑p ^ n))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
IH : ∀ m < n, X m ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p m) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ m)
\u22a2 X n ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p n) = ((bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (X n) - ∑ x ∈ range n, C (↑p ^ x) * (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ x) ^ p ^ (n - x)) * C (⅟↑p ^ n)
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
IH : ∀ m < n, X m ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p m) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ m)
h1 : ↑p ^ n * ⅟↑p ^ n = 1
\u22a2 X n ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p n) = ((bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (X n) - ∑ x ∈ range n, C (↑p ^ x) * (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ x) ^ p ^ (n - x)) * C (⅟↑p ^ n)
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
IH : ∀ m < n, X m ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p m) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ m)
h1 : ↑p ^ n * ⅟↑p ^ n = 1
\u22a2 (∑ x ∈ range n, C (↑p ^ x) * (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ x) ^ p ^ (n - x)) * C (⅟↑p ^ n) - (∑ x ∈ range n, C (↑p ^ x) * X x ^ p ^ (n + 1 - x)) * C (⅟↑p ^ n) = C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (∑ i ∈ range n, ∑ j ∈ range (p ^ (n - i)), (X i ^ p) ^ (p ^ (n - i) - (j + 1)) * frobeniusPolyAux p i ^ (j + 1) * C ↑((p ^ (n - i)).choose (j + 1) / p ^ (n - i - v p ⟨j + 1, ⋯⟩) * p ^ (j - v p ⟨j + 1, ⋯⟩)))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
IH : ∀ m < n, X m ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p m) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ m)
h1 : ↑p ^ n * ⅟↑p ^ n = 1
\u22a2 ∑ x ∈ range n, (C (↑p ^ x) * (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ x) ^ p ^ (n - x) * C (⅟↑p ^ n) - C (↑p ^ x) * X x ^ p ^ (n + 1 - x) * C (⅟↑p ^ n)) = ∑ x ∈ range n, ∑ i ∈ range (p ^ (n - x)), C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) ((X x ^ p) ^ (p ^ (n - x) - (i + 1)) * frobeniusPolyAux p x ^ (i + 1) * C ↑((p ^ (n - x)).choose (i + 1) / p ^ (n - x - v p ⟨i + 1, ⋯⟩) * p ^ (i - v p ⟨i + 1, ⋯⟩)))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
IH : ∀ m < n, X m ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p m) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ m)
h1 : ↑p ^ n * ⅟↑p ^ n = 1
\u22a2 ∀ x ∈ range n, C (↑p ^ x) * (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ x) ^ p ^ (n - x) * C (⅟↑p ^ n) - C (↑p ^ x) * X x ^ p ^ (n + 1 - x) * C (⅟↑p ^ n) = ∑ i ∈ range (p ^ (n - x)), C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) ((X x ^ p) ^ (p ^ (n - x) - (i + 1)) * frobeniusPolyAux p x ^ (i + 1) * C ↑((p ^ (n - x)).choose (i + 1) / p ^ (n - x - v p ⟨i + 1, ⋯⟩) * p ^ (i - v p ⟨i + 1, ⋯⟩)))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
IH : ∀ m < n, X m ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p m) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ m)
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i ∈ range n
\u22a2 C (↑p ^ i) * (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ i) ^ p ^ (n - i) * C (⅟↑p ^ n) - C (↑p ^ i) * X i ^ p ^ (n + 1 - i) * C (⅟↑p ^ n) = ∑ i_1 ∈ range (p ^ (n - i)), C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) ((X i ^ p) ^ (p ^ (n - i) - (i_1 + 1)) * frobeniusPolyAux p i ^ (i_1 + 1) * C ↑((p ^ (n - i)).choose (i_1 + 1) / p ^ (n - i - v p ⟨i_1 + 1, ⋯⟩) * p ^ (i_1 - v p ⟨i_1 + 1, ⋯⟩)))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
IH : ∀ m < n, X m ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p m) = (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ m)
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
\u22a2 C (↑p ^ i) * (bind₁ (wittPolynomial p ℚ ∘ fun n => n + 1)) (xInTermsOfW p ℚ i) ^ p ^ (n - i) * C (⅟↑p ^ n) - C (↑p ^ i) * X i ^ p ^ (n + 1 - i) * C (⅟↑p ^ n) = ∑ i_1 ∈ range (p ^ (n - i)), C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) ((X i ^ p) ^ (p ^ (n - i) - (i_1 + 1)) * frobeniusPolyAux p i ^ (i_1 + 1) * C ↑((p ^ (n - i)).choose (i_1 + 1) / p ^ (n - i - v p ⟨i_1 + 1, ⋯⟩) * p ^ (i_1 - v p ⟨i_1 + 1, ⋯⟩)))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
\u22a2 C (↑p ^ i) * (X i ^ p + C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p i)) ^ p ^ (n - i) * C (⅟↑p ^ n) - C (↑p ^ i) * X i ^ p ^ (n + 1 - i) * C (⅟↑p ^ n) = ∑ i_1 ∈ range (p ^ (n - i)), C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) ((X i ^ p) ^ (p ^ (n - i) - (i_1 + 1)) * frobeniusPolyAux p i ^ (i_1 + 1) * C ↑((p ^ (n - i)).choose (i_1 + 1) / p ^ (n - i - v p ⟨i_1 + 1, ⋯⟩) * p ^ (i_1 - v p ⟨i_1 + 1, ⋯⟩)))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
\u22a2 ∑ i_1 ∈ range (p ^ (n - i)), C (↑p ^ i) * ((C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p i)) ^ (i_1 + 1) * (X i ^ p) ^ (p ^ (n - i) - (i_1 + 1)) * ↑((p ^ (n - i)).choose (i_1 + 1))) * C (⅟↑p ^ n) = ∑ i_1 ∈ range (p ^ (n - i)), C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) ((X i ^ p) ^ (p ^ (n - i) - (i_1 + 1)) * frobeniusPolyAux p i ^ (i_1 + 1) * C ↑((p ^ (n - i)).choose (i_1 + 1) / p ^ (n - i - v p ⟨i_1 + 1, ⋯⟩) * p ^ (i_1 - v p ⟨i_1 + 1, ⋯⟩)))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
\u22a2 ∀ x ∈ range (p ^ (n - i)), C (↑p ^ i) * ((C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p i)) ^ (x + 1) * (X i ^ p) ^ (p ^ (n - i) - (x + 1)) * ↑((p ^ (n - i)).choose (x + 1))) * C (⅟↑p ^ n) = C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) ((X i ^ p) ^ (p ^ (n - i) - (x + 1)) * frobeniusPolyAux p i ^ (x + 1) * C ↑((p ^ (n - i)).choose (x + 1) / p ^ (n - i - v p ⟨x + 1, ⋯⟩) * p ^ (x - v p ⟨x + 1, ⋯⟩)))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j ∈ range (p ^ (n - i))
\u22a2 C (↑p ^ i) * ((C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p i)) ^ (j + 1) * (X i ^ p) ^ (p ^ (n - i) - (j + 1)) * ↑((p ^ (n - i)).choose (j + 1))) * C (⅟↑p ^ n) = C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) ((X i ^ p) ^ (p ^ (n - i) - (j + 1)) * frobeniusPolyAux p i ^ (j + 1) * C ↑((p ^ (n - i)).choose (j + 1) / p ^ (n - i - v p ⟨j + 1, ⋯⟩) * p ^ (j - v p ⟨j + 1, ⋯⟩)))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 C (↑p ^ i) * ((C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p i)) ^ (j + 1) * (X i ^ p) ^ (p ^ (n - i) - (j + 1)) * ↑((p ^ (n - i)).choose (j + 1))) * C (⅟↑p ^ n) = C ↑p * (MvPolynomial.map (Int.castRingHom ℚ)) ((X i ^ p) ^ (p ^ (n - i) - (j + 1)) * frobeniusPolyAux p i ^ (j + 1) * C ↑((p ^ (n - i)).choose (j + 1) / p ^ (n - i - v p ⟨j + 1, ⋯⟩) * p ^ (j - v p ⟨j + 1, ⋯⟩)))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 C ↑p ^ i * (C ↑p ^ (j + 1) * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p i) ^ (j + 1) * (X i ^ p) ^ (p ^ (n - i) - (j + 1)) * ↑((p ^ (n - i)).choose (j + 1))) * C ⅟↑p ^ n = C ↑p * ((X i ^ p) ^ (p ^ (n - i) - (j + 1)) * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p i) ^ (j + 1) * C ((Int.castRingHom ℚ) ↑((p ^ (n - i)).choose (j + 1) / p ^ (n - i - v p ⟨j + 1, ⋯⟩) * p ^ (j - v p ⟨j + 1, ⋯⟩))))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 (X i ^ p) ^ (p ^ (n - i) - (j + 1)) * ((MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p i) ^ (j + 1) * C ↑p ^ (j + 1)) * ↑((p ^ (n - i)).choose (j + 1)) * C ↑p ^ i * C ⅟↑p ^ n = (X i ^ p) ^ (p ^ (n - i) - (j + 1)) * (MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p i) ^ (j + 1) * C ((Int.castRingHom ℚ) ↑((p ^ (n - i)).choose (j + 1) / p ^ (n - i - v p ⟨j + 1, ⋯⟩) * p ^ (j - v p ⟨j + 1, ⋯⟩))) * C ↑p
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 (X i ^ p) ^ (p ^ (n - i) - (j + 1)) * ((MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p i) ^ (j + 1) * (C ↑p ^ (j + 1) * (↑((p ^ (n - i)).choose (j + 1)) * (C ↑p ^ i * C ⅟↑p ^ n)))) = (X i ^ p) ^ (p ^ (n - i) - (j + 1)) * ((MvPolynomial.map (Int.castRingHom ℚ)) (frobeniusPolyAux p i) ^ (j + 1) * (C ((Int.castRingHom ℚ) ↑((p ^ (n - i)).choose (j + 1) / p ^ (n - i - v p ⟨j + 1, ⋯⟩) * p ^ (j - v p ⟨j + 1, ⋯⟩))) * C ↑p))
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 C ↑p ^ (j + 1) * (↑((p ^ (n - i)).choose (j + 1)) * (C ↑p ^ i * C ⅟↑p ^ n)) = C ((Int.castRingHom ℚ) ↑((p ^ (n - i)).choose (j + 1) / p ^ (n - i - v p ⟨j + 1, ⋯⟩) * p ^ (j - v p ⟨j + 1, ⋯⟩))) * C ↑p
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 C ↑p ^ (j + 1) * (C ↑((p ^ (n - i)).choose (j + 1)) * (C ↑p ^ i * C ⅟↑p ^ n)) = C ((Int.castRingHom ℚ) ↑((p ^ (n - i)).choose (j + 1) / p ^ (n - i - v p ⟨j + 1, ⋯⟩) * p ^ (j - v p ⟨j + 1, ⋯⟩))) * C ↑p
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 C (↑p ^ (j + 1) * (↑((p ^ (n - i)).choose (j + 1)) * (↑p ^ i * ⅟↑p ^ n))) = C ((Int.castRingHom ℚ) ↑((p ^ (n - i)).choose (j + 1) / p ^ (n - i - v p ⟨j + 1, ⋯⟩) * p ^ (j - v p ⟨j + 1, ⋯⟩)) * ↑p)
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 ↑p ^ (j + 1) * (↑((p ^ (n - i)).choose (j + 1)) * (↑p ^ i * ⅟↑p ^ n)) = (Int.castRingHom ℚ) ↑((p ^ (n - i)).choose (j + 1) / p ^ (n - i - v p ⟨j + 1, ⋯⟩) * p ^ (j - v p ⟨j + 1, ⋯⟩)) * ↑p
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 ↑p ^ (j + 1) * (↑((p ^ (n - i)).choose (j + 1)) * (↑p ^ i * (↑p ^ n)⁻¹)) = ↑((p ^ (n - i)).choose (j + 1) / p ^ (n - i - v p ⟨j + 1, ⋯⟩)) * ↑(p ^ (j - v p ⟨j + 1, ⋯⟩)) * ↑p
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 ↑p ^ (j + 1) * (↑((p ^ (n - i)).choose (j + 1)) * (↑p ^ i * (↑p ^ n)⁻¹)) = ↑((p ^ (n - i)).choose (j + 1)) / ↑(p ^ (n - i - v p ⟨j + 1, ⋯⟩)) * ↑(p ^ (j - v p ⟨j + 1, ⋯⟩)) * ↑p
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 ↑p ^ j * ↑p * (↑((p ^ (n - i)).choose (j + 1)) * (↑p ^ i * (↑p ^ n)⁻¹)) = ↑((p ^ (n - i)).choose (j + 1)) / ↑p ^ (n - i - v p ⟨j + 1, ⋯⟩) * ↑p ^ (j - v p ⟨j + 1, ⋯⟩) * ↑p
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 ↑((p ^ (n - i)).choose (j + 1)) * ↑p ^ (j - v p ⟨j + 1, ⋯⟩) * ↑p * ↑p ^ n = ↑p ^ j * ↑p * ↑((p ^ (n - i)).choose (j + 1) * p ^ i) * ↑p ^ (n - i - v p ⟨j + 1, ⋯⟩)
-- Mathlib/RingTheory/WittVector/Frobenius.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h1 : ↑p ^ n * ⅟↑p ^ n = 1
i : ℕ
hi : i < n
j : ℕ
hj : j < p ^ (n - i)
\u22a2 ↑p * (↑((p ^ (n - i)).choose (j + 1)) * ↑p ^ (i + j + (n - i - v p ⟨j + 1, ⋯⟩))) = ↑p ^ j * ↑p * (↑((p ^ (n - i)).choose (j + 1)) * ↑p ^ i) * ↑p ^ (n - i - v p ⟨j + 1, ⋯⟩)
-- Mathlib/Algebra/Algebra/Quasispectrum.lean
R✝ : Type u_1
A✝ : Type u_2
inst✝⁷ : CommSemiring R✝
inst✝⁶ : NonUnitalRing A✝
inst✝⁵ : Module R✝ A✝
inst✝⁴ : IsScalarTower R✝ A✝ A✝
inst✝³ : SMulCommClass R✝ A✝ A✝
R : Type u_3
A : Type u_4
inst✝² : Semifield R
inst✝¹ : Ring A
inst✝ : Algebra R A
a : A
x : R
\u22a2 x ∈ quasispectrum R a ↔ x = 0 ∨ x ∈ spectrum R a