ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- HomogeneousIdeal.toIdeal_add
@[simp]
theorem toIdeal_add (I J : HomogeneousIdeal 𝒜) : (I + J).toIdeal = I.toIdeal + J.toIdeal 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] {𝒜 : ι → σ} [GradedRing 𝒜] (I J : HomogeneousIdeal 𝒜)
Goal: (I + J).toIdeal = I.toIdeal + J.toIdeal
-- Ideal.IsHomogeneous.mul
theorem Ideal.IsHomogeneous.mul {I J : Ideal A} (HI : I.IsHomogeneous 𝒜) (HJ : J.IsHomogeneous 𝒜) :
    (I * J).IsHomogeneous 𝒜 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [CommSemiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] {𝒜 : ι → σ} [GradedRing 𝒜] {I J : Ideal A} (HI : Ideal.IsHomogeneous 𝒜 I) (HJ : Ideal.IsHomogeneous 𝒜 J)
Goal: Ideal.IsHomogeneous 𝒜 (I * J)
-- HomogeneousIdeal.toIdeal_mul
@[simp]
theorem HomogeneousIdeal.toIdeal_mul (I J : HomogeneousIdeal 𝒜) :
    (I * J).toIdeal = I.toIdeal * J.toIdeal 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [CommSemiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] {𝒜 : ι → σ} [GradedRing 𝒜] (I J : HomogeneousIdeal 𝒜)
Goal: (I * J).toIdeal = I.toIdeal * J.toIdeal
-- Ideal.homogeneousCore.gc
theorem Ideal.homogeneousCore.gc : GaloisConnection toIdeal (Ideal.homogeneousCore 𝒜) 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
Goal: GaloisConnection HomogeneousIdeal.toIdeal (Ideal.homogeneousCore 𝒜)
-- Ideal.homogeneousCore_eq_sSup
theorem Ideal.homogeneousCore_eq_sSup :
    I.homogeneousCore 𝒜 = sSup { J : HomogeneousIdeal 𝒜 | J.toIdeal ≤ I } 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (I : Ideal A)
Goal: Ideal.homogeneousCore 𝒜 I = sSup {J | J.toIdeal ≤ I}
-- Ideal.homogeneousCore'_eq_sSup
theorem Ideal.homogeneousCore'_eq_sSup :
    I.homogeneousCore' 𝒜 = sSup { J : Ideal A | J.IsHomogeneous 𝒜 ∧ J ≤ I } 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (I : Ideal A)
Goal: Ideal.homogeneousCore' 𝒜 I = sSup {J | Ideal.IsHomogeneous 𝒜 J ∧ J ≤ I}
-- Ideal.le_toIdeal_homogeneousHull
theorem Ideal.le_toIdeal_homogeneousHull : I ≤ (Ideal.homogeneousHull 𝒜 I).toIdeal 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (I : Ideal A)
Goal: I ≤ (Ideal.homogeneousHull 𝒜 I).toIdeal
-- Ideal.homogeneousHull_mono
theorem Ideal.homogeneousHull_mono : Monotone (Ideal.homogeneousHull 𝒜) 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
Goal: Monotone (Ideal.homogeneousHull 𝒜)
-- Ideal.IsHomogeneous.toIdeal_homogeneousHull_eq_self
theorem Ideal.IsHomogeneous.toIdeal_homogeneousHull_eq_self (h : I.IsHomogeneous 𝒜) :
    (Ideal.homogeneousHull 𝒜 I).toIdeal = I 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] {𝒜 : ι → σ} [GradedRing 𝒜] {I : Ideal A} (h : Ideal.IsHomogeneous 𝒜 I)
Goal: (Ideal.homogeneousHull 𝒜 I).toIdeal = I
-- HomogeneousIdeal.homogeneousHull_toIdeal_eq_self
@[simp]
theorem HomogeneousIdeal.homogeneousHull_toIdeal_eq_self (I : HomogeneousIdeal 𝒜) :
    I.toIdeal.homogeneousHull 𝒜 = I 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] {𝒜 : ι → σ} [GradedRing 𝒜] (I : HomogeneousIdeal 𝒜)
