ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- AdicCompletion.AdicCauchySequence.mk_coe
@[simps]
def AdicCauchySequence.mk (f : ℕ → M)
    (h : ∀ n, f n ≡ f (n + 1) [SMOD (I ^ n • ⊤ : Submodule R M)]) : AdicCauchySequence I M 
Arguments: {R : Type u_1} [CommRing R] (I : Ideal R) (M : Type u_2) [AddCommGroup M] [Module R M] (f : ℕ → M) (h : ∀ (n : ℕ), f n ≡ f (n + 1) [SMOD I ^ n • ⊤])
Goal: ∀ (a : ℕ), ↑(AdicCompletion.AdicCauchySequence.mk I M f h) a = f a
-- AdicCompletion.mk_apply_coe
@[simps]
def mk : AdicCauchySequence I M →ₗ[R] AdicCompletion I M 
Arguments: {R : Type u_1} [CommRing R] (I : Ideal R) (M : Type u_2) [AddCommGroup M] [Module R M] (f : AdicCompletion.AdicCauchySequence I M) (n : ℕ)
Goal: ↑((AdicCompletion.mk I M) f) n = (I ^ n • ⊤).mkQ (↑f n)
-- AdicCompletion.mk_zero_of
theorem mk_zero_of (f : AdicCauchySequence I M)
    (h : ∃ k : ℕ, ∀ n ≥ k, ∃ m ≥ n, ∃ l ≥ n, f m ∈ (I ^ l • ⊤ : Submodule R M)) :
    AdicCompletion.mk I M f = 0 
Arguments: {R : Type u_1} [CommRing R] (I : Ideal R) (M : Type u_2) [AddCommGroup M] [Module R M] (f : AdicCompletion.AdicCauchySequence I M) (h : ∃ k, ∀ n ≥ k, ∃ m ≥ n, ∃ l ≥ n, ↑f m ∈ I ^ l • ⊤)
Goal: (AdicCompletion.mk I M) f = 0
-- AdicCompletion.mk_surjective
theorem mk_surjective : Function.Surjective (mk I M) 
Arguments: {R : Type u_1} [CommRing R] (I : Ideal R) (M : Type u_2) [AddCommGroup M] [Module R M]
Goal: Function.Surjective ⇑(AdicCompletion.mk I M)
-- AdicCompletion.induction_on
theorem induction_on {p : AdicCompletion I M → Prop} (x : AdicCompletion I M)
    (h : ∀ (f : AdicCauchySequence I M), p (mk I M f)) : p x 
Arguments: {R : Type u_1} [CommRing R] (I : Ideal R) (M : Type u_2) [AddCommGroup M] [Module R M] {p : AdicCompletion I M → Prop} (x : AdicCompletion I M) (h : ∀ (f : AdicCompletion.AdicCauchySequence I M), p ((AdicCompletion.mk I M) f))
Goal: p x
-- AdicCompletion.eval_lift
@[simp]
lemma eval_lift (f : ∀ (n : ℕ), M →ₗ[R] N ⧸ (I ^ n • ⊤ : Submodule R N))
    (h : ∀ {m n : ℕ} (hle : m ≤ n), transitionMap I N hle ∘ₗ f n = f m)
    (n : ℕ) : eval I N n ∘ₗ lift I f h = f n 
Arguments: {R : Type u_1} [CommRing R] (I : Ideal R) {M : Type u_2} [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] (f : (n : ℕ) → M →ₗ[R] N ⧸ I ^ n • ⊤) (h : ∀ {m n : ℕ} (hle : m ≤ n), AdicCompletion.transitionMap I N hle ∘ₗ f n = f m) (n : ℕ)
Goal: AdicCompletion.eval I N n ∘ₗ AdicCompletion.lift I f ⋯ = f n
-- AdicCompletion.eval_lift_apply
@[simp]
lemma eval_lift_apply (f : ∀ (n : ℕ), M →ₗ[R] N ⧸ (I ^ n • ⊤ : Submodule R N))
    (h : ∀ {m n : ℕ} (hle : m ≤ n), transitionMap I N hle ∘ₗ f n = f m)
    (n : ℕ) (x : M) : (lift I f h x).val n = f n x 
