ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- MvPowerSeries.constantCoeff_one
theorem constantCoeff_one : constantCoeff σ R 1 = 1 
Arguments: {σ : Type u_1} {R : Type u_2} [Semiring R]
Goal: (MvPowerSeries.constantCoeff σ R) 1 = 1
-- MvPowerSeries.constantCoeff_X
@[simp]
theorem constantCoeff_X (s : σ) : constantCoeff σ R (X s) = 0 
Arguments: {σ : Type u_1} {R : Type u_2} [Semiring R] (s : σ)
Goal: (MvPowerSeries.constantCoeff σ R) (MvPowerSeries.X s) = 0
-- MvPowerSeries.isUnit_constantCoeff
theorem isUnit_constantCoeff (φ : MvPowerSeries σ R) (h : IsUnit φ) :
    IsUnit (constantCoeff σ R φ) 
Arguments: {σ : Type u_1} {R : Type u_2} [Semiring R] (φ : MvPowerSeries σ R) (h : IsUnit φ)
Goal: IsUnit ((MvPowerSeries.constantCoeff σ R) φ)
-- MvPowerSeries.coeff_smul
theorem coeff_smul (f : MvPowerSeries σ R) (n) (a : R) : coeff _ n (a • f) = a * coeff _ n f 
Arguments: {σ : Type u_1} {R : Type u_2} [Semiring R] (f : MvPowerSeries σ R) (n : σ →₀ ℕ) (a : R)
Goal: (MvPowerSeries.coeff R n) (a • f) = a * (MvPowerSeries.coeff R n) f
-- MvPowerSeries.smul_eq_C_mul
theorem smul_eq_C_mul (f : MvPowerSeries σ R) (a : R) : a • f = C σ R a * f 
Arguments: {σ : Type u_1} {R : Type u_2} [Semiring R] (f : MvPowerSeries σ R) (a : R)
Goal: a • f = (MvPowerSeries.C σ R) a * f
-- MvPowerSeries.X_inj
theorem X_inj [Nontrivial R] {s t : σ} : (X s : MvPowerSeries σ R) = X t ↔ s = t 
Arguments: {σ : Type u_1} {R : Type u_2} [Semiring R] [Nontrivial R] {s t : σ}
Goal: MvPowerSeries.X s = MvPowerSeries.X t ↔ s = t
-- MvPowerSeries.map_id
@[simp]
theorem map_id : map σ (RingHom.id R) = RingHom.id _ 
Arguments: {σ : Type u_1} {R : Type u_2} [Semiring R]
Goal: MvPowerSeries.map σ (RingHom.id R) = RingHom.id (MvPowerSeries σ R)
-- MvPowerSeries.map_comp
theorem map_comp : map σ (g.comp f) = (map σ g).comp (map σ f) 
Arguments: {σ : Type u_1} {R : Type u_2} {S : Type u_3} {T : Type u_4} [Semiring R] [Semiring S] [Semiring T] (f : R →+* S) (g : S →+* T)
Goal: MvPowerSeries.map σ (g.comp f) = (MvPowerSeries.map σ g).comp (MvPowerSeries.map σ f)
-- MvPowerSeries.coeff_map
@[simp]
theorem coeff_map (n : σ →₀ ℕ) (φ : MvPowerSeries σ R) : coeff S n (map σ f φ) = f (coeff R n φ) 
Arguments: {σ : Type u_1} {R : Type u_2} {S : Type u_3} [Semiring R] [Semiring S] (f : R →+* S) (n : σ →₀ ℕ) (φ : MvPowerSeries σ R)
Goal: (MvPowerSeries.coeff S n) ((MvPowerSeries.map σ f) φ) = f ((MvPowerSeries.coeff R n) φ)
-- MvPowerSeries.constantCoeff_map
@[simp]
theorem constantCoeff_map (φ : MvPowerSeries σ R) :
    constantCoeff σ S (map σ f φ) = f (constantCoeff σ R φ) 
