ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Cubic.monic_of_c_eq_one'
theorem monic_of_c_eq_one' : (toPoly ⟨0, 0, 1, d⟩).Monic 
Arguments: {R : Type u_1} {d : R} [Semiring R]
Goal: { a := 0, b := 0, c := 1, d := d }.toPoly.Monic
-- Cubic.monic_of_d_eq_one
theorem monic_of_d_eq_one (ha : P.a = 0) (hb : P.b = 0) (hc : P.c = 0) (hd : P.d = 1) :
    P.toPoly.Monic 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b = 0) (hc : P.c = 0) (hd : P.d = 1)
Goal: P.toPoly.Monic
-- Cubic.monic_of_d_eq_one'
theorem monic_of_d_eq_one' : (toPoly ⟨0, 0, 0, 1⟩).Monic 
Goal: { a := 0, b := 0, c := 0, d := 1 }.toPoly.Monic
-- Cubic.equiv_symm_apply_c
@[simps]
def equiv : Cubic R ≃ { p : R[X] // p.degree ≤ 3 } 
Arguments: {R : Type u_1} [Semiring R] (f : { p // p.degree ≤ 3 })
Goal: (Cubic.equiv.symm f).c = (↑f).coeff 1
-- Cubic.equiv_apply_coe
@[simps]
def equiv : Cubic R ≃ { p : R[X] // p.degree ≤ 3 } 
Arguments: {R : Type u_1} [Semiring R] (P : Cubic R)
Goal: ↑(Cubic.equiv P) = P.toPoly
-- Cubic.equiv_symm_apply_b
@[simps]
def equiv : Cubic R ≃ { p : R[X] // p.degree ≤ 3 } 
Arguments: {R : Type u_1} [Semiring R] (f : { p // p.degree ≤ 3 })
Goal: (Cubic.equiv.symm f).b = (↑f).coeff 2
-- Cubic.equiv_symm_apply_a
@[simps]
def equiv : Cubic R ≃ { p : R[X] // p.degree ≤ 3 } 
Arguments: {R : Type u_1} [Semiring R] (f : { p // p.degree ≤ 3 })
Goal: (Cubic.equiv.symm f).a = (↑f).coeff 3
-- Cubic.equiv_symm_apply_d
@[simps]
def equiv : Cubic R ≃ { p : R[X] // p.degree ≤ 3 } 
Arguments: {R : Type u_1} [Semiring R] (f : { p // p.degree ≤ 3 })
Goal: (Cubic.equiv.symm f).d = (↑f).coeff 0
-- Cubic.degree_of_a_ne_zero
@[simp]
theorem degree_of_a_ne_zero (ha : P.a ≠ 0) : P.toPoly.degree = 3 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a ≠ 0)
Goal: P.toPoly.degree = 3
-- Cubic.degree_of_a_ne_zero'
@[simp]
theorem degree_of_a_ne_zero' (ha : a ≠ 0) : (toPoly ⟨a, b, c, d⟩).degree = 3 
Arguments: {R : Type u_1} {a b c d : R} [Semiring R] (ha : a ≠ 0)
Goal: { a := a, b := b, c := c, d := d }.toPoly.degree = 3
-- Cubic.degree_of_a_eq_zero
theorem degree_of_a_eq_zero (ha : P.a = 0) : P.toPoly.degree ≤ 2 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0)
Goal: P.toPoly.degree ≤ 2
-- Cubic.degree_of_a_eq_zero'
theorem degree_of_a_eq_zero' : (toPoly ⟨0, b, c, d⟩).degree ≤ 2 
Arguments: {R : Type u_1} {b c d : R} [Semiring R]
Goal: { a := 0, b := b, c := c, d := d }.toPoly.degree ≤ 2
-- Cubic.degree_of_b_ne_zero
@[simp]
theorem degree_of_b_ne_zero (ha : P.a = 0) (hb : P.b ≠ 0) : P.toPoly.degree = 2 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b ≠ 0)
Goal: P.toPoly.degree = 2
-- Cubic.degree_of_b_ne_zero'
@[simp]
theorem degree_of_b_ne_zero' (hb : b ≠ 0) : (toPoly ⟨0, b, c, d⟩).degree = 2 
Arguments: {R : Type u_1} {b c d : R} [Semiring R] (hb : b ≠ 0)
Goal: { a := 0, b := b, c := c, d := d }.toPoly.degree = 2
-- Cubic.degree_of_b_eq_zero
theorem degree_of_b_eq_zero (ha : P.a = 0) (hb : P.b = 0) : P.toPoly.degree ≤ 1 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b = 0)
Goal: P.toPoly.degree ≤ 1
-- Cubic.degree_of_b_eq_zero'
theorem degree_of_b_eq_zero' : (toPoly ⟨0, 0, c, d⟩).degree ≤ 1 
Arguments: {R : Type u_1} {c d : R} [Semiring R]
Goal: { a := 0, b := 0, c := c, d := d }.toPoly.degree ≤ 1
-- Cubic.degree_of_c_ne_zero
@[simp]
theorem degree_of_c_ne_zero (ha : P.a = 0) (hb : P.b = 0) (hc : P.c ≠ 0) : P.toPoly.degree = 1 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b = 0) (hc : P.c ≠ 0)
Goal: P.toPoly.degree = 1
-- Cubic.degree_of_c_ne_zero'
@[simp]
theorem degree_of_c_ne_zero' (hc : c ≠ 0) : (toPoly ⟨0, 0, c, d⟩).degree = 1 
Arguments: {R : Type u_1} {c d : R} [Semiring R] (hc : c ≠ 0)
Goal: { a := 0, b := 0, c := c, d := d }.toPoly.degree = 1
-- Cubic.degree_of_c_eq_zero
theorem degree_of_c_eq_zero (ha : P.a = 0) (hb : P.b = 0) (hc : P.c = 0) : P.toPoly.degree ≤ 0 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b = 0) (hc : P.c = 0)
Goal: P.toPoly.degree ≤ 0
-- Cubic.degree_of_c_eq_zero'
theorem degree_of_c_eq_zero' : (toPoly ⟨0, 0, 0, d⟩).degree ≤ 0 
Arguments: {R : Type u_1} {d : R} [Semiring R]
Goal: { a := 0, b := 0, c := 0, d := d }.toPoly.degree ≤ 0
-- Cubic.degree_of_d_ne_zero
@[simp]
theorem degree_of_d_ne_zero (ha : P.a = 0) (hb : P.b = 0) (hc : P.c = 0) (hd : P.d ≠ 0) :
    P.toPoly.degree = 0 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b = 0) (hc : P.c = 0) (hd : P.d ≠ 0)
Goal: P.toPoly.degree = 0
-- Cubic.degree_of_d_ne_zero'
@[simp]
theorem degree_of_d_ne_zero' (hd : d ≠ 0) : (toPoly ⟨0, 0, 0, d⟩).degree = 0 
Arguments: {R : Type u_1} {d : R} [Semiring R] (hd : d ≠ 0)
Goal: { a := 0, b := 0, c := 0, d := d }.toPoly.degree = 0
-- Cubic.degree_of_d_eq_zero
@[simp]
theorem degree_of_d_eq_zero (ha : P.a = 0) (hb : P.b = 0) (hc : P.c = 0) (hd : P.d = 0) :
    P.toPoly.degree = ⊥ 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b = 0) (hc : P.c = 0) (hd : P.d = 0)
Goal: P.toPoly.degree = ⊥
-- Cubic.degree_of_d_eq_zero'
theorem degree_of_d_eq_zero' : (⟨0, 0, 0, 0⟩ : Cubic R).toPoly.degree = ⊥ 
Arguments: {R : Type u_1} [Semiring R]
Goal: { a := 0, b := 0, c := 0, d := 0 }.toPoly.degree = ⊥
-- Cubic.degree_of_zero
@[simp]
theorem degree_of_zero : (0 : Cubic R).toPoly.degree = ⊥ 
Arguments: {R : Type u_1} [Semiring R]
Goal: (Cubic.toPoly 0).degree = ⊥
-- Cubic.natDegree_of_a_ne_zero
@[simp]
theorem natDegree_of_a_ne_zero (ha : P.a ≠ 0) : P.toPoly.natDegree = 3 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a ≠ 0)
Goal: P.toPoly.natDegree = 3
-- Cubic.natDegree_of_a_ne_zero'
@[simp]
theorem natDegree_of_a_ne_zero' (ha : a ≠ 0) : (toPoly ⟨a, b, c, d⟩).natDegree = 3 
Arguments: {R : Type u_1} {a b c d : R} [Semiring R] (ha : a ≠ 0)
Goal: { a := a, b := b, c := c, d := d }.toPoly.natDegree = 3
-- Cubic.natDegree_of_a_eq_zero
theorem natDegree_of_a_eq_zero (ha : P.a = 0) : P.toPoly.natDegree ≤ 2 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0)
Goal: P.toPoly.natDegree ≤ 2
-- Cubic.natDegree_of_a_eq_zero'
theorem natDegree_of_a_eq_zero' : (toPoly ⟨0, b, c, d⟩).natDegree ≤ 2 
Arguments: {R : Type u_1} {b c d : R} [Semiring R]
Goal: { a := 0, b := b, c := c, d := d }.toPoly.natDegree ≤ 2
-- Cubic.natDegree_of_b_ne_zero
@[simp]
theorem natDegree_of_b_ne_zero (ha : P.a = 0) (hb : P.b ≠ 0) : P.toPoly.natDegree = 2 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b ≠ 0)
Goal: P.toPoly.natDegree = 2
-- Cubic.natDegree_of_b_ne_zero'
@[simp]
theorem natDegree_of_b_ne_zero' (hb : b ≠ 0) : (toPoly ⟨0, b, c, d⟩).natDegree = 2 
Arguments: {R : Type u_1} {b c d : R} [Semiring R] (hb : b ≠ 0)
Goal: { a := 0, b := b, c := c, d := d }.toPoly.natDegree = 2
-- Cubic.natDegree_of_b_eq_zero
theorem natDegree_of_b_eq_zero (ha : P.a = 0) (hb : P.b = 0) : P.toPoly.natDegree ≤ 1 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b = 0)
Goal: P.toPoly.natDegree ≤ 1
-- Cubic.natDegree_of_b_eq_zero'
theorem natDegree_of_b_eq_zero' : (toPoly ⟨0, 0, c, d⟩).natDegree ≤ 1 
Arguments: {R : Type u_1} {c d : R} [Semiring R]
Goal: { a := 0, b := 0, c := c, d := d }.toPoly.natDegree ≤ 1
-- Cubic.natDegree_of_c_ne_zero
@[simp]
theorem natDegree_of_c_ne_zero (ha : P.a = 0) (hb : P.b = 0) (hc : P.c ≠ 0) :
    P.toPoly.natDegree = 1 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b = 0) (hc : P.c ≠ 0)