Arguments: {R : Type u_1} [CommRing R] (I : Ideal R) {M : Type u_2} [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] (f : (n : ℕ) → M →ₗ[R] N ⧸ I ^ n • ⊤) (h : ∀ {m n : ℕ} (hle : m ≤ n), AdicCompletion.transitionMap I N hle ∘ₗ f n = f m) (n : ℕ) (x : M)
Goal: ↑((AdicCompletion.lift I f ⋯) x) n = (f n) x
-- IsAdicComplete.subsingleton
protected theorem subsingleton (h : IsAdicComplete (⊤ : Ideal R) M) : Subsingleton M 
Arguments: {R : Type u_1} [CommRing R] (M : Type u_2) [AddCommGroup M] [Module R M] (h : IsAdicComplete ⊤ M)
Goal: Subsingleton M
-- IsAdicComplete.le_jacobson_bot
theorem le_jacobson_bot [IsAdicComplete I R] : I ≤ (⊥ : Ideal R).jacobson 
Arguments: {R : Type u_1} [CommRing R] (I : Ideal R) [IsAdicComplete I R]
Goal: I ≤ ⊥.jacobson
-- Polynomial.isPrimitive_iff_isUnit_of_C_dvd
theorem isPrimitive_iff_isUnit_of_C_dvd {p : R[X]} : p.IsPrimitive ↔ ∀ r : R, C r ∣ p → IsUnit r 
Arguments: {R : Type u_1} [CommSemiring R] {p : Polynomial R}
Goal: p.IsPrimitive ↔ ∀ (r : R), Polynomial.C r ∣ p → IsUnit r
-- Polynomial.isPrimitive_one
@[simp]
theorem isPrimitive_one : IsPrimitive (1 : R[X]) 
Arguments: {R : Type u_1} [CommSemiring R]
Goal: Polynomial.IsPrimitive 1
-- Polynomial.Monic.isPrimitive
theorem Monic.isPrimitive {p : R[X]} (hp : p.Monic) : p.IsPrimitive 
Arguments: {R : Type u_1} [CommSemiring R] {p : Polynomial R} (hp : p.Monic)
Goal: p.IsPrimitive
-- Polynomial.IsPrimitive.ne_zero
theorem IsPrimitive.ne_zero [Nontrivial R] {p : R[X]} (hp : p.IsPrimitive) : p ≠ 0 
Arguments: {R : Type u_1} [CommSemiring R] [Nontrivial R] {p : Polynomial R} (hp : p.IsPrimitive)
Goal: p ≠ 0
-- Polynomial.isPrimitive_of_dvd
theorem isPrimitive_of_dvd {p q : R[X]} (hp : IsPrimitive p) (hq : q ∣ p) : IsPrimitive q 
Arguments: {R : Type u_1} [CommSemiring R] {p q : Polynomial R} (hp : p.IsPrimitive) (hq : q ∣ p)
Goal: q.IsPrimitive
-- Polynomial.content_dvd_coeff
theorem content_dvd_coeff {p : R[X]} (n : ℕ) : p.content ∣ p.coeff n 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p : Polynomial R} (n : ℕ)
Goal: p.content ∣ p.coeff n
-- Polynomial.content_C
@[simp]
theorem content_C {r : R} : (C r).content = normalize r 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {r : R}
Goal: (Polynomial.C r).content = normalize r
-- Polynomial.content_zero
@[simp]
theorem content_zero : content (0 : R[X]) = 0 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R]
Goal: Polynomial.content 0 = 0
-- Polynomial.content_one
@[simp]
theorem content_one : content (1 : R[X]) = 1 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R]
Goal: Polynomial.content 1 = 1
-- Polynomial.content_X_mul
theorem content_X_mul {p : R[X]} : content (X * p) = content p 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p : Polynomial R}
Goal: (Polynomial.X * p).content = p.content
-- Polynomial.content_X_pow
@[simp]
theorem content_X_pow {k : ℕ} : content ((X : R[X]) ^ k) = 1 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {k : ℕ}
Goal: (Polynomial.X ^ k).content = 1
-- Polynomial.content_X
@[simp]
theorem content_X : content (X : R[X]) = 1 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R]
Goal: Polynomial.X.content = 1
-- Polynomial.content_C_mul
theorem content_C_mul (r : R) (p : R[X]) : (C r * p).content = normalize r * p.content 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (r : R) (p : Polynomial R)
Goal: (Polynomial.C r * p).content = normalize r * p.content
-- Polynomial.content_monomial
@[simp]
theorem content_monomial {r : R} {k : ℕ} : content (monomial k r) = normalize r 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {r : R} {k : ℕ}
Goal: ((Polynomial.monomial k) r).content = normalize r
-- Polynomial.content_eq_zero_iff
theorem content_eq_zero_iff {p : R[X]} : content p = 0 ↔ p = 0 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p : Polynomial R}
Goal: p.content = 0 ↔ p = 0
-- Polynomial.normalize_content
theorem normalize_content {p : R[X]} : normalize p.content = p.content 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p : Polynomial R}
Goal: normalize p.content = p.content
-- Polynomial.normUnit_content
@[simp]
theorem normUnit_content {p : R[X]} : normUnit (content p) = 1 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p : Polynomial R}
Goal: normUnit p.content = 1
-- Polynomial.content_eq_gcd_range_of_lt
theorem content_eq_gcd_range_of_lt (p : R[X]) (n : ℕ) (h : p.natDegree < n) :
    p.content = (Finset.range n).gcd p.coeff 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (p : Polynomial R) (n : ℕ) (h : p.natDegree < n)