Arguments: {σ : Type u_1} {R : Type u_2} {S : Type u_3} [Semiring R] [Semiring S] (f : R →+* S) (φ : MvPowerSeries σ R)
Goal: (MvPowerSeries.constantCoeff σ S) ((MvPowerSeries.map σ f) φ) = f ((MvPowerSeries.constantCoeff σ R) φ)
-- MvPowerSeries.map_monomial
@[simp]
theorem map_monomial (n : σ →₀ ℕ) (a : R) : map σ f (monomial R n a) = monomial S n (f a) 
Arguments: {σ : Type u_1} {R : Type u_2} {S : Type u_3} [Semiring R] [Semiring S] (f : R →+* S) (n : σ →₀ ℕ) (a : R)
Goal: (MvPowerSeries.map σ f) ((MvPowerSeries.monomial R n) a) = (MvPowerSeries.monomial S n) (f a)
-- MvPowerSeries.map_C
@[simp]
theorem map_C (a : R) : map σ f (C σ R a) = C σ S (f a) 
Arguments: {σ : Type u_1} {R : Type u_2} {S : Type u_3} [Semiring R] [Semiring S] (f : R →+* S) (a : R)
Goal: (MvPowerSeries.map σ f) ((MvPowerSeries.C σ R) a) = (MvPowerSeries.C σ S) (f a)
-- MvPowerSeries.map_X
@[simp]
theorem map_X (s : σ) : map σ f (X s) = X s 
Arguments: {σ : Type u_1} {R : Type u_2} {S : Type u_3} [Semiring R] [Semiring S] (f : R →+* S) (s : σ)
Goal: (MvPowerSeries.map σ f) (MvPowerSeries.X s) = MvPowerSeries.X s
-- MvPowerSeries.X_pow_dvd_iff
theorem X_pow_dvd_iff {s : σ} {n : ℕ} {φ : MvPowerSeries σ R} :
    (X s : MvPowerSeries σ R) ^ n ∣ φ ↔ ∀ m : σ →₀ ℕ, m s < n → coeff R m φ = 0 
Arguments: {σ : Type u_1} {R : Type u_2} [Semiring R] {s : σ} {n : ℕ} {φ : MvPowerSeries σ R}
Goal: MvPowerSeries.X s ^ n ∣ φ ↔ ∀ (m : σ →₀ ℕ), m s < n → (MvPowerSeries.coeff R m) φ = 0
-- MvPowerSeries.X_dvd_iff
theorem X_dvd_iff {s : σ} {φ : MvPowerSeries σ R} :
    (X s : MvPowerSeries σ R) ∣ φ ↔ ∀ m : σ →₀ ℕ, m s = 0 → coeff R m φ = 0 
Arguments: {σ : Type u_1} {R : Type u_2} [Semiring R] {s : σ} {φ : MvPowerSeries σ R}
Goal: MvPowerSeries.X s ∣ φ ↔ ∀ (m : σ →₀ ℕ), m s = 0 → (MvPowerSeries.coeff R m) φ = 0
-- MvPowerSeries.coeff_prod
theorem coeff_prod [DecidableEq σ]
    (f : ι → MvPowerSeries σ R) (d : σ →₀ ℕ) (s : Finset ι) :
    coeff R d (∏ j ∈ s, f j) =
      ∑ l ∈ finsuppAntidiag s d,
        ∏ i ∈ s, coeff R (l i) (f i) 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] {ι : Type u_4} [DecidableEq ι] [DecidableEq σ] (f : ι → MvPowerSeries σ R) (d : σ →₀ ℕ) (s : Finset ι)
Goal: (MvPowerSeries.coeff R d) (∏ j ∈ s, f j) = ∑ l ∈ s.finsuppAntidiag d, ∏ i ∈ s, (MvPowerSeries.coeff R (l i)) (f i)
-- MvPowerSeries.coeff_pow
theorem coeff_pow [DecidableEq σ] (f : MvPowerSeries σ R) {n : ℕ} (d : σ →₀ ℕ) :
    coeff R d (f ^ n) =
      ∑ l in finsuppAntidiag (Finset.range n) d,
        ∏ i in Finset.range n, coeff R (l i) f 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] [DecidableEq σ] (f : MvPowerSeries σ R) {n : ℕ} (d : σ →₀ ℕ)
Goal: (MvPowerSeries.coeff R d) (f ^ n) =
  ∑ l ∈ (Finset.range n).finsuppAntidiag d, ∏ i ∈ Finset.range n, (MvPowerSeries.coeff R (l i)) f
-- MvPowerSeries.coeff_eq_zero_of_constantCoeff_nilpotent
theorem coeff_eq_zero_of_constantCoeff_nilpotent [DecidableEq σ]
    {f : MvPowerSeries σ R} {m : ℕ} (hf : constantCoeff σ R f ^ m = 0)
    {d : σ →₀ ℕ} {n : ℕ} (hn : m + degree d ≤ n) : coeff R d (f ^ n) = 0 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] [DecidableEq σ] {f : MvPowerSeries σ R} {m : ℕ} (hf : (MvPowerSeries.constantCoeff σ R) f ^ m = 0) {d : σ →₀ ℕ} {n : ℕ} (hn : m + d.degree ≤ n)
