ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- PerfectClosure.mk_pow
@[simp]
theorem mk_pow (x : ℕ × K) (n : ℕ) : mk K p x ^ n = mk K p (x.1, x.2 ^ n) 
Arguments: (K : Type u) [CommRing K] (p : ℕ) [Fact (Nat.Prime p)] [CharP K p] (x : ℕ × K) (n : ℕ)
Goal: PerfectClosure.mk K p x ^ n = PerfectClosure.mk K p (x.1, x.2 ^ n)
-- PerfectClosure.natCast
theorem natCast (n x : ℕ) : (x : PerfectClosure K p) = mk K p (n, x) 
Arguments: (K : Type u) [CommRing K] (p : ℕ) [Fact (Nat.Prime p)] [CharP K p] (n x : ℕ)
Goal: ↑x = PerfectClosure.mk K p (n, ↑x)
-- PerfectClosure.intCast
theorem intCast (x : ℤ) : (x : PerfectClosure K p) = mk K p (0, x) 
Arguments: (K : Type u) [CommRing K] (p : ℕ) [Fact (Nat.Prime p)] [CharP K p] (x : ℤ)
Goal: ↑x = PerfectClosure.mk K p (0, ↑x)
-- PerfectClosure.natCast_eq_iff
theorem natCast_eq_iff (x y : ℕ) : (x : PerfectClosure K p) = y ↔ (x : K) = y 
Arguments: (K : Type u) [CommRing K] (p : ℕ) [Fact (Nat.Prime p)] [CharP K p] (x y : ℕ)
Goal: ↑x = ↑y ↔ ↑x = ↑y
-- PerfectClosure.frobenius_mk
theorem frobenius_mk (x : ℕ × K) :
    (frobenius (PerfectClosure K p) p : PerfectClosure K p → PerfectClosure K p) (mk K p x) =
      mk _ _ (x.1, x.2 ^ p) 
Arguments: (K : Type u) [CommRing K] (p : ℕ) [Fact (Nat.Prime p)] [CharP K p] (x : ℕ × K)
Goal: (frobenius (PerfectClosure K p) p) (PerfectClosure.mk K p x) = PerfectClosure.mk K p (x.1, x.2 ^ p)
-- PerfectClosure.of_apply
theorem of_apply (x : K) : of K p x = mk _ _ (0, x) 
Arguments: (K : Type u) [CommRing K] (p : ℕ) [Fact (Nat.Prime p)] [CharP K p] (x : K)
Goal: (PerfectClosure.of K p) x = PerfectClosure.mk K p (0, x)
-- PerfectClosure.iterate_frobenius_mk
@[simp]
theorem iterate_frobenius_mk (n : ℕ) (x : K) :
    (frobenius (PerfectClosure K p) p)^[n] (mk K p ⟨n, x⟩) = of K p x 
Arguments: (K : Type u) [CommRing K] (p : ℕ) [Fact (Nat.Prime p)] [CharP K p] (n : ℕ) (x : K)
Goal: (⇑(frobenius (PerfectClosure K p) p))^[n] (PerfectClosure.mk K p (n, x)) = (PerfectClosure.of K p) x
-- PerfectClosure.eq_iff
theorem eq_iff [CommRing K] [IsReduced K] (p : ℕ) [Fact p.Prime] [CharP K p] (x y : ℕ × K) :
    mk K p x = mk K p y ↔ (frobenius K p)^[y.1] x.2 = (frobenius K p)^[x.1] y.2 
Arguments: (K : Type u) [CommRing K] [IsReduced K] (p : ℕ) [Fact (Nat.Prime p)] [CharP K p] (x y : ℕ × K)
Goal: PerfectClosure.mk K p x = PerfectClosure.mk K p y ↔ (⇑(frobenius K p))^[y.1] x.2 = (⇑(frobenius K p))^[x.1] y.2
-- PerfectClosure.mk_inv
@[simp]
theorem mk_inv (x : ℕ × K) : (mk K p x)⁻¹ = mk K p (x.1, x.2⁻¹) 
Arguments: (K : Type u) [Field K] (p : ℕ) [Fact (Nat.Prime p)] [CharP K p] (x : ℕ × K)
Goal: (PerfectClosure.mk K p x)⁻¹ = PerfectClosure.mk K p (x.1, x.2⁻¹)
-- FiniteField.trace_to_zmod_nondegenerate
theorem trace_to_zmod_nondegenerate (F : Type*) [Field F] [Finite F]
    [Algebra (ZMod (ringChar F)) F] {a : F} (ha : a ≠ 0) :
    ∃ b : F, Algebra.trace (ZMod (ringChar F)) F (a * b) ≠ 0 