Goal: p.content = (Finset.range n).gcd p.coeff
-- Polynomial.content_eq_gcd_range_succ
theorem content_eq_gcd_range_succ (p : R[X]) :
    p.content = (Finset.range p.natDegree.succ).gcd p.coeff 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (p : Polynomial R)
Goal: p.content = (Finset.range p.natDegree.succ).gcd p.coeff
-- Polynomial.content_eq_gcd_leadingCoeff_content_eraseLead
theorem content_eq_gcd_leadingCoeff_content_eraseLead (p : R[X]) :
    p.content = GCDMonoid.gcd p.leadingCoeff (eraseLead p).content 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (p : Polynomial R)
Goal: p.content = gcd p.leadingCoeff p.eraseLead.content
-- Polynomial.dvd_content_iff_C_dvd
theorem dvd_content_iff_C_dvd {p : R[X]} {r : R} : r ∣ p.content ↔ C r ∣ p 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p : Polynomial R} {r : R}
Goal: r ∣ p.content ↔ Polynomial.C r ∣ p
-- Polynomial.C_content_dvd
theorem C_content_dvd (p : R[X]) : C p.content ∣ p 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (p : Polynomial R)
Goal: Polynomial.C p.content ∣ p
-- Polynomial.isPrimitive_iff_content_eq_one
theorem isPrimitive_iff_content_eq_one {p : R[X]} : p.IsPrimitive ↔ p.content = 1 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p : Polynomial R}
Goal: p.IsPrimitive ↔ p.content = 1
-- Polynomial.IsPrimitive.content_eq_one
theorem IsPrimitive.content_eq_one {p : R[X]} (hp : p.IsPrimitive) : p.content = 1 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p : Polynomial R} (hp : p.IsPrimitive)
Goal: p.content = 1
-- Polynomial.eq_C_content_mul_primPart
theorem eq_C_content_mul_primPart (p : R[X]) : p = C p.content * p.primPart 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (p : Polynomial R)
Goal: p = Polynomial.C p.content * p.primPart
-- Polynomial.primPart_zero
@[simp]
theorem primPart_zero : primPart (0 : R[X]) = 1 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R]
Goal: Polynomial.primPart 0 = 1
-- Polynomial.isPrimitive_primPart
theorem isPrimitive_primPart (p : R[X]) : p.primPart.IsPrimitive 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (p : Polynomial R)
Goal: p.primPart.IsPrimitive
-- Polynomial.content_primPart
theorem content_primPart (p : R[X]) : p.primPart.content = 1 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (p : Polynomial R)
Goal: p.primPart.content = 1
-- Polynomial.primPart_ne_zero
theorem primPart_ne_zero (p : R[X]) : p.primPart ≠ 0 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (p : Polynomial R)
Goal: p.primPart ≠ 0
-- Polynomial.natDegree_primPart
theorem natDegree_primPart (p : R[X]) : p.primPart.natDegree = p.natDegree 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (p : Polynomial R)
Goal: p.primPart.natDegree = p.natDegree
-- Polynomial.IsPrimitive.primPart_eq
@[simp]
theorem IsPrimitive.primPart_eq {p : R[X]} (hp : p.IsPrimitive) : p.primPart = p 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p : Polynomial R} (hp : p.IsPrimitive)
Goal: p.primPart = p
-- Polynomial.isUnit_primPart_C
theorem isUnit_primPart_C (r : R) : IsUnit (C r).primPart 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (r : R)
Goal: IsUnit (Polynomial.C r).primPart
-- Polynomial.primPart_dvd
theorem primPart_dvd (p : R[X]) : p.primPart ∣ p 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (p : Polynomial R)
Goal: p.primPart ∣ p
-- Polynomial.aeval_primPart_eq_zero
theorem aeval_primPart_eq_zero {S : Type*} [Ring S] [IsDomain S] [Algebra R S]
    [NoZeroSMulDivisors R S] {p : R[X]} {s : S} (hpzero : p ≠ 0) (hp : aeval s p = 0) :
    aeval s p.primPart = 0 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {S : Type u_2} [Ring S] [IsDomain S] [Algebra R S] [NoZeroSMulDivisors R S] {p : Polynomial R} {s : S} (hpzero : p ≠ 0) (hp : (Polynomial.aeval s) p = 0)