Goal: (MvPowerSeries.coeff R d) (f ^ n) = 0
-- MvPowerSeries.c_eq_algebraMap
theorem c_eq_algebraMap : C σ R = algebraMap R (MvPowerSeries σ R) 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R]
Goal: MvPowerSeries.C σ R = algebraMap R (MvPowerSeries σ R)
-- MvPowerSeries.algebraMap_apply
theorem algebraMap_apply {r : R} :
    algebraMap R (MvPowerSeries σ A) r = C σ A (algebraMap R A r) 
Arguments: {σ : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] {r : R}
Goal: (algebraMap R (MvPowerSeries σ A)) r = (MvPowerSeries.C σ A) ((algebraMap R A) r)
-- MvPolynomial.coe_def
theorem coe_def : (φ : MvPowerSeries σ R) = fun n => coeff n φ 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] (φ : MvPolynomial σ R)
Goal: ↑φ = fun n => MvPolynomial.coeff n φ
-- MvPolynomial.coeff_coe
@[simp, norm_cast]
theorem coeff_coe (n : σ →₀ ℕ) : MvPowerSeries.coeff R n ↑φ = coeff n φ 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] (φ : MvPolynomial σ R) (n : σ →₀ ℕ)
Goal: (MvPowerSeries.coeff R n) ↑φ = MvPolynomial.coeff n φ
-- MvPolynomial.coe_monomial
@[simp, norm_cast]
theorem coe_monomial (n : σ →₀ ℕ) (a : R) :
    (monomial n a : MvPowerSeries σ R) = MvPowerSeries.monomial R n a 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] (n : σ →₀ ℕ) (a : R)
Goal: ↑((MvPolynomial.monomial n) a) = (MvPowerSeries.monomial R n) a
-- MvPolynomial.coe_zero
@[simp, norm_cast]
theorem coe_zero : ((0 : MvPolynomial σ R) : MvPowerSeries σ R) = 0 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R]
Goal: ↑0 = 0
-- MvPolynomial.coe_one
@[simp, norm_cast]
theorem coe_one : ((1 : MvPolynomial σ R) : MvPowerSeries σ R) = 1 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R]
Goal: ↑1 = 1
-- MvPolynomial.coe_add
@[simp, norm_cast]
theorem coe_add : ((φ + ψ : MvPolynomial σ R) : MvPowerSeries σ R) = φ + ψ 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] (φ ψ : MvPolynomial σ R)
Goal: ↑(φ + ψ) = ↑φ + ↑ψ
-- MvPolynomial.coe_mul
@[simp, norm_cast]
theorem coe_mul : ((φ * ψ : MvPolynomial σ R) : MvPowerSeries σ R) = φ * ψ 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] (φ ψ : MvPolynomial σ R)
Goal: ↑(φ * ψ) = ↑φ * ↑ψ
-- MvPolynomial.coe_C
@[simp, norm_cast]
theorem coe_C (a : R) : ((C a : MvPolynomial σ R) : MvPowerSeries σ R) = MvPowerSeries.C σ R a 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] (a : R)
Goal: ↑(MvPolynomial.C a) = (MvPowerSeries.C σ R) a
-- MvPolynomial.coe_X
@[simp, norm_cast]
theorem coe_X (s : σ) : ((X s : MvPolynomial σ R) : MvPowerSeries σ R) = MvPowerSeries.X s 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] (s : σ)
Goal: ↑(MvPolynomial.X s) = MvPowerSeries.X s
-- MvPolynomial.coe_injective
theorem coe_injective : Function.Injective (Coe.coe : MvPolynomial σ R → MvPowerSeries σ R) 
Arguments: (σ : Type u_1) (R : Type u_2) [CommSemiring R]
Goal: Function.Injective Coe.coe
-- MvPolynomial.coe_inj
@[simp, norm_cast]
theorem coe_inj : (φ : MvPowerSeries σ R) = ψ ↔ φ = ψ 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] {φ ψ : MvPolynomial σ R}
Goal: ↑φ = ↑ψ ↔ φ = ψ
-- MvPolynomial.coe_eq_zero_iff
@[simp]
theorem coe_eq_zero_iff : (φ : MvPowerSeries σ R) = 0 ↔ φ = 0 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] {φ : MvPolynomial σ R}
Goal: ↑φ = 0 ↔ φ = 0
-- MvPolynomial.coe_eq_one_iff
@[simp]
theorem coe_eq_one_iff : (φ : MvPowerSeries σ R) = 1 ↔ φ = 1 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] {φ : MvPolynomial σ R}
Goal: ↑φ = 1 ↔ φ = 1
-- MvPolynomial.coe_pow
@[simp, norm_cast]
theorem coe_pow (n : ℕ) :
    ((φ ^ n : MvPolynomial σ R) : MvPowerSeries σ R) = (φ : MvPowerSeries σ R) ^ n 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] {φ : MvPolynomial σ R} (n : ℕ)