Goal: P.toPoly.natDegree = 1
-- Cubic.natDegree_of_c_ne_zero'
@[simp]
theorem natDegree_of_c_ne_zero' (hc : c ≠ 0) : (toPoly ⟨0, 0, c, d⟩).natDegree = 1 
Arguments: {R : Type u_1} {c d : R} [Semiring R] (hc : c ≠ 0)
Goal: { a := 0, b := 0, c := c, d := d }.toPoly.natDegree = 1
-- Cubic.natDegree_of_c_eq_zero
@[simp]
theorem natDegree_of_c_eq_zero (ha : P.a = 0) (hb : P.b = 0) (hc : P.c = 0) :
    P.toPoly.natDegree = 0 
Arguments: {R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b = 0) (hc : P.c = 0)
Goal: P.toPoly.natDegree = 0
-- Cubic.natDegree_of_c_eq_zero'
theorem natDegree_of_c_eq_zero' : (toPoly ⟨0, 0, 0, d⟩).natDegree = 0 
Arguments: {R : Type u_1} {d : R} [Semiring R]
Goal: { a := 0, b := 0, c := 0, d := d }.toPoly.natDegree = 0
-- Cubic.natDegree_of_zero
@[simp]
theorem natDegree_of_zero : (0 : Cubic R).toPoly.natDegree = 0 
Arguments: {R : Type u_1} [Semiring R]
Goal: (Cubic.toPoly 0).natDegree = 0
-- Cubic.map_toPoly
theorem map_toPoly : (map φ P).toPoly = Polynomial.map φ P.toPoly 
Arguments: {R : Type u_1} {S : Type u_2} {P : Cubic R} [Semiring R] [Semiring S] {φ : R →+* S}
Goal: (Cubic.map φ P).toPoly = Polynomial.map φ P.toPoly
-- Cubic.map_roots
theorem map_roots [IsDomain S] : (map φ P).roots = (Polynomial.map φ P.toPoly).roots 
Arguments: {R : Type u_1} {S : Type u_2} {P : Cubic R} [CommRing R] [CommRing S] {φ : R →+* S} [IsDomain S]
Goal: (Cubic.map φ P).roots = (Polynomial.map φ P.toPoly).roots
-- Cubic.mem_roots_iff
theorem mem_roots_iff [IsDomain R] (h0 : P.toPoly ≠ 0) (x : R) :
    x ∈ P.roots ↔ P.a * x ^ 3 + P.b * x ^ 2 + P.c * x + P.d = 0 