Goal: (Polynomial.aeval s) p.primPart = 0
-- Polynomial.eval₂_primPart_eq_zero
theorem eval₂_primPart_eq_zero {S : Type*} [CommRing S] [IsDomain S] {f : R →+* S}
    (hinj : Function.Injective f) {p : R[X]} {s : S} (hpzero : p ≠ 0) (hp : eval₂ f s p = 0) :
    eval₂ f s p.primPart = 0 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {S : Type u_2} [CommRing S] [IsDomain S] {f : R →+* S} (hinj : Function.Injective ⇑f) {p : Polynomial R} {s : S} (hpzero : p ≠ 0) (hp : Polynomial.eval₂ f s p = 0)
Goal: Polynomial.eval₂ f s p.primPart = 0
-- Polynomial.gcd_content_eq_of_dvd_sub
theorem gcd_content_eq_of_dvd_sub {a : R} {p q : R[X]} (h : C a ∣ p - q) :
    GCDMonoid.gcd a p.content = GCDMonoid.gcd a q.content 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {a : R} {p q : Polynomial R} (h : Polynomial.C a ∣ p - q)
Goal: gcd a p.content = gcd a q.content
-- Polynomial.content_mul_aux
theorem content_mul_aux {p q : R[X]} :
    GCDMonoid.gcd (p * q).eraseLead.content p.leadingCoeff =
      GCDMonoid.gcd (p.eraseLead * q).content p.leadingCoeff 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p q : Polynomial R}
Goal: gcd (p * q).eraseLead.content p.leadingCoeff = gcd (p.eraseLead * q).content p.leadingCoeff
-- Polynomial.content_mul
@[simp]
theorem content_mul {p q : R[X]} : (p * q).content = p.content * q.content 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p q : Polynomial R}
Goal: (p * q).content = p.content * q.content
-- Polynomial.IsPrimitive.mul
theorem IsPrimitive.mul {p q : R[X]} (hp : p.IsPrimitive) (hq : q.IsPrimitive) :
    (p * q).IsPrimitive 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p q : Polynomial R} (hp : p.IsPrimitive) (hq : q.IsPrimitive)
