ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Mathlib/Order/WellFoundedSet.lean
ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
π : ι → Type u_5
r : α → α → Prop
r' : β → β → Prop
f✝ : α → β
s t✝ : Set α
a : α
inst✝¹ : IsRefl α r
inst✝ : IsTrans α r
t : Set β
hs : s.PartiallyWellOrderedOn r
ht : t.PartiallyWellOrderedOn r'
f : ℕ → α × β
hf : ∀ (n : ℕ), f n ∈ s ×ˢ t
g₁ : ℕ ↪o ℕ
h₁ : ∀ (m n : ℕ), m ≤ n → r ((Prod.fst ∘ f) (g₁ m)) ((Prod.fst ∘ f) (g₁ n))

⊢ ∃ m n, m < n ∧ (fun x y => r x.1 y.1 ∧ r' x.2 y.2) (f m) (f n)
-- Mathlib/Order/WellFoundedSet.lean
ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
π : ι → Type u_5
r : α → α → Prop
r' : β → β → Prop
f✝ : α → β
s t✝ : Set α
a : α
inst✝¹ : IsRefl α r
inst✝ : IsTrans α r
t : Set β
hs : s.PartiallyWellOrderedOn r
ht : t.PartiallyWellOrderedOn r'
f : ℕ → α × β
hf : ∀ (n : ℕ), f n ∈ s ×ˢ t
g₁ : ℕ ↪o ℕ
h₁ : ∀ (m n : ℕ), m ≤ n → r ((Prod.fst ∘ f) (g₁ m)) ((Prod.fst ∘ f) (g₁ n))
m n : ℕ
hlt : m < n
hle : r' ((Prod.snd ∘ f ∘ ⇑g₁) m) ((Prod.snd ∘ f ∘ ⇑g₁) n)

⊢ ∃ m n, m < n ∧ (fun x y => r x.1 y.1 ∧ r' x.2 y.2) (f m) (f n)
-- Mathlib/Geometry/RingedSpace/PresheafedSpace.lean
C : Type u_1
inst✝ : Category.{?u.60184, u_1} C
U✝ : TopCat
X : PresheafedSpace C
f✝ : U✝ ⟶ ↑X
h : OpenEmbedding ⇑f✝
U V : (Opens ↑↑X)ᵒᵖ
f : U ⟶ V

⊢ X.presheaf.map f ≫ (fun V => X.presheaf.map (⋯.adjunction.counit.app (unop V)).op) V = (fun V => X.presheaf.map (⋯.adjunction.counit.app (unop V)).op) U ≫ X.presheaf.map (⋯.functor.op.map ((Opens.map f✝).op.map f))
-- Mathlib/Geometry/RingedSpace/PresheafedSpace.lean
C : Type u_1
inst✝ : Category.{?u.60184, u_1} C
U✝ : TopCat
X : PresheafedSpace C
f✝ : U✝ ⟶ ↑X
h : OpenEmbedding ⇑f✝
U V : (Opens ↑↑X)ᵒᵖ
f : U ⟶ V

⊢ X.presheaf.map (f ≫ (⋯.adjunction.counit.app (unop V)).op) = X.presheaf.map ((⋯.adjunction.counit.app (unop U)).op ≫ ⋯.functor.op.map ((Opens.map f✝).op.map f))
-- Mathlib/Data/Fintype/Powerset.lean
α : Type u_1
inst✝ : Fintype α
s : Finset α
k : ℕ

⊢ ↑univ.powerset = ↑univ
-- Mathlib/Analysis/Normed/Ring/Units.lean
R : Type u_1
inst✝¹ : NormedRing R
inst✝ : CompleteSpace R
n : ℕ
t : R
ht : dist t 0 < 1

⊢ ‖t‖ < 1
-- Mathlib/Algebra/Ring/Divisibility/Lemmas.lean
R : Type u_1
x y : R
n m p : ℕ
inst✝ : Semiring R
hp : n + m ≤ p + 1
h_comm : Commute x y
hy : y ^ n = 0

⊢ x ^ m ∣ (x + y) ^ p
-- Mathlib/Algebra/Ring/Divisibility/Lemmas.lean
R : Type u_1
x y : R
n m p : ℕ
inst✝ : Semiring R
hp : n + m ≤ p + 1
h_comm : Commute x y
hy : y ^ n = 0

⊢ x ^ m ∣ ∑ m ∈ Finset.antidiagonal p, p.choose m.1 • (x ^ m.1 * y ^ m.2)
-- Mathlib/Algebra/Ring/Divisibility/Lemmas.lean
R : Type u_1
x y : R
n m p : ℕ
inst✝ : Semiring R
hp : n + m ≤ p + 1
h_comm : Commute x y
hy : y ^ n = 0
x✝ : ℕ × ℕ
i j : ℕ
hij : (i, j) ∈ Finset.antidiagonal p

⊢ x ^ m ∣ p.choose (i, j).1 • (x ^ (i, j).1 * y ^ (i, j).2)
-- Mathlib/Algebra/Ring/Divisibility/Lemmas.lean
R : Type u_1
x y : R
n m p : ℕ
inst✝ : Semiring R
hp : n + m ≤ p + 1
h_comm : Commute x y
hy : y ^ n = 0
x✝ : ℕ × ℕ
i j : ℕ
hij : i + j = p

⊢ x ^ m ∣ p.choose (i, j).1 • (x ^ (i, j).1 * y ^ (i, j).2)
-- Mathlib/Algebra/Ring/Divisibility/Lemmas.lean
R : Type u_1
x y : R
n m p : ℕ
inst✝ : Semiring R
hp : n + m ≤ p + 1
h_comm : Commute x y
hy : y ^ n = 0
x✝ : ℕ × ℕ
i j : ℕ
hij : i + j = p

⊢ x ^ m ∣ x ^ (i, j).1 * y ^ (i, j).2
-- Mathlib/Algebra/Ring/Divisibility/Lemmas.lean
R : Type u_1
x y : R
n m p : ℕ
inst✝ : Semiring R
hp : n + m ≤ p + 1
h_comm : Commute x y
hy : y ^ n = 0
x✝ : ℕ × ℕ
i j : ℕ
hij : i + j = p
hi : m ≤ i

⊢ x ^ m ∣ x ^ (i, j).1 * y ^ (i, j).2
-- Mathlib/Algebra/Ring/Divisibility/Lemmas.lean
R : Type u_1
x y : R
n m p : ℕ
inst✝ : Semiring R
hp : n + m ≤ p + 1
h_comm : Commute x y
hy : y ^ n = 0
x✝ : ℕ × ℕ
i j : ℕ
hij : i + j = p
hi : i + 1 ≤ m

⊢ x ^ m ∣ x ^ (i, j).1 * y ^ (i, j).2
-- Mathlib/CategoryTheory/Shift/ShiftSequence.lean
C : Type u_1
A : Type u_2
inst✝⁶ : Category.{?u.63403, u_1} C
inst✝⁵ : Category.{?u.63407, u_2} A
F : C ⥤ A
M : Type u_3
inst✝⁴ : AddMonoid M
inst✝³ : HasShift C M
G : Type u_4
inst✝² : AddGroup G
inst✝¹ : HasShift C G
inst✝ : F.ShiftSequence M
n m mn : M
hnm : m + n = mn
a a' a'' : M
ha' : n + a = a'
ha'' : m + a' = a''
X : C

⊢ mn + a = a''
-- Mathlib/CategoryTheory/Shift/ShiftSequence.lean
C : Type u_1
A : Type u_2
inst✝⁶ : Category.{u_6, u_1} C
inst✝⁵ : Category.{u_5, u_2} A
F : C ⥤ A
M : Type u_3
inst✝⁴ : AddMonoid M
inst✝³ : HasShift C M
G : Type u_4
inst✝² : AddGroup G
inst✝¹ : HasShift C G
inst✝ : F.ShiftSequence M
n m mn : M
hnm : m + n = mn
a a' a'' : M
ha' : n + a = a'
ha'' : m + a' = a''
X : C

⊢ (F.shiftIso mn a a'' ⋯).inv.app X = (F.shiftIso m a' a'' ha'').inv.app X ≫ (F.shiftIso n a a' ha').inv.app ((shiftFunctor C m).obj X) ≫ (F.shift a).map ((shiftFunctorAdd' C m n mn hnm).inv.app X)
-- Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean
R : Type u
S : Type v
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
x : PrimeSpectrum R

⊢ closure {x} = zeroLocus ↑x.asIdeal
-- Mathlib/CategoryTheory/Subobject/Limits.lean
C : Type u
inst✝³ : Category.{v, u} C
X Y Z : C
inst✝² : HasZeroMorphisms C
f : X ⟶ Y
inst✝¹ : HasKernel f
X' Y' : C
f' : X' ⟶ Y'
inst✝ : HasKernel f'
sq : Arrow.mk f ⟶ Arrow.mk f'

⊢ (kernelSubobjectIso f).hom ≫ kernel.map f f' sq.left sq.right ⋯ = kernelSubobjectMap sq ≫ (kernelSubobjectIso f').hom
-- Mathlib/AlgebraicTopology/SimplexCategory.lean
n m : SimplexCategory
f : n ⟶ m

