ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Module.Dual.isCompl_ker_of_disjoint_of_ne_bot
lemma isCompl_ker_of_disjoint_of_ne_bot {p : Submodule K V₁}
    (hpf : Disjoint (LinearMap.ker f) p) (hp : p ≠ ⊥) :
    IsCompl (LinearMap.ker f) p 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} [AddCommGroup V₁] [Module K V₁] [FiniteDimensional K V₁] {f : Module.Dual K V₁} (hf : f ≠ 0) {p : Submodule K V₁} (hpf : Disjoint (LinearMap.ker f) p) (hp : p ≠ ⊥)
Goal: IsCompl (LinearMap.ker f) p
-- Module.Dual.eq_of_ker_eq_of_apply_eq
lemma eq_of_ker_eq_of_apply_eq {f g : Module.Dual K V₁} (x : V₁)
    (h : LinearMap.ker f = LinearMap.ker g) (h' : f x = g x) (hx : f x ≠ 0) :
    f = g 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} [AddCommGroup V₁] [Module K V₁] [FiniteDimensional K V₁] {f g : Module.Dual K V₁} (x : V₁) (h : LinearMap.ker f = LinearMap.ker g) (h' : f x = g x) (hx : f x ≠ 0)
Goal: f = g
-- LinearMap.dualPairing_nondegenerate
theorem dualPairing_nondegenerate : (dualPairing K V₁).Nondegenerate 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} [AddCommGroup V₁] [Module K V₁]
Goal: (Module.dualPairing K V₁).Nondegenerate
-- LinearMap.dualMap_surjective_of_injective
theorem dualMap_surjective_of_injective {f : V₁ →ₗ[K] V₂} (hf : Function.Injective f) :
    Function.Surjective f.dualMap 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] {f : V₁ →ₗ[K] V₂} (hf : Function.Injective ⇑f)
Goal: Function.Surjective ⇑f.dualMap
-- LinearMap.range_dualMap_eq_dualAnnihilator_ker
theorem range_dualMap_eq_dualAnnihilator_ker (f : V₁ →ₗ[K] V₂) :
    LinearMap.range f.dualMap = f.ker.dualAnnihilator 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] (f : V₁ →ₗ[K] V₂)
Goal: LinearMap.range f.dualMap = (LinearMap.ker f).dualAnnihilator
-- LinearMap.dualMap_surjective_iff
@[simp]
theorem dualMap_surjective_iff {f : V₁ →ₗ[K] V₂} :
    Function.Surjective f.dualMap ↔ Function.Injective f 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] {f : V₁ →ₗ[K] V₂}
Goal: Function.Surjective ⇑f.dualMap ↔ Function.Injective ⇑f
-- Subspace.dualPairing_eq
theorem dualPairing_eq (W : Subspace K V₁) :
    W.dualPairing = W.quotAnnihilatorEquiv.toLinearMap 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} [AddCommGroup V₁] [Module K V₁] (W : Subspace K V₁)