Goal: (p * q).IsPrimitive
-- Polynomial.primPart_mul
@[simp]
theorem primPart_mul {p q : R[X]} (h0 : p * q ≠ 0) :
    (p * q).primPart = p.primPart * q.primPart 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p q : Polynomial R} (h0 : p * q ≠ 0)
Goal: (p * q).primPart = p.primPart * q.primPart
-- Polynomial.IsPrimitive.dvd_primPart_iff_dvd
theorem IsPrimitive.dvd_primPart_iff_dvd {p q : R[X]} (hp : p.IsPrimitive) (hq : q ≠ 0) :
    p ∣ q.primPart ↔ p ∣ q 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p q : Polynomial R} (hp : p.IsPrimitive) (hq : q ≠ 0)
Goal: p ∣ q.primPart ↔ p ∣ q
-- Polynomial.exists_primitive_lcm_of_isPrimitive
theorem exists_primitive_lcm_of_isPrimitive {p q : R[X]} (hp : p.IsPrimitive) (hq : q.IsPrimitive) :
    ∃ r : R[X], r.IsPrimitive ∧ ∀ s : R[X], p ∣ s ∧ q ∣ s ↔ r ∣ s 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p q : Polynomial R} (hp : p.IsPrimitive) (hq : q.IsPrimitive)
Goal: ∃ r, r.IsPrimitive ∧ ∀ (s : Polynomial R), p ∣ s ∧ q ∣ s ↔ r ∣ s
-- Polynomial.dvd_iff_content_dvd_content_and_primPart_dvd_primPart
theorem dvd_iff_content_dvd_content_and_primPart_dvd_primPart {p q : R[X]} (hq : q ≠ 0) :
    p ∣ q ↔ p.content ∣ q.content ∧ p.primPart ∣ q.primPart 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p q : Polynomial R} (hq : q ≠ 0)
Goal: p ∣ q ↔ p.content ∣ q.content ∧ p.primPart ∣ q.primPart
-- Polynomial.degree_gcd_le_left
theorem degree_gcd_le_left {p : R[X]} (hp : p ≠ 0) (q) : (gcd p q).degree ≤ p.degree 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] {p : Polynomial R} (hp : p ≠ 0) (q : Polynomial R)
Goal: (gcd p q).degree ≤ p.degree
-- Polynomial.degree_gcd_le_right
theorem degree_gcd_le_right (p) {q : R[X]} (hq : q ≠ 0) : (gcd p q).degree ≤ q.degree 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [NormalizedGCDMonoid R] (p : Polynomial R) {q : Polynomial R} (hq : q ≠ 0)
Goal: (gcd p q).degree ≤ q.degree
-- RingHom.surjective_stableUnderComposition
theorem surjective_stableUnderComposition : StableUnderComposition surjective 
Goal: RingHom.StableUnderComposition fun {X Y} [CommRing X] [CommRing Y] f => Function.Surjective ⇑f
-- RingHom.surjective_respectsIso
theorem surjective_respectsIso : RespectsIso surjective 
Goal: RingHom.RespectsIso fun {X Y} [CommRing X] [CommRing Y] f => Function.Surjective ⇑f
-- RingHom.surjective_stableUnderBaseChange
theorem surjective_stableUnderBaseChange : StableUnderBaseChange surjective 
Goal: RingHom.StableUnderBaseChange fun {X Y} [CommRing X] [CommRing Y] f => Function.Surjective ⇑f
-- RingHom.surjective_ofLocalizationSpan
theorem surjective_ofLocalizationSpan : OfLocalizationSpan surjective 
Goal: RingHom.OfLocalizationSpan fun {X Y} [CommRing X] [CommRing Y] f => Function.Surjective ⇑f
-- Module.mem_support_iff
lemma Module.mem_support_iff :
    p ∈ Module.support R M ↔ Nontrivial (LocalizedModule p.asIdeal.primeCompl M) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R}