⊢ Epi f ↔ Function.Surjective ⇑(Hom.toOrderHom f)
-- Mathlib/AlgebraicTopology/SimplexCategory.lean
n m : SimplexCategory
f : n ⟶ m

⊢ Epi (skeletalEquivalence.functor.map f) ↔ Function.Surjective ⇑(Hom.toOrderHom f)
-- Mathlib/AlgebraicTopology/SimplexCategory.lean
n m : SimplexCategory
f : n ⟶ m

⊢ Epi (skeletalFunctor.map f) ↔ Function.Surjective ⇑(Hom.toOrderHom f)
-- Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean
R✝ : Type u_1
inst✝¹³ : CommSemiring R✝
A✝ : Type u_2
B✝ : Type u_3
inst✝¹² : Semiring A✝
inst✝¹¹ : Semiring B✝
inst✝¹⁰ : Algebra R✝ A✝
inst✝⁹ : Algebra R✝ B✝
R : Type u_4
inst✝⁸ : CommRing R
A : Type u_5
B : Type u_6
C : Type u_7
D : Type u_8
inst✝⁷ : Ring A
inst✝⁶ : Ring B
inst✝⁵ : Ring C
inst✝⁴ : Ring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
f : A →ₐ[R] B
g : C →ₐ[R] D
hf : Function.Surjective ⇑f
hg : Function.Surjective ⇑g