Arguments: (F : Type u_1) [Field F] [Finite F] [Algebra (ZMod (ringChar F)) F] {a : F} (ha : a ≠ 0)
Goal: ∃ b, (Algebra.trace (ZMod (ringChar F)) F) (a * b) ≠ 0
-- minpoly.degree_le_of_ne_zero
theorem degree_le_of_ne_zero {p : A[X]} (pnz : p ≠ 0) (hp : Polynomial.aeval x p = 0) :
    degree (minpoly A x) ≤ degree p 
Arguments: (A : Type u_1) {B : Type u_2} [Field A] [Ring B] [Algebra A B] (x : B) {p : A[X]} (pnz : p ≠ 0) (hp : (Polynomial.aeval x) p = 0)
Goal: (minpoly A x).degree ≤ p.degree
-- minpoly.ne_zero_of_finite
theorem ne_zero_of_finite (e : B) [FiniteDimensional A B] : minpoly A e ≠ 0 
Arguments: (A : Type u_1) {B : Type u_2} [Field A] [Ring B] [Algebra A B] (e : B) [FiniteDimensional A B]
Goal: minpoly A e ≠ 0
-- minpoly.unique
theorem unique {p : A[X]} (pmonic : p.Monic) (hp : Polynomial.aeval x p = 0)
    (pmin : ∀ q : A[X], q.Monic → Polynomial.aeval x q = 0 → degree p ≤ degree q) :
    p = minpoly A x 
Arguments: (A : Type u_1) {B : Type u_2} [Field A] [Ring B] [Algebra A B] (x : B) {p : A[X]} (pmonic : p.Monic) (hp : (Polynomial.aeval x) p = 0) (pmin : ∀ (q : A[X]), q.Monic → (Polynomial.aeval x) q = 0 → p.degree ≤ q.degree)
Goal: p = minpoly A x
-- minpoly.dvd
theorem dvd {p : A[X]} (hp : Polynomial.aeval x p = 0) : minpoly A x ∣ p 
Arguments: (A : Type u_1) {B : Type u_2} [Field A] [Ring B] [Algebra A B] (x : B) {p : A[X]} (hp : (Polynomial.aeval x) p = 0)
Goal: minpoly A x ∣ p
-- minpoly.dvd_iff
lemma dvd_iff {p : A[X]} : minpoly A x ∣ p ↔ Polynomial.aeval x p = 0 
Arguments: {A : Type u_1} {B : Type u_2} [Field A] [Ring B] [Algebra A B] {x : B} {p : A[X]}
Goal: minpoly A x ∣ p ↔ (Polynomial.aeval x) p = 0
-- minpoly.isRadical
theorem isRadical [IsReduced B] : IsRadical (minpoly A x) 
Arguments: (A : Type u_1) {B : Type u_2} [Field A] [Ring B] [Algebra A B] (x : B) [IsReduced B]
Goal: IsRadical (minpoly A x)
-- minpoly.dvd_map_of_isScalarTower
theorem dvd_map_of_isScalarTower (A K : Type*) {R : Type*} [CommRing A] [Field K] [CommRing R]
    [Algebra A K] [Algebra A R] [Algebra K R] [IsScalarTower A K R] (x : R) :
    minpoly K x ∣ (minpoly A x).map (algebraMap A K) 
Arguments: (A : Type u_3) (K : Type u_4) {R : Type u_5} [CommRing A] [Field K] [CommRing R] [Algebra A K] [Algebra A R] [Algebra K R] [IsScalarTower A K R] (x : R)
Goal: minpoly K x ∣ Polynomial.map (algebraMap A K) (minpoly A x)
-- minpoly.dvd_map_of_isScalarTower'
theorem dvd_map_of_isScalarTower' (R : Type*) {S : Type*} (K L : Type*) [CommRing R]
    [CommRing S] [Field K] [CommRing L] [Algebra R S] [Algebra R K] [Algebra S L] [Algebra K L]
    [Algebra R L] [IsScalarTower R K L] [IsScalarTower R S L] (s : S) :
    minpoly K (algebraMap S L s) ∣ map (algebraMap R K) (minpoly R s) 