Goal: p ∈ Module.support R M ↔ Nontrivial (LocalizedModule p.asIdeal.primeCompl M)
-- Module.not_mem_support_iff
lemma Module.not_mem_support_iff :
    p ∉ Module.support R M ↔ Subsingleton (LocalizedModule p.asIdeal.primeCompl M) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R}
Goal: p ∉ Module.support R M ↔ Subsingleton (LocalizedModule p.asIdeal.primeCompl M)
-- Module.not_mem_support_iff'
lemma Module.not_mem_support_iff' :
    p ∉ Module.support R M ↔ ∀ m : M, ∃ r ∉ p.asIdeal, r • m = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R}
Goal: p ∉ Module.support R M ↔ ∀ (m : M), ∃ r ∉ p.asIdeal, r • m = 0
-- Module.mem_support_iff'
lemma Module.mem_support_iff' :
    p ∈ Module.support R M ↔ ∃ m : M, ∀ r ∉ p.asIdeal, r • m ≠ 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R}
Goal: p ∈ Module.support R M ↔ ∃ m, ∀ r ∉ p.asIdeal, r • m ≠ 0
-- Module.mem_support_iff_exists_annihilator
lemma Module.mem_support_iff_exists_annihilator :
    p ∈ Module.support R M ↔ ∃ m : M, (R ∙ m).annihilator ≤ p.asIdeal 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R}
Goal: p ∈ Module.support R M ↔ ∃ m, (Submodule.span R {m}).annihilator ≤ p.asIdeal
-- Module.mem_support_iff_of_span_eq_top
lemma Module.mem_support_iff_of_span_eq_top {s : Set M} (hs : Submodule.span R s = ⊤) :
    p ∈ Module.support R M ↔ ∃ m ∈ s, (R ∙ m).annihilator ≤ p.asIdeal 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R} {s : Set M} (hs : Submodule.span R s = ⊤)
Goal: p ∈ Module.support R M ↔ ∃ m ∈ s, (Submodule.span R {m}).annihilator ≤ p.asIdeal
-- Module.annihilator_le_of_mem_support
lemma Module.annihilator_le_of_mem_support (hp : p ∈ Module.support R M) :
    Module.annihilator R M ≤ p.asIdeal 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R} (hp : p ∈ Module.support R M)
Goal: Module.annihilator R M ≤ p.asIdeal
-- LocalizedModule.subsingleton_iff_support_subset
lemma LocalizedModule.subsingleton_iff_support_subset {f : R} :
    Subsingleton (LocalizedModule (.powers f) M) ↔
      Module.support R M ⊆ PrimeSpectrum.zeroLocus {f} 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {f : R}
Goal: Subsingleton (LocalizedModule (Submonoid.powers f) M) ↔ Module.support R M ⊆ PrimeSpectrum.zeroLocus {f}
-- Module.support_eq_empty_iff
lemma Module.support_eq_empty_iff :
    Module.support R M = ∅ ↔ Subsingleton M 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M]
Goal: Module.support R M = ∅ ↔ Subsingleton M
-- Module.support_eq_empty
lemma Module.support_eq_empty [Subsingleton M] :
    Module.support R M = ∅ 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [Subsingleton M]
Goal: Module.support R M = ∅
-- Module.support_of_algebra
lemma Module.support_of_algebra {A : Type*} [Ring A] [Algebra R A] :
    Module.support R A = PrimeSpectrum.zeroLocus (RingHom.ker (algebraMap R A)) 
Arguments: {R : Type u_1} [CommRing R] {A : Type u_3} [Ring A] [Algebra R A]
Goal: Module.support R A = PrimeSpectrum.zeroLocus ↑(RingHom.ker (algebraMap R A))
-- Module.support_of_noZeroSMulDivisors
lemma Module.support_of_noZeroSMulDivisors [NoZeroSMulDivisors R M] [Nontrivial M] :
    Module.support R M = Set.univ 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] [Nontrivial M]
Goal: Module.support R M = Set.univ
-- Module.mem_support_iff_of_finite
lemma Module.mem_support_iff_of_finite [Module.Finite R M] :
    p ∈ Module.support R M ↔ Module.annihilator R M ≤ p.asIdeal 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R} [Module.Finite R M]