Goal: Submodule.dualPairing W = ↑W.quotAnnihilatorEquiv
-- Subspace.dualPairing_nondegenerate
theorem dualPairing_nondegenerate (W : Subspace K V₁) : W.dualPairing.Nondegenerate 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} [AddCommGroup V₁] [Module K V₁] (W : Subspace K V₁)
Goal: (Submodule.dualPairing W).Nondegenerate
-- Subspace.dualCopairing_nondegenerate
theorem dualCopairing_nondegenerate (W : Subspace K V₁) : W.dualCopairing.Nondegenerate 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} [AddCommGroup V₁] [Module K V₁] (W : Subspace K V₁)
Goal: (Submodule.dualCopairing W).Nondegenerate
-- Subspace.dualAnnihilator_inf_eq
theorem dualAnnihilator_inf_eq (W W' : Subspace K V₁) :
    (W ⊓ W').dualAnnihilator = W.dualAnnihilator ⊔ W'.dualAnnihilator 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} [AddCommGroup V₁] [Module K V₁] (W W' : Subspace K V₁)
Goal: Submodule.dualAnnihilator (W ⊓ W') = Submodule.dualAnnihilator W ⊔ Submodule.dualAnnihilator W'
-- Subspace.dualAnnihilator_iInf_eq
theorem dualAnnihilator_iInf_eq {ι : Type*} [Finite ι] (W : ι → Subspace K V₁) :
    (⨅ i : ι, W i).dualAnnihilator = ⨆ i : ι, (W i).dualAnnihilator 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} [AddCommGroup V₁] [Module K V₁] {ι : Type u_1} [Finite ι] (W : ι → Subspace K V₁)
Goal: Submodule.dualAnnihilator (⨅ i, W i) = ⨆ i, Submodule.dualAnnihilator (W i)
-- Subspace.isCompl_dualAnnihilator
theorem isCompl_dualAnnihilator {W W' : Subspace K V₁} (h : IsCompl W W') :
    IsCompl W.dualAnnihilator W'.dualAnnihilator 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} [AddCommGroup V₁] [Module K V₁] {W W' : Subspace K V₁} (h : IsCompl W W')
Goal: IsCompl (Submodule.dualAnnihilator W) (Submodule.dualAnnihilator W')
-- LinearMap.finrank_range_dualMap_eq_finrank_range
@[simp]
theorem finrank_range_dualMap_eq_finrank_range (f : V₁ →ₗ[K] V₂) :
    -- Porting note (#11036): broken dot notation lean4#1910
    finrank K (LinearMap.range f.dualMap) = finrank K (LinearMap.range f) 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] (f : V₁ →ₗ[K] V₂)
Goal: FiniteDimensional.finrank K ↥(LinearMap.range f.dualMap) = FiniteDimensional.finrank K ↥(LinearMap.range f)
-- LinearMap.dualMap_injective_iff
@[simp]
theorem dualMap_injective_iff {f : V₁ →ₗ[K] V₂} :
    Function.Injective f.dualMap ↔ Function.Surjective f 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] {f : V₁ →ₗ[K] V₂}
Goal: Function.Injective ⇑f.dualMap ↔ Function.Surjective ⇑f
-- LinearMap.dualMap_bijective_iff
@[simp]
theorem dualMap_bijective_iff {f : V₁ →ₗ[K] V₂} :
    Function.Bijective f.dualMap ↔ Function.Bijective f 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] {f : V₁ →ₗ[K] V₂}
Goal: Function.Bijective ⇑f.dualMap ↔ Function.Bijective ⇑f
-- LinearMap.dualAnnihilator_ker_eq_range_flip
@[simp]
lemma dualAnnihilator_ker_eq_range_flip [IsReflexive K V₂] :
    (ker B).dualAnnihilator = range B.flip 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] {B : V₁ →ₗ[K] V₂ →ₗ[K] K} [Module.IsReflexive K V₂]