Arguments: {R : Type u_1} {P : Cubic R} [CommRing R] [IsDomain R] (h0 : P.toPoly ≠ 0) (x : R)
Goal: x ∈ P.roots ↔ P.a * x ^ 3 + P.b * x ^ 2 + P.c * x + P.d = 0
-- Cubic.card_roots_le
theorem card_roots_le [IsDomain R] [DecidableEq R] : P.roots.toFinset.card ≤ 3 
Arguments: {R : Type u_1} {P : Cubic R} [CommRing R] [IsDomain R] [DecidableEq R]
Goal: P.roots.toFinset.card ≤ 3
-- Cubic.splits_iff_card_roots
theorem splits_iff_card_roots (ha : P.a ≠ 0) :
    Splits φ P.toPoly ↔ Multiset.card (map φ P).roots = 3 
Arguments: {F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {φ : F →+* K} (ha : P.a ≠ 0)
Goal: Polynomial.Splits φ P.toPoly ↔ Multiset.card (Cubic.map φ P).roots = 3
-- Cubic.splits_iff_roots_eq_three
theorem splits_iff_roots_eq_three (ha : P.a ≠ 0) :
    Splits φ P.toPoly ↔ ∃ x y z : K, (map φ P).roots = {x, y, z} 
Arguments: {F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {φ : F →+* K} (ha : P.a ≠ 0)
Goal: Polynomial.Splits φ P.toPoly ↔ ∃ x y z, (Cubic.map φ P).roots = {x, y, z}
-- Cubic.eq_prod_three_roots
theorem eq_prod_three_roots (ha : P.a ≠ 0) (h3 : (map φ P).roots = {x, y, z}) :
    (map φ P).toPoly = C (φ P.a) * (X - C x) * (X - C y) * (X - C z) 
Arguments: {F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {φ : F →+* K} {x y z : K} (ha : P.a ≠ 0) (h3 : (Cubic.map φ P).roots = {x, y, z})
Goal: (Cubic.map φ P).toPoly =
  Polynomial.C (φ P.a) * (Polynomial.X - Polynomial.C x) * (Polynomial.X - Polynomial.C y) *
    (Polynomial.X - Polynomial.C z)
-- Cubic.eq_sum_three_roots
theorem eq_sum_three_roots (ha : P.a ≠ 0) (h3 : (map φ P).roots = {x, y, z}) :
    map φ P =
      ⟨φ P.a, φ P.a * -(x + y + z), φ P.a * (x * y + x * z + y * z), φ P.a * -(x * y * z)⟩ 
Arguments: {F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {φ : F →+* K} {x y z : K} (ha : P.a ≠ 0) (h3 : (Cubic.map φ P).roots = {x, y, z})
Goal: Cubic.map φ P =
  { a := φ P.a, b := φ P.a * -(x + y + z), c := φ P.a * (x * y + x * z + y * z), d := φ P.a * -(x * y * z) }
-- Cubic.b_eq_three_roots
theorem b_eq_three_roots (ha : P.a ≠ 0) (h3 : (map φ P).roots = {x, y, z}) :
    φ P.b = φ P.a * -(x + y + z) 
Arguments: {F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {φ : F →+* K} {x y z : K} (ha : P.a ≠ 0) (h3 : (Cubic.map φ P).roots = {x, y, z})
Goal: φ P.b = φ P.a * -(x + y + z)
-- Cubic.c_eq_three_roots
theorem c_eq_three_roots (ha : P.a ≠ 0) (h3 : (map φ P).roots = {x, y, z}) :
    φ P.c = φ P.a * (x * y + x * z + y * z) 
Arguments: {F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {φ : F →+* K} {x y z : K} (ha : P.a ≠ 0) (h3 : (Cubic.map φ P).roots = {x, y, z})
Goal: φ P.c = φ P.a * (x * y + x * z + y * z)
-- Cubic.d_eq_three_roots
theorem d_eq_three_roots (ha : P.a ≠ 0) (h3 : (map φ P).roots = {x, y, z}) :
    φ P.d = φ P.a * -(x * y * z) 
Arguments: {F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {φ : F →+* K} {x y z : K} (ha : P.a ≠ 0) (h3 : (Cubic.map φ P).roots = {x, y, z})
Goal: φ P.d = φ P.a * -(x * y * z)
-- Cubic.disc_eq_prod_three_roots
theorem disc_eq_prod_three_roots (ha : P.a ≠ 0) (h3 : (map φ P).roots = {x, y, z}) :
    φ P.disc = (φ P.a * φ P.a * (x - y) * (x - z) * (y - z)) ^ 2 
Arguments: {F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {φ : F →+* K} {x y z : K} (ha : P.a ≠ 0) (h3 : (Cubic.map φ P).roots = {x, y, z})
Goal: φ P.disc = (φ P.a * φ P.a * (x - y) * (x - z) * (y - z)) ^ 2
-- Cubic.disc_ne_zero_iff_roots_ne
theorem disc_ne_zero_iff_roots_ne (ha : P.a ≠ 0) (h3 : (map φ P).roots = {x, y, z}) :
    P.disc ≠ 0 ↔ x ≠ y ∧ x ≠ z ∧ y ≠ z 
Arguments: {F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {φ : F →+* K} {x y z : K} (ha : P.a ≠ 0) (h3 : (Cubic.map φ P).roots = {x, y, z})
Goal: P.disc ≠ 0 ↔ x ≠ y ∧ x ≠ z ∧ y ≠ z
-- Cubic.disc_ne_zero_iff_roots_nodup
theorem disc_ne_zero_iff_roots_nodup (ha : P.a ≠ 0) (h3 : (map φ P).roots = {x, y, z}) :
    P.disc ≠ 0 ↔ (map φ P).roots.Nodup 
Arguments: {F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {φ : F →+* K} {x y z : K} (ha : P.a ≠ 0) (h3 : (Cubic.map φ P).roots = {x, y, z})
Goal: P.disc ≠ 0 ↔ (Cubic.map φ P).roots.Nodup
-- Cubic.card_roots_of_disc_ne_zero
theorem card_roots_of_disc_ne_zero [DecidableEq K] (ha : P.a ≠ 0) (h3 : (map φ P).roots = {x, y, z})
    (hd : P.disc ≠ 0) : (map φ P).roots.toFinset.card = 3 
Arguments: {F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {φ : F →+* K} {x y z : K} [DecidableEq K] (ha : P.a ≠ 0) (h3 : (Cubic.map φ P).roots = {x, y, z}) (hd : P.disc ≠ 0)
Goal: (Cubic.map φ P).roots.toFinset.card = 3
-- CoalgebraCat.moduleCat_of_toModuleCat
@[simp] theorem moduleCat_of_toModuleCat (X : CoalgebraCat.{v} R) :
    ModuleCat.of R X.toModuleCat = X.toModuleCat 
Arguments: {R : Type u} [CommRing R] (X : CoalgebraCat R)
Goal: ModuleCat.of R ↑X.toModuleCat = X.toModuleCat
-- CoalgebraCat.of_isModule
@[simps]
def of (X : Type v) [AddCommGroup X] [Module R X] [Coalgebra R X] :
    CoalgebraCat R 
Arguments: (R : Type u) [CommRing R] (X : Type v) [AddCommGroup X] [Module R X] [Coalgebra R X]
Goal: (CoalgebraCat.of R X).isModule = inst✝
-- CoalgebraCat.of_isAddCommGroup
@[simps]
def of (X : Type v) [AddCommGroup X] [Module R X] [Coalgebra R X] :
    CoalgebraCat R 
Arguments: (R : Type u) [CommRing R] (X : Type v) [AddCommGroup X] [Module R X] [Coalgebra R X]
Goal: (CoalgebraCat.of R X).isAddCommGroup = inst✝
-- CoalgebraCat.of_instCoalgebra
@[simps]
def of (X : Type v) [AddCommGroup X] [Module R X] [Coalgebra R X] :
    CoalgebraCat R 
Arguments: (R : Type u) [CommRing R] (X : Type v) [AddCommGroup X] [Module R X] [Coalgebra R X]
Goal: (CoalgebraCat.of R X).instCoalgebra = inferInstance
-- CoalgebraCat.of_carrier
@[simps]
def of (X : Type v) [AddCommGroup X] [Module R X] [Coalgebra R X] :
    CoalgebraCat R 
Arguments: (R : Type u) [CommRing R] (X : Type v) [AddCommGroup X] [Module R X] [Coalgebra R X]
Goal: ↑(CoalgebraCat.of R X).toModuleCat = X
-- CoalgebraCat.of_comul
@[simp]
lemma of_comul {X : Type v} [AddCommGroup X] [Module R X] [Coalgebra R X] :
    Coalgebra.comul (A := of R X) = Coalgebra.comul (R := R) (A := X) 
Arguments: {R : Type u} [CommRing R] {X : Type v} [AddCommGroup X] [Module R X] [Coalgebra R X]
Goal: Coalgebra.comul = Coalgebra.comul
-- CoalgebraCat.of_counit
@[simp]
lemma of_counit {X : Type v} [AddCommGroup X] [Module R X] [Coalgebra R X] :
    Coalgebra.counit (A := of R X) = Coalgebra.counit (R := R) (A := X) 
Arguments: {R : Type u} [CommRing R] {X : Type v} [AddCommGroup X] [Module R X] [Coalgebra R X]
Goal: Coalgebra.counit = Coalgebra.counit
-- CoalgebraCat.Hom.toCoalgHom_injective
lemma Hom.toCoalgHom_injective (V W : CoalgebraCat.{v} R) :
    Function.Injective (Hom.toCoalgHom : Hom V W → _) 
Arguments: {R : Type u} [CommRing R] (V W : CoalgebraCat R)
Goal: Function.Injective CoalgebraCat.Hom.toCoalgHom
-- CoalgebraCat.hom_ext
@[ext]
lemma hom_ext {M N : CoalgebraCat.{v} R} (f g : M ⟶ N) (h : f.toCoalgHom = g.toCoalgHom) :
    f = g 
Arguments: {R : Type u} [CommRing R] {M N : CoalgebraCat R} (f g : M ⟶ N) (h : f.toCoalgHom = g.toCoalgHom)
Goal: f = g
-- CoalgebraCat.toCoalgHom_comp
@[simp] theorem toCoalgHom_comp {M N U : CoalgebraCat.{v} R} (f : M ⟶ N) (g : N ⟶ U) :
    (f ≫ g).toCoalgHom = g.toCoalgHom.comp f.toCoalgHom 
Arguments: {R : Type u} [CommRing R] {M N U : CoalgebraCat R} (f : M ⟶ N) (g : N ⟶ U)
Goal: (f ≫ g).toCoalgHom = g.toCoalgHom.comp f.toCoalgHom
-- CoalgebraCat.toCoalgHom_id
@[simp] theorem toCoalgHom_id {M : CoalgebraCat.{v} R} :
    Hom.toCoalgHom (𝟙 M) = CoalgHom.id _ _ 
Arguments: {R : Type u} [CommRing R] {M : CoalgebraCat R}
Goal: (𝟙 M).toCoalgHom = CoalgHom.id R ↑M.toModuleCat
-- CoalgebraCat.forget₂_obj
@[simp]
theorem forget₂_obj (X : CoalgebraCat R) :
    (forget₂ (CoalgebraCat R) (ModuleCat R)).obj X = ModuleCat.of R X 
Arguments: {R : Type u} [CommRing R] (X : CoalgebraCat R)
Goal: (CategoryTheory.forget₂ (CoalgebraCat R) (ModuleCat R)).obj X = ModuleCat.of R ↑X.toModuleCat
-- CoalgebraCat.forget₂_map
@[simp]
theorem forget₂_map (X Y : CoalgebraCat R) (f : X ⟶ Y) :
    (forget₂ (CoalgebraCat R) (ModuleCat R)).map f = (f.toCoalgHom : X →ₗ[R] Y) 
Arguments: {R : Type u} [CommRing R] (X Y : CoalgebraCat R) (f : X ⟶ Y)
Goal: (CategoryTheory.forget₂ (CoalgebraCat R) (ModuleCat R)).map f = ↑f.toCoalgHom
-- CoalgEquiv.toCoalgebraCatIso_inv_toCoalgHom
@[simps]
def toCoalgebraCatIso (e : X ≃ₗc[R] Y) : CoalgebraCat.of R X ≅ CoalgebraCat.of R Y 
Arguments: {R : Type u} [CommRing R] {X Y : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y] [Module R Y] [Coalgebra R X] [Coalgebra R Y] (e : X ≃ₗc[R] Y)
Goal: e.toCoalgebraCatIso.inv.toCoalgHom = ↑e.symm
-- CoalgEquiv.toCoalgebraCatIso_hom_toCoalgHom
@[simps]
def toCoalgebraCatIso (e : X ≃ₗc[R] Y) : CoalgebraCat.of R X ≅ CoalgebraCat.of R Y 
Arguments: {R : Type u} [CommRing R] {X Y : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y] [Module R Y] [Coalgebra R X] [Coalgebra R Y] (e : X ≃ₗc[R] Y)
Goal: e.toCoalgebraCatIso.hom.toCoalgHom = ↑e
-- CoalgEquiv.toCoalgebraCatIso_refl
@[simp] theorem toCoalgebraCatIso_refl :
    toCoalgebraCatIso (CoalgEquiv.refl R X) = .refl _ 
Arguments: {R : Type u} [CommRing R] {X : Type v} [AddCommGroup X] [Module R X] [Coalgebra R X]
Goal: (CoalgEquiv.refl R X).toCoalgebraCatIso = CategoryTheory.Iso.refl (CoalgebraCat.of R X)
-- CoalgEquiv.toCoalgebraCatIso_symm
@[simp] theorem toCoalgebraCatIso_symm (e : X ≃ₗc[R] Y) :
    toCoalgebraCatIso e.symm = (toCoalgebraCatIso e).symm 
Arguments: {R : Type u} [CommRing R] {X Y : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y] [Module R Y] [Coalgebra R X] [Coalgebra R Y] (e : X ≃ₗc[R] Y)
Goal: e.symm.toCoalgebraCatIso = e.toCoalgebraCatIso.symm
-- CoalgEquiv.toCoalgebraCatIso_trans
@[simp] theorem toCoalgebraCatIso_trans (e : X ≃ₗc[R] Y) (f : Y ≃ₗc[R] Z) :
    toCoalgebraCatIso (e.trans f) = toCoalgebraCatIso e ≪≫ toCoalgebraCatIso f 
Arguments: {R : Type u} [CommRing R] {X Y Z : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y] [Module R Y] [AddCommGroup Z] [Module R Z] [Coalgebra R X] [Coalgebra R Y] [Coalgebra R Z] (e : X ≃ₗc[R] Y) (f : Y ≃ₗc[R] Z)
Goal: (e.trans f).toCoalgebraCatIso = e.toCoalgebraCatIso ≪≫ f.toCoalgebraCatIso
-- CategoryTheory.Iso.toCoalgEquiv_toCoalgHom
@[simp] theorem toCoalgEquiv_toCoalgHom (i : X ≅ Y) :
    i.toCoalgEquiv = i.hom.toCoalgHom 
Arguments: {R : Type u} [CommRing R] {X Y : CoalgebraCat R} (i : X ≅ Y)
Goal: ↑i.toCoalgEquiv = i.hom.toCoalgHom
-- CategoryTheory.Iso.toCoalgEquiv_refl
@[simp] theorem toCoalgEquiv_refl : toCoalgEquiv (.refl X) = .refl _ _ 
Arguments: {R : Type u} [CommRing R] {X : CoalgebraCat R}
Goal: (CategoryTheory.Iso.refl X).toCoalgEquiv = CoalgEquiv.refl R ↑X.toModuleCat
-- CategoryTheory.Iso.toCoalgEquiv_symm
@[simp] theorem toCoalgEquiv_symm (e : X ≅ Y) :
    toCoalgEquiv e.symm = (toCoalgEquiv e).symm 
Arguments: {R : Type u} [CommRing R] {X Y : CoalgebraCat R} (e : X ≅ Y)
Goal: e.symm.toCoalgEquiv = e.toCoalgEquiv.symm
-- CategoryTheory.Iso.toCoalgEquiv_trans
@[simp] theorem toCoalgEquiv_trans (e : X ≅ Y) (f : Y ≅ Z) :
    toCoalgEquiv (e ≪≫ f) = e.toCoalgEquiv.trans f.toCoalgEquiv 
Arguments: {R : Type u} [CommRing R] {X Y Z : CoalgebraCat R} (e : X ≅ Y) (f : Y ≅ Z)
Goal: (e ≪≫ f).toCoalgEquiv = e.toCoalgEquiv.trans f.toCoalgEquiv
-- IsProjective.iff_projective
theorem IsProjective.iff_projective {R : Type u} [Ring R] {P : Type max u v} [AddCommGroup P]
    [Module R P] : Module.Projective R P ↔ Projective (ModuleCat.of R P) 
Arguments: {R : Type u} [Ring R] {P : Type (max u v)} [AddCommGroup P] [Module R P]
Goal: Module.Projective R P ↔ CategoryTheory.Projective (ModuleCat.of R P)
-- ModuleCat.projective_of_free
theorem projective_of_free {ι : Type u'} (b : Basis ι R M) : Projective M 
Arguments: {R : Type u} [Ring R] {M : ModuleCat R} {ι : Type u'} (b : Basis ι R ↑M)
Goal: CategoryTheory.Projective M
-- simple_iff_isSimpleModule
theorem simple_iff_isSimpleModule : Simple (of R M) ↔ IsSimpleModule R M 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M]
Goal: CategoryTheory.Simple (ModuleCat.of R M) ↔ IsSimpleModule R M
-- simple_iff_isSimpleModule'
theorem simple_iff_isSimpleModule' (M : ModuleCat R) : Simple M ↔ IsSimpleModule R M 
Arguments: {R : Type u_1} [Ring R] (M : ModuleCat R)
Goal: CategoryTheory.Simple M ↔ IsSimpleModule R ↑M
-- simple_of_finrank_eq_one
theorem simple_of_finrank_eq_one {k : Type*} [Field k] [Algebra k R] {V : ModuleCat R}
    (h : finrank k V = 1) : Simple V 
Arguments: {R : Type u_1} [Ring R] {k : Type u_3} [Field k] [Algebra k R] {V : ModuleCat R} (h : FiniteDimensional.finrank k ↑V = 1)
Goal: CategoryTheory.Simple V
-- BialgebraCat.of_instBialgebra
@[simps]
def of (X : Type v) [Ring X] [Bialgebra R X] :
    BialgebraCat R 
Arguments: (R : Type u) [CommRing R] (X : Type v) [Ring X] [Bialgebra R X]
Goal: (BialgebraCat.of R X).instBialgebra = inferInstance
-- BialgebraCat.of_str
@[simps]
def of (X : Type v) [Ring X] [Bialgebra R X] :
    BialgebraCat R 
Arguments: (R : Type u) [CommRing R] (X : Type v) [Ring X] [Bialgebra R X]
Goal: (BialgebraCat.of R X).str = inferInstance
-- BialgebraCat.of_α
@[simps]
def of (X : Type v) [Ring X] [Bialgebra R X] :
    BialgebraCat R 
Arguments: (R : Type u) [CommRing R] (X : Type v) [Ring X] [Bialgebra R X]
Goal: ↑(BialgebraCat.of R X).toBundled = X
-- BialgebraCat.of_comul
@[simp]
lemma of_comul {X : Type v} [Ring X] [Bialgebra R X] :
    Coalgebra.comul (A := of R X) = Coalgebra.comul (R := R) (A := X) 
Arguments: {R : Type u} [CommRing R] {X : Type v} [Ring X] [Bialgebra R X]
Goal: Coalgebra.comul = Coalgebra.comul
-- BialgebraCat.of_counit
@[simp]
lemma of_counit {X : Type v} [Ring X] [Bialgebra R X] :
    Coalgebra.counit (A := of R X) = Coalgebra.counit (R := R) (A := X) 
Arguments: {R : Type u} [CommRing R] {X : Type v} [Ring X] [Bialgebra R X]
Goal: Coalgebra.counit = Coalgebra.counit
-- BialgebraCat.Hom.toBialgHom_injective
lemma Hom.toBialgHom_injective (V W : BialgebraCat.{v} R) :
    Function.Injective (Hom.toBialgHom : Hom V W → _) 
Arguments: {R : Type u} [CommRing R] (V W : BialgebraCat R)
Goal: Function.Injective BialgebraCat.Hom.toBialgHom
-- BialgebraCat.hom_ext
@[ext]
lemma hom_ext {X Y : BialgebraCat.{v} R} (f g : X ⟶ Y) (h : f.toBialgHom = g.toBialgHom) :
    f = g 
Arguments: {R : Type u} [CommRing R] {X Y : BialgebraCat R} (f g : X ⟶ Y) (h : f.toBialgHom = g.toBialgHom)
Goal: f = g
-- BialgebraCat.toBialgHom_comp
@[simp] theorem toBialgHom_comp {X Y Z : BialgebraCat.{v} R} (f : X ⟶ Y) (g : Y ⟶ Z) :
    (f ≫ g).toBialgHom = g.toBialgHom.comp f.toBialgHom 
Arguments: {R : Type u} [CommRing R] {X Y Z : BialgebraCat R} (f : X ⟶ Y) (g : Y ⟶ Z)
Goal: (f ≫ g).toBialgHom = g.toBialgHom.comp f.toBialgHom
-- BialgebraCat.toBialgHom_id
@[simp] theorem toBialgHom_id {M : BialgebraCat.{v} R} :
    Hom.toBialgHom (𝟙 M) = BialgHom.id _ _ 
Arguments: {R : Type u} [CommRing R] {M : BialgebraCat R}
Goal: (𝟙 M).toBialgHom = BialgHom.id R ↑M.toBundled
-- BialgebraCat.forget₂_algebra_obj
@[simp]
theorem forget₂_algebra_obj (X : BialgebraCat R) :
    (forget₂ (BialgebraCat R) (AlgebraCat R)).obj X = AlgebraCat.of R X 
Arguments: {R : Type u} [CommRing R] (X : BialgebraCat R)
Goal: (CategoryTheory.forget₂ (BialgebraCat R) (AlgebraCat R)).obj X = AlgebraCat.of R ↑X.toBundled