⊢ RingHom.ker (map f g) = Ideal.map includeLeft (RingHom.ker f) ⊔ Ideal.map includeRight (RingHom.ker g)
-- Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean
R✝ : Type u_1
inst✝¹³ : CommSemiring R✝
A✝ : Type u_2
B✝ : Type u_3
inst✝¹² : Semiring A✝
inst✝¹¹ : Semiring B✝
inst✝¹⁰ : Algebra R✝ A✝
inst✝⁹ : Algebra R✝ B✝
R : Type u_4
inst✝⁸ : CommRing R
A : Type u_5
B : Type u_6
C : Type u_7
D : Type u_8
inst✝⁷ : Ring A
inst✝⁶ : Ring B
inst✝⁵ : Ring C
inst✝⁴ : Ring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
f : A →ₐ[R] B
g : C →ₐ[R] D
hf : Function.Surjective ⇑f
hg : Function.Surjective ⇑g
this : map f g = (map f (AlgHom.id R D)).comp (map (AlgHom.id R A) g)

⊢ RingHom.ker (map f g) = Ideal.map includeLeft (RingHom.ker f) ⊔ Ideal.map includeRight (RingHom.ker g)
-- Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean
R✝ : Type u_1
inst✝¹³ : CommSemiring R✝
A✝ : Type u_2
B✝ : Type u_3
inst✝¹² : Semiring A✝
inst✝¹¹ : Semiring B✝
inst✝¹⁰ : Algebra R✝ A✝
inst✝⁹ : Algebra R✝ B✝
R : Type u_4
inst✝⁸ : CommRing R
A : Type u_5
B : Type u_6
C : Type u_7
D : Type u_8
inst✝⁷ : Ring A
inst✝⁶ : Ring B
inst✝⁵ : Ring C
inst✝⁴ : Ring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
f : A →ₐ[R] B
g : C →ₐ[R] D
hf : Function.Surjective ⇑f
hg : Function.Surjective ⇑g
this : map f g = (map f (AlgHom.id R D)).comp (map (AlgHom.id R A) g)

⊢ RingHom.ker ((map f (AlgHom.id R D)).comp (map (AlgHom.id R A) g)) = Ideal.map includeLeft (RingHom.ker f) ⊔ Ideal.map includeRight (RingHom.ker g)
-- Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean
R✝ : Type u_1
inst✝¹³ : CommSemiring R✝
A✝ : Type u_2
B✝ : Type u_3
inst✝¹² : Semiring A✝
inst✝¹¹ : Semiring B✝
inst✝¹⁰ : Algebra R✝ A✝
inst✝⁹ : Algebra R✝ B✝
R : Type u_4
inst✝⁸ : CommRing R
A : Type u_5
B : Type u_6
C : Type u_7
D : Type u_8
inst✝⁷ : Ring A
inst✝⁶ : Ring B
inst✝⁵ : Ring C
inst✝⁴ : Ring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
f : A →ₐ[R] B
g : C →ₐ[R] D
hf : Function.Surjective ⇑f
hg : Function.Surjective ⇑g
this : map f g = (map f (AlgHom.id R D)).comp (map (AlgHom.id R A) g)

⊢ RingHom.ker ((↑(map f (AlgHom.id R D))).comp ↑(map (AlgHom.id R A) g)) = Ideal.map includeLeft (RingHom.ker ↑f) ⊔ Ideal.map includeRight (RingHom.ker ↑g)
-- Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean
R✝ : Type u_1
inst✝¹³ : CommSemiring R✝
A✝ : Type u_2
B✝ : Type u_3
inst✝¹² : Semiring A✝
inst✝¹¹ : Semiring B✝
inst✝¹⁰ : Algebra R✝ A✝
inst✝⁹ : Algebra R✝ B✝
R : Type u_4
inst✝⁸ : CommRing R
A : Type u_5
B : Type u_6
C : Type u_7
D : Type u_8
inst✝⁷ : Ring A
inst✝⁶ : Ring B
inst✝⁵ : Ring C
inst✝⁴ : Ring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
f : A →ₐ[R] B
g : C →ₐ[R] D
hf : Function.Surjective ⇑f
hg : Function.Surjective ⇑g
this : map f g = (map f (AlgHom.id R D)).comp (map (AlgHom.id R A) g)