Goal: (LinearMap.ker B).dualAnnihilator = LinearMap.range B.flip
-- LinearMap.flip_injective_iff₁
theorem flip_injective_iff₁ [FiniteDimensional K V₁] : Injective B.flip ↔ Surjective B 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] {B : V₁ →ₗ[K] V₂ →ₗ[K] K} [FiniteDimensional K V₁]
Goal: Function.Injective ⇑B.flip ↔ Function.Surjective ⇑B
-- LinearMap.flip_injective_iff₂
theorem flip_injective_iff₂ [FiniteDimensional K V₂] : Injective B.flip ↔ Surjective B 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] {B : V₁ →ₗ[K] V₂ →ₗ[K] K} [FiniteDimensional K V₂]
Goal: Function.Injective ⇑B.flip ↔ Function.Surjective ⇑B
-- LinearMap.flip_surjective_iff₁
theorem flip_surjective_iff₁ [FiniteDimensional K V₁] : Surjective B.flip ↔ Injective B 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] {B : V₁ →ₗ[K] V₂ →ₗ[K] K} [FiniteDimensional K V₁]
Goal: Function.Surjective ⇑B.flip ↔ Function.Injective ⇑B
-- LinearMap.flip_surjective_iff₂
theorem flip_surjective_iff₂ [FiniteDimensional K V₂] : Surjective B.flip ↔ Injective B 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] {B : V₁ →ₗ[K] V₂ →ₗ[K] K} [FiniteDimensional K V₂]
Goal: Function.Surjective ⇑B.flip ↔ Function.Injective ⇑B
-- LinearMap.flip_bijective_iff₁
theorem flip_bijective_iff₁ [FiniteDimensional K V₁] : Bijective B.flip ↔ Bijective B 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] {B : V₁ →ₗ[K] V₂ →ₗ[K] K} [FiniteDimensional K V₁]
Goal: Function.Bijective ⇑B.flip ↔ Function.Bijective ⇑B
-- LinearMap.flip_bijective_iff₂
theorem flip_bijective_iff₂ [FiniteDimensional K V₂] : Bijective B.flip ↔ Bijective B 
Arguments: {K : Type uK} [Field K] {V₁ : Type uV₁} {V₂ : Type uV₂} [AddCommGroup V₁] [Module K V₁] [AddCommGroup V₂] [Module K V₂] {B : V₁ →ₗ[K] V₂ →ₗ[K] K} [FiniteDimensional K V₂]
Goal: Function.Bijective ⇑B.flip ↔ Function.Bijective ⇑B
-- Subspace.quotDualCoannihilatorToDual_bijective
theorem quotDualCoannihilatorToDual_bijective (W : Subspace K (Dual K V)) [FiniteDimensional K W] :
    Function.Bijective W.quotDualCoannihilatorToDual 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] (W : Subspace K (Module.Dual K V)) [FiniteDimensional K ↥W]
Goal: Function.Bijective ⇑(Submodule.quotDualCoannihilatorToDual W)
-- Subspace.flip_quotDualCoannihilatorToDual_bijective
theorem flip_quotDualCoannihilatorToDual_bijective (W : Subspace K (Dual K V))
    [FiniteDimensional K W] : Function.Bijective W.quotDualCoannihilatorToDual.flip 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] (W : Subspace K (Module.Dual K V)) [FiniteDimensional K ↥W]
Goal: Function.Bijective ⇑(Submodule.quotDualCoannihilatorToDual W).flip
-- Subspace.dualCoannihilator_dualAnnihilator_eq
theorem dualCoannihilator_dualAnnihilator_eq {W : Subspace K (Dual K V)} [FiniteDimensional K W] :
    W.dualCoannihilator.dualAnnihilator = W 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] {W : Subspace K (Module.Dual K V)} [FiniteDimensional K ↥W]
Goal: (Submodule.dualCoannihilator W).dualAnnihilator = W
-- Subspace.finiteDimensional_quot_dualCoannihilator_iff
theorem finiteDimensional_quot_dualCoannihilator_iff {W : Submodule K (Dual K V)} :
    FiniteDimensional K (V ⧸ W.dualCoannihilator) ↔ FiniteDimensional K W 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] {W : Submodule K (Module.Dual K V)}
Goal: FiniteDimensional K (V ⧸ W.dualCoannihilator) ↔ FiniteDimensional K ↥W
-- Subspace.dualAnnihilator_dualAnnihilator_eq_map
theorem dualAnnihilator_dualAnnihilator_eq_map (W : Subspace K V) [FiniteDimensional K W] :
    W.dualAnnihilator.dualAnnihilator = W.map (Dual.eval K V) 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] (W : Subspace K V) [FiniteDimensional K ↥W]
Goal: (Submodule.dualAnnihilator W).dualAnnihilator = Submodule.map (Module.Dual.eval K V) W
-- Subspace.map_dualCoannihilator
theorem map_dualCoannihilator (W : Subspace K (Dual K V)) [FiniteDimensional K V] :
    W.dualCoannihilator.map (Dual.eval K V) = W.dualAnnihilator 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] (W : Subspace K (Module.Dual K V)) [FiniteDimensional K V]
Goal: Submodule.map (Module.Dual.eval K V) (Submodule.dualCoannihilator W) = Submodule.dualAnnihilator W
-- TensorProduct.dualDistrib_apply
@[simp]
theorem dualDistrib_apply (f : Dual R M) (g : Dual R N) (m : M) (n : N) :
    dualDistrib R M N (f ⊗ₜ g) (m ⊗ₜ n) = f m * g n 