Goal: ↑(φ ^ n) = ↑φ ^ n
-- MvPolynomial.coeToMvPowerSeries.ringHom_apply
@[simp]
theorem coeToMvPowerSeries.ringHom_apply : coeToMvPowerSeries.ringHom φ = φ 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] (φ : MvPolynomial σ R)
Goal: MvPolynomial.coeToMvPowerSeries.ringHom φ = ↑φ
-- MvPolynomial.coeToMvPowerSeries.algHom_apply
@[simp]
theorem coeToMvPowerSeries.algHom_apply :
    coeToMvPowerSeries.algHom A φ = MvPowerSeries.map σ (algebraMap R A) ↑φ 
Arguments: {σ : Type u_1} {R : Type u_2} [CommSemiring R] (φ : MvPolynomial σ R) (A : Type u_3) [CommSemiring A] [Algebra R A]
Goal: (MvPolynomial.coeToMvPowerSeries.algHom A) φ = (MvPowerSeries.map σ (algebraMap R A)) ↑φ
-- MvPowerSeries.algebraMap_apply'
theorem algebraMap_apply' (p : MvPolynomial σ R) :
    algebraMap (MvPolynomial σ R) (MvPowerSeries σ A) p = map σ (algebraMap R A) p 
Arguments: {σ : Type u_1} {R : Type u_2} (A : Type u_3) [CommSemiring R] [CommSemiring A] [Algebra R A] (p : MvPolynomial σ R)
Goal: (algebraMap (MvPolynomial σ R) (MvPowerSeries σ A)) p = (MvPowerSeries.map σ (algebraMap R A)) ↑p
-- MvPowerSeries.algebraMap_apply''
theorem algebraMap_apply'' :
    algebraMap (MvPowerSeries σ R) (MvPowerSeries σ A) f = map σ (algebraMap R A) f 