Goal: Ideal.homogeneousHull 𝒜 I.toIdeal = I
-- Ideal.toIdeal_homogeneousHull_eq_iSup
theorem Ideal.toIdeal_homogeneousHull_eq_iSup :
    (I.homogeneousHull 𝒜).toIdeal = ⨆ i, Ideal.span (GradedRing.proj 𝒜 i '' I) 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (I : Ideal A)
Goal: (Ideal.homogeneousHull 𝒜 I).toIdeal = ⨆ i, Ideal.span (⇑(GradedRing.proj 𝒜 i) '' ↑I)
-- Ideal.homogeneousHull_eq_iSup
theorem Ideal.homogeneousHull_eq_iSup :
    I.homogeneousHull 𝒜 =
      ⨆ i, ⟨Ideal.span (GradedRing.proj 𝒜 i '' I), Ideal.homogeneous_span 𝒜 _ (by
        rintro _ ⟨x, -, rfl⟩
        apply SetLike.homogeneous_coe)⟩ 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (I : Ideal A)
Goal: Ideal.homogeneousHull 𝒜 I = ⨆ i, { toSubmodule := Ideal.span (⇑(GradedRing.proj 𝒜 i) '' ↑I), is_homogeneous' := ⋯ }
-- Ideal.homogeneousHull.gc
theorem Ideal.homogeneousHull.gc : GaloisConnection (Ideal.homogeneousHull 𝒜) toIdeal 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
Goal: GaloisConnection (Ideal.homogeneousHull 𝒜) HomogeneousIdeal.toIdeal
-- Ideal.homogeneousHull_eq_sInf
theorem Ideal.homogeneousHull_eq_sInf (I : Ideal A) :
    Ideal.homogeneousHull 𝒜 I = sInf { J : HomogeneousIdeal 𝒜 | I ≤ J.toIdeal } 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [AddMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (I : Ideal A)
Goal: Ideal.homogeneousHull 𝒜 I = sInf {J | I ≤ J.toIdeal}
-- HomogeneousIdeal.mem_irrelevant_iff
@[simp]
theorem HomogeneousIdeal.mem_irrelevant_iff (a : A) :
    a ∈ HomogeneousIdeal.irrelevant 𝒜 ↔ proj 𝒜 0 a = 0 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [CanonicallyOrderedAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (a : A)
Goal: a ∈ HomogeneousIdeal.irrelevant 𝒜 ↔ (GradedRing.proj 𝒜 0) a = 0
-- HomogeneousIdeal.toIdeal_irrelevant
@[simp]
theorem HomogeneousIdeal.toIdeal_irrelevant :
    (HomogeneousIdeal.irrelevant 𝒜).toIdeal = RingHom.ker (GradedRing.projZeroRingHom 𝒜) 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_4} [Semiring A] [DecidableEq ι] [CanonicallyOrderedAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
Goal: (HomogeneousIdeal.irrelevant 𝒜).toIdeal = RingHom.ker (GradedRing.projZeroRingHom 𝒜)
-- Basis.algebraMapCoeffs_repr_apply_toFun
@[simps! repr_apply_support_val repr_apply_toFun]
noncomputable def Basis.algebraMapCoeffs : Basis ι A M 
Arguments: {R : Type u} (A : Type w) {ι : Type u_1} {M : Type u_2} [CommSemiring R] [Semiring A] [AddCommMonoid M] [Algebra R A] [Module A M] [Module R M] [IsScalarTower R A M] (b : Basis ι R M) (h : Function.Bijective ⇑(algebraMap R A))
Goal: ∀ (a : M) (a_1 : ι), ((Basis.algebraMapCoeffs A b h).repr a) a_1 = (algebraMap R A) ((b.repr a) a_1)
-- Basis.algebraMapCoeffs_repr_apply_support_val
@[simps! repr_apply_support_val repr_apply_toFun]
noncomputable def Basis.algebraMapCoeffs : Basis ι A M 
Arguments: {R : Type u} (A : Type w) {ι : Type u_1} {M : Type u_2} [CommSemiring R] [Semiring A] [AddCommMonoid M] [Algebra R A] [Module A M] [Module R M] [IsScalarTower R A M] (b : Basis ι R M) (h : Function.Bijective ⇑(algebraMap R A))
Goal: ∀ (a : M),
  ((Basis.algebraMapCoeffs A b h).repr a).support.val =
    Multiset.filter (fun x => ¬(RingEquiv.ofBijective (algebraMap R A) h).symm.symm ((b.repr a) x) = 0)
      (b.repr a).support.val
-- Basis.algebraMapCoeffs_apply
theorem Basis.algebraMapCoeffs_apply (i : ι) : b.algebraMapCoeffs A h i = b i 
Arguments: {R : Type u} (A : Type w) {ι : Type u_1} {M : Type u_2} [CommSemiring R] [Semiring A] [AddCommMonoid M] [Algebra R A] [Module A M] [Module R M] [IsScalarTower R A M] (b : Basis ι R M) (h : Function.Bijective ⇑(algebraMap R A)) (i : ι)
Goal: (Basis.algebraMapCoeffs A b h) i = b i
-- Basis.coe_algebraMapCoeffs
@[simp]
theorem Basis.coe_algebraMapCoeffs : (b.algebraMapCoeffs A h : ι → M) = b 
Arguments: {R : Type u} (A : Type w) {ι : Type u_1} {M : Type u_2} [CommSemiring R] [Semiring A] [AddCommMonoid M] [Algebra R A] [Module A M] [Module R M] [IsScalarTower R A M] (b : Basis ι R M) (h : Function.Bijective ⇑(algebraMap R A))
Goal: ⇑(Basis.algebraMapCoeffs A b h) = ⇑b
-- linearIndependent_smul
theorem linearIndependent_smul {ι : Type v₁} {b : ι → S} {ι' : Type w₁} {c : ι' → A}
    (hb : LinearIndependent R b) (hc : LinearIndependent S c) :
    LinearIndependent R fun p : ι × ι' => b p.1 • c p.2 
Arguments: {R : Type u} {S : Type v} {A : Type w} [Semiring R] [Semiring S] [AddCommMonoid A] [Module R S] [Module S A] [Module R A] [IsScalarTower R S A] {ι : Type v₁} {b : ι → S} {ι' : Type w₁} {c : ι' → A} (hb : LinearIndependent R b) (hc : LinearIndependent S c)
Goal: LinearIndependent R fun p => b p.1 • c p.2
-- Basis.isScalarTower_of_nonempty
theorem Basis.isScalarTower_of_nonempty {ι} [Nonempty ι] (b : Basis ι S A) : IsScalarTower R S S 
Arguments: (R : Type u) {S : Type v} {A : Type w} [Semiring R] [Semiring S] [AddCommMonoid A] [Module R S] [Module S A] [Module R A] [IsScalarTower R S A] {ι : Type u_1} [Nonempty ι] (b : Basis ι S A)
Goal: IsScalarTower R S S
-- Basis.isScalarTower_finsupp
theorem Basis.isScalarTower_finsupp {ι} (b : Basis ι S A) : IsScalarTower R S (ι →₀ S) 
Arguments: (R : Type u) {S : Type v} {A : Type w} [Semiring R] [Semiring S] [AddCommMonoid A] [Module R S] [Module S A] [Module R A] [IsScalarTower R S A] {ι : Type u_1} (b : Basis ι S A)
Goal: IsScalarTower R S (ι →₀ S)
-- Basis.smulTower_repr
@[simp]
theorem Basis.smulTower_repr {ι : Type v₁} {ι' : Type w₁}
    (b : Basis ι R S) (c : Basis ι' S A) (x ij) :
    (b.smulTower c).repr x ij = b.repr (c.repr x ij.2) ij.1 
Arguments: {R : Type u} {S : Type v} {A : Type w} [Semiring R] [Semiring S] [AddCommMonoid A] [Module R S] [Module S A] [Module R A] [IsScalarTower R S A] {ι : Type v₁} {ι' : Type w₁} (b : Basis ι R S) (c : Basis ι' S A) (x : A) (ij : ι × ι')
Goal: ((b.smulTower c).repr x) ij = (b.repr ((c.repr x) ij.2)) ij.1
-- Basis.smulTower_repr_mk
theorem Basis.smulTower_repr_mk {ι : Type v₁} {ι' : Type w₁} (b : Basis ι R S) (c : Basis ι' S A)
    (x i j) : (b.smulTower c).repr x (i, j) = b.repr (c.repr x j) i 
Arguments: {R : Type u} {S : Type v} {A : Type w} [Semiring R] [Semiring S] [AddCommMonoid A] [Module R S] [Module S A] [Module R A] [IsScalarTower R S A] {ι : Type v₁} {ι' : Type w₁} (b : Basis ι R S) (c : Basis ι' S A) (x : A) (i : ι) (j : ι')
Goal: ((b.smulTower c).repr x) (i, j) = (b.repr ((c.repr x) j)) i
-- Basis.smulTower_apply
@[simp]
theorem Basis.smulTower_apply {ι : Type v₁} {ι' : Type w₁}
    (b : Basis ι R S) (c : Basis ι' S A) (ij) :
    (b.smulTower c) ij = b ij.1 • c ij.2 
Arguments: {R : Type u} {S : Type v} {A : Type w} [Semiring R] [Semiring S] [AddCommMonoid A] [Module R S] [Module S A] [Module R A] [IsScalarTower R S A] {ι : Type v₁} {ι' : Type w₁} (b : Basis ι R S) (c : Basis ι' S A) (ij : ι × ι')
Goal: (b.smulTower c) ij = b ij.1 • c ij.2
-- Basis.algebraMap_injective
theorem Basis.algebraMap_injective {ι : Type*} [NoZeroDivisors R] [Nontrivial S]
    (b : @Basis ι R S _ _ Algebra.toModule) : Function.Injective (algebraMap R S) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {ι : Type u_1} [NoZeroDivisors R] [Nontrivial S] (b : Basis ι R S)
Goal: Function.Injective ⇑(algebraMap R S)
-- FreeCommRing.of_injective
theorem of_injective : Function.Injective (of : α → FreeCommRing α) 
Arguments: {α : Type u}
Goal: Function.Injective FreeCommRing.of
-- FreeCommRing.of_cons
lemma of_cons (a : α) (m : Multiset α) : (FreeAbelianGroup.of (Multiplicative.ofAdd (a ::ₘ m))) =
    @HMul.hMul _ (FreeCommRing α) (FreeCommRing α) _ (of a)
    (FreeAbelianGroup.of (Multiplicative.ofAdd m)) 
Arguments: {α : Type u} (a : α) (m : Multiset α)
Goal: FreeAbelianGroup.of (Multiplicative.ofAdd (a ::ₘ m)) = FreeCommRing.of a * FreeAbelianGroup.of (Multiplicative.ofAdd m)
-- FreeCommRing.induction_on
@[elab_as_elim, induction_eliminator]
protected theorem induction_on {C : FreeCommRing α → Prop} (z : FreeCommRing α) (hn1 : C (-1))
    (hb : ∀ b, C (of b)) (ha : ∀ x y, C x → C y → C (x + y)) (hm : ∀ x y, C x → C y → C (x * y)) :
    C z 
Arguments: {α : Type u} {C : FreeCommRing α → Prop} (z : FreeCommRing α) (hn1 : C (-1)) (hb : ∀ (b : α), C (FreeCommRing.of b)) (ha : ∀ (x y : FreeCommRing α), C x → C y → C (x + y)) (hm : ∀ (x y : FreeCommRing α), C x → C y → C (x * y))
Goal: C z
-- FreeCommRing.lift_of
@[simp]
theorem lift_of (x : α) : lift f (of x) = f x 
Arguments: {α : Type u} {R : Type v} [CommRing R] (f : α → R) (x : α)
Goal: (FreeCommRing.lift f) (FreeCommRing.of x) = f x
-- FreeCommRing.lift_comp_of
@[simp]
theorem lift_comp_of (f : FreeCommRing α →+* R) : lift (f ∘ of) = f 
Arguments: {α : Type u} {R : Type v} [CommRing R] (f : FreeCommRing α →+* R)
Goal: FreeCommRing.lift (⇑f ∘ FreeCommRing.of) = f
-- FreeCommRing.hom_ext
@[ext 1100]
theorem hom_ext ⦃f g : FreeCommRing α →+* R⦄ (h : ∀ x, f (of x) = g (of x)) : f = g 
Arguments: {α : Type u} {R : Type v} [CommRing R] ⦃f g : FreeCommRing α →+* R⦄ (h : ∀ (x : α), f (FreeCommRing.of x) = g (FreeCommRing.of x))
Goal: f = g
-- FreeCommRing.map_of
@[simp]
theorem map_of (x : α) : map f (of x) = of (f x) 
Arguments: {α : Type u} {β : Type v} (f : α → β) (x : α)
Goal: (FreeCommRing.map f) (FreeCommRing.of x) = FreeCommRing.of (f x)
-- FreeCommRing.isSupported_upwards
theorem isSupported_upwards (hs : IsSupported x s) (hst : s ⊆ t) : IsSupported x t 
Arguments: {α : Type u} {x : FreeCommRing α} {s t : Set α} (hs : x.IsSupported s) (hst : s ⊆ t)
Goal: x.IsSupported t
-- FreeCommRing.isSupported_add
theorem isSupported_add (hxs : IsSupported x s) (hys : IsSupported y s) : IsSupported (x + y) s 
Arguments: {α : Type u} {x y : FreeCommRing α} {s : Set α} (hxs : x.IsSupported s) (hys : y.IsSupported s)
Goal: (x + y).IsSupported s
-- FreeCommRing.isSupported_neg
theorem isSupported_neg (hxs : IsSupported x s) : IsSupported (-x) s 
Arguments: {α : Type u} {x : FreeCommRing α} {s : Set α} (hxs : x.IsSupported s)
Goal: (-x).IsSupported s
-- FreeCommRing.isSupported_sub
theorem isSupported_sub (hxs : IsSupported x s) (hys : IsSupported y s) : IsSupported (x - y) s 
Arguments: {α : Type u} {x y : FreeCommRing α} {s : Set α} (hxs : x.IsSupported s) (hys : y.IsSupported s)
Goal: (x - y).IsSupported s
-- FreeCommRing.isSupported_mul
theorem isSupported_mul (hxs : IsSupported x s) (hys : IsSupported y s) : IsSupported (x * y) s 
Arguments: {α : Type u} {x y : FreeCommRing α} {s : Set α} (hxs : x.IsSupported s) (hys : y.IsSupported s)
Goal: (x * y).IsSupported s
-- FreeCommRing.isSupported_zero
theorem isSupported_zero : IsSupported 0 s 
Arguments: {α : Type u} {s : Set α}
Goal: FreeCommRing.IsSupported 0 s
-- FreeCommRing.isSupported_one
theorem isSupported_one : IsSupported 1 s 
Arguments: {α : Type u} {s : Set α}
Goal: FreeCommRing.IsSupported 1 s
-- FreeCommRing.isSupported_int
theorem isSupported_int {i : ℤ} {s : Set α} : IsSupported (↑i) s 
Arguments: {α : Type u} {i : ℤ} {s : Set α}
Goal: (↑i).IsSupported s
-- FreeCommRing.restriction_of
@[simp]
theorem restriction_of (p) : restriction s (of p) = if H : p ∈ s then of ⟨p, H⟩ else 0 
Arguments: {α : Type u} (s : Set α) [DecidablePred fun x => x ∈ s] (p : α)
Goal: (FreeCommRing.restriction s) (FreeCommRing.of p) = if H : p ∈ s then FreeCommRing.of ⟨p, H⟩ else 0
-- FreeCommRing.isSupported_of
theorem isSupported_of {p} {s : Set α} : IsSupported (of p) s ↔ p ∈ s 
Arguments: {α : Type u} {p : α} {s : Set α}
Goal: (FreeCommRing.of p).IsSupported s ↔ p ∈ s
-- FreeCommRing.map_subtype_val_restriction
theorem map_subtype_val_restriction {x} (s : Set α) [DecidablePred (· ∈ s)]
    (hxs : IsSupported x s) : map (↑) (restriction s x) = x 
Arguments: {α : Type u} {x : FreeCommRing α} (s : Set α) [DecidablePred fun x => x ∈ s] (hxs : x.IsSupported s)
Goal: (FreeCommRing.map Subtype.val) ((FreeCommRing.restriction s) x) = x
-- FreeCommRing.exists_finite_support
theorem exists_finite_support (x : FreeCommRing α) : ∃ s : Set α, Set.Finite s ∧ IsSupported x s 
Arguments: {α : Type u} (x : FreeCommRing α)
Goal: ∃ s, s.Finite ∧ x.IsSupported s
-- FreeCommRing.exists_finset_support
theorem exists_finset_support (x : FreeCommRing α) : ∃ s : Finset α, IsSupported x ↑s 
Arguments: {α : Type u} (x : FreeCommRing α)
Goal: ∃ s, x.IsSupported ↑s
-- FreeRing.coe_zero
@[simp, norm_cast]
protected theorem coe_zero : ↑(0 : FreeRing α) = (0 : FreeCommRing α) 
Arguments: (α : Type u)
Goal: ↑0 = 0
-- FreeRing.coe_one
@[simp, norm_cast]
protected theorem coe_one : ↑(1 : FreeRing α) = (1 : FreeCommRing α) 
Arguments: (α : Type u)
Goal: ↑1 = 1
-- FreeRing.coe_of
@[simp]
protected theorem coe_of (a : α) : ↑(FreeRing.of a) = FreeCommRing.of a 
Arguments: {α : Type u} (a : α)
Goal: ↑(FreeRing.of a) = FreeCommRing.of a
-- FreeRing.coe_neg
@[simp, norm_cast]
protected theorem coe_neg (x : FreeRing α) : ↑(-x) = -(x : FreeCommRing α) 
Arguments: {α : Type u} (x : FreeRing α)
Goal: ↑(-x) = -↑x
-- FreeRing.coe_add
@[simp, norm_cast]
protected theorem coe_add (x y : FreeRing α) : ↑(x + y) = (x : FreeCommRing α) + y 
Arguments: {α : Type u} (x y : FreeRing α)
Goal: ↑(x + y) = ↑x + ↑y
-- FreeRing.coe_sub
@[simp, norm_cast]
protected theorem coe_sub (x y : FreeRing α) : ↑(x - y) = (x : FreeCommRing α) - y 
Arguments: {α : Type u} (x y : FreeRing α)
Goal: ↑(x - y) = ↑x - ↑y
-- FreeRing.coe_mul
@[simp, norm_cast]
protected theorem coe_mul (x y : FreeRing α) : ↑(x * y) = (x : FreeCommRing α) * y 
Arguments: {α : Type u} (x y : FreeRing α)
Goal: ↑(x * y) = ↑x * ↑y
-- FreeRing.coe_surjective
protected theorem coe_surjective : Surjective ((↑) : FreeRing α → FreeCommRing α) 
Arguments: (α : Type u)
Goal: Function.Surjective FreeRing.castFreeCommRing
-- FreeRing.coe_eq
theorem coe_eq : ((↑) : FreeRing α → FreeCommRing α) =
    @Functor.map FreeAbelianGroup _ _ _ fun l : List α => (l : Multiset α) 
Arguments: (α : Type u)
Goal: FreeRing.castFreeCommRing = Functor.map fun l => ↑l
-- IsLocalization.adjoin_inv
theorem IsLocalization.adjoin_inv (r : R) : IsLocalization.Away r (AdjoinRoot <| C r * X - 1) 
Arguments: {R : Type u_1} [CommRing R] (r : R)
Goal: IsLocalization.Away r (AdjoinRoot (Polynomial.C r * Polynomial.X - 1))
-- IsLocalization.Away.finitePresentation
theorem IsLocalization.Away.finitePresentation (r : R) {S} [CommRing S] [Algebra R S]
    [IsLocalization.Away r S] : Algebra.FinitePresentation R S 
Arguments: {R : Type u_1} [CommRing R] (r : R) {S : Type u_2} [CommRing S] [Algebra R S] [IsLocalization.Away r S]
Goal: Algebra.FinitePresentation R S
-- Ideal.IsHomogeneous.isPrime_of_homogeneous_mem_or_mem
theorem Ideal.IsHomogeneous.isPrime_of_homogeneous_mem_or_mem {I : Ideal A} (hI : I.IsHomogeneous 𝒜)
    (I_ne_top : I ≠ ⊤)
    (homogeneous_mem_or_mem :
      ∀ {x y : A}, Homogeneous 𝒜 x → Homogeneous 𝒜 y → x * y ∈ I → x ∈ I ∨ y ∈ I) :
    Ideal.IsPrime I 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_3} [CommRing A] [LinearOrderedCancelAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] {𝒜 : ι → σ} [GradedRing 𝒜] {I : Ideal A} (hI : Ideal.IsHomogeneous 𝒜 I) (I_ne_top : I ≠ ⊤) (homogeneous_mem_or_mem : ∀ {x y : A}, SetLike.Homogeneous 𝒜 x → SetLike.Homogeneous 𝒜 y → x * y ∈ I → x ∈ I ∨ y ∈ I)
Goal: I.IsPrime
-- Ideal.IsHomogeneous.isPrime_iff
theorem Ideal.IsHomogeneous.isPrime_iff {I : Ideal A} (h : I.IsHomogeneous 𝒜) :
    I.IsPrime ↔
      I ≠ ⊤ ∧
        ∀ {x y : A},
          SetLike.Homogeneous 𝒜 x → SetLike.Homogeneous 𝒜 y → x * y ∈ I → x ∈ I ∨ y ∈ I 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_3} [CommRing A] [LinearOrderedCancelAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] {𝒜 : ι → σ} [GradedRing 𝒜] {I : Ideal A} (h : Ideal.IsHomogeneous 𝒜 I)
Goal: I.IsPrime ↔ I ≠ ⊤ ∧ ∀ {x y : A}, SetLike.Homogeneous 𝒜 x → SetLike.Homogeneous 𝒜 y → x * y ∈ I → x ∈ I ∨ y ∈ I
-- Ideal.IsPrime.homogeneousCore
theorem Ideal.IsPrime.homogeneousCore {I : Ideal A} (h : I.IsPrime) :
    (I.homogeneousCore 𝒜).toIdeal.IsPrime 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_3} [CommRing A] [LinearOrderedCancelAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] {𝒜 : ι → σ} [GradedRing 𝒜] {I : Ideal A} (h : I.IsPrime)
Goal: (Ideal.homogeneousCore 𝒜 I).toIdeal.IsPrime
-- Ideal.IsHomogeneous.radical_eq
theorem Ideal.IsHomogeneous.radical_eq {I : Ideal A} (hI : I.IsHomogeneous 𝒜) :
    I.radical = InfSet.sInf { J | Ideal.IsHomogeneous 𝒜 J ∧ I ≤ J ∧ J.IsPrime } 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_3} [CommRing A] [LinearOrderedCancelAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] {𝒜 : ι → σ} [GradedRing 𝒜] {I : Ideal A} (hI : Ideal.IsHomogeneous 𝒜 I)
Goal: I.radical = sInf {J | Ideal.IsHomogeneous 𝒜 J ∧ I ≤ J ∧ J.IsPrime}
-- Ideal.IsHomogeneous.radical
theorem Ideal.IsHomogeneous.radical {I : Ideal A} (h : I.IsHomogeneous 𝒜) :
    I.radical.IsHomogeneous 𝒜 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_3} [CommRing A] [LinearOrderedCancelAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] {𝒜 : ι → σ} [GradedRing 𝒜] {I : Ideal A} (h : Ideal.IsHomogeneous 𝒜 I)
Goal: Ideal.IsHomogeneous 𝒜 I.radical
-- HomogeneousIdeal.coe_radical
@[simp]
theorem HomogeneousIdeal.coe_radical (I : HomogeneousIdeal 𝒜) :
    I.radical.toIdeal = I.toIdeal.radical 
Arguments: {ι : Type u_1} {σ : Type u_2} {A : Type u_3} [CommRing A] [LinearOrderedCancelAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] {𝒜 : ι → σ} [GradedRing 𝒜] (I : HomogeneousIdeal 𝒜)
Goal: I.radical.toIdeal = I.toIdeal.radical
-- IsLocalization.isInteger_zero
theorem isInteger_zero : IsInteger R (0 : S) 
Arguments: {R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] [Algebra R S]
Goal: IsLocalization.IsInteger R 0
-- IsLocalization.isInteger_one
theorem isInteger_one : IsInteger R (1 : S) 
Arguments: {R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] [Algebra R S]
Goal: IsLocalization.IsInteger R 1
-- IsLocalization.isInteger_add
theorem isInteger_add {a b : S} (ha : IsInteger R a) (hb : IsInteger R b) : IsInteger R (a + b) 
Arguments: {R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] [Algebra R S] {a b : S} (ha : IsLocalization.IsInteger R a) (hb : IsLocalization.IsInteger R b)
Goal: IsLocalization.IsInteger R (a + b)
-- IsLocalization.isInteger_mul
theorem isInteger_mul {a b : S} (ha : IsInteger R a) (hb : IsInteger R b) : IsInteger R (a * b) 
Arguments: {R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] [Algebra R S] {a b : S} (ha : IsLocalization.IsInteger R a) (hb : IsLocalization.IsInteger R b)
Goal: IsLocalization.IsInteger R (a * b)
-- IsLocalization.isInteger_smul
theorem isInteger_smul {a : R} {b : S} (hb : IsInteger R b) : IsInteger R (a • b) 
Arguments: {R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] [Algebra R S] {a : R} {b : S} (hb : IsLocalization.IsInteger R b)
Goal: IsLocalization.IsInteger R (a • b)
-- IsLocalization.exists_integer_multiple'
theorem exists_integer_multiple' (a : S) : ∃ b : M, IsInteger R (a * algebraMap R S b) 
Arguments: {R : Type u_1} [CommSemiring R] (M : Submonoid R) {S : Type u_2} [CommSemiring S] [Algebra R S] [IsLocalization M S] (a : S)
Goal: ∃ b, IsLocalization.IsInteger R (a * (algebraMap R S) ↑b)
-- IsLocalization.exists_integer_multiple
theorem exists_integer_multiple (a : S) : ∃ b : M, IsInteger R ((b : R) • a) 
Arguments: {R : Type u_1} [CommSemiring R] (M : Submonoid R) {S : Type u_2} [CommSemiring S] [Algebra R S] [IsLocalization M S] (a : S)
Goal: ∃ b, IsLocalization.IsInteger R (↑b • a)
-- IsLocalization.exist_integer_multiples
theorem exist_integer_multiples {ι : Type*} (s : Finset ι) (f : ι → S) :
    ∃ b : M, ∀ i ∈ s, IsLocalization.IsInteger R ((b : R) • f i) 
Arguments: {R : Type u_1} [CommSemiring R] (M : Submonoid R) {S : Type u_2} [CommSemiring S] [Algebra R S] [IsLocalization M S] {ι : Type u_4} (s : Finset ι) (f : ι → S)
Goal: ∃ b, ∀ i ∈ s, IsLocalization.IsInteger R (↑b • f i)