Arguments: {R : Type u_1} {M : Type u_3} {N : Type u_4} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (f : Module.Dual R M) (g : Module.Dual R N) (m : M) (n : N)
Goal: ((TensorProduct.dualDistrib R M N) (f ⊗ₜ[R] g)) (m ⊗ₜ[R] n) = f m * g n
-- TensorProduct.AlgebraTensorModule.dualDistrib_apply
@[simp]
theorem dualDistrib_apply (f : Dual A M) (g : Dual R N) (m : M) (n : N) :
    dualDistrib R A M N (f ⊗ₜ g) (m ⊗ₜ n) = g n • f m 
Arguments: {R : Type u_1} (A : Type u_2) {M : Type u_3} {N : Type u_4} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module A M] [Module R N] [IsScalarTower R A M] (f : Module.Dual A M) (g : Module.Dual R N) (m : M) (n : N)
Goal: ((TensorProduct.AlgebraTensorModule.dualDistrib R A M N) (f ⊗ₜ[R] g)) (m ⊗ₜ[R] n) = g n • f m
-- TensorProduct.dualDistribInvOfBasis_apply
@[simp]
theorem dualDistribInvOfBasis_apply (b : Basis ι R M) (c : Basis κ R N) (f : Dual R (M ⊗[R] N)) :
    dualDistribInvOfBasis b c f = ∑ i, ∑ j, f (b i ⊗ₜ c j) • b.dualBasis i ⊗ₜ c.dualBasis j 