⊢ Ideal.comap (↑(map (AlgHom.id R A) g)) (RingHom.ker ↑(map f (AlgHom.id R D))) = Ideal.map includeLeft (RingHom.ker ↑f) ⊔ Ideal.map includeRight (RingHom.ker ↑g)
-- Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean
R✝ : Type u_1
inst✝¹³ : CommSemiring R✝
A✝ : Type u_2
B✝ : Type u_3
inst✝¹² : Semiring A✝
inst✝¹¹ : Semiring B✝
inst✝¹⁰ : Algebra R✝ A✝
inst✝⁹ : Algebra R✝ B✝
R : Type u_4
inst✝⁸ : CommRing R
A : Type u_5
B : Type u_6
C : Type u_7
D : Type u_8
inst✝⁷ : Ring A
inst✝⁶ : Ring B
inst✝⁵ : Ring C
inst✝⁴ : Ring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
f : A →ₐ[R] B
g : C →ₐ[R] D
hf : Function.Surjective ⇑f
hg : Function.Surjective ⇑g
this : map f g = (map f (AlgHom.id R D)).comp (map (AlgHom.id R A) g)

⊢ Ideal.comap (↑(map (AlgHom.id R A) g)) (RingHom.ker (map f (AlgHom.id R D))) = Ideal.map includeLeft (RingHom.ker f) ⊔ Ideal.map includeRight (RingHom.ker g)
-- Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean
R✝ : Type u_1
inst✝¹³ : CommSemiring R✝
A✝ : Type u_2
B✝ : Type u_3
inst✝¹² : Semiring A✝
inst✝¹¹ : Semiring B✝
inst✝¹⁰ : Algebra R✝ A✝
inst✝⁹ : Algebra R✝ B✝
R : Type u_4
inst✝⁸ : CommRing R
A : Type u_5
B : Type u_6
C : Type u_7
D : Type u_8
inst✝⁷ : Ring A
inst✝⁶ : Ring B
inst✝⁵ : Ring C
inst✝⁴ : Ring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
f : A →ₐ[R] B
g : C →ₐ[R] D
hf : Function.Surjective ⇑f
hg : Function.Surjective ⇑g
this : map f g = (map f (AlgHom.id R D)).comp (map (AlgHom.id R A) g)

⊢ Ideal.comap (↑(map (AlgHom.id R A) g)) (RingHom.ker (map f (AlgHom.id R D))) = Ideal.map includeLeft (RingHom.ker f) ⊔ Ideal.comap (map (AlgHom.id R A) g) ⊥
-- Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean
R✝ : Type u_1
inst✝¹³ : CommSemiring R✝
A✝ : Type u_2
B✝ : Type u_3
inst✝¹² : Semiring A✝
inst✝¹¹ : Semiring B✝
inst✝¹⁰ : Algebra R✝ A✝
inst✝⁹ : Algebra R✝ B✝
R : Type u_4
inst✝⁸ : CommRing R
A : Type u_5
B : Type u_6
C : Type u_7
D : Type u_8
inst✝⁷ : Ring A
inst✝⁶ : Ring B
inst✝⁵ : Ring C
inst✝⁴ : Ring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
f : A →ₐ[R] B
g : C →ₐ[R] D
hf : Function.Surjective ⇑f
hg : Function.Surjective ⇑g
this : map f g = (map f (AlgHom.id R D)).comp (map (AlgHom.id R A) g)

⊢ Ideal.comap (↑(map (AlgHom.id R A) g)) (RingHom.ker (map f (AlgHom.id R D))) = Ideal.comap (map (AlgHom.id R A) g) (Ideal.map (map (AlgHom.id R A) g) (Ideal.map includeLeft (RingHom.ker f)))
-- Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean
R✝ : Type u_1
inst✝¹³ : CommSemiring R✝
A✝ : Type u_2
B✝ : Type u_3
inst✝¹² : Semiring A✝
inst✝¹¹ : Semiring B✝
inst✝¹⁰ : Algebra R✝ A✝
inst✝⁹ : Algebra R✝ B✝
R : Type u_4
inst✝⁸ : CommRing R
A : Type u_5
B : Type u_6
C : Type u_7
D : Type u_8
inst✝⁷ : Ring A
inst✝⁶ : Ring B
inst✝⁵ : Ring C
inst✝⁴ : Ring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
f : A →ₐ[R] B
g : C →ₐ[R] D
hf : Function.Surjective ⇑f
hg : Function.Surjective ⇑g
this : map f g = (map f (AlgHom.id R D)).comp (map (AlgHom.id R A) g)