Arguments: {σ : Type u_1} {R : Type u_2} (A : Type u_3) [CommSemiring R] [CommSemiring A] [Algebra R A] (f : MvPowerSeries σ R)
Goal: (algebraMap (MvPowerSeries σ R) (MvPowerSeries σ A)) f = (MvPowerSeries.map σ (algebraMap R A)) f
-- WittVector.IsocrystalHom.frob_equivariant
-- Porting note(#5171): this linter isn't ported yet. @[nolint has_nonempty_instance]
structure IsocrystalHom extends V →ₗ[K(p, k)] V₂ where
  frob_equivariant : ∀ x : V, Φ(p, k) (toLinearMap x) = toLinearMap (Φ(p, k) x)
Arguments: {p : ℕ} [Fact (Nat.Prime p)] {k : Type u_1} [CommRing k] [IsDomain k] [CharP k p] [PerfectRing k p] {V : Type u_2} [AddCommGroup V] [WittVector.Isocrystal p k V] {V₂ : Type u_3} [AddCommGroup V₂] [WittVector.Isocrystal p k V₂] (self : WittVector.IsocrystalHom p k V V₂) (x : V)
Goal: (WittVector.Isocrystal.frobenius p k) (self.toLinearMap x) = self.toLinearMap ((WittVector.Isocrystal.frobenius p k) x)
-- WittVector.IsocrystalEquiv.frob_equivariant
-- Porting note(#5171): this linter isn't ported yet. @[nolint has_nonempty_instance]
structure IsocrystalEquiv extends V ≃ₗ[K(p, k)] V₂ where
  frob_equivariant : ∀ x : V, Φ(p, k) (toLinearEquiv x) = toLinearEquiv (Φ(p, k) x)
Arguments: {p : ℕ} [Fact (Nat.Prime p)] {k : Type u_1} [CommRing k] [IsDomain k] [CharP k p] [PerfectRing k p] {V : Type u_2} [AddCommGroup V] [WittVector.Isocrystal p k V] {V₂ : Type u_3} [AddCommGroup V₂] [WittVector.Isocrystal p k V₂] (self : WittVector.IsocrystalEquiv p k V V₂) (x : V)
Goal: (WittVector.Isocrystal.frobenius p k) (self.toLinearEquiv x) =
  self.toLinearEquiv ((WittVector.Isocrystal.frobenius p k) x)
-- WittVector.StandardOneDimIsocrystal.frobenius_apply
@[simp]
theorem StandardOneDimIsocrystal.frobenius_apply (m : ℤ) (x : StandardOneDimIsocrystal p k m) :
    Φ(p, k) x = (p : K(p, k)) ^ m • φ(p, k) x 
Arguments: (p : ℕ) [Fact (Nat.Prime p)] (k : Type u_1) [CommRing k] [IsDomain k] [CharP k p] [PerfectRing k p] (m : ℤ) (x : WittVector.StandardOneDimIsocrystal p k m)
Goal: (WittVector.Isocrystal.frobenius p k) x = ↑p ^ m • (WittVector.FractionRing.frobeniusRingHom p k) x
-- WittVector.isocrystal_classification
theorem isocrystal_classification (k : Type*) [Field k] [IsAlgClosed k] [CharP k p] (V : Type*)
    [AddCommGroup V] [Isocrystal p k V] (h_dim : finrank K(p, k) V = 1) :
    ∃ m : ℤ, Nonempty (StandardOneDimIsocrystal p k m ≃ᶠⁱ[p, k] V) 
Arguments: (p : ℕ) [Fact (Nat.Prime p)] (k : Type u_2) [Field k] [IsAlgClosed k] [CharP k p] (V : Type u_3) [AddCommGroup V] [WittVector.Isocrystal p k V] (h_dim : FiniteDimensional.finrank (FractionRing (WittVector p k)) V = 1)
Goal: ∃ m, Nonempty (WittVector.IsocrystalEquiv p k (WittVector.StandardOneDimIsocrystal p k m) V)
-- WittVector.poly_eq_of_wittPolynomial_bind_eq'
theorem poly_eq_of_wittPolynomial_bind_eq' [Fact p.Prime] (f g : ℕ → MvPolynomial (idx × ℕ) ℤ)
    (h : ∀ n, bind₁ f (wittPolynomial p _ n) = bind₁ g (wittPolynomial p _ n)) : f = g 
Arguments: (p : ℕ) {idx : Type u_2} [Fact (Nat.Prime p)] (f g : ℕ → MvPolynomial (idx × ℕ) ℤ) (h : ∀ (n : ℕ), (MvPolynomial.bind₁ f) (wittPolynomial p ℤ n) = (MvPolynomial.bind₁ g) (wittPolynomial p ℤ n))
Goal: f = g
-- WittVector.poly_eq_of_wittPolynomial_bind_eq
theorem poly_eq_of_wittPolynomial_bind_eq [Fact p.Prime] (f g : ℕ → MvPolynomial ℕ ℤ)
    (h : ∀ n, bind₁ f (wittPolynomial p _ n) = bind₁ g (wittPolynomial p _ n)) : f = g 
Arguments: (p : ℕ) [Fact (Nat.Prime p)] (f g : ℕ → MvPolynomial ℕ ℤ) (h : ∀ (n : ℕ), (MvPolynomial.bind₁ f) (wittPolynomial p ℤ n) = (MvPolynomial.bind₁ g) (wittPolynomial p ℤ n))
Goal: f = g
-- WittVector.IsPoly.poly
class IsPoly (f : ∀ ⦃R⦄ [CommRing R], WittVector p R → 𝕎 R) : Prop where mk' ::
  poly :
    ∃ φ : ℕ → MvPolynomial ℕ ℤ,
      ∀ ⦃R⦄ [CommRing R] (x : 𝕎 R), (f x).coeff = fun n => aeval x.coeff (φ n)
Arguments: {p : ℕ} {f : ⦃R : Type u_3⦄ → [inst : CommRing R] → WittVector p R → WittVector p R} [self : WittVector.IsPoly p f]
Goal: ∃ φ,
  ∀ ⦃R : Type u_3⦄ [inst : CommRing R] (x : WittVector p R), (f x).coeff = fun n => (MvPolynomial.aeval x.coeff) (φ n)
-- WittVector.IsPoly.ext
theorem ext [Fact p.Prime] {f g} (hf : IsPoly p f) (hg : IsPoly p g)
    (h : ∀ (R : Type u) [_Rcr : CommRing R] (x : 𝕎 R) (n : ℕ),
        ghostComponent n (f x) = ghostComponent n (g x)) :
    ∀ (R : Type u) [_Rcr : CommRing R] (x : 𝕎 R), f x = g x 
Arguments: {p : ℕ} [Fact (Nat.Prime p)] {f g : ⦃R : Type u⦄ → [inst : CommRing R] → WittVector p R → WittVector p R} (hf : WittVector.IsPoly p f) (hg : WittVector.IsPoly p g) (h :
  ∀ (R : Type u) [_Rcr : CommRing R] (x : WittVector p R) (n : ℕ),
    (WittVector.ghostComponent n) (f x) = (WittVector.ghostComponent n) (g x)) (R : Type u) [_Rcr : CommRing R] (x : WittVector p R)
Goal: f x = g x
-- WittVector.IsPoly₂.poly
class IsPoly₂ (f : ∀ ⦃R⦄ [CommRing R], WittVector p R → 𝕎 R → 𝕎 R) : Prop where mk' ::
  poly :
    ∃ φ : ℕ → MvPolynomial (Fin 2 × ℕ) ℤ,
      ∀ ⦃R⦄ [CommRing R] (x y : 𝕎 R), (f x y).coeff = fun n => peval (φ n) ![x.coeff, y.coeff]
Arguments: {p : ℕ} {f : ⦃R : Type u_3⦄ → [inst : CommRing R] → WittVector p R → WittVector p R → WittVector p R} [self : WittVector.IsPoly₂ p f]
Goal: ∃ φ,
  ∀ ⦃R : Type u_3⦄ [inst : CommRing R] (x y : WittVector p R),
    (f x y).coeff = fun n => WittVector.peval (φ n) ![x.coeff, y.coeff]
-- WittVector.bind₁_zero_wittPolynomial
@[simp]
theorem bind₁_zero_wittPolynomial [Fact p.Prime] (n : ℕ) :
    bind₁ (0 : ℕ → MvPolynomial ℕ R) (wittPolynomial p R n) = 0 
Arguments: {p : ℕ} {R : Type u} [CommRing R] [Fact (Nat.Prime p)] (n : ℕ)
Goal: (MvPolynomial.bind₁ 0) (wittPolynomial p R n) = 0
-- WittVector.bind₁_onePoly_wittPolynomial
@[simp]
theorem bind₁_onePoly_wittPolynomial [hp : Fact p.Prime] (n : ℕ) :
    bind₁ onePoly (wittPolynomial p ℤ n) = 1 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] (n : ℕ)
Goal: (MvPolynomial.bind₁ WittVector.onePoly) (wittPolynomial p ℤ n) = 1
-- WittVector.IsPoly.map
theorem IsPoly.map [Fact p.Prime] {f} (hf : IsPoly p f) (g : R →+* S) (x : 𝕎 R) :
    map g (f x) = f (map g x) 
Arguments: {p : ℕ} {R S : Type u} [CommRing R] [CommRing S] [Fact (Nat.Prime p)] {f : ⦃R : Type u⦄ → [inst : CommRing R] → WittVector p R → WittVector p R} (hf : WittVector.IsPoly p f) (g : R →+* S) (x : WittVector p R)
Goal: (WittVector.map g) (f x) = f ((WittVector.map g) x)
-- WittVector.IsPoly₂.compLeft
theorem compLeft {g f} [IsPoly₂ p g] [IsPoly p f] :
    IsPoly₂ p fun _R _Rcr x y => g (f x) y 
Arguments: {p : ℕ} {g : ⦃R : Type u_3⦄ → [inst : CommRing R] → WittVector p R → WittVector p R → WittVector p R} {f : ⦃R : Type u_3⦄ → [inst : CommRing R] → WittVector p R → WittVector p R} [WittVector.IsPoly₂ p g] [WittVector.IsPoly p f]
Goal: WittVector.IsPoly₂ p fun _R _Rcr x y => g (f x) y
-- WittVector.IsPoly₂.compRight
theorem compRight {g f} [IsPoly₂ p g] [IsPoly p f] :
    IsPoly₂ p fun _R _Rcr x y => g x (f y) 
Arguments: {p : ℕ} {g : ⦃R : Type u_3⦄ → [inst : CommRing R] → WittVector p R → WittVector p R → WittVector p R} {f : ⦃R : Type u_3⦄ → [inst : CommRing R] → WittVector p R → WittVector p R} [WittVector.IsPoly₂ p g] [WittVector.IsPoly p f]
Goal: WittVector.IsPoly₂ p fun _R _Rcr x y => g x (f y)
-- WittVector.IsPoly₂.ext
theorem ext [Fact p.Prime] {f g} (hf : IsPoly₂ p f) (hg : IsPoly₂ p g)
    (h : ∀ (R : Type u) [_Rcr : CommRing R] (x y : 𝕎 R) (n : ℕ),
        ghostComponent n (f x y) = ghostComponent n (g x y)) :
    ∀ (R) [_Rcr : CommRing R] (x y : 𝕎 R), f x y = g x y 
Arguments: {p : ℕ} [Fact (Nat.Prime p)] {f g : ⦃R : Type u⦄ → [inst : CommRing R] → WittVector p R → WittVector p R → WittVector p R} (hf : WittVector.IsPoly₂ p f) (hg : WittVector.IsPoly₂ p g) (h :
  ∀ (R : Type u) [_Rcr : CommRing R] (x y : WittVector p R) (n : ℕ),
    (WittVector.ghostComponent n) (f x y) = (WittVector.ghostComponent n) (g x y)) (R : Type u) [_Rcr : CommRing R] (x y : WittVector p R)
Goal: f x y = g x y
-- WittVector.IsPoly₂.map
theorem map [Fact p.Prime] {f} (hf : IsPoly₂ p f) (g : R →+* S) (x y : 𝕎 R) :
    map g (f x y) = f (map g x) (map g y) 
Arguments: {p : ℕ} {R S : Type u} [CommRing R] [CommRing S] [Fact (Nat.Prime p)] {f : ⦃R : Type u⦄ → [inst : CommRing R] → WittVector p R → WittVector p R → WittVector p R} (hf : WittVector.IsPoly₂ p f) (g : R →+* S) (x y : WittVector p R)
Goal: (WittVector.map g) (f x y) = f ((WittVector.map g) x) ((WittVector.map g) y)
-- NonUnitalSubringClass.coe_subtype
@[simp]
theorem coe_subtype : (subtype s : s → R) = Subtype.val 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [SetLike S R] [hSR : NonUnitalSubringClass S R] (s : S)
Goal: ⇑(NonUnitalSubringClass.subtype s) = Subtype.val
-- NonUnitalSubring.mem_carrier
theorem mem_carrier {s : NonUnitalSubring R} {x : R} : x ∈ s.toNonUnitalSubsemiring ↔ x ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : NonUnitalSubring R} {x : R}
Goal: x ∈ s.toNonUnitalSubsemiring ↔ x ∈ s
-- NonUnitalSubring.mem_mk
@[simp]
theorem mem_mk {S : NonUnitalSubsemiring R} {x : R} (h) :
    x ∈ (⟨S, h⟩ : NonUnitalSubring R) ↔ x ∈ S 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {S : NonUnitalSubsemiring R} {x : R} (h : ∀ {x : R}, x ∈ S.carrier → -x ∈ S.carrier)