Arguments: {R : Type u_1} {M : Type u_3} {N : Type u_4} {ι : Type u_5} {κ : Type u_6} [DecidableEq ι] [DecidableEq κ] [Fintype ι] [Fintype κ] [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (b : Basis ι R M) (c : Basis κ R N) (f : Module.Dual R (TensorProduct R M N))
Goal: (TensorProduct.dualDistribInvOfBasis b c) f = ∑ i : ι, ∑ j : κ, f (b i ⊗ₜ[R] c j) • b.dualBasis i ⊗ₜ[R] c.dualBasis j
-- TensorProduct.dualDistrib_dualDistribInvOfBasis_left_inverse
theorem dualDistrib_dualDistribInvOfBasis_left_inverse (b : Basis ι R M) (c : Basis κ R N) :
    comp (dualDistrib R M N) (dualDistribInvOfBasis b c) = LinearMap.id 
Arguments: {R : Type u_1} {M : Type u_3} {N : Type u_4} {ι : Type u_5} {κ : Type u_6} [DecidableEq ι] [DecidableEq κ] [Fintype ι] [Fintype κ] [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (b : Basis ι R M) (c : Basis κ R N)
Goal: TensorProduct.dualDistrib R M N ∘ₗ TensorProduct.dualDistribInvOfBasis b c = LinearMap.id
-- TensorProduct.dualDistrib_dualDistribInvOfBasis_right_inverse
theorem dualDistrib_dualDistribInvOfBasis_right_inverse (b : Basis ι R M) (c : Basis κ R N) :
    comp (dualDistribInvOfBasis b c) (dualDistrib R M N) = LinearMap.id 
Arguments: {R : Type u_1} {M : Type u_3} {N : Type u_4} {ι : Type u_5} {κ : Type u_6} [DecidableEq ι] [DecidableEq κ] [Fintype ι] [Fintype κ] [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (b : Basis ι R M) (c : Basis κ R N)
Goal: TensorProduct.dualDistribInvOfBasis b c ∘ₗ TensorProduct.dualDistrib R M N = LinearMap.id
-- TensorProduct.dualDistribEquivOfBasis_symm_apply
@[simps!]
noncomputable def dualDistribEquivOfBasis (b : Basis ι R M) (c : Basis κ R N) :
    Dual R M ⊗[R] Dual R N ≃ₗ[R] Dual R (M ⊗[R] N) 
Arguments: {R : Type u_1} {M : Type u_3} {N : Type u_4} {ι : Type u_5} {κ : Type u_6} [DecidableEq ι] [DecidableEq κ] [Fintype ι] [Fintype κ] [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (b : Basis ι R M) (c : Basis κ R N) (a : Module.Dual R (TensorProduct R M N))
Goal: (TensorProduct.dualDistribEquivOfBasis b c).symm a =
  ∑ x : ι, ∑ x_1 : κ, a (b x ⊗ₜ[R] c x_1) • b.coord x ⊗ₜ[R] c.coord x_1
-- TensorProduct.dualDistribEquivOfBasis_apply_apply
@[simps!]
noncomputable def dualDistribEquivOfBasis (b : Basis ι R M) (c : Basis κ R N) :
    Dual R M ⊗[R] Dual R N ≃ₗ[R] Dual R (M ⊗[R] N) 
Arguments: {R : Type u_1} {M : Type u_3} {N : Type u_4} {ι : Type u_5} {κ : Type u_6} [DecidableEq ι] [DecidableEq κ] [Fintype ι] [Fintype κ] [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (b : Basis ι R M) (c : Basis κ R N)
Goal: ∀ (a : TensorProduct R (Module.Dual R M) (Module.Dual R N)) (a_1 : TensorProduct R M N),
  ((TensorProduct.dualDistribEquivOfBasis b c) a) a_1 =
    (TensorProduct.lid R R) (((TensorProduct.homTensorHomMap R M N R R) a) a_1)
-- Field.exists_primitive_element_of_finite_top
theorem exists_primitive_element_of_finite_top [Finite E] : ∃ α : E, F⟮α⟯ = ⊤ 
Arguments: (F : Type u_1) [Field F] (E : Type u_2) [Field E] [Algebra F E] [Finite E]
Goal: ∃ α, F⟮α⟯ = ⊤
-- Field.exists_primitive_element_of_finite_bot
theorem exists_primitive_element_of_finite_bot [Finite F] [FiniteDimensional F E] :
    ∃ α : E, F⟮α⟯ = ⊤ 
Arguments: (F : Type u_1) [Field F] (E : Type u_2) [Field E] [Algebra F E] [Finite F] [FiniteDimensional F E]
Goal: ∃ α, F⟮α⟯ = ⊤
-- Field.primitive_element_inf_aux_exists_c
theorem primitive_element_inf_aux_exists_c (f g : F[X]) :
    ∃ c : F, ∀ α' ∈ (f.map ϕ).roots, ∀ β' ∈ (g.map ϕ).roots, -(α' - α) / (β' - β) ≠ ϕ c 
Arguments: {F : Type u_1} [Field F] [Infinite F] {E : Type u_2} [Field E] (ϕ : F →+* E) (α β : E) (f g : F[X])
Goal: ∃ c, ∀ α' ∈ (Polynomial.map ϕ f).roots, ∀ β' ∈ (Polynomial.map ϕ g).roots, -(α' - α) / (β' - β) ≠ ϕ c
-- Field.primitive_element_inf_aux
theorem primitive_element_inf_aux [Algebra.IsSeparable F E] : ∃ γ : E, F⟮α, β⟯ = F⟮γ⟯ 
Arguments: (F : Type u_1) [Field F] [Infinite F] {E : Type u_2} [Field E] (α β : E) [Algebra F E] [Algebra.IsSeparable F E]
Goal: ∃ γ, F⟮α, β⟯ = F⟮γ⟯
-- _private.Mathlib.FieldTheory.PrimitiveElement.0.Field.primitive_element_inf_aux_of_finite_intermediateField
private theorem primitive_element_inf_aux_of_finite_intermediateField
    [Finite (IntermediateField F E)] : ∃ γ : E, F⟮α, β⟯ = F⟮γ⟯ 
Arguments: (F : Type u_1) [Field F] [Infinite F] {E : Type u_2} [Field E] (α β : E) [Algebra F E] [Finite (IntermediateField F E)]
Goal: ∃ γ, F⟮α, β⟯ = F⟮γ⟯
-- Field.exists_primitive_element
theorem exists_primitive_element : ∃ α : E, F⟮α⟯ = ⊤ 
Arguments: (F : Type u_1) (E : Type u_2) [Field F] [Field E] [Algebra F E] [FiniteDimensional F E] [Algebra.IsSeparable F E]
Goal: ∃ α, F⟮α⟯ = ⊤
-- Field.isAlgebraic_of_adjoin_eq_adjoin
theorem isAlgebraic_of_adjoin_eq_adjoin {α : E} {m n : ℕ} (hneq : m ≠ n)
    (heq : F⟮α ^ m⟯ = F⟮α ^ n⟯) : IsAlgebraic F α 
Arguments: (F : Type u_1) (E : Type u_2) [Field F] [Field E] [Algebra F E] {α : E} {m n : ℕ} (hneq : m ≠ n) (heq : F⟮α ^ m⟯ = F⟮α ^ n⟯)
Goal: IsAlgebraic F α
-- Field.isAlgebraic_of_finite_intermediateField
theorem isAlgebraic_of_finite_intermediateField
    [Finite (IntermediateField F E)] : Algebra.IsAlgebraic F E 
Arguments: (F : Type u_1) (E : Type u_2) [Field F] [Field E] [Algebra F E] [Finite (IntermediateField F E)]
Goal: Algebra.IsAlgebraic F E
-- Field.FiniteDimensional.of_finite_intermediateField
theorem FiniteDimensional.of_finite_intermediateField
    [Finite (IntermediateField F E)] : FiniteDimensional F E 
Arguments: (F : Type u_1) (E : Type u_2) [Field F] [Field E] [Algebra F E] [Finite (IntermediateField F E)]
Goal: FiniteDimensional F E
-- Field.exists_primitive_element_of_finite_intermediateField
theorem exists_primitive_element_of_finite_intermediateField
    [Finite (IntermediateField F E)] (K : IntermediateField F E) : ∃ α : E, F⟮α⟯ = K 
Arguments: (F : Type u_1) (E : Type u_2) [Field F] [Field E] [Algebra F E] [Finite (IntermediateField F E)] (K : IntermediateField F E)
Goal: ∃ α, F⟮α⟯ = K
-- Field.FiniteDimensional.of_exists_primitive_element
theorem FiniteDimensional.of_exists_primitive_element [Algebra.IsAlgebraic F E]
    (h : ∃ α : E, F⟮α⟯ = ⊤) : FiniteDimensional F E 
Arguments: (F : Type u_1) (E : Type u_2) [Field F] [Field E] [Algebra F E] [Algebra.IsAlgebraic F E] (h : ∃ α, F⟮α⟯ = ⊤)
Goal: FiniteDimensional F E
-- Field.finite_intermediateField_of_exists_primitive_element
theorem finite_intermediateField_of_exists_primitive_element [Algebra.IsAlgebraic F E]
    (h : ∃ α : E, F⟮α⟯ = ⊤) : Finite (IntermediateField F E) 
Arguments: (F : Type u_1) (E : Type u_2) [Field F] [Field E] [Algebra F E] [Algebra.IsAlgebraic F E] (h : ∃ α, F⟮α⟯ = ⊤)
Goal: Finite (IntermediateField F E)
-- Field.exists_primitive_element_iff_finite_intermediateField
theorem exists_primitive_element_iff_finite_intermediateField :
    (Algebra.IsAlgebraic F E ∧ ∃ α : E, F⟮α⟯ = ⊤) ↔ Finite (IntermediateField F E) 
Arguments: (F : Type u_1) (E : Type u_2) [Field F] [Field E] [Algebra F E]
Goal: (Algebra.IsAlgebraic F E ∧ ∃ α, F⟮α⟯ = ⊤) ↔ Finite (IntermediateField F E)
-- AlgHom.card
@[simp]
theorem AlgHom.card (K : Type*) [Field K] [IsAlgClosed K] [Algebra F K] :
    Fintype.card (E →ₐ[F] K) = finrank F E 
Arguments: (F : Type u_1) (E : Type u_2) [Field F] [Field E] [Algebra F E] [FiniteDimensional F E] [Algebra.IsSeparable F E] (K : Type u_3) [Field K] [IsAlgClosed K] [Algebra F K]
Goal: Fintype.card (E →ₐ[F] K) = FiniteDimensional.finrank F E
-- AlgHom.card_of_splits
@[simp]
theorem AlgHom.card_of_splits (L : Type*) [Field L] [Algebra F L]
    (hL : ∀ x : E, (minpoly F x).Splits (algebraMap F L)) :
    Fintype.card (E →ₐ[F] L) = finrank F E 
Arguments: (F : Type u_1) (E : Type u_2) [Field F] [Field E] [Algebra F E] [FiniteDimensional F E] [Algebra.IsSeparable F E] (L : Type u_3) [Field L] [Algebra F L] (hL : ∀ (x : E), Polynomial.Splits (algebraMap F L) (minpoly F x))
Goal: Fintype.card (E →ₐ[F] L) = FiniteDimensional.finrank F E
-- Field.primitive_element_iff_minpoly_natDegree_eq
theorem primitive_element_iff_minpoly_natDegree_eq (α : E) :
    F⟮α⟯ = ⊤ ↔ (minpoly F α).natDegree = finrank F E 
Arguments: (F : Type u_3) {E : Type u_4} [Field F] [Field E] [Algebra F E] [FiniteDimensional F E] (α : E)
Goal: F⟮α⟯ = ⊤ ↔ (minpoly F α).natDegree = FiniteDimensional.finrank F E
-- Field.primitive_element_iff_minpoly_degree_eq
theorem primitive_element_iff_minpoly_degree_eq (α : E) :
    F⟮α⟯ = ⊤ ↔ (minpoly F α).degree = finrank F E 
Arguments: (F : Type u_3) {E : Type u_4} [Field F] [Field E] [Algebra F E] [FiniteDimensional F E] (α : E)
Goal: F⟮α⟯ = ⊤ ↔ (minpoly F α).degree = ↑(FiniteDimensional.finrank F E)
-- Field.primitive_element_iff_algHom_eq_of_eval'
theorem primitive_element_iff_algHom_eq_of_eval' (α : E) :
    F⟮α⟯ = ⊤ ↔ Function.Injective fun φ : E →ₐ[F] A ↦ φ α 
Arguments: (F : Type u_3) {E : Type u_4} [Field F] [Field E] [Algebra F E] [FiniteDimensional F E] [Algebra.IsSeparable F E] (A : Type u_5) [Field A] [Algebra F A] (hA : ∀ (x : E), Polynomial.Splits (algebraMap F A) (minpoly F x)) (α : E)
Goal: F⟮α⟯ = ⊤ ↔ Function.Injective fun φ => φ α
-- Field.primitive_element_iff_algHom_eq_of_eval
theorem primitive_element_iff_algHom_eq_of_eval (α : E)
    (φ : E →ₐ[F] A) : F⟮α⟯ = ⊤ ↔ ∀ ψ : E →ₐ[F] A, φ α = ψ α → φ = ψ 
Arguments: (F : Type u_3) {E : Type u_4} [Field F] [Field E] [Algebra F E] [FiniteDimensional F E] [Algebra.IsSeparable F E] (A : Type u_5) [Field A] [Algebra F A] (hA : ∀ (x : E), Polynomial.Splits (algebraMap F A) (minpoly F x)) (α : E) (φ : E →ₐ[F] A)
Goal: F⟮α⟯ = ⊤ ↔ ∀ (ψ : E →ₐ[F] A), φ α = ψ α → φ = ψ
-- birkhoffSum_zero
theorem birkhoffSum_zero (f : α → α) (g : α → M) (x : α) : birkhoffSum f g 0 x = 0 
Arguments: {α : Type u_1} {M : Type u_2} [AddCommMonoid M] (f : α → α) (g : α → M) (x : α)
Goal: birkhoffSum f g 0 x = 0
-- birkhoffSum_zero'
@[simp]
theorem birkhoffSum_zero' (f : α → α) (g : α → M) : birkhoffSum f g 0 = 0 
Arguments: {α : Type u_1} {M : Type u_2} [AddCommMonoid M] (f : α → α) (g : α → M)
Goal: birkhoffSum f g 0 = 0
-- birkhoffSum_one
theorem birkhoffSum_one (f : α → α) (g : α → M) (x : α) : birkhoffSum f g 1 x = g x 
Arguments: {α : Type u_1} {M : Type u_2} [AddCommMonoid M] (f : α → α) (g : α → M) (x : α)
Goal: birkhoffSum f g 1 x = g x
-- birkhoffSum_one'
@[simp]
theorem birkhoffSum_one' (f : α → α) (g : α → M) : birkhoffSum f g 1 = g 
Arguments: {α : Type u_1} {M : Type u_2} [AddCommMonoid M] (f : α → α) (g : α → M)
Goal: birkhoffSum f g 1 = g
-- birkhoffSum_succ
theorem birkhoffSum_succ (f : α → α) (g : α → M) (n : ℕ) (x : α) :
    birkhoffSum f g (n + 1) x = birkhoffSum f g n x + g (f^[n] x) 
Arguments: {α : Type u_1} {M : Type u_2} [AddCommMonoid M] (f : α → α) (g : α → M) (n : ℕ) (x : α)
Goal: birkhoffSum f g (n + 1) x = birkhoffSum f g n x + g (f^[n] x)
-- birkhoffSum_succ'
theorem birkhoffSum_succ' (f : α → α) (g : α → M) (n : ℕ) (x : α) :
    birkhoffSum f g (n + 1) x = g x + birkhoffSum f g n (f x) 
Arguments: {α : Type u_1} {M : Type u_2} [AddCommMonoid M] (f : α → α) (g : α → M) (n : ℕ) (x : α)
Goal: birkhoffSum f g (n + 1) x = g x + birkhoffSum f g n (f x)
-- birkhoffSum_add
theorem birkhoffSum_add (f : α → α) (g : α → M) (m n : ℕ) (x : α) :
    birkhoffSum f g (m + n) x = birkhoffSum f g m x + birkhoffSum f g n (f^[m] x) 
Arguments: {α : Type u_1} {M : Type u_2} [AddCommMonoid M] (f : α → α) (g : α → M) (m n : ℕ) (x : α)
Goal: birkhoffSum f g (m + n) x = birkhoffSum f g m x + birkhoffSum f g n (f^[m] x)
-- Function.IsFixedPt.birkhoffSum_eq
theorem Function.IsFixedPt.birkhoffSum_eq {f : α → α} {x : α} (h : IsFixedPt f x) (g : α → M)
    (n : ℕ) : birkhoffSum f g n x = n • g x 
Arguments: {α : Type u_1} {M : Type u_2} [AddCommMonoid M] {f : α → α} {x : α} (h : Function.IsFixedPt f x) (g : α → M) (n : ℕ)
Goal: birkhoffSum f g n x = n • g x
-- map_birkhoffSum
theorem map_birkhoffSum {F N : Type*} [AddCommMonoid N] [FunLike F M N] [AddMonoidHomClass F M N]
    (g' : F) (f : α → α) (g : α → M) (n : ℕ) (x : α) :
    g' (birkhoffSum f g n x) = birkhoffSum f (g' ∘ g) n x 
Arguments: {α : Type u_1} {M : Type u_2} [AddCommMonoid M] {F : Type u_3} {N : Type u_4} [AddCommMonoid N] [FunLike F M N] [AddMonoidHomClass F M N] (g' : F) (f : α → α) (g : α → M) (n : ℕ) (x : α)
Goal: g' (birkhoffSum f g n x) = birkhoffSum f (⇑g' ∘ g) n x
-- birkhoffSum_apply_sub_birkhoffSum
theorem birkhoffSum_apply_sub_birkhoffSum (f : α → α) (g : α → G) (n : ℕ) (x : α) :
    birkhoffSum f g n (f x) - birkhoffSum f g n x = g (f^[n] x) - g x 
Arguments: {α : Type u_1} {G : Type u_2} [AddCommGroup G] (f : α → α) (g : α → G) (n : ℕ) (x : α)
Goal: birkhoffSum f g n (f x) - birkhoffSum f g n x = g (f^[n] x) - g x