⊢ Ideal.comap (↑(map (AlgHom.id R A) g)) (Ideal.map includeLeft (RingHom.ker f)) = Ideal.comap (map (AlgHom.id R A) g) (Ideal.map (map (AlgHom.id R A) g) (Ideal.map includeLeft (RingHom.ker f)))
-- Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean
R✝ : Type u_1
inst✝¹³ : CommSemiring R✝
A✝ : Type u_2
B✝ : Type u_3
inst✝¹² : Semiring A✝
inst✝¹¹ : Semiring B✝
inst✝¹⁰ : Algebra R✝ A✝
inst✝⁹ : Algebra R✝ B✝
R : Type u_4
inst✝⁸ : CommRing R
A : Type u_5
B : Type u_6
C : Type u_7
D : Type u_8
inst✝⁷ : Ring A
inst✝⁶ : Ring B
inst✝⁵ : Ring C
inst✝⁴ : Ring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
f : A →ₐ[R] B
g : C →ₐ[R] D
hf : Function.Surjective ⇑f
hg : Function.Surjective ⇑g
this : map f g = (map f (AlgHom.id R D)).comp (map (AlgHom.id R A) g)

⊢ Ideal.map includeLeft (RingHom.ker f) = Ideal.map (map (AlgHom.id R A) g) (Ideal.map includeLeft (RingHom.ker f))
-- Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean
R✝ : Type u_1
inst✝¹³ : CommSemiring R✝
A✝ : Type u_2
B✝ : Type u_3
inst✝¹² : Semiring A✝
inst✝¹¹ : Semiring B✝
inst✝¹⁰ : Algebra R✝ A✝
inst✝⁹ : Algebra R✝ B✝
R : Type u_4
inst✝⁸ : CommRing R
A : Type u_5
B : Type u_6
C : Type u_7
D : Type u_8
inst✝⁷ : Ring A
inst✝⁶ : Ring B
inst✝⁵ : Ring C
inst✝⁴ : Ring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
f : A →ₐ[R] B
g : C →ₐ[R] D
hf : Function.Surjective ⇑f
hg : Function.Surjective ⇑g
this : map f g = (map f (AlgHom.id R D)).comp (map (AlgHom.id R A) g)

⊢ Ideal.map (↑includeLeft) (RingHom.ker f) = Ideal.map ((↑(map (AlgHom.id R A) g)).comp ↑includeLeft) (RingHom.ker f)
-- Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean
R✝ : Type u_1
inst✝¹³ : CommSemiring R✝
A✝ : Type u_2
B✝ : Type u_3
inst✝¹² : Semiring A✝
inst✝¹¹ : Semiring B✝
inst✝¹⁰ : Algebra R✝ A✝
inst✝⁹ : Algebra R✝ B✝
R : Type u_4
inst✝⁸ : CommRing R
A : Type u_5
B : Type u_6
C : Type u_7
D : Type u_8
inst✝⁷ : Ring A
inst✝⁶ : Ring B
inst✝⁵ : Ring C
inst✝⁴ : Ring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
f : A →ₐ[R] B
g : C →ₐ[R] D
hf : Function.Surjective ⇑f
hg : Function.Surjective ⇑g
this : map f g = (map f (AlgHom.id R D)).comp (map (AlgHom.id R A) g)

⊢ Ideal.map (↑includeLeft) (RingHom.ker f) = Ideal.map (↑(includeLeft.comp (AlgHom.id R A))) (RingHom.ker f)
-- Mathlib/Data/List/Indexes.lean
α : Type u
β : Type v
l : List α
f : ℕ → α → β
a : α

⊢ mapIdx f (a :: l) = f 0 a :: mapIdx (fun i => f (i + 1)) l
-- Mathlib/LinearAlgebra/Span.lean
R : Type u_1
R₂ : Type u_2
K : Type u_3
M : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝⁸ : Semiring R
inst✝⁷ : AddCommMonoid M
inst✝⁶ : Module R M
x✝ : M
p p' : Submodule R M
inst✝⁵ : Semiring R₂
σ₁₂ : R →+* R₂
inst✝⁴ : AddCommMonoid M₂
inst✝³ : Module R₂ M₂
F : Type u_8
inst✝² : FunLike F M M₂
inst✝¹ : SemilinearMapClass F σ₁₂ M M₂
s✝ t : Set M
inst✝ : RingHomSurjective σ₁₂
f : F
x : M
s : Set M
hf : Injective ⇑f

⊢ f x ∈ span R₂ (⇑f '' s) ↔ x ∈ span R s
-- Mathlib/Data/Nat/Defs.lean
a b c d m n k : ℕ
p q : ℕ → Prop
hba : b ∣ a

