ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Subfield.extendScalars_le_extendScalars_iff
theorem extendScalars_le_extendScalars_iff : extendScalars h ≤ extendScalars h' ↔ E ≤ E' 
Arguments: {L : Type u_2} [Field L] {F E E' : Subfield L} (h : F ≤ E) (h' : F ≤ E')
Goal: Subfield.extendScalars h ≤ Subfield.extendScalars h' ↔ E ≤ E'
-- Subfield.extendScalars_le_iff
theorem extendScalars_le_iff (E' : IntermediateField F L) :
    extendScalars h ≤ E' ↔ E ≤ E'.toSubfield 
Arguments: {L : Type u_2} [Field L] {F E : Subfield L} (h : F ≤ E) (E' : IntermediateField (↥F) L)
Goal: Subfield.extendScalars h ≤ E' ↔ E ≤ E'.toSubfield
-- Subfield.le_extendScalars_iff
theorem le_extendScalars_iff (E' : IntermediateField F L) :
    E' ≤ extendScalars h ↔ E'.toSubfield ≤ E 
Arguments: {L : Type u_2} [Field L] {F E : Subfield L} (h : F ≤ E) (E' : IntermediateField (↥F) L)
Goal: E' ≤ Subfield.extendScalars h ↔ E'.toSubfield ≤ E
-- Subfield.extendScalars.orderIso_apply
@[simps]
def extendScalars.orderIso :
    { E : Subfield L // F ≤ E } ≃o IntermediateField F L 
Arguments: {L : Type u_2} [Field L] (F : Subfield L) (E : { E // F ≤ E })
Goal: (Subfield.extendScalars.orderIso F) E = Subfield.extendScalars ⋯
-- Subfield.extendScalars.orderIso_symm_apply_coe
@[simps]
def extendScalars.orderIso :
    { E : Subfield L // F ≤ E } ≃o IntermediateField F L 
Arguments: {L : Type u_2} [Field L] (F : Subfield L) (E : IntermediateField (↥F) L)
Goal: ↑((RelIso.symm (Subfield.extendScalars.orderIso F)) E) = E.toSubfield
-- Subfield.extendScalars_injective
theorem extendScalars_injective :
    Function.Injective fun E : { E : Subfield L // F ≤ E } ↦ extendScalars E.2 
Arguments: {L : Type u_2} [Field L] (F : Subfield L)
Goal: Function.Injective fun E => Subfield.extendScalars ⋯
-- IntermediateField.coe_extendScalars
@[simp]
theorem coe_extendScalars : (extendScalars h : Set L) = (E : Set L) 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} (h : F ≤ E)
Goal: ↑(IntermediateField.extendScalars h) = ↑E
-- IntermediateField.extendScalars_toSubfield
@[simp]
theorem extendScalars_toSubfield : (extendScalars h).toSubfield = E.toSubfield 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} (h : F ≤ E)
Goal: (IntermediateField.extendScalars h).toSubfield = E.toSubfield
-- IntermediateField.mem_extendScalars
@[simp]
theorem mem_extendScalars : x ∈ extendScalars h ↔ x ∈ E 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} (h : F ≤ E) {x : L}
Goal: x ∈ IntermediateField.extendScalars h ↔ x ∈ E
-- IntermediateField.extendScalars_restrictScalars
@[simp]
theorem extendScalars_restrictScalars : (extendScalars h).restrictScalars K = E 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} (h : F ≤ E)
Goal: IntermediateField.restrictScalars K (IntermediateField.extendScalars h) = E
-- IntermediateField.extendScalars_le_extendScalars_iff
theorem extendScalars_le_extendScalars_iff : extendScalars h ≤ extendScalars h' ↔ E ≤ E' 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E E' : IntermediateField K L} (h : F ≤ E) (h' : F ≤ E')
Goal: IntermediateField.extendScalars h ≤ IntermediateField.extendScalars h' ↔ E ≤ E'
-- IntermediateField.extendScalars_le_iff
theorem extendScalars_le_iff (E' : IntermediateField F L) :
    extendScalars h ≤ E' ↔ E ≤ E'.restrictScalars K 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} (h : F ≤ E) (E' : IntermediateField (↥F) L)
Goal: IntermediateField.extendScalars h ≤ E' ↔ E ≤ IntermediateField.restrictScalars K E'
-- IntermediateField.le_extendScalars_iff
theorem le_extendScalars_iff (E' : IntermediateField F L) :
    E' ≤ extendScalars h ↔ E'.restrictScalars K ≤ E 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} (h : F ≤ E) (E' : IntermediateField (↥F) L)
Goal: E' ≤ IntermediateField.extendScalars h ↔ IntermediateField.restrictScalars K E' ≤ E
-- IntermediateField.extendScalars.orderIso_symm_apply_coe
@[simps]
def extendScalars.orderIso : { E : IntermediateField K L // F ≤ E } ≃o IntermediateField F L 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (F : IntermediateField K L) (E : IntermediateField (↥F) L)
Goal: ↑((RelIso.symm (IntermediateField.extendScalars.orderIso F)) E) = IntermediateField.restrictScalars K E
-- IntermediateField.extendScalars.orderIso_apply
@[simps]
def extendScalars.orderIso : { E : IntermediateField K L // F ≤ E } ≃o IntermediateField F L 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (F : IntermediateField K L) (E : { E // F ≤ E })
Goal: (IntermediateField.extendScalars.orderIso F) E = IntermediateField.extendScalars ⋯
-- IntermediateField.extendScalars_injective
theorem extendScalars_injective :
    Function.Injective fun E : { E : IntermediateField K L // F ≤ E } ↦ extendScalars E.2 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (F : IntermediateField K L)
Goal: Function.Injective fun E => IntermediateField.extendScalars ⋯
-- IntermediateField.mem_restrict
theorem mem_restrict (x : E) : x ∈ restrict h ↔ x.1 ∈ F 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} (h : F ≤ E) (x : ↥E)
Goal: x ∈ IntermediateField.restrict h ↔ ↑x ∈ F
-- IntermediateField.lift_restrict
@[simp]
theorem lift_restrict : lift (restrict h) = F 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} (h : F ≤ E)
Goal: IntermediateField.lift (IntermediateField.restrict h) = F
-- IntermediateField.rank_eq_rank_subalgebra
@[simp]
theorem rank_eq_rank_subalgebra : Module.rank K F.toSubalgebra = Module.rank K F 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (F : IntermediateField K L)
Goal: Module.rank K ↥F.toSubalgebra = Module.rank K ↥F
-- IntermediateField.finrank_eq_finrank_subalgebra
@[simp]
theorem finrank_eq_finrank_subalgebra : finrank K F.toSubalgebra = finrank K F 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (F : IntermediateField K L)
Goal: FiniteDimensional.finrank K ↥F.toSubalgebra = FiniteDimensional.finrank K ↥F
-- IntermediateField.toSubalgebra_eq_iff
@[simp]
theorem toSubalgebra_eq_iff : F.toSubalgebra = E.toSubalgebra ↔ F = E 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L}
Goal: F.toSubalgebra = E.toSubalgebra ↔ F = E
-- IntermediateField.eq_of_le_of_finrank_le
theorem eq_of_le_of_finrank_le [hfin : FiniteDimensional K E] (h_le : F ≤ E)
    (h_finrank : finrank K E ≤ finrank K F) : F = E 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} [hfin : FiniteDimensional K ↥E] (h_le : F ≤ E) (h_finrank : FiniteDimensional.finrank K ↥E ≤ FiniteDimensional.finrank K ↥F)
Goal: F = E
-- IntermediateField.eq_of_le_of_finrank_eq
theorem eq_of_le_of_finrank_eq [FiniteDimensional K E] (h_le : F ≤ E)
    (h_finrank : finrank K F = finrank K E) : F = E 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} [FiniteDimensional K ↥E] (h_le : F ≤ E) (h_finrank : FiniteDimensional.finrank K ↥F = FiniteDimensional.finrank K ↥E)
Goal: F = E
-- _private.Mathlib.FieldTheory.IntermediateField.0.IntermediateField.eq_of_le_of_finrank_le''
private theorem eq_of_le_of_finrank_le'' [FiniteDimensional K L] (h_le : F ≤ E)
    (h_finrank : finrank F L ≤ finrank E L) : F = E 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} [FiniteDimensional K L] (h_le : F ≤ E) (h_finrank : FiniteDimensional.finrank (↥F) L ≤ FiniteDimensional.finrank (↥E) L)
Goal: F = E
-- IntermediateField.eq_of_le_of_finrank_le'
theorem eq_of_le_of_finrank_le' [FiniteDimensional F L] (h_le : F ≤ E)
    (h_finrank : finrank F L ≤ finrank E L) : F = E 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} [FiniteDimensional (↥F) L] (h_le : F ≤ E) (h_finrank : FiniteDimensional.finrank (↥F) L ≤ FiniteDimensional.finrank (↥E) L)
Goal: F = E
-- IntermediateField.eq_of_le_of_finrank_eq'
theorem eq_of_le_of_finrank_eq' [FiniteDimensional F L] (h_le : F ≤ E)
    (h_finrank : finrank F L = finrank E L) : F = E 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {F E : IntermediateField K L} [FiniteDimensional (↥F) L] (h_le : F ≤ E) (h_finrank : FiniteDimensional.finrank (↥F) L = FiniteDimensional.finrank (↥E) L)
Goal: F = E
-- IntermediateField.isAlgebraic_iff
theorem isAlgebraic_iff {x : S} : IsAlgebraic K x ↔ IsAlgebraic K (x : L) 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {S : IntermediateField K L} {x : ↥S}
Goal: IsAlgebraic K x ↔ IsAlgebraic K ↑x
-- IntermediateField.isIntegral_iff
theorem isIntegral_iff {x : S} : IsIntegral K x ↔ IsIntegral K (x : L) 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {S : IntermediateField K L} {x : ↥S}
Goal: IsIntegral K x ↔ IsIntegral K ↑x
-- IntermediateField.minpoly_eq
theorem minpoly_eq (x : S) : minpoly K x = minpoly K (x : L) 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {S : IntermediateField K L} (x : ↥S)
Goal: minpoly K x = minpoly K ↑x
-- mem_subalgebraEquivIntermediateField
@[simp]
theorem mem_subalgebraEquivIntermediateField [Algebra.IsAlgebraic K L] {S : Subalgebra K L}
    {x : L} : x ∈ subalgebraEquivIntermediateField S ↔ x ∈ S 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] [Algebra.IsAlgebraic K L] {S : Subalgebra K L} {x : L}
Goal: x ∈ subalgebraEquivIntermediateField S ↔ x ∈ S
-- mem_subalgebraEquivIntermediateField_symm
@[simp]
theorem mem_subalgebraEquivIntermediateField_symm [Algebra.IsAlgebraic K L]
    {S : IntermediateField K L} {x : L} :
    x ∈ subalgebraEquivIntermediateField.symm S ↔ x ∈ S 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] [Algebra.IsAlgebraic K L] {S : IntermediateField K L} {x : L}
Goal: x ∈ subalgebraEquivIntermediateField.symm S ↔ x ∈ S
-- isInvariant_iff_image
theorem isInvariant_iff_image : IsInvariant ϕ s ↔ ∀ t, ϕ t '' s ⊆ s 
Arguments: {τ : Type u_1} {α : Type u_2} (ϕ : τ → α → α) (s : Set α)
Goal: IsInvariant ϕ s ↔ ∀ (t : τ), ϕ t '' s ⊆ s
-- IsInvariant.isFwInvariant
theorem IsInvariant.isFwInvariant [Preorder τ] [Zero τ] {ϕ : τ → α → α} {s : Set α}
    (h : IsInvariant ϕ s) : IsFwInvariant ϕ s 
Arguments: {τ : Type u_1} {α : Type u_2} [Preorder τ] [Zero τ] {ϕ : τ → α → α} {s : Set α} (h : IsInvariant ϕ s)
Goal: IsFwInvariant ϕ s
-- IsFwInvariant.isInvariant
theorem IsFwInvariant.isInvariant [CanonicallyOrderedAddCommMonoid τ] {ϕ : τ → α → α} {s : Set α}
    (h : IsFwInvariant ϕ s) : IsInvariant ϕ s 
Arguments: {τ : Type u_1} {α : Type u_2} [CanonicallyOrderedAddCommMonoid τ] {ϕ : τ → α → α} {s : Set α} (h : IsFwInvariant ϕ s)
Goal: IsInvariant ϕ s
-- isFwInvariant_iff_isInvariant
theorem isFwInvariant_iff_isInvariant [CanonicallyOrderedAddCommMonoid τ] {ϕ : τ → α → α}
    {s : Set α} :
    IsFwInvariant ϕ s ↔ IsInvariant ϕ s 
Arguments: {τ : Type u_1} {α : Type u_2} [CanonicallyOrderedAddCommMonoid τ] {ϕ : τ → α → α} {s : Set α}
Goal: IsFwInvariant ϕ s ↔ IsInvariant ϕ s
-- Flow.cont'
structure Flow (τ : Type*) [TopologicalSpace τ] [AddMonoid τ] [ContinuousAdd τ] (α : Type*)
  [TopologicalSpace α] where
    toFun : τ → α → α
  cont' : Continuous (uncurry toFun)
  map_add' : ∀ t₁ t₂ x, toFun (t₁ + t₂) x = toFun t₁ (toFun t₂ x)
  map_zero' : ∀ x, toFun 0 x = x
Arguments: {τ : Type u_1} [TopologicalSpace τ] [AddMonoid τ] [ContinuousAdd τ] {α : Type u_2} [TopologicalSpace α] (self : Flow τ α)
Goal: Continuous (Function.uncurry self.toFun)
-- Flow.map_add'
structure Flow (τ : Type*) [TopologicalSpace τ] [AddMonoid τ] [ContinuousAdd τ] (α : Type*)
  [TopologicalSpace α] where
    toFun : τ → α → α
  cont' : Continuous (uncurry toFun)
  map_add' : ∀ t₁ t₂ x, toFun (t₁ + t₂) x = toFun t₁ (toFun t₂ x)
  map_zero' : ∀ x, toFun 0 x = x
Arguments: {τ : Type u_1} [TopologicalSpace τ] [AddMonoid τ] [ContinuousAdd τ] {α : Type u_2} [TopologicalSpace α] (self : Flow τ α) (t₁ t₂ : τ) (x : α)
Goal: self.toFun (t₁ + t₂) x = self.toFun t₁ (self.toFun t₂ x)
-- Flow.map_zero'
structure Flow (τ : Type*) [TopologicalSpace τ] [AddMonoid τ] [ContinuousAdd τ] (α : Type*)
  [TopologicalSpace α] where
    toFun : τ → α → α
  cont' : Continuous (uncurry toFun)
  map_add' : ∀ t₁ t₂ x, toFun (t₁ + t₂) x = toFun t₁ (toFun t₂ x)
  map_zero' : ∀ x, toFun 0 x = x
Arguments: {τ : Type u_1} [TopologicalSpace τ] [AddMonoid τ] [ContinuousAdd τ] {α : Type u_2} [TopologicalSpace α] (self : Flow τ α) (x : α)
Goal: self.toFun 0 x = x
-- Flow.ext
@[ext]
theorem ext : ∀ {ϕ₁ ϕ₂ : Flow τ α}, (∀ t x, ϕ₁ t x = ϕ₂ t x) → ϕ₁ = ϕ₂
  
Arguments: {τ : Type u_1} [AddMonoid τ] [TopologicalSpace τ] [ContinuousAdd τ] {α : Type u_2} [TopologicalSpace α] {ϕ₁ ϕ₂ : Flow τ α}
Goal: (∀ (t : τ) (x : α), ϕ₁.toFun t x = ϕ₂.toFun t x) → ϕ₁ = ϕ₂
-- Flow.continuous
@[continuity, fun_prop]
protected theorem continuous {β : Type*} [TopologicalSpace β] {t : β → τ} (ht : Continuous t)
    {f : β → α} (hf : Continuous f) : Continuous fun x => ϕ (t x) (f x) 
Arguments: {τ : Type u_1} [AddMonoid τ] [TopologicalSpace τ] [ContinuousAdd τ] {α : Type u_2} [TopologicalSpace α] (ϕ : Flow τ α) {β : Type u_3} [TopologicalSpace β] {t : β → τ} (ht : Continuous t) {f : β → α} (hf : Continuous f)
Goal: Continuous fun x => ϕ.toFun (t x) (f x)
-- Flow.map_add
theorem map_add (t₁ t₂ : τ) (x : α) : ϕ (t₁ + t₂) x = ϕ t₁ (ϕ t₂ x) 
Arguments: {τ : Type u_1} [AddMonoid τ] [TopologicalSpace τ] [ContinuousAdd τ] {α : Type u_2} [TopologicalSpace α] (ϕ : Flow τ α) (t₁ t₂ : τ) (x : α)
Goal: ϕ.toFun (t₁ + t₂) x = ϕ.toFun t₁ (ϕ.toFun t₂ x)
-- Flow.map_zero
@[simp]
theorem map_zero : ϕ 0 = id 
Arguments: {τ : Type u_1} [AddMonoid τ] [TopologicalSpace τ] [ContinuousAdd τ] {α : Type u_2} [TopologicalSpace α] (ϕ : Flow τ α)
Goal: ϕ.toFun 0 = id
-- Flow.map_zero_apply
theorem map_zero_apply (x : α) : ϕ 0 x = x 
Arguments: {τ : Type u_1} [AddMonoid τ] [TopologicalSpace τ] [ContinuousAdd τ] {α : Type u_2} [TopologicalSpace α] (ϕ : Flow τ α) (x : α)
Goal: ϕ.toFun 0 x = x
-- Flow.isInvariant_iff_image_eq
theorem isInvariant_iff_image_eq (s : Set α) : IsInvariant ϕ s ↔ ∀ t, ϕ t '' s = s 
Arguments: {τ : Type u_1} [AddCommGroup τ] [TopologicalSpace τ] [TopologicalAddGroup τ] {α : Type u_2} [TopologicalSpace α] (ϕ : Flow τ α) (s : Set α)
Goal: IsInvariant ϕ.toFun s ↔ ∀ (t : τ), ϕ.toFun t '' s = s
-- Flow.continuous_toFun
@[continuity]
theorem continuous_toFun (t : τ) : Continuous (ϕ.toFun t) 
Arguments: {τ : Type u_1} [AddCommGroup τ] [TopologicalSpace τ] [TopologicalAddGroup τ] {α : Type u_2} [TopologicalSpace α] (ϕ : Flow τ α) (t : τ)
Goal: Continuous (ϕ.toFun t)
-- Flow.image_eq_preimage
theorem image_eq_preimage (t : τ) (s : Set α) : ϕ t '' s = ϕ (-t) ⁻¹' s 
Arguments: {τ : Type u_1} [AddCommGroup τ] [TopologicalSpace τ] [TopologicalAddGroup τ] {α : Type u_2} [TopologicalSpace α] (ϕ : Flow τ α) (t : τ) (s : Set α)
Goal: ϕ.toFun t '' s = ϕ.toFun (-t) ⁻¹' s
-- Polynomial.separable_def
theorem separable_def (f : R[X]) : f.Separable ↔ IsCoprime f (derivative f) 
Arguments: {R : Type u} [CommSemiring R] (f : R[X])
Goal: f.Separable ↔ IsCoprime f (Polynomial.derivative f)
-- Polynomial.separable_def'
theorem separable_def' (f : R[X]) : f.Separable ↔ ∃ a b : R[X], a * f + b * (derivative f) = 1 
Arguments: {R : Type u} [CommSemiring R] (f : R[X])
Goal: f.Separable ↔ ∃ a b, a * f + b * Polynomial.derivative f = 1
-- Polynomial.not_separable_zero
theorem not_separable_zero [Nontrivial R] : ¬Separable (0 : R[X]) 
Arguments: {R : Type u} [CommSemiring R] [Nontrivial R]
Goal: ¬Polynomial.Separable 0
-- Polynomial.Separable.ne_zero
theorem Separable.ne_zero [Nontrivial R] {f : R[X]} (h : f.Separable) : f ≠ 0 
Arguments: {R : Type u} [CommSemiring R] [Nontrivial R] {f : R[X]} (h : f.Separable)
Goal: f ≠ 0
-- Polynomial.separable_one
@[simp]
theorem separable_one : (1 : R[X]).Separable 
Arguments: {R : Type u} [CommSemiring R]
Goal: Polynomial.Separable 1
-- Polynomial.separable_of_subsingleton
@[nontriviality]
theorem separable_of_subsingleton [Subsingleton R] (f : R[X]) : f.Separable 
Arguments: {R : Type u} [CommSemiring R] [Subsingleton R] (f : R[X])
Goal: f.Separable
-- Polynomial.separable_X_add_C
theorem separable_X_add_C (a : R) : (X + C a).Separable 
Arguments: {R : Type u} [CommSemiring R] (a : R)
Goal: (Polynomial.X + Polynomial.C a).Separable
-- Polynomial.separable_X
theorem separable_X : (X : R[X]).Separable 
Arguments: {R : Type u} [CommSemiring R]
Goal: Polynomial.X.Separable
-- Polynomial.separable_C
theorem separable_C (r : R) : (C r).Separable ↔ IsUnit r 
Arguments: {R : Type u} [CommSemiring R] (r : R)
Goal: (Polynomial.C r).Separable ↔ IsUnit r
-- Polynomial.Separable.of_mul_left
theorem Separable.of_mul_left {f g : R[X]} (h : (f * g).Separable) : f.Separable 
Arguments: {R : Type u} [CommSemiring R] {f g : R[X]} (h : (f * g).Separable)
Goal: f.Separable
-- Polynomial.Separable.of_mul_right
theorem Separable.of_mul_right {f g : R[X]} (h : (f * g).Separable) : g.Separable 
Arguments: {R : Type u} [CommSemiring R] {f g : R[X]} (h : (f * g).Separable)
Goal: g.Separable
-- Polynomial.Separable.of_dvd
theorem Separable.of_dvd {f g : R[X]} (hf : f.Separable) (hfg : g ∣ f) : g.Separable 
Arguments: {R : Type u} [CommSemiring R] {f g : R[X]} (hf : f.Separable) (hfg : g ∣ f)
Goal: g.Separable
-- Polynomial.separable_gcd_left
theorem separable_gcd_left {F : Type*} [Field F] {f : F[X]} (hf : f.Separable) (g : F[X]) :
    (EuclideanDomain.gcd f g).Separable 
Arguments: {F : Type u_1} [Field F] {f : F[X]} (hf : f.Separable) (g : F[X])
Goal: (EuclideanDomain.gcd f g).Separable
-- Polynomial.separable_gcd_right
theorem separable_gcd_right {F : Type*} [Field F] {g : F[X]} (f : F[X]) (hg : g.Separable) :
    (EuclideanDomain.gcd f g).Separable 
Arguments: {F : Type u_1} [Field F] {g : F[X]} (f : F[X]) (hg : g.Separable)
Goal: (EuclideanDomain.gcd f g).Separable
-- Polynomial.Separable.isCoprime
theorem Separable.isCoprime {f g : R[X]} (h : (f * g).Separable) : IsCoprime f g 
Arguments: {R : Type u} [CommSemiring R] {f g : R[X]} (h : (f * g).Separable)
Goal: IsCoprime f g
-- Polynomial.Separable.of_pow'
theorem Separable.of_pow' {f : R[X]} :
    ∀ {n : ℕ} (_h : (f ^ n).Separable), IsUnit f ∨ f.Separable ∧ n = 1 ∨ n = 0
  
Arguments: {R : Type u} [CommSemiring R] {f : R[X]} {n : ℕ} (_h : (f ^ n).Separable)
Goal: IsUnit f ∨ f.Separable ∧ n = 1 ∨ n = 0
-- Polynomial.Separable.of_pow
theorem Separable.of_pow {f : R[X]} (hf : ¬IsUnit f) {n : ℕ} (hn : n ≠ 0)
    (hfs : (f ^ n).Separable) : f.Separable ∧ n = 1 
Arguments: {R : Type u} [CommSemiring R] {f : R[X]} (hf : ¬IsUnit f) {n : ℕ} (hn : n ≠ 0) (hfs : (f ^ n).Separable)
Goal: f.Separable ∧ n = 1
-- Polynomial.Separable.map
theorem Separable.map {p : R[X]} (h : p.Separable) {f : R →+* S} : (p.map f).Separable 
Arguments: {R : Type u} [CommSemiring R] {S : Type v} [CommSemiring S] {p : R[X]} (h : p.Separable) {f : R →+* S}
Goal: (Polynomial.map f p).Separable
-- Associated.separable
theorem _root_.Associated.separable {f g : R[X]}
    (ha : Associated f g) (h : f.Separable) : g.Separable 
Arguments: {R : Type u} [CommSemiring R] {f g : R[X]} (ha : Associated f g) (h : f.Separable)
Goal: g.Separable
-- Associated.separable_iff
theorem _root_.Associated.separable_iff {f g : R[X]}
    (ha : Associated f g) : f.Separable ↔ g.Separable 
Arguments: {R : Type u} [CommSemiring R] {f g : R[X]} (ha : Associated f g)
Goal: f.Separable ↔ g.Separable
-- Polynomial.Separable.mul_unit
theorem Separable.mul_unit {f g : R[X]} (hf : f.Separable) (hg : IsUnit g) : (f * g).Separable 
Arguments: {R : Type u} [CommSemiring R] {f g : R[X]} (hf : f.Separable) (hg : IsUnit g)
Goal: (f * g).Separable
-- Polynomial.Separable.unit_mul
theorem Separable.unit_mul {f g : R[X]} (hf : IsUnit f) (hg : g.Separable) : (f * g).Separable 
Arguments: {R : Type u} [CommSemiring R] {f g : R[X]} (hf : IsUnit f) (hg : g.Separable)
Goal: (f * g).Separable
-- Polynomial.Separable.eval₂_derivative_ne_zero
theorem Separable.eval₂_derivative_ne_zero [Nontrivial S] (f : R →+* S) {p : R[X]}
    (h : p.Separable) {x : S} (hx : p.eval₂ f x = 0) :
    (derivative p).eval₂ f x ≠ 0 
Arguments: {R : Type u} [CommSemiring R] {S : Type v} [CommSemiring S] [Nontrivial S] (f : R →+* S) {p : R[X]} (h : p.Separable) {x : S} (hx : Polynomial.eval₂ f x p = 0)
Goal: Polynomial.eval₂ f x (Polynomial.derivative p) ≠ 0
-- Polynomial.Separable.aeval_derivative_ne_zero
theorem Separable.aeval_derivative_ne_zero [Nontrivial S] [Algebra R S] {p : R[X]}
    (h : p.Separable) {x : S} (hx : aeval x p = 0) :
    aeval x (derivative p) ≠ 0 
Arguments: {R : Type u} [CommSemiring R] {S : Type v} [CommSemiring S] [Nontrivial S] [Algebra R S] {p : R[X]} (h : p.Separable) {x : S} (hx : (Polynomial.aeval x) p = 0)
Goal: (Polynomial.aeval x) (Polynomial.derivative p) ≠ 0
-- Polynomial.isUnit_of_self_mul_dvd_separable
theorem isUnit_of_self_mul_dvd_separable {p q : R[X]} (hp : p.Separable) (hq : q * q ∣ p) :
    IsUnit q 
Arguments: {R : Type u} [CommSemiring R] {p q : R[X]} (hp : p.Separable) (hq : q * q ∣ p)
Goal: IsUnit q
-- Polynomial.multiplicity_le_one_of_separable
theorem multiplicity_le_one_of_separable {p q : R[X]} (hq : ¬IsUnit q) (hsep : Separable p) :
    multiplicity q p ≤ 1 
Arguments: {R : Type u} [CommSemiring R] {p q : R[X]} (hq : ¬IsUnit q) (hsep : p.Separable)
Goal: multiplicity q p ≤ 1
-- Polynomial.Separable.squarefree
theorem Separable.squarefree {p : R[X]} (hsep : Separable p) : Squarefree p 
Arguments: {R : Type u} [CommSemiring R] {p : R[X]} (hsep : p.Separable)
Goal: Squarefree p
-- Polynomial.separable_X_sub_C
theorem separable_X_sub_C {x : R} : Separable (X - C x) 
Arguments: {R : Type u} [CommRing R] {x : R}
Goal: (Polynomial.X - Polynomial.C x).Separable
-- Polynomial.Separable.mul
theorem Separable.mul {f g : R[X]} (hf : f.Separable) (hg : g.Separable) (h : IsCoprime f g) :
    (f * g).Separable 
Arguments: {R : Type u} [CommRing R] {f g : R[X]} (hf : f.Separable) (hg : g.Separable) (h : IsCoprime f g)
Goal: (f * g).Separable
-- Polynomial.separable_prod'
theorem separable_prod' {ι : Sort _} {f : ι → R[X]} {s : Finset ι} :
    (∀ x ∈ s, ∀ y ∈ s, x ≠ y → IsCoprime (f x) (f y)) →
      (∀ x ∈ s, (f x).Separable) → (∏ x ∈ s, f x).Separable 
Arguments: {R : Type u} [CommRing R] {ι : Type u_1} {f : ι → R[X]} {s : Finset ι}
Goal: (∀ x ∈ s, ∀ y ∈ s, x ≠ y → IsCoprime (f x) (f y)) → (∀ x ∈ s, (f x).Separable) → (∏ x ∈ s, f x).Separable
-- Polynomial.separable_prod
theorem separable_prod {ι : Sort _} [Fintype ι] {f : ι → R[X]} (h1 : Pairwise (IsCoprime on f))
    (h2 : ∀ x, (f x).Separable) : (∏ x, f x).Separable 
Arguments: {R : Type u} [CommRing R] {ι : Type u_1} [Fintype ι] {f : ι → R[X]} (h1 : Pairwise (IsCoprime on f)) (h2 : ∀ (x : ι), (f x).Separable)
Goal: (∏ x : ι, f x).Separable
-- Polynomial.Separable.inj_of_prod_X_sub_C
theorem Separable.inj_of_prod_X_sub_C [Nontrivial R] {ι : Sort _} {f : ι → R} {s : Finset ι}
    (hfs : (∏ i ∈ s, (X - C (f i))).Separable) {x y : ι} (hx : x ∈ s) (hy : y ∈ s)
    (hfxy : f x = f y) : x = y 
Arguments: {R : Type u} [CommRing R] [Nontrivial R] {ι : Type u_1} {f : ι → R} {s : Finset ι} (hfs : (∏ i ∈ s, (Polynomial.X - Polynomial.C (f i))).Separable) {x y : ι} (hx : x ∈ s) (hy : y ∈ s) (hfxy : f x = f y)
Goal: x = y
-- Polynomial.Separable.injective_of_prod_X_sub_C
theorem Separable.injective_of_prod_X_sub_C [Nontrivial R] {ι : Sort _} [Fintype ι] {f : ι → R}
    (hfs : (∏ i, (X - C (f i))).Separable) : Function.Injective f 
Arguments: {R : Type u} [CommRing R] [Nontrivial R] {ι : Type u_1} [Fintype ι] {f : ι → R} (hfs : (∏ i : ι, (Polynomial.X - Polynomial.C (f i))).Separable)
Goal: Function.Injective f
-- Polynomial.nodup_of_separable_prod
theorem nodup_of_separable_prod [Nontrivial R] {s : Multiset R}
    (hs : Separable (Multiset.map (fun a => X - C a) s).prod) : s.Nodup 
Arguments: {R : Type u} [CommRing R] [Nontrivial R] {s : Multiset R} (hs : (Multiset.map (fun a => Polynomial.X - Polynomial.C a) s).prod.Separable)
Goal: s.Nodup