Goal: x ∈ { toNonUnitalSubsemiring := S, neg_mem' := h } ↔ x ∈ S
-- NonUnitalSubring.coe_set_mk
@[simp]
theorem coe_set_mk (S : NonUnitalSubsemiring R) (h) :
    ((⟨S, h⟩ : NonUnitalSubring R) : Set R) = S 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (S : NonUnitalSubsemiring R) (h : ∀ {x : R}, x ∈ S.carrier → -x ∈ S.carrier)
Goal: ↑{ toNonUnitalSubsemiring := S, neg_mem' := h } = ↑S
-- NonUnitalSubring.mk_le_mk
@[simp]
theorem mk_le_mk {S S' : NonUnitalSubsemiring R} (h h') :
    (⟨S, h⟩ : NonUnitalSubring R) ≤ (⟨S', h'⟩ : NonUnitalSubring R) ↔ S ≤ S' 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {S S' : NonUnitalSubsemiring R} (h : ∀ {x : R}, x ∈ S.carrier → -x ∈ S.carrier) (h' : ∀ {x : R}, x ∈ S'.carrier → -x ∈ S'.carrier)
Goal: { toNonUnitalSubsemiring := S, neg_mem' := h } ≤ { toNonUnitalSubsemiring := S', neg_mem' := h' } ↔ S ≤ S'
-- NonUnitalSubring.ext
@[ext]
theorem ext {S T : NonUnitalSubring R} (h : ∀ x, x ∈ S ↔ x ∈ T) : S = T 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {S T : NonUnitalSubring R} (h : ∀ (x : R), x ∈ S ↔ x ∈ T)
Goal: S = T
-- NonUnitalSubring.coe_copy
@[simp]
theorem coe_copy (S : NonUnitalSubring R) (s : Set R) (hs : s = ↑S) : (S.copy s hs : Set R) = s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (S : NonUnitalSubring R) (s : Set R) (hs : s = ↑S)
Goal: ↑(S.copy s hs) = s
-- NonUnitalSubring.copy_eq
theorem copy_eq (S : NonUnitalSubring R) (s : Set R) (hs : s = ↑S) : S.copy s hs = S 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (S : NonUnitalSubring R) (s : Set R) (hs : s = ↑S)
Goal: S.copy s hs = S
-- NonUnitalSubring.toNonUnitalSubsemiring_injective
theorem toNonUnitalSubsemiring_injective :
    Function.Injective (toNonUnitalSubsemiring : NonUnitalSubring R → NonUnitalSubsemiring R)
  
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: Function.Injective NonUnitalSubring.toNonUnitalSubsemiring
-- NonUnitalSubring.toNonUnitalSubsemiring_strictMono
@[mono]
theorem toNonUnitalSubsemiring_strictMono :
    StrictMono (toNonUnitalSubsemiring : NonUnitalSubring R → NonUnitalSubsemiring R) 
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: StrictMono NonUnitalSubring.toNonUnitalSubsemiring
-- NonUnitalSubring.toNonUnitalSubsemiring_mono
@[mono]
theorem toNonUnitalSubsemiring_mono :
    Monotone (toNonUnitalSubsemiring : NonUnitalSubring R → NonUnitalSubsemiring R) 
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: Monotone NonUnitalSubring.toNonUnitalSubsemiring
-- NonUnitalSubring.toAddSubgroup_injective
theorem toAddSubgroup_injective :
    Function.Injective (toAddSubgroup : NonUnitalSubring R → AddSubgroup R)
  
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: Function.Injective NonUnitalSubring.toAddSubgroup
-- NonUnitalSubring.toAddSubgroup_strictMono
@[mono]
theorem toAddSubgroup_strictMono :
    StrictMono (toAddSubgroup : NonUnitalSubring R → AddSubgroup R) 
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: StrictMono NonUnitalSubring.toAddSubgroup
-- NonUnitalSubring.toAddSubgroup_mono
@[mono]
theorem toAddSubgroup_mono : Monotone (toAddSubgroup : NonUnitalSubring R → AddSubgroup R) 
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: Monotone NonUnitalSubring.toAddSubgroup
-- NonUnitalSubring.toSubsemigroup_injective
theorem toSubsemigroup_injective :
    Function.Injective (toSubsemigroup : NonUnitalSubring R → Subsemigroup R)
  
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: Function.Injective NonUnitalSubring.toSubsemigroup
-- NonUnitalSubring.toSubsemigroup_strictMono
@[mono]
theorem toSubsemigroup_strictMono :
    StrictMono (toSubsemigroup : NonUnitalSubring R → Subsemigroup R) 
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: StrictMono NonUnitalSubring.toSubsemigroup
-- NonUnitalSubring.toSubsemigroup_mono
@[mono]
theorem toSubsemigroup_mono : Monotone (toSubsemigroup : NonUnitalSubring R → Subsemigroup R) 
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: Monotone NonUnitalSubring.toSubsemigroup
-- NonUnitalSubring.coe_mk'
@[simp]
theorem coe_mk' {s : Set R} {sm : Subsemigroup R} (hm : ↑sm = s) {sa : AddSubgroup R}
    (ha : ↑sa = s) : (NonUnitalSubring.mk' s sm sa hm ha : Set R) = s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : Set R} {sm : Subsemigroup R} (hm : ↑sm = s) {sa : AddSubgroup R} (ha : ↑sa = s)
Goal: ↑(NonUnitalSubring.mk' s sm sa hm ha) = s