Goal: p ∈ Module.support R M ↔ Module.annihilator R M ≤ p.asIdeal
-- Module.support_subset_of_injective
lemma Module.support_subset_of_injective (hf : Function.Injective f) :
    Module.support R M ⊆ Module.support R N 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] (f : M →ₗ[R] N) (hf : Function.Injective ⇑f)
Goal: Module.support R M ⊆ Module.support R N
-- Module.support_subset_of_surjective
lemma Module.support_subset_of_surjective (hf : Function.Surjective f) :
    Module.support R N ⊆ Module.support R M 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] (f : M →ₗ[R] N) (hf : Function.Surjective ⇑f)
Goal: Module.support R N ⊆ Module.support R M
-- Module.support_of_exact
lemma Module.support_of_exact (h : Function.Exact f g)
    (hf : Function.Injective f) (hg : Function.Surjective g) :
    Module.support R N = Module.support R M ∪ Module.support R P 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Type u_3} {P : Type u_4} [AddCommGroup N] [Module R N] [AddCommGroup P] [Module R P] {f : M →ₗ[R] N} {g : N →ₗ[R] P} (h : Function.Exact ⇑f ⇑g) (hf : Function.Injective ⇑f) (hg : Function.Surjective ⇑g)
Goal: Module.support R N = Module.support R M ∪ Module.support R P
-- LinearEquiv.support_eq
lemma LinearEquiv.support_eq (e : M ≃ₗ[R] N) :
    Module.support R M = Module.support R N 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] (e : M ≃ₗ[R] N)
Goal: Module.support R M = Module.support R N
-- Module.support_eq_zeroLocus
lemma Module.support_eq_zeroLocus [Module.Finite R M] :
    Module.support R M = PrimeSpectrum.zeroLocus (Module.annihilator R M) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [Module.Finite R M]
Goal: Module.support R M = PrimeSpectrum.zeroLocus ↑(Module.annihilator R M)
-- LocalizedModule.exists_subsingleton_away
lemma LocalizedModule.exists_subsingleton_away [Module.Finite R M] (p : Ideal R) [p.IsPrime]
    [Subsingleton (LocalizedModule p.primeCompl M)] :
    ∃ f ∉ p, Subsingleton (LocalizedModule (.powers f) M) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [Module.Finite R M] (p : Ideal R) [p.IsPrime] [Subsingleton (LocalizedModule p.primeCompl M)]
Goal: ∃ f ∉ p, Subsingleton (LocalizedModule (Submonoid.powers f) M)
-- Valuation.onQuot_comap_eq
@[simp]
theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
    (v.onQuot hJ).comap (Ideal.Quotient.mk J) = v 
Arguments: {R : Type u_1} {Γ₀ : Type u_2} [CommRing R] [LinearOrderedCommMonoidWithZero Γ₀] (v : Valuation R Γ₀) {J : Ideal R} (hJ : J ≤ v.supp)
Goal: Valuation.comap (Ideal.Quotient.mk J) (v.onQuot hJ) = v
-- Valuation.self_le_supp_comap
theorem self_le_supp_comap (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
    J ≤ (v.comap (Ideal.Quotient.mk J)).supp 
Arguments: {R : Type u_1} {Γ₀ : Type u_2} [CommRing R] [LinearOrderedCommMonoidWithZero Γ₀] (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀)
Goal: J ≤ (Valuation.comap (Ideal.Quotient.mk J) v).supp
-- Valuation.comap_onQuot_eq
@[simp]
theorem comap_onQuot_eq (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
    (v.comap (Ideal.Quotient.mk J)).onQuot (v.self_le_supp_comap J) = v 
Arguments: {R : Type u_1} {Γ₀ : Type u_2} [CommRing R] [LinearOrderedCommMonoidWithZero Γ₀] (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀)
Goal: (Valuation.comap (Ideal.Quotient.mk J) v).onQuot ⋯ = v