⊢ a / b ≠ 0 ↔ a ≠ 0 ∧ b ≠ 0
-- Mathlib/Algebra/Polynomial/RingDivision.lean
R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝ : CommRing R
p q : R[X]
x : R
hpq : eval x (p /ₘ (X - C x) ^ rootMultiplicity x p) * eval x (q /ₘ (X - C x) ^ rootMultiplicity x q) ≠ 0

⊢ rootMultiplicity x (p * q) = rootMultiplicity x p + rootMultiplicity x q
-- Mathlib/Algebra/Polynomial/RingDivision.lean
R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝ : CommRing R
p q : R[X]
x : R
hpq : (p.comp (X + C x)).trailingCoeff * (q.comp (X + C x)).trailingCoeff ≠ 0

⊢ rootMultiplicity x (p * q) = rootMultiplicity x p + rootMultiplicity x q
-- Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁰ : CommRing A
inst✝²⁹ : CommRing B
inst✝²⁸ : Algebra A B
inst✝²⁷ : Field K
inst✝²⁶ : Field L
inst✝²⁵ : Algebra A K
inst✝²⁴ : IsFractionRing A K
inst✝²³ : Algebra B L
inst✝²² : Algebra K L
inst✝²¹ : Algebra A L
inst✝²⁰ : IsScalarTower A B L
inst✝¹⁹ : IsScalarTower A K L
inst✝¹⁸ : IsIntegralClosure B A L
inst✝¹⁷ : FiniteDimensional K L
Aₘ : Type ?u.752508
Bₘ : Type ?u.752511
inst✝¹⁶ : CommRing Aₘ
inst✝¹⁵ : CommRing Bₘ
inst✝¹⁴ : Algebra Aₘ Bₘ
inst✝¹³ : Algebra A Aₘ
inst✝¹² : Algebra B Bₘ
inst✝¹¹ : Algebra A Bₘ
inst✝¹⁰ : IsScalarTower A Aₘ Bₘ
inst✝⁹ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝⁸ : IsLocalization M Aₘ
inst✝⁷ : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝⁶ : IsDomain A
inst✝⁵ : IsIntegrallyClosed A
inst✝⁴ : IsDomain B
inst✝³ : IsIntegrallyClosed B
inst✝² : Module.Finite A B
inst✝¹ : NoZeroSMulDivisors A B
inst✝ : IsGalois (FractionRing A) (FractionRing B)
x : B
this : IsIntegralClosure B A (FractionRing B)

⊢ (algebraMap A B) ((intNorm A B) x) = ∏ σ : B ≃ₐ[A] B, σ x
-- Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁰ : CommRing A
inst✝²⁹ : CommRing B
inst✝²⁸ : Algebra A B
inst✝²⁷ : Field K
inst✝²⁶ : Field L
inst✝²⁵ : Algebra A K
inst✝²⁴ : IsFractionRing A K
inst✝²³ : Algebra B L
inst✝²² : Algebra K L
inst✝²¹ : Algebra A L
inst✝²⁰ : IsScalarTower A B L
inst✝¹⁹ : IsScalarTower A K L
inst✝¹⁸ : IsIntegralClosure B A L
inst✝¹⁷ : FiniteDimensional K L
Aₘ : Type ?u.752508
Bₘ : Type ?u.752511
inst✝¹⁶ : CommRing Aₘ
inst✝¹⁵ : CommRing Bₘ
inst✝¹⁴ : Algebra Aₘ Bₘ
inst✝¹³ : Algebra A Aₘ
inst✝¹² : Algebra B Bₘ
inst✝¹¹ : Algebra A Bₘ
inst✝¹⁰ : IsScalarTower A Aₘ Bₘ
inst✝⁹ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝⁸ : IsLocalization M Aₘ
inst✝⁷ : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝⁶ : IsDomain A
inst✝⁵ : IsIntegrallyClosed A
inst✝⁴ : IsDomain B
inst✝³ : IsIntegrallyClosed B
inst✝² : Module.Finite A B
inst✝¹ : NoZeroSMulDivisors A B
inst✝ : IsGalois (FractionRing A) (FractionRing B)
x : B
this✝ : IsIntegralClosure B A (FractionRing B)
this : IsLocalization (algebraMapSubmonoid B A⁰) (FractionRing B)

