ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Module.equiv_free_prod_directSum
theorem equiv_free_prod_directSum [h' : Module.Finite R N] :
    ∃ (n : ℕ) (ι : Type u) (_ : Fintype ι) (p : ι → R) (_ : ∀ i, Irreducible <| p i) (e : ι → ℕ),
      Nonempty <| N ≃ₗ[R] (Fin n →₀ R) × ⨁ i : ι, R ⧸ R ∙ p i ^ e i 
Arguments: {R : Type u} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] {N : Type (max u v)} [AddCommGroup N] [Module R N] [h' : Module.Finite R N]
Goal: ∃ n ι x p,
  ∃ (_ : ∀ (i : ι), Irreducible (p i)),
    ∃ e, Nonempty (N ≃ₗ[R] (Fin n →₀ R) × ⨁ (i : ι), R ⧸ Submodule.span R {p i ^ e i})
-- IsCHSHTuple.A₀B₁_commutes
--@[nolint has_nonempty_instance] Porting note(#5171): linter not ported yet
structure IsCHSHTuple {R} [Monoid R] [StarMul R] (A₀ A₁ B₀ B₁ : R) : Prop where
  A₀_inv : A₀ ^ 2 = 1
  A₁_inv : A₁ ^ 2 = 1
  B₀_inv : B₀ ^ 2 = 1
  B₁_inv : B₁ ^ 2 = 1
  A₀_sa : star A₀ = A₀
  A₁_sa : star A₁ = A₁
  B₀_sa : star B₀ = B₀
  B₁_sa : star B₁ = B₁
  A₀B₀_commutes : A₀ * B₀ = B₀ * A₀
  A₀B₁_commutes : A₀ * B₁ = B₁ * A₀
  A₁B₀_commutes : A₁ * B₀ = B₀ * A₁
  A₁B₁_commutes : A₁ * B₁ = B₁ * A₁
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {A₀ A₁ B₀ B₁ : R} (self : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: A₀ * B₁ = B₁ * A₀
-- IsCHSHTuple.A₁B₁_commutes
--@[nolint has_nonempty_instance] Porting note(#5171): linter not ported yet
structure IsCHSHTuple {R} [Monoid R] [StarMul R] (A₀ A₁ B₀ B₁ : R) : Prop where
  A₀_inv : A₀ ^ 2 = 1
  A₁_inv : A₁ ^ 2 = 1
  B₀_inv : B₀ ^ 2 = 1
  B₁_inv : B₁ ^ 2 = 1
  A₀_sa : star A₀ = A₀
  A₁_sa : star A₁ = A₁
  B₀_sa : star B₀ = B₀
  B₁_sa : star B₁ = B₁
  A₀B₀_commutes : A₀ * B₀ = B₀ * A₀
  A₀B₁_commutes : A₀ * B₁ = B₁ * A₀
  A₁B₀_commutes : A₁ * B₀ = B₀ * A₁
  A₁B₁_commutes : A₁ * B₁ = B₁ * A₁
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {A₀ A₁ B₀ B₁ : R} (self : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: A₁ * B₁ = B₁ * A₁
-- IsCHSHTuple.B₀_sa
--@[nolint has_nonempty_instance] Porting note(#5171): linter not ported yet
structure IsCHSHTuple {R} [Monoid R] [StarMul R] (A₀ A₁ B₀ B₁ : R) : Prop where
  A₀_inv : A₀ ^ 2 = 1
  A₁_inv : A₁ ^ 2 = 1
  B₀_inv : B₀ ^ 2 = 1
  B₁_inv : B₁ ^ 2 = 1
  A₀_sa : star A₀ = A₀
  A₁_sa : star A₁ = A₁
  B₀_sa : star B₀ = B₀
  B₁_sa : star B₁ = B₁
  A₀B₀_commutes : A₀ * B₀ = B₀ * A₀
  A₀B₁_commutes : A₀ * B₁ = B₁ * A₀
  A₁B₀_commutes : A₁ * B₀ = B₀ * A₁
  A₁B₁_commutes : A₁ * B₁ = B₁ * A₁
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {A₀ A₁ B₀ B₁ : R} (self : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: star B₀ = B₀
-- IsCHSHTuple.A₀_sa
--@[nolint has_nonempty_instance] Porting note(#5171): linter not ported yet
structure IsCHSHTuple {R} [Monoid R] [StarMul R] (A₀ A₁ B₀ B₁ : R) : Prop where
  A₀_inv : A₀ ^ 2 = 1
  A₁_inv : A₁ ^ 2 = 1
  B₀_inv : B₀ ^ 2 = 1
  B₁_inv : B₁ ^ 2 = 1
  A₀_sa : star A₀ = A₀
  A₁_sa : star A₁ = A₁
  B₀_sa : star B₀ = B₀
  B₁_sa : star B₁ = B₁
  A₀B₀_commutes : A₀ * B₀ = B₀ * A₀
  A₀B₁_commutes : A₀ * B₁ = B₁ * A₀
  A₁B₀_commutes : A₁ * B₀ = B₀ * A₁
  A₁B₁_commutes : A₁ * B₁ = B₁ * A₁
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {A₀ A₁ B₀ B₁ : R} (self : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: star A₀ = A₀
-- IsCHSHTuple.B₁_inv
--@[nolint has_nonempty_instance] Porting note(#5171): linter not ported yet
structure IsCHSHTuple {R} [Monoid R] [StarMul R] (A₀ A₁ B₀ B₁ : R) : Prop where
  A₀_inv : A₀ ^ 2 = 1
  A₁_inv : A₁ ^ 2 = 1
  B₀_inv : B₀ ^ 2 = 1
  B₁_inv : B₁ ^ 2 = 1
  A₀_sa : star A₀ = A₀
  A₁_sa : star A₁ = A₁
  B₀_sa : star B₀ = B₀
  B₁_sa : star B₁ = B₁
  A₀B₀_commutes : A₀ * B₀ = B₀ * A₀
  A₀B₁_commutes : A₀ * B₁ = B₁ * A₀
  A₁B₀_commutes : A₁ * B₀ = B₀ * A₁
  A₁B₁_commutes : A₁ * B₁ = B₁ * A₁
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {A₀ A₁ B₀ B₁ : R} (self : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: B₁ ^ 2 = 1
-- IsCHSHTuple.A₀B₀_commutes
--@[nolint has_nonempty_instance] Porting note(#5171): linter not ported yet
structure IsCHSHTuple {R} [Monoid R] [StarMul R] (A₀ A₁ B₀ B₁ : R) : Prop where
  A₀_inv : A₀ ^ 2 = 1
  A₁_inv : A₁ ^ 2 = 1
  B₀_inv : B₀ ^ 2 = 1
  B₁_inv : B₁ ^ 2 = 1
  A₀_sa : star A₀ = A₀
  A₁_sa : star A₁ = A₁
  B₀_sa : star B₀ = B₀
  B₁_sa : star B₁ = B₁
  A₀B₀_commutes : A₀ * B₀ = B₀ * A₀
  A₀B₁_commutes : A₀ * B₁ = B₁ * A₀
  A₁B₀_commutes : A₁ * B₀ = B₀ * A₁
  A₁B₁_commutes : A₁ * B₁ = B₁ * A₁
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {A₀ A₁ B₀ B₁ : R} (self : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: A₀ * B₀ = B₀ * A₀
-- IsCHSHTuple.A₁_inv
--@[nolint has_nonempty_instance] Porting note(#5171): linter not ported yet
structure IsCHSHTuple {R} [Monoid R] [StarMul R] (A₀ A₁ B₀ B₁ : R) : Prop where
  A₀_inv : A₀ ^ 2 = 1
  A₁_inv : A₁ ^ 2 = 1
  B₀_inv : B₀ ^ 2 = 1
  B₁_inv : B₁ ^ 2 = 1
  A₀_sa : star A₀ = A₀
  A₁_sa : star A₁ = A₁
  B₀_sa : star B₀ = B₀
  B₁_sa : star B₁ = B₁
  A₀B₀_commutes : A₀ * B₀ = B₀ * A₀
  A₀B₁_commutes : A₀ * B₁ = B₁ * A₀
  A₁B₀_commutes : A₁ * B₀ = B₀ * A₁
  A₁B₁_commutes : A₁ * B₁ = B₁ * A₁
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {A₀ A₁ B₀ B₁ : R} (self : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: A₁ ^ 2 = 1
-- IsCHSHTuple.A₀_inv
--@[nolint has_nonempty_instance] Porting note(#5171): linter not ported yet
structure IsCHSHTuple {R} [Monoid R] [StarMul R] (A₀ A₁ B₀ B₁ : R) : Prop where
  A₀_inv : A₀ ^ 2 = 1
  A₁_inv : A₁ ^ 2 = 1
  B₀_inv : B₀ ^ 2 = 1
  B₁_inv : B₁ ^ 2 = 1
  A₀_sa : star A₀ = A₀
  A₁_sa : star A₁ = A₁
  B₀_sa : star B₀ = B₀
  B₁_sa : star B₁ = B₁
  A₀B₀_commutes : A₀ * B₀ = B₀ * A₀
  A₀B₁_commutes : A₀ * B₁ = B₁ * A₀
  A₁B₀_commutes : A₁ * B₀ = B₀ * A₁
  A₁B₁_commutes : A₁ * B₁ = B₁ * A₁
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {A₀ A₁ B₀ B₁ : R} (self : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: A₀ ^ 2 = 1
-- IsCHSHTuple.A₁_sa
--@[nolint has_nonempty_instance] Porting note(#5171): linter not ported yet
structure IsCHSHTuple {R} [Monoid R] [StarMul R] (A₀ A₁ B₀ B₁ : R) : Prop where
  A₀_inv : A₀ ^ 2 = 1
  A₁_inv : A₁ ^ 2 = 1
  B₀_inv : B₀ ^ 2 = 1
  B₁_inv : B₁ ^ 2 = 1
  A₀_sa : star A₀ = A₀
  A₁_sa : star A₁ = A₁
  B₀_sa : star B₀ = B₀
  B₁_sa : star B₁ = B₁
  A₀B₀_commutes : A₀ * B₀ = B₀ * A₀
  A₀B₁_commutes : A₀ * B₁ = B₁ * A₀
  A₁B₀_commutes : A₁ * B₀ = B₀ * A₁
  A₁B₁_commutes : A₁ * B₁ = B₁ * A₁
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {A₀ A₁ B₀ B₁ : R} (self : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: star A₁ = A₁
-- IsCHSHTuple.B₁_sa
--@[nolint has_nonempty_instance] Porting note(#5171): linter not ported yet
structure IsCHSHTuple {R} [Monoid R] [StarMul R] (A₀ A₁ B₀ B₁ : R) : Prop where
  A₀_inv : A₀ ^ 2 = 1
  A₁_inv : A₁ ^ 2 = 1
  B₀_inv : B₀ ^ 2 = 1
  B₁_inv : B₁ ^ 2 = 1
  A₀_sa : star A₀ = A₀
  A₁_sa : star A₁ = A₁
  B₀_sa : star B₀ = B₀
  B₁_sa : star B₁ = B₁
  A₀B₀_commutes : A₀ * B₀ = B₀ * A₀
  A₀B₁_commutes : A₀ * B₁ = B₁ * A₀
  A₁B₀_commutes : A₁ * B₀ = B₀ * A₁
  A₁B₁_commutes : A₁ * B₁ = B₁ * A₁
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {A₀ A₁ B₀ B₁ : R} (self : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: star B₁ = B₁
-- IsCHSHTuple.A₁B₀_commutes
--@[nolint has_nonempty_instance] Porting note(#5171): linter not ported yet
structure IsCHSHTuple {R} [Monoid R] [StarMul R] (A₀ A₁ B₀ B₁ : R) : Prop where
  A₀_inv : A₀ ^ 2 = 1
  A₁_inv : A₁ ^ 2 = 1
  B₀_inv : B₀ ^ 2 = 1
  B₁_inv : B₁ ^ 2 = 1
  A₀_sa : star A₀ = A₀
  A₁_sa : star A₁ = A₁
  B₀_sa : star B₀ = B₀
  B₁_sa : star B₁ = B₁
  A₀B₀_commutes : A₀ * B₀ = B₀ * A₀
  A₀B₁_commutes : A₀ * B₁ = B₁ * A₀
  A₁B₀_commutes : A₁ * B₀ = B₀ * A₁
  A₁B₁_commutes : A₁ * B₁ = B₁ * A₁
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {A₀ A₁ B₀ B₁ : R} (self : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: A₁ * B₀ = B₀ * A₁
-- IsCHSHTuple.B₀_inv
--@[nolint has_nonempty_instance] Porting note(#5171): linter not ported yet
structure IsCHSHTuple {R} [Monoid R] [StarMul R] (A₀ A₁ B₀ B₁ : R) : Prop where
  A₀_inv : A₀ ^ 2 = 1
  A₁_inv : A₁ ^ 2 = 1
  B₀_inv : B₀ ^ 2 = 1
  B₁_inv : B₁ ^ 2 = 1
  A₀_sa : star A₀ = A₀
  A₁_sa : star A₁ = A₁
  B₀_sa : star B₀ = B₀
  B₁_sa : star B₁ = B₁
  A₀B₀_commutes : A₀ * B₀ = B₀ * A₀
  A₀B₁_commutes : A₀ * B₁ = B₁ * A₀
  A₁B₀_commutes : A₁ * B₀ = B₀ * A₁
  A₁B₁_commutes : A₁ * B₁ = B₁ * A₁
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {A₀ A₁ B₀ B₁ : R} (self : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: B₀ ^ 2 = 1
-- CHSH_id
theorem CHSH_id [CommRing R] {A₀ A₁ B₀ B₁ : R} (A₀_inv : A₀ ^ 2 = 1) (A₁_inv : A₁ ^ 2 = 1)
    (B₀_inv : B₀ ^ 2 = 1) (B₁_inv : B₁ ^ 2 = 1) :
    (2 - A₀ * B₀ - A₀ * B₁ - A₁ * B₀ + A₁ * B₁) * (2 - A₀ * B₀ - A₀ * B₁ - A₁ * B₀ + A₁ * B₁) =
      4 * (2 - A₀ * B₀ - A₀ * B₁ - A₁ * B₀ + A₁ * B₁) 
Arguments: {R : Type u} [CommRing R] {A₀ A₁ B₀ B₁ : R} (A₀_inv : A₀ ^ 2 = 1) (A₁_inv : A₁ ^ 2 = 1) (B₀_inv : B₀ ^ 2 = 1) (B₁_inv : B₁ ^ 2 = 1)
Goal: (2 - A₀ * B₀ - A₀ * B₁ - A₁ * B₀ + A₁ * B₁) * (2 - A₀ * B₀ - A₀ * B₁ - A₁ * B₀ + A₁ * B₁) =
  4 * (2 - A₀ * B₀ - A₀ * B₁ - A₁ * B₀ + A₁ * B₁)
-- CHSH_inequality_of_comm
theorem CHSH_inequality_of_comm [OrderedCommRing R] [StarRing R] [StarOrderedRing R] [Algebra ℝ R]
    [OrderedSMul ℝ R] (A₀ A₁ B₀ B₁ : R) (T : IsCHSHTuple A₀ A₁ B₀ B₁) :
    A₀ * B₀ + A₀ * B₁ + A₁ * B₀ - A₁ * B₁ ≤ 2 
Arguments: {R : Type u} [OrderedCommRing R] [StarRing R] [StarOrderedRing R] [Algebra ℝ R] [OrderedSMul ℝ R] (A₀ A₁ B₀ B₁ : R) (T : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: A₀ * B₀ + A₀ * B₁ + A₁ * B₀ - A₁ * B₁ ≤ 2
-- TsirelsonInequality.tsirelson_inequality_aux
theorem tsirelson_inequality_aux : √2 * √2 ^ 3 = √2 * (2 * (√2)⁻¹ + 4 * ((√2)⁻¹ * 2⁻¹)) 
Goal: √2 * √2 ^ 3 = √2 * (2 * (√2)⁻¹ + 4 * ((√2)⁻¹ * 2⁻¹))
-- TsirelsonInequality.sqrt_two_inv_mul_self
theorem sqrt_two_inv_mul_self : (√2)⁻¹ * (√2)⁻¹ = (2⁻¹ : ℝ) 
Goal: (√2)⁻¹ * (√2)⁻¹ = 2⁻¹
-- tsirelson_inequality
theorem tsirelson_inequality [OrderedRing R] [StarRing R] [StarOrderedRing R] [Algebra ℝ R]
    [OrderedSMul ℝ R] [StarModule ℝ R] (A₀ A₁ B₀ B₁ : R) (T : IsCHSHTuple A₀ A₁ B₀ B₁) :
    A₀ * B₀ + A₀ * B₁ + A₁ * B₀ - A₁ * B₁ ≤ √2 ^ 3 • (1 : R) 
Arguments: {R : Type u} [OrderedRing R] [StarRing R] [StarOrderedRing R] [Algebra ℝ R] [OrderedSMul ℝ R] [StarModule ℝ R] (A₀ A₁ B₀ B₁ : R) (T : IsCHSHTuple A₀ A₁ B₀ B₁)
Goal: A₀ * B₀ + A₀ * B₁ + A₁ * B₀ - A₁ * B₁ ≤ √2 ^ 3 • 1
-- unitary.mem_iff
theorem mem_iff {U : R} : U ∈ unitary R ↔ star U * U = 1 ∧ U * star U = 1 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {U : R}
Goal: U ∈ unitary R ↔ star U * U = 1 ∧ U * star U = 1
-- unitary.star_mul_self_of_mem
@[simp]
theorem star_mul_self_of_mem {U : R} (hU : U ∈ unitary R) : star U * U = 1 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {U : R} (hU : U ∈ unitary R)
Goal: star U * U = 1
-- unitary.mul_star_self_of_mem
@[simp]
theorem mul_star_self_of_mem {U : R} (hU : U ∈ unitary R) : U * star U = 1 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {U : R} (hU : U ∈ unitary R)
Goal: U * star U = 1
-- unitary.star_mem
theorem star_mem {U : R} (hU : U ∈ unitary R) : star U ∈ unitary R 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {U : R} (hU : U ∈ unitary R)
Goal: star U ∈ unitary R
-- unitary.star_mem_iff
@[simp]
theorem star_mem_iff {U : R} : star U ∈ unitary R ↔ U ∈ unitary R 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {U : R}
Goal: star U ∈ unitary R ↔ U ∈ unitary R
-- unitary.coe_star
@[simp, norm_cast]
theorem coe_star {U : unitary R} : ↑(star U) = (star U : R) 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {U : ↥(unitary R)}
Goal: ↑(star U) = star ↑U
-- unitary.coe_star_mul_self
theorem coe_star_mul_self (U : unitary R) : (star U : R) * U = 1 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] (U : ↥(unitary R))
Goal: star ↑U * ↑U = 1
-- unitary.coe_mul_star_self
theorem coe_mul_star_self (U : unitary R) : (U : R) * star U = 1 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] (U : ↥(unitary R))
Goal: ↑U * ↑(star U) = 1
-- unitary.star_mul_self
@[simp]
theorem star_mul_self (U : unitary R) : star U * U = 1 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] (U : ↥(unitary R))
Goal: star U * U = 1
-- unitary.mul_star_self
@[simp]
theorem mul_star_self (U : unitary R) : U * star U = 1 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] (U : ↥(unitary R))
Goal: U * star U = 1
-- unitary.star_eq_inv
theorem star_eq_inv (U : unitary R) : star U = U⁻¹ 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] (U : ↥(unitary R))
Goal: star U = U⁻¹
-- unitary.star_eq_inv'
theorem star_eq_inv' : (star : unitary R → unitary R) = Inv.inv 
Arguments: {R : Type u_1} [Monoid R] [StarMul R]
Goal: star = Inv.inv
-- unitary.val_toUnits_apply
@[simps]
def toUnits : unitary R →* Rˣ 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] (x : ↥(unitary R))
Goal: ↑(unitary.toUnits x) = ↑x
-- unitary.val_inv_toUnits_apply
@[simps]
def toUnits : unitary R →* Rˣ 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] (x : ↥(unitary R))
Goal: ↑(unitary.toUnits x)⁻¹ = ↑x⁻¹
-- unitary.toUnits_injective
theorem toUnits_injective : Function.Injective (toUnits : unitary R → Rˣ) 
Arguments: {R : Type u_1} [Monoid R] [StarMul R]
Goal: Function.Injective ⇑unitary.toUnits
-- IsUnit.mem_unitary_of_star_mul_self
theorem _root_.IsUnit.mem_unitary_of_star_mul_self  {u : R} (hu : IsUnit u)
    (h_mul : star u * u = 1) : u ∈ unitary R 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {u : R} (hu : IsUnit u) (h_mul : star u * u = 1)
Goal: u ∈ unitary R
-- IsUnit.mem_unitary_of_mul_star_self
theorem _root_.IsUnit.mem_unitary_of_mul_star_self {u : R} (hu : IsUnit u)
    (h_mul : u * star u = 1) : u ∈ unitary R 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {u : R} (hu : IsUnit u) (h_mul : u * star u = 1)
Goal: u ∈ unitary R
-- isStarNormal_of_mem_unitary
lemma _root_.isStarNormal_of_mem_unitary {u : R} (hu : u ∈ unitary R) : IsStarNormal u 
Arguments: {R : Type u_1} [Monoid R] [StarMul R] {u : R} (hu : u ∈ unitary R)
Goal: IsStarNormal u
-- unitary.map_mem
lemma map_mem {r : R} (hr : r ∈ unitary R) : f r ∈ unitary S 
Arguments: {F : Type u_2} {R : Type u_3} {S : Type u_4} [Monoid R] [StarMul R] [Monoid S] [StarMul S] [FunLike F R S] [StarHomClass F R S] [MonoidHomClass F R S] (f : F) {r : R} (hr : r ∈ unitary R)
Goal: f r ∈ unitary S
-- unitary.map_apply
@[simps]
def map : unitary R →* unitary S 
Arguments: {F : Type u_2} {R : Type u_3} {S : Type u_4} [Monoid R] [StarMul R] [Monoid S] [StarMul S] [FunLike F R S] [StarHomClass F R S] [MonoidHomClass F R S] (f : F)
Goal: ∀ (a : ↥(unitary R)), (unitary.map f) a = Subtype.map ⇑f ⋯ a
-- unitary.toUnits_comp_map
lemma toUnits_comp_map : toUnits.comp (map f) = (Units.map f).comp toUnits 
Arguments: {F : Type u_2} {R : Type u_3} {S : Type u_4} [Monoid R] [StarMul R] [Monoid S] [StarMul S] [FunLike F R S] [StarHomClass F R S] [MonoidHomClass F R S] (f : F)
Goal: unitary.toUnits.comp (unitary.map f) = (Units.map ↑f).comp unitary.toUnits
-- unitary.mem_iff_star_mul_self
theorem mem_iff_star_mul_self {U : R} : U ∈ unitary R ↔ star U * U = 1 
Arguments: {R : Type u_1} [CommMonoid R] [StarMul R] {U : R}
Goal: U ∈ unitary R ↔ star U * U = 1
-- unitary.mem_iff_self_mul_star
theorem mem_iff_self_mul_star {U : R} : U ∈ unitary R ↔ U * star U = 1 
Arguments: {R : Type u_1} [CommMonoid R] [StarMul R] {U : R}
Goal: U ∈ unitary R ↔ U * star U = 1
-- unitary.coe_inv
@[norm_cast]
theorem coe_inv (U : unitary R) : ↑U⁻¹ = (U⁻¹ : R) 
Arguments: {R : Type u_1} [GroupWithZero R] [StarMul R] (U : ↥(unitary R))
Goal: ↑U⁻¹ = (↑U)⁻¹
-- unitary.coe_div
@[norm_cast]
theorem coe_div (U₁ U₂ : unitary R) : ↑(U₁ / U₂) = (U₁ / U₂ : R) 
Arguments: {R : Type u_1} [GroupWithZero R] [StarMul R] (U₁ U₂ : ↥(unitary R))
Goal: ↑(U₁ / U₂) = ↑U₁ / ↑U₂
-- unitary.coe_zpow
@[norm_cast]
theorem coe_zpow (U : unitary R) (z : ℤ) : ↑(U ^ z) = (U : R) ^ z 
Arguments: {R : Type u_1} [GroupWithZero R] [StarMul R] (U : ↥(unitary R)) (z : ℤ)
Goal: ↑(U ^ z) = ↑U ^ z
-- unitary.coe_neg
@[norm_cast]
theorem coe_neg (U : unitary R) : ↑(-U) = (-U : R) 
Arguments: {R : Type u_1} [Ring R] [StarRing R] (U : ↥(unitary R))
Goal: ↑(-U) = -↑U
-- unitary.spectrum.unitary_conjugate
@[simp]
lemma spectrum.unitary_conjugate {a : A} {u : unitary A} :
    spectrum R (u * a * (star u : A)) = spectrum R a 
Arguments: {R : Type u_2} {A : Type u_3} [CommSemiring R] [Ring A] [Algebra R A] [StarMul A] {a : A} {u : ↥(unitary A)}
Goal: spectrum R (↑u * a * star ↑u) = spectrum R a
-- unitary.spectrum.unitary_conjugate'
@[simp]
lemma spectrum.unitary_conjugate' {a : A} {u : unitary A} :
    spectrum R ((star u : A) * a * u) = spectrum R a 
Arguments: {R : Type u_2} {A : Type u_3} [CommSemiring R] [Ring A] [Algebra R A] [StarMul A] {a : A} {u : ↥(unitary A)}
Goal: spectrum R (star ↑u * a * ↑u) = spectrum R a
-- RingQuot.Rel.star
theorem Rel.star (hr : ∀ a b, r a b → r (star a) (star b))
    ⦃a b : R⦄ (h : Rel r a b) : Rel r (star a) (star b) 
Arguments: {R : Type u} [Semiring R] (r : R → R → Prop) [StarRing R] (hr : ∀ (a b : R), r a b → r (star a) (star b)) ⦃a b : R⦄ (h : RingQuot.Rel r a b)
Goal: RingQuot.Rel r (star a) (star b)
-- _private.Mathlib.Algebra.Star.RingQuot.0.RingQuot.star'_def
private irreducible_def star' (hr : ∀ a b, r a b → r (star a) (star b)) : RingQuot r → RingQuot r
  
Arguments: {R : Type u_1} [Semiring R] (r : R → R → Prop) [StarRing R] (hr : ∀ (a b : R), r a b → r (star a) (star b))
Goal: ∀ (x : RingQuot r),
  RingQuot.star' r hr x =
    match x with
    | { toQuot := a } => { toQuot := Quot.map star ⋯ a }
-- RingQuot.star'_quot
theorem star'_quot (hr : ∀ a b, r a b → r (star a) (star b)) {a} :
    (star' r hr ⟨Quot.mk _ a⟩ : RingQuot r) = ⟨Quot.mk _ (star a)⟩ 
Arguments: {R : Type u} [Semiring R] (r : R → R → Prop) [StarRing R] (hr : ∀ (a b : R), r a b → r (star a) (star b)) {a : R}
Goal: RingQuot.star' r hr { toQuot := Quot.mk (RingQuot.Rel r) a } = { toQuot := Quot.mk (RingQuot.Rel r) (star a) }
-- MvPolynomial.degrees_def
theorem degrees_def [DecidableEq σ] (p : MvPolynomial σ R) :
    p.degrees = p.support.sup fun s : σ →₀ ℕ => Finsupp.toMultiset s 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] [DecidableEq σ] (p : MvPolynomial σ R)
Goal: p.degrees = p.support.sup fun s => Finsupp.toMultiset s
-- MvPolynomial.degrees_monomial
theorem degrees_monomial (s : σ →₀ ℕ) (a : R) : degrees (monomial s a) ≤ toMultiset s 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] (s : σ →₀ ℕ) (a : R)
Goal: ((MvPolynomial.monomial s) a).degrees ≤ Finsupp.toMultiset s
-- MvPolynomial.degrees_monomial_eq
theorem degrees_monomial_eq (s : σ →₀ ℕ) (a : R) (ha : a ≠ 0) :
    degrees (monomial s a) = toMultiset s 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] (s : σ →₀ ℕ) (a : R) (ha : a ≠ 0)
Goal: ((MvPolynomial.monomial s) a).degrees = Finsupp.toMultiset s
-- MvPolynomial.degrees_C
theorem degrees_C (a : R) : degrees (C a : MvPolynomial σ R) = 0 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] (a : R)
Goal: (MvPolynomial.C a).degrees = 0
-- MvPolynomial.degrees_X'
theorem degrees_X' (n : σ) : degrees (X n : MvPolynomial σ R) ≤ {n} 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] (n : σ)
Goal: (MvPolynomial.X n).degrees ≤ {n}
-- MvPolynomial.degrees_X
@[simp]
theorem degrees_X [Nontrivial R] (n : σ) : degrees (X n : MvPolynomial σ R) = {n} 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] [Nontrivial R] (n : σ)
Goal: (MvPolynomial.X n).degrees = {n}
-- MvPolynomial.degrees_zero
@[simp]
theorem degrees_zero : degrees (0 : MvPolynomial σ R) = 0 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R]
Goal: MvPolynomial.degrees 0 = 0
-- MvPolynomial.degrees_one
@[simp]
theorem degrees_one : degrees (1 : MvPolynomial σ R) = 0 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R]
Goal: MvPolynomial.degrees 1 = 0
-- MvPolynomial.degrees_add
theorem degrees_add [DecidableEq σ] (p q : MvPolynomial σ R) :
    (p + q).degrees ≤ p.degrees ⊔ q.degrees 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] [DecidableEq σ] (p q : MvPolynomial σ R)
Goal: (p + q).degrees ≤ p.degrees ⊔ q.degrees
-- MvPolynomial.degrees_sum
theorem degrees_sum {ι : Type*} [DecidableEq σ] (s : Finset ι) (f : ι → MvPolynomial σ R) :
    (∑ i ∈ s, f i).degrees ≤ s.sup fun i => (f i).degrees 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] {ι : Type u_3} [DecidableEq σ] (s : Finset ι) (f : ι → MvPolynomial σ R)
Goal: (∑ i ∈ s, f i).degrees ≤ s.sup fun i => (f i).degrees
-- MvPolynomial.degrees_mul
theorem degrees_mul (p q : MvPolynomial σ R) : (p * q).degrees ≤ p.degrees + q.degrees 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] (p q : MvPolynomial σ R)
Goal: (p * q).degrees ≤ p.degrees + q.degrees
-- MvPolynomial.degrees_prod
theorem degrees_prod {ι : Type*} (s : Finset ι) (f : ι → MvPolynomial σ R) :
    (∏ i ∈ s, f i).degrees ≤ ∑ i ∈ s, (f i).degrees 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] {ι : Type u_3} (s : Finset ι) (f : ι → MvPolynomial σ R)
Goal: (∏ i ∈ s, f i).degrees ≤ ∑ i ∈ s, (f i).degrees
-- MvPolynomial.degrees_pow
theorem degrees_pow (p : MvPolynomial σ R) (n : ℕ) : (p ^ n).degrees ≤ n • p.degrees 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] (p : MvPolynomial σ R) (n : ℕ)
Goal: (p ^ n).degrees ≤ n • p.degrees
-- MvPolynomial.mem_degrees
theorem mem_degrees {p : MvPolynomial σ R} {i : σ} :
    i ∈ p.degrees ↔ ∃ d, p.coeff d ≠ 0 ∧ i ∈ d.support 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] {p : MvPolynomial σ R} {i : σ}
Goal: i ∈ p.degrees ↔ ∃ d, MvPolynomial.coeff d p ≠ 0 ∧ i ∈ d.support
-- MvPolynomial.le_degrees_add
theorem le_degrees_add {p q : MvPolynomial σ R} (h : p.degrees.Disjoint q.degrees) :
    p.degrees ≤ (p + q).degrees 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] {p q : MvPolynomial σ R} (h : p.degrees.Disjoint q.degrees)
Goal: p.degrees ≤ (p + q).degrees
-- MvPolynomial.degrees_add_of_disjoint
theorem degrees_add_of_disjoint [DecidableEq σ] {p q : MvPolynomial σ R}
    (h : Multiset.Disjoint p.degrees q.degrees) : (p + q).degrees = p.degrees ∪ q.degrees 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] [DecidableEq σ] {p q : MvPolynomial σ R} (h : p.degrees.Disjoint q.degrees)
Goal: (p + q).degrees = p.degrees ∪ q.degrees
-- MvPolynomial.degrees_map
theorem degrees_map [CommSemiring S] (p : MvPolynomial σ R) (f : R →+* S) :
    (map f p).degrees ⊆ p.degrees 
Arguments: {R : Type u} {S : Type v} {σ : Type u_1} [CommSemiring R] [CommSemiring S] (p : MvPolynomial σ R) (f : R →+* S)
Goal: ((MvPolynomial.map f) p).degrees ⊆ p.degrees
-- MvPolynomial.degrees_rename
theorem degrees_rename (f : σ → τ) (φ : MvPolynomial σ R) :
    (rename f φ).degrees ⊆ φ.degrees.map f 
Arguments: {R : Type u} {σ : Type u_1} {τ : Type u_2} [CommSemiring R] (f : σ → τ) (φ : MvPolynomial σ R)
Goal: ((MvPolynomial.rename f) φ).degrees ⊆ Multiset.map f φ.degrees
-- MvPolynomial.degrees_map_of_injective
theorem degrees_map_of_injective [CommSemiring S] (p : MvPolynomial σ R) {f : R →+* S}
    (hf : Injective f) : (map f p).degrees = p.degrees 
Arguments: {R : Type u} {S : Type v} {σ : Type u_1} [CommSemiring R] [CommSemiring S] (p : MvPolynomial σ R) {f : R →+* S} (hf : Function.Injective ⇑f)
Goal: ((MvPolynomial.map f) p).degrees = p.degrees
-- MvPolynomial.degrees_rename_of_injective
theorem degrees_rename_of_injective {p : MvPolynomial σ R} {f : σ → τ} (h : Function.Injective f) :
    degrees (rename f p) = (degrees p).map f 
Arguments: {R : Type u} {σ : Type u_1} {τ : Type u_2} [CommSemiring R] {p : MvPolynomial σ R} {f : σ → τ} (h : Function.Injective f)
Goal: ((MvPolynomial.rename f) p).degrees = Multiset.map f p.degrees
-- MvPolynomial.degreeOf_def
theorem degreeOf_def [DecidableEq σ] (n : σ) (p : MvPolynomial σ R) :
    p.degreeOf n = p.degrees.count n 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] [DecidableEq σ] (n : σ) (p : MvPolynomial σ R)
Goal: MvPolynomial.degreeOf n p = Multiset.count n p.degrees
-- MvPolynomial.degreeOf_eq_sup
theorem degreeOf_eq_sup (n : σ) (f : MvPolynomial σ R) :
    degreeOf n f = f.support.sup fun m => m n 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] (n : σ) (f : MvPolynomial σ R)
Goal: MvPolynomial.degreeOf n f = f.support.sup fun m => m n
-- MvPolynomial.degreeOf_lt_iff
theorem degreeOf_lt_iff {n : σ} {f : MvPolynomial σ R} {d : ℕ} (h : 0 < d) :
    degreeOf n f < d ↔ ∀ m : σ →₀ ℕ, m ∈ f.support → m n < d 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] {n : σ} {f : MvPolynomial σ R} {d : ℕ} (h : 0 < d)
Goal: MvPolynomial.degreeOf n f < d ↔ ∀ m ∈ f.support, m n < d
-- MvPolynomial.degreeOf_le_iff
lemma degreeOf_le_iff {n : σ} {f : MvPolynomial σ R} {d : ℕ} :
    degreeOf n f ≤ d ↔ ∀ m ∈ support f, m n ≤ d 
Arguments: {R : Type u} {σ : Type u_1} [CommSemiring R] {n : σ} {f : MvPolynomial σ R} {d : ℕ}
Goal: MvPolynomial.degreeOf n f ≤ d ↔ ∀ m ∈ f.support, m n ≤ d