Arguments: (R : Type u_3) {S : Type u_4} (K : Type u_5) (L : Type u_6) [CommRing R] [CommRing S] [Field K] [CommRing L] [Algebra R S] [Algebra R K] [Algebra S L] [Algebra K L] [Algebra R L] [IsScalarTower R K L] [IsScalarTower R S L] (s : S)
Goal: minpoly K ((algebraMap S L) s) ∣ Polynomial.map (algebraMap R K) (minpoly R s)
-- minpoly.aeval_of_isScalarTower
theorem aeval_of_isScalarTower (R : Type*) {K T U : Type*} [CommRing R] [Field K] [CommRing T]
    [Algebra R K] [Algebra K T] [Algebra R T] [IsScalarTower R K T] [CommSemiring U] [Algebra K U]
    [Algebra R U] [IsScalarTower R K U] (x : T) (y : U)
    (hy : Polynomial.aeval y (minpoly K x) = 0) : Polynomial.aeval y (minpoly R x) = 0 
Arguments: (R : Type u_3) {K : Type u_4} {T : Type u_5} {U : Type u_6} [CommRing R] [Field K] [CommRing T] [Algebra R K] [Algebra K T] [Algebra R T] [IsScalarTower R K T] [CommSemiring U] [Algebra K U] [Algebra R U] [IsScalarTower R K U] (x : T) (y : U) (hy : (Polynomial.aeval y) (minpoly K x) = 0)
Goal: (Polynomial.aeval y) (minpoly R x) = 0
-- minpoly.ker_aeval_eq_span_minpoly
@[simp]
lemma ker_aeval_eq_span_minpoly :
    RingHom.ker (Polynomial.aeval x) = A[X] ∙ minpoly A x 
Arguments: (A : Type u_1) {B : Type u_2} [Field A] [Ring B] [Algebra A B] (x : B)
Goal: RingHom.ker (Polynomial.aeval x) = Submodule.span A[X] {minpoly A x}
-- minpoly.eq_of_irreducible_of_monic
theorem eq_of_irreducible_of_monic [Nontrivial B] {p : A[X]} (hp1 : Irreducible p)
    (hp2 : Polynomial.aeval x p = 0) (hp3 : p.Monic) : p = minpoly A x 
Arguments: {A : Type u_1} {B : Type u_2} [Field A] [Ring B] [Algebra A B] {x : B} [Nontrivial B] {p : A[X]} (hp1 : Irreducible p) (hp2 : (Polynomial.aeval x) p = 0) (hp3 : p.Monic)
Goal: p = minpoly A x
-- minpoly.eq_of_irreducible
theorem eq_of_irreducible [Nontrivial B] {p : A[X]} (hp1 : Irreducible p)
    (hp2 : Polynomial.aeval x p = 0) : p * C p.leadingCoeff⁻¹ = minpoly A x 
Arguments: {A : Type u_1} {B : Type u_2} [Field A] [Ring B] [Algebra A B] {x : B} [Nontrivial B] {p : A[X]} (hp1 : Irreducible p) (hp2 : (Polynomial.aeval x) p = 0)
Goal: p * Polynomial.C p.leadingCoeff⁻¹ = minpoly A x
-- minpoly.add_algebraMap
theorem add_algebraMap {B : Type*} [CommRing B] [Algebra A B] {x : B} (hx : IsIntegral A x)
    (a : A) : minpoly A (x + algebraMap A B a) = (minpoly A x).comp (X - C a) 
Arguments: {A : Type u_1} [Field A] {B : Type u_3} [CommRing B] [Algebra A B] {x : B} (hx : IsIntegral A x) (a : A)
Goal: minpoly A (x + (algebraMap A B) a) = (minpoly A x).comp (Polynomial.X - Polynomial.C a)
-- minpoly.sub_algebraMap
theorem sub_algebraMap {B : Type*} [CommRing B] [Algebra A B] {x : B} (hx : IsIntegral A x)
    (a : A) : minpoly A (x - algebraMap A B a) = (minpoly A x).comp (X + C a) 