⊢ (algebraMap A B) ((intNorm A B) x) = ∏ σ : B ≃ₐ[A] B, σ x
-- Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁰ : CommRing A
inst✝²⁹ : CommRing B
inst✝²⁸ : Algebra A B
inst✝²⁷ : Field K
inst✝²⁶ : Field L
inst✝²⁵ : Algebra A K
inst✝²⁴ : IsFractionRing A K
inst✝²³ : Algebra B L
inst✝²² : Algebra K L
inst✝²¹ : Algebra A L
inst✝²⁰ : IsScalarTower A B L
inst✝¹⁹ : IsScalarTower A K L
inst✝¹⁸ : IsIntegralClosure B A L
inst✝¹⁷ : FiniteDimensional K L
Aₘ : Type ?u.752508
Bₘ : Type ?u.752511
inst✝¹⁶ : CommRing Aₘ
inst✝¹⁵ : CommRing Bₘ
inst✝¹⁴ : Algebra Aₘ Bₘ
inst✝¹³ : Algebra A Aₘ
inst✝¹² : Algebra B Bₘ
inst✝¹¹ : Algebra A Bₘ
inst✝¹⁰ : IsScalarTower A Aₘ Bₘ
inst✝⁹ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝⁸ : IsLocalization M Aₘ
inst✝⁷ : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝⁶ : IsDomain A
inst✝⁵ : IsIntegrallyClosed A
inst✝⁴ : IsDomain B
inst✝³ : IsIntegrallyClosed B
inst✝² : Module.Finite A B
inst✝¹ : NoZeroSMulDivisors A B
inst✝ : IsGalois (FractionRing A) (FractionRing B)
x : B
this✝¹ : IsIntegralClosure B A (FractionRing B)
this✝ : IsLocalization (algebraMapSubmonoid B A⁰) (FractionRing B)
this : FiniteDimensional (FractionRing A) (FractionRing B)

⊢ (algebraMap A B) ((intNorm A B) x) = ∏ σ : B ≃ₐ[A] B, σ x
-- Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁰ : CommRing A
inst✝²⁹ : CommRing B
inst✝²⁸ : Algebra A B
inst✝²⁷ : Field K
inst✝²⁶ : Field L
inst✝²⁵ : Algebra A K
inst✝²⁴ : IsFractionRing A K
inst✝²³ : Algebra B L
inst✝²² : Algebra K L
inst✝²¹ : Algebra A L
inst✝²⁰ : IsScalarTower A B L
inst✝¹⁹ : IsScalarTower A K L
inst✝¹⁸ : IsIntegralClosure B A L
inst✝¹⁷ : FiniteDimensional K L
Aₘ : Type ?u.752508
Bₘ : Type ?u.752511
inst✝¹⁶ : CommRing Aₘ
inst✝¹⁵ : CommRing Bₘ
inst✝¹⁴ : Algebra Aₘ Bₘ
inst✝¹³ : Algebra A Aₘ
inst✝¹² : Algebra B Bₘ
inst✝¹¹ : Algebra A Bₘ
inst✝¹⁰ : IsScalarTower A Aₘ Bₘ
inst✝⁹ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝⁸ : IsLocalization M Aₘ
inst✝⁷ : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝⁶ : IsDomain A
inst✝⁵ : IsIntegrallyClosed A
inst✝⁴ : IsDomain B
inst✝³ : IsIntegrallyClosed B
inst✝² : Module.Finite A B
inst✝¹ : NoZeroSMulDivisors A B
inst✝ : IsGalois (FractionRing A) (FractionRing B)
x : B
this✝¹ : IsIntegralClosure B A (FractionRing B)
this✝ : IsLocalization (algebraMapSubmonoid B A⁰) (FractionRing B)
this : FiniteDimensional (FractionRing A) (FractionRing B)

⊢ (algebraMap A B) ((intNorm A B) x) = ∏ i : FractionRing B ≃ₐ[FractionRing A] FractionRing B, ((galRestrict A (FractionRing A) (FractionRing B) B).toEquiv i) x
-- Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁰ : CommRing A
inst✝²⁹ : CommRing B
inst✝²⁸ : Algebra A B
inst✝²⁷ : Field K
inst✝²⁶ : Field L
inst✝²⁵ : Algebra A K
inst✝²⁴ : IsFractionRing A K
inst✝²³ : Algebra B L
inst✝²² : Algebra K L
inst✝²¹ : Algebra A L
inst✝²⁰ : IsScalarTower A B L
inst✝¹⁹ : IsScalarTower A K L
inst✝¹⁸ : IsIntegralClosure B A L
inst✝¹⁷ : FiniteDimensional K L
Aₘ : Type ?u.752508
Bₘ : Type ?u.752511
inst✝¹⁶ : CommRing Aₘ
inst✝¹⁵ : CommRing Bₘ
inst✝¹⁴ : Algebra Aₘ Bₘ
inst✝¹³ : Algebra A Aₘ
inst✝¹² : Algebra B Bₘ
inst✝¹¹ : Algebra A Bₘ
inst✝¹⁰ : IsScalarTower A Aₘ Bₘ
inst✝⁹ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝⁸ : IsLocalization M Aₘ
inst✝⁷ : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝⁶ : IsDomain A
inst✝⁵ : IsIntegrallyClosed A
inst✝⁴ : IsDomain B
inst✝³ : IsIntegrallyClosed B
inst✝² : Module.Finite A B
inst✝¹ : NoZeroSMulDivisors A B
inst✝ : IsGalois (FractionRing A) (FractionRing B)
x : B
this✝¹ : IsIntegralClosure B A (FractionRing B)
this✝ : IsLocalization (algebraMapSubmonoid B A⁰) (FractionRing B)
this : FiniteDimensional (FractionRing A) (FractionRing B)

⊢ (algebraMap A B) ((intNorm A B) x) = ∏ x_1 : FractionRing B ≃ₐ[FractionRing A] FractionRing B, ((galRestrict A (FractionRing A) (FractionRing B) B) x_1) x
-- Mathlib/Algebra/AlgebraicCard.lean
R : Type u
A : Type v
inst✝⁴ : CommRing R
inst✝³ : CommRing A
inst✝² : IsDomain A
inst✝¹ : Algebra R A
inst✝ : NoZeroSMulDivisors R A

⊢ lift.{u, v} #{ x // IsAlgebraic R x } ≤ lift.{v, u} #R[X] * ℵ₀
-- Mathlib/Algebra/AlgebraicCard.lean
R : Type u
A : Type v
inst✝⁴ : CommRing R
inst✝³ : CommRing A
inst✝² : IsDomain A
inst✝¹ : Algebra R A
inst✝ : NoZeroSMulDivisors R A

⊢ #(ULift.{u, v} { x // IsAlgebraic R x }) ≤ #(ULift.{v, u} R[X]) * ℵ₀
-- Mathlib/Algebra/AlgebraicCard.lean
R : Type u
A : Type v
inst✝⁴ : CommRing R
inst✝³ : CommRing A
inst✝² : IsDomain A
inst✝¹ : Algebra R A
inst✝ : NoZeroSMulDivisors R A
g : ↑{x | IsAlgebraic R x} → R[X]
hg₁ : ∀ (x : ↑{x | IsAlgebraic R x}), g x ≠ 0
hg₂ : ∀ (x : ↑{x | IsAlgebraic R x}), (aeval ↑x) (g x) = 0

⊢ #(ULift.{u, v} { x // IsAlgebraic R x }) ≤ #(ULift.{v, u} R[X]) * ℵ₀
-- Mathlib/Algebra/AlgebraicCard.lean
R : Type u
A : Type v
inst✝⁴ : CommRing R
inst✝³ : CommRing A
inst✝² : IsDomain A
inst✝¹ : Algebra R A
inst✝ : NoZeroSMulDivisors R A
g : ↑{x | IsAlgebraic R x} → R[X]
hg₁ : ∀ (x : ↑{x | IsAlgebraic R x}), g x ≠ 0
hg₂ : ∀ (x : ↑{x | IsAlgebraic R x}), (aeval ↑x) (g x) = 0
f : R[X]

⊢ lift.{u, v} #↑(g ⁻¹' {f}) ≤ ℵ₀
-- Mathlib/Algebra/AlgebraicCard.lean
R : Type u
A : Type v
inst✝⁴ : CommRing R
inst✝³ : CommRing A
inst✝² : IsDomain A
inst✝¹ : Algebra R A
inst✝ : NoZeroSMulDivisors R A
g : ↑{x | IsAlgebraic R x} → R[X]
hg₁ : ∀ (x : ↑{x | IsAlgebraic R x}), g x ≠ 0
hg₂ : ∀ (x : ↑{x | IsAlgebraic R x}), (aeval ↑x) (g x) = 0
f : R[X]

⊢ (g ⁻¹' {f}).Countable
-- Mathlib/Algebra/AlgebraicCard.lean
R : Type u
A : Type v
inst✝⁴ : CommRing R
inst✝³ : CommRing A
inst✝² : IsDomain A
inst✝¹ : Algebra R A
inst✝ : NoZeroSMulDivisors R A
g : ↑{x | IsAlgebraic R x} → R[X]
hg₁ : ∀ (x : ↑{x | IsAlgebraic R x}), g x ≠ 0
hg₂ : ∀ (x : ↑{x | IsAlgebraic R x}), (aeval ↑x) (g x) = 0
f : R[X]

⊢ MapsTo Subtype.val (g ⁻¹' {f}) (f.rootSet A)
-- Mathlib/Algebra/AlgebraicCard.lean
R : Type u
A : Type v
inst✝⁴ : CommRing R
inst✝³ : CommRing A
inst✝² : IsDomain A
inst✝¹ : Algebra R A
inst✝ : NoZeroSMulDivisors R A
g : ↑{x | IsAlgebraic R x} → R[X]
hg₁ : ∀ (x : ↑{x | IsAlgebraic R x}), g x ≠ 0
hg₂ : ∀ (x : ↑{x | IsAlgebraic R x}), (aeval ↑x) (g x) = 0
x : ↑{x | IsAlgebraic R x}

⊢ ↑x ∈ (g x).rootSet A