Arguments: {A : Type u_1} [Field A] {B : Type u_3} [CommRing B] [Algebra A B] {x : B} (hx : IsIntegral A x) (a : A)
Goal: minpoly A (x - (algebraMap A B) a) = (minpoly A x).comp (Polynomial.X + Polynomial.C a)
-- minpoly.aux_inj_roots_of_min_poly
theorem aux_inj_roots_of_min_poly : Injective (rootsOfMinPolyPiType F E K) 
Arguments: (F : Type u_3) (E : Type u_4) (K : Type u_5) [Field F] [Ring E] [CommRing K] [IsDomain K] [Algebra F E] [Algebra F K] [FiniteDimensional F E]
Goal: Function.Injective (minpoly.rootsOfMinPolyPiType F E K)
-- minpoly.eq_X_sub_C
theorem eq_X_sub_C (a : A) : minpoly A (algebraMap A B a) = X - C a 
Arguments: {A : Type u_1} (B : Type u_2) [Field A] [Ring B] [Algebra A B] [Nontrivial B] (a : A)
Goal: minpoly A ((algebraMap A B) a) = Polynomial.X - Polynomial.C a
-- minpoly.eq_X_sub_C'
theorem eq_X_sub_C' (a : A) : minpoly A a = X - C a 
Arguments: {A : Type u_1} [Field A] (a : A)
Goal: minpoly A a = Polynomial.X - Polynomial.C a
-- minpoly.zero
@[simp]
theorem zero : minpoly A (0 : B) = X 
Arguments: (A : Type u_1) (B : Type u_2) [Field A] [Ring B] [Algebra A B] [Nontrivial B]
Goal: minpoly A 0 = Polynomial.X
-- minpoly.one
@[simp]
theorem one : minpoly A (1 : B) = X - 1 
Arguments: (A : Type u_1) (B : Type u_2) [Field A] [Ring B] [Algebra A B] [Nontrivial B]
Goal: minpoly A 1 = Polynomial.X - 1
-- minpoly.prime
theorem prime (hx : IsIntegral A x) : Prime (minpoly A x) 
Arguments: {A : Type u_1} {B : Type u_2} [Field A] [Ring B] [IsDomain B] [Algebra A B] {x : B} (hx : IsIntegral A x)
Goal: Prime (minpoly A x)
-- minpoly.root
theorem root {x : B} (hx : IsIntegral A x) {y : A} (h : IsRoot (minpoly A x) y) :
    algebraMap A B y = x 
Arguments: {A : Type u_1} {B : Type u_2} [Field A] [Ring B] [IsDomain B] [Algebra A B] {x : B} (hx : IsIntegral A x) {y : A} (h : (minpoly A x).IsRoot y)
Goal: (algebraMap A B) y = x
-- minpoly.coeff_zero_eq_zero
@[simp]
theorem coeff_zero_eq_zero (hx : IsIntegral A x) : coeff (minpoly A x) 0 = 0 ↔ x = 0 
Arguments: {A : Type u_1} {B : Type u_2} [Field A] [Ring B] [IsDomain B] [Algebra A B] {x : B} (hx : IsIntegral A x)
Goal: (minpoly A x).coeff 0 = 0 ↔ x = 0
-- minpoly.coeff_zero_ne_zero
theorem coeff_zero_ne_zero (hx : IsIntegral A x) (h : x ≠ 0) : coeff (minpoly A x) 0 ≠ 0 
Arguments: {A : Type u_1} {B : Type u_2} [Field A] [Ring B] [IsDomain B] [Algebra A B] {x : B} (hx : IsIntegral A x) (h : x ≠ 0)
Goal: (minpoly A x).coeff 0 ≠ 0
-- minpoly_algEquiv_toLinearMap
lemma minpoly_algEquiv_toLinearMap (σ : L ≃ₐ[K] L) (hσ : IsOfFinOrder σ) :
    minpoly K σ.toLinearMap = X ^ (orderOf σ) - C 1 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [CommRing L] [IsDomain L] [Algebra K L] (σ : L ≃ₐ[K] L) (hσ : IsOfFinOrder σ)
Goal: minpoly K σ.toLinearMap = Polynomial.X ^ orderOf σ - Polynomial.C 1
-- minpoly_algHom_toLinearMap
lemma minpoly_algHom_toLinearMap (σ : L →ₐ[K] L) (hσ : IsOfFinOrder σ) :
    minpoly K σ.toLinearMap = X ^ (orderOf σ) - C 1 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [CommRing L] [IsDomain L] [Algebra K L] (σ : L →ₐ[K] L) (hσ : IsOfFinOrder σ)
Goal: minpoly K σ.toLinearMap = Polynomial.X ^ orderOf σ - Polynomial.C 1
-- IsAlgClosed.splits
class IsAlgClosed : Prop where
  splits : ∀ p : k[X], p.Splits <| RingHom.id k
Arguments: {k : Type u} [Field k] [self : IsAlgClosed k] (p : k[X])
Goal: Polynomial.Splits (RingHom.id k) p
-- IsAlgClosed.splits_codomain
theorem IsAlgClosed.splits_codomain {k K : Type*} [Field k] [IsAlgClosed k] [Field K] {f : K →+* k}
    (p : K[X]) : p.Splits f 
Arguments: {k : Type u_1} {K : Type u_2} [Field k] [IsAlgClosed k] [Field K] {f : K →+* k} (p : K[X])
Goal: Polynomial.Splits f p
-- IsAlgClosed.splits_domain
theorem IsAlgClosed.splits_domain {k K : Type*} [Field k] [IsAlgClosed k] [Field K] {f : k →+* K}
    (p : k[X]) : p.Splits f 
Arguments: {k : Type u_1} {K : Type u_2} [Field k] [IsAlgClosed k] [Field K] {f : k →+* K} (p : k[X])
Goal: Polynomial.Splits f p
-- IsAlgClosed.exists_root
theorem exists_root [IsAlgClosed k] (p : k[X]) (hp : p.degree ≠ 0) : ∃ x, IsRoot p x 
Arguments: {k : Type u} [Field k] [IsAlgClosed k] (p : k[X]) (hp : p.degree ≠ 0)
Goal: ∃ x, p.IsRoot x
-- IsAlgClosed.exists_pow_nat_eq
theorem exists_pow_nat_eq [IsAlgClosed k] (x : k) {n : ℕ} (hn : 0 < n) : ∃ z, z ^ n = x 
Arguments: {k : Type u} [Field k] [IsAlgClosed k] (x : k) {n : ℕ} (hn : 0 < n)
Goal: ∃ z, z ^ n = x
-- IsAlgClosed.exists_eq_mul_self
theorem exists_eq_mul_self [IsAlgClosed k] (x : k) : ∃ z, x = z * z 
Arguments: {k : Type u} [Field k] [IsAlgClosed k] (x : k)
Goal: ∃ z, x = z * z
-- IsAlgClosed.roots_eq_zero_iff
theorem roots_eq_zero_iff [IsAlgClosed k] {p : k[X]} :
    p.roots = 0 ↔ p = Polynomial.C (p.coeff 0) 
Arguments: {k : Type u} [Field k] [IsAlgClosed k] {p : k[X]}
Goal: p.roots = 0 ↔ p = Polynomial.C (p.coeff 0)
-- IsAlgClosed.exists_eval₂_eq_zero_of_injective
theorem exists_eval₂_eq_zero_of_injective {R : Type*} [Ring R] [IsAlgClosed k] (f : R →+* k)
    (hf : Function.Injective f) (p : R[X]) (hp : p.degree ≠ 0) : ∃ x, p.eval₂ f x = 0 
Arguments: {k : Type u} [Field k] {R : Type u_1} [Ring R] [IsAlgClosed k] (f : R →+* k) (hf : Function.Injective ⇑f) (p : R[X]) (hp : p.degree ≠ 0)
Goal: ∃ x, Polynomial.eval₂ f x p = 0
-- IsAlgClosed.exists_eval₂_eq_zero
theorem exists_eval₂_eq_zero {R : Type*} [Field R] [IsAlgClosed k] (f : R →+* k) (p : R[X])
    (hp : p.degree ≠ 0) : ∃ x, p.eval₂ f x = 0 
Arguments: {k : Type u} [Field k] {R : Type u_1} [Field R] [IsAlgClosed k] (f : R →+* k) (p : R[X]) (hp : p.degree ≠ 0)
Goal: ∃ x, Polynomial.eval₂ f x p = 0
-- IsAlgClosed.exists_aeval_eq_zero_of_injective
theorem exists_aeval_eq_zero_of_injective {R : Type*} [CommRing R] [IsAlgClosed k] [Algebra R k]
    (hinj : Function.Injective (algebraMap R k)) (p : R[X]) (hp : p.degree ≠ 0) :
    ∃ x : k, aeval x p = 0 
Arguments: (k : Type u) [Field k] {R : Type u_1} [CommRing R] [IsAlgClosed k] [Algebra R k] (hinj : Function.Injective ⇑(algebraMap R k)) (p : R[X]) (hp : p.degree ≠ 0)
Goal: ∃ x, (Polynomial.aeval x) p = 0
-- IsAlgClosed.exists_aeval_eq_zero
theorem exists_aeval_eq_zero {R : Type*} [Field R] [IsAlgClosed k] [Algebra R k] (p : R[X])
    (hp : p.degree ≠ 0) : ∃ x : k, aeval x p = 0 
Arguments: (k : Type u) [Field k] {R : Type u_1} [Field R] [IsAlgClosed k] [Algebra R k] (p : R[X]) (hp : p.degree ≠ 0)
Goal: ∃ x, (Polynomial.aeval x) p = 0
-- IsAlgClosed.of_exists_root
theorem of_exists_root (H : ∀ p : k[X], p.Monic → Irreducible p → ∃ x, p.eval x = 0) :
    IsAlgClosed k 
Arguments: (k : Type u) [Field k] (H : ∀ (p : k[X]), p.Monic → Irreducible p → ∃ x, Polynomial.eval x p = 0)
Goal: IsAlgClosed k
-- IsAlgClosed.of_ringEquiv
theorem of_ringEquiv (k' : Type u) [Field k'] (e : k ≃+* k')
    [IsAlgClosed k] : IsAlgClosed k' 
Arguments: (k : Type u) [Field k] (k' : Type u) [Field k'] (e : k ≃+* k') [IsAlgClosed k]
Goal: IsAlgClosed k'
-- IsAlgClosed.degree_eq_one_of_irreducible
theorem degree_eq_one_of_irreducible [IsAlgClosed k] {p : k[X]} (hp : Irreducible p) :
    p.degree = 1 
Arguments: (k : Type u) [Field k] [IsAlgClosed k] {p : k[X]} (hp : Irreducible p)
Goal: p.degree = 1
-- IsAlgClosed.algebraMap_surjective_of_isIntegral
theorem algebraMap_surjective_of_isIntegral {k K : Type*} [Field k] [Ring K] [IsDomain K]
    [hk : IsAlgClosed k] [Algebra k K] [Algebra.IsIntegral k K] :
    Function.Surjective (algebraMap k K) 
Arguments: {k : Type u_1} {K : Type u_2} [Field k] [Ring K] [IsDomain K] [hk : IsAlgClosed k] [Algebra k K] [Algebra.IsIntegral k K]
Goal: Function.Surjective ⇑(algebraMap k K)
-- IsAlgClosed.algebraMap_surjective_of_isIntegral'
theorem algebraMap_surjective_of_isIntegral' {k K : Type*} [Field k] [CommRing K] [IsDomain K]
    [IsAlgClosed k] (f : k →+* K) (hf : f.IsIntegral) : Function.Surjective f 
Arguments: {k : Type u_1} {K : Type u_2} [Field k] [CommRing K] [IsDomain K] [IsAlgClosed k] (f : k →+* K) (hf : f.IsIntegral)
Goal: Function.Surjective ⇑f
-- IsAlgClosed.algebraMap_surjective_of_isAlgebraic
@[deprecated algebraMap_surjective_of_isIntegral (since := "2024-05-08")]
theorem algebraMap_surjective_of_isAlgebraic {k K : Type*} [Field k] [Ring K] [IsDomain K]
    [IsAlgClosed k] [Algebra k K] [Algebra.IsAlgebraic k K] :
    Function.Surjective (algebraMap k K) 
Arguments: {k : Type u_1} {K : Type u_2} [Field k] [Ring K] [IsDomain K] [IsAlgClosed k] [Algebra k K] [Algebra.IsAlgebraic k K]
Goal: Function.Surjective ⇑(algebraMap k K)
-- IntermediateField.eq_bot_of_isAlgClosed_of_isAlgebraic
theorem IntermediateField.eq_bot_of_isAlgClosed_of_isAlgebraic {k K : Type*} [Field k] [Field K]
    [IsAlgClosed k] [Algebra k K] (L : IntermediateField k K) [Algebra.IsAlgebraic k L] :
    L = ⊥ 
Arguments: {k : Type u_1} {K : Type u_2} [Field k] [Field K] [IsAlgClosed k] [Algebra k K] (L : IntermediateField k K) [Algebra.IsAlgebraic k ↥L]
Goal: L = ⊥
-- Polynomial.isCoprime_iff_aeval_ne_zero_of_isAlgClosed
lemma Polynomial.isCoprime_iff_aeval_ne_zero_of_isAlgClosed (K : Type v) [Field K] [IsAlgClosed K]
    [Algebra k K] (p q : k[X]) : IsCoprime p q ↔ ∀ a : K, aeval a p ≠ 0 ∨ aeval a q ≠ 0 
Arguments: (k : Type u) [Field k] (K : Type v) [Field K] [IsAlgClosed K] [Algebra k K] (p q : k[X])
Goal: IsCoprime p q ↔ ∀ (a : K), (Polynomial.aeval a) p ≠ 0 ∨ (Polynomial.aeval a) q ≠ 0
-- IsAlgClosure.algebraic
class IsAlgClosure (R : Type u) (K : Type v) [CommRing R] [Field K] [Algebra R K]
    [NoZeroSMulDivisors R K] : Prop where
  alg_closed : IsAlgClosed K
  algebraic : Algebra.IsAlgebraic R K
Arguments: {R : Type u} {K : Type v} [CommRing R] [Field K] [Algebra R K] [NoZeroSMulDivisors R K] [self : IsAlgClosure R K]
Goal: Algebra.IsAlgebraic R K
-- IsAlgClosure.alg_closed
class IsAlgClosure (R : Type u) (K : Type v) [CommRing R] [Field K] [Algebra R K]
    [NoZeroSMulDivisors R K] : Prop where
  alg_closed : IsAlgClosed K
  algebraic : Algebra.IsAlgebraic R K
Arguments: (R : Type u) {K : Type v} [CommRing R] [Field K] [Algebra R K] [NoZeroSMulDivisors R K] [self : IsAlgClosure R K]
Goal: IsAlgClosed K
-- isAlgClosure_iff
theorem isAlgClosure_iff (K : Type v) [Field K] [Algebra k K] :
    IsAlgClosure k K ↔ IsAlgClosed K ∧ Algebra.IsAlgebraic k K 
Arguments: (k : Type u) [Field k] (K : Type v) [Field K] [Algebra k K]
Goal: IsAlgClosure k K ↔ IsAlgClosed K ∧ Algebra.IsAlgebraic k K
-- IsAlgClosed.surjective_comp_algebraMap_of_isAlgebraic
theorem surjective_comp_algebraMap_of_isAlgebraic {E : Type*}
    [Field E] [Algebra K E] [Algebra L E] [IsScalarTower K L E] [Algebra.IsAlgebraic L E] :
    Function.Surjective fun φ : E →ₐ[K] M ↦ φ.comp (IsScalarTower.toAlgHom K L E) 
Arguments: {K : Type u} [Field K] {L : Type v} {M : Type w} [Field L] [Algebra K L] [Field M] [Algebra K M] [IsAlgClosed M] {E : Type u_1} [Field E] [Algebra K E] [Algebra L E] [IsScalarTower K L E] [Algebra.IsAlgebraic L E]
Goal: Function.Surjective fun φ => φ.comp (IsScalarTower.toAlgHom K L E)
-- _private.Mathlib.FieldTheory.IsAlgClosed.Basic.0.IsAlgClosed.lift_aux_def
private noncomputable irreducible_def lift_aux : L →ₐ[K] M 
Arguments: (K : Type u_1) [Field K] (L : Type u_2) (M : Type u_3) [Field L] [Algebra K L] [Field M] [Algebra K M] [IsAlgClosed M] [Algebra.IsAlgebraic K L]
Goal: IsAlgClosed.lift_aux K L M = Classical.choice ⋯
-- IsAlgClosed.lift_def
noncomputable irreducible_def lift : S →ₐ[R] M 
Arguments: {M : Type u_1} [Field M] [IsAlgClosed M] {R : Type u_2} [CommRing R] {S : Type u_3} [CommRing S] [IsDomain S] [Algebra R S] [Algebra R M] [NoZeroSMulDivisors R S] [NoZeroSMulDivisors R M] [Algebra.IsAlgebraic R S]
Goal: IsAlgClosed.lift =
  let_fun this := ⋯;
  let_fun this_1 := ⋯;
  let f := IsAlgClosed.lift_aux (FractionRing R) (FractionRing S) M;
  (AlgHom.restrictScalars R f).comp (AlgHom.restrictScalars R (Algebra.ofId S (FractionRing S)))
-- IsAlgClosure.ofAlgebraic
theorem ofAlgebraic [hKJ : Algebra.IsAlgebraic K J] : IsAlgClosure K L 
Arguments: (K : Type u_1) (J : Type u_2) (L : Type v) [Field K] [Field J] [Field L] [Algebra K J] [Algebra J L] [IsAlgClosure J L] [Algebra K L] [IsScalarTower K J L] [hKJ : Algebra.IsAlgebraic K J]
Goal: IsAlgClosure K L
-- IsAlgClosure.equivOfEquiv_comp_algebraMap
@[simp]
theorem equivOfEquiv_comp_algebraMap (hSR : S ≃+* R) :
    (↑(equivOfEquiv L M hSR) : L →+* M).comp (algebraMap S L) = (algebraMap R M).comp hSR 
Arguments: {R : Type u} {S : Type u_3} (L : Type v) (M : Type w) [CommRing R] [CommRing S] [Field L] [Field M] [Algebra R M] [NoZeroSMulDivisors R M] [IsAlgClosure R M] [Algebra S L] [NoZeroSMulDivisors S L] [IsAlgClosure S L] (hSR : S ≃+* R)
Goal: (↑(IsAlgClosure.equivOfEquiv L M hSR)).comp (algebraMap S L) = (algebraMap R M).comp ↑hSR
-- IsAlgClosure.equivOfEquiv_algebraMap
@[simp]
theorem equivOfEquiv_algebraMap (hSR : S ≃+* R) (s : S) :
    equivOfEquiv L M hSR (algebraMap S L s) = algebraMap R M (hSR s) 
Arguments: {R : Type u} {S : Type u_3} (L : Type v) (M : Type w) [CommRing R] [CommRing S] [Field L] [Field M] [Algebra R M] [NoZeroSMulDivisors R M] [IsAlgClosure R M] [Algebra S L] [NoZeroSMulDivisors S L] [IsAlgClosure S L] (hSR : S ≃+* R) (s : S)
Goal: (IsAlgClosure.equivOfEquiv L M hSR) ((algebraMap S L) s) = (algebraMap R M) (hSR s)
-- IsAlgClosure.equivOfEquiv_symm_algebraMap
@[simp]
theorem equivOfEquiv_symm_algebraMap (hSR : S ≃+* R) (r : R) :
    (equivOfEquiv L M hSR).symm (algebraMap R M r) = algebraMap S L (hSR.symm r) 
Arguments: {R : Type u} {S : Type u_3} (L : Type v) (M : Type w) [CommRing R] [CommRing S] [Field L] [Field M] [Algebra R M] [NoZeroSMulDivisors R M] [IsAlgClosure R M] [Algebra S L] [NoZeroSMulDivisors S L] [IsAlgClosure S L] (hSR : S ≃+* R) (r : R)
Goal: (IsAlgClosure.equivOfEquiv L M hSR).symm ((algebraMap R M) r) = (algebraMap S L) (hSR.symm r)
-- IsAlgClosure.equivOfEquiv_symm_comp_algebraMap
@[simp]
theorem equivOfEquiv_symm_comp_algebraMap (hSR : S ≃+* R) :
    ((equivOfEquiv L M hSR).symm : M →+* L).comp (algebraMap R M) =
      (algebraMap S L).comp hSR.symm 
Arguments: {R : Type u} {S : Type u_3} (L : Type v) (M : Type w) [CommRing R] [CommRing S] [Field L] [Field M] [Algebra R M] [NoZeroSMulDivisors R M] [IsAlgClosure R M] [Algebra S L] [NoZeroSMulDivisors S L] [IsAlgClosure S L] (hSR : S ≃+* R)
Goal: (↑(IsAlgClosure.equivOfEquiv L M hSR).symm).comp (algebraMap R M) = (algebraMap S L).comp ↑hSR.symm
-- Algebra.IsAlgebraic.range_eval_eq_rootSet_minpoly
theorem Algebra.IsAlgebraic.range_eval_eq_rootSet_minpoly [IsAlgClosed A] (x : K) :
    (Set.range fun ψ : K →ₐ[F] A ↦ ψ x) = (minpoly F x).rootSet A 
Arguments: {F : Type u_1} {K : Type u_2} (A : Type u_3) [Field F] [Field K] [Field A] [Algebra F K] [Algebra F A] [Algebra.IsAlgebraic F K] [IsAlgClosed A] (x : K)
Goal: (Set.range fun ψ => ψ x) = (minpoly F x).rootSet A
-- IntermediateField.algHomEquivAlgHomOfSplits_symm_apply
@[simps]
def IntermediateField.algHomEquivAlgHomOfSplits (L : IntermediateField F A)
    (hL : ∀ x : K, (minpoly F x).Splits (algebraMap F L)) :
    (K →ₐ[F] L) ≃ (K →ₐ[F] A) 
Arguments: {F : Type u_1} {K : Type u_2} (A : Type u_3) [Field F] [Field K] [Field A] [Algebra F K] [Algebra F A] [Algebra.IsAlgebraic F K] (L : IntermediateField F A) (hL : ∀ (x : K), Polynomial.Splits (algebraMap F ↥L) (minpoly F x)) (f : K →ₐ[F] A)
Goal: (IntermediateField.algHomEquivAlgHomOfSplits A L hL).symm f = f.codRestrict L.toSubalgebra ⋯
-- IntermediateField.algHomEquivAlgHomOfSplits_apply
@[simps]
def IntermediateField.algHomEquivAlgHomOfSplits (L : IntermediateField F A)
    (hL : ∀ x : K, (minpoly F x).Splits (algebraMap F L)) :
    (K →ₐ[F] L) ≃ (K →ₐ[F] A) 
Arguments: {F : Type u_1} {K : Type u_2} (A : Type u_3) [Field F] [Field K] [Field A] [Algebra F K] [Algebra F A] [Algebra.IsAlgebraic F K] (L : IntermediateField F A) (hL : ∀ (x : K), Polynomial.Splits (algebraMap F ↥L) (minpoly F x)) (φ₂ : K →ₐ[F] ↥L)
Goal: (IntermediateField.algHomEquivAlgHomOfSplits A L hL) φ₂ = L.val.comp φ₂