ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- mem_add_wellApproximable_iff
@[to_additive mem_add_wellApproximable_iff]
theorem mem_wellApproximable_iff {A : Type*} [SeminormedGroup A] {δ : ℕ → ℝ} {a : A} :
    a ∈ wellApproximable A δ ↔
      a ∈ blimsup (fun n => approxOrderOf A n (δ n)) atTop fun n => 0 < n 
Arguments: {A : Type u_1} [SeminormedAddGroup A] {δ : ℕ → ℝ} {a : A}
Goal: a ∈ addWellApproximable A δ ↔ a ∈ Filter.blimsup (fun n => approxAddOrderOf A n (δ n)) Filter.atTop fun n => 0 < n
-- approxAddOrderOf.image_nsmul_subset_of_coprime
@[to_additive]
theorem image_pow_subset_of_coprime (hm : 0 < m) (hmn : n.Coprime m) :
    (fun (y : A) => y ^ m) '' approxOrderOf A n δ ⊆ approxOrderOf A n (m * δ) 
Arguments: {A : Type u_1} [SeminormedAddCommGroup A] {m n : ℕ} (δ : ℝ) (hm : 0 < m) (hmn : n.Coprime m)
Goal: (fun y => m • y) '' approxAddOrderOf A n δ ⊆ approxAddOrderOf A n (↑m * δ)
-- approxOrderOf.image_pow_subset_of_coprime
@[to_additive]
theorem image_pow_subset_of_coprime (hm : 0 < m) (hmn : n.Coprime m) :
    (fun (y : A) => y ^ m) '' approxOrderOf A n δ ⊆ approxOrderOf A n (m * δ) 
Arguments: {A : Type u_1} [SeminormedCommGroup A] {m n : ℕ} (δ : ℝ) (hm : 0 < m) (hmn : n.Coprime m)
Goal: (fun y => y ^ m) '' approxOrderOf A n δ ⊆ approxOrderOf A n (↑m * δ)
-- approxAddOrderOf.image_nsmul_subset
@[to_additive]
theorem image_pow_subset (n : ℕ) (hm : 0 < m) :
    (fun (y : A) => y ^ m) '' approxOrderOf A (n * m) δ ⊆ approxOrderOf A n (m * δ) 
Arguments: {A : Type u_1} [SeminormedAddCommGroup A] {m : ℕ} (δ : ℝ) (n : ℕ) (hm : 0 < m)
Goal: (fun y => m • y) '' approxAddOrderOf A (n * m) δ ⊆ approxAddOrderOf A n (↑m * δ)
-- approxOrderOf.image_pow_subset
@[to_additive]
theorem image_pow_subset (n : ℕ) (hm : 0 < m) :
    (fun (y : A) => y ^ m) '' approxOrderOf A (n * m) δ ⊆ approxOrderOf A n (m * δ) 
Arguments: {A : Type u_1} [SeminormedCommGroup A] {m : ℕ} (δ : ℝ) (n : ℕ) (hm : 0 < m)
Goal: (fun y => y ^ m) '' approxOrderOf A (n * m) δ ⊆ approxOrderOf A n (↑m * δ)
-- approxOrderOf.smul_subset_of_coprime
@[to_additive]
theorem smul_subset_of_coprime (han : (orderOf a).Coprime n) :
    a • approxOrderOf A n δ ⊆ approxOrderOf A (orderOf a * n) δ 
Arguments: {A : Type u_1} [SeminormedCommGroup A] {a : A} {n : ℕ} (δ : ℝ) (han : (orderOf a).Coprime n)
Goal: a • approxOrderOf A n δ ⊆ approxOrderOf A (orderOf a * n) δ
-- approxAddOrderOf.vadd_subset_of_coprime
@[to_additive]
theorem smul_subset_of_coprime (han : (orderOf a).Coprime n) :
    a • approxOrderOf A n δ ⊆ approxOrderOf A (orderOf a * n) δ 
Arguments: {A : Type u_1} [SeminormedAddCommGroup A] {a : A} {n : ℕ} (δ : ℝ) (han : (addOrderOf a).Coprime n)
Goal: a +ᵥ approxAddOrderOf A n δ ⊆ approxAddOrderOf A (addOrderOf a * n) δ
-- approxOrderOf.smul_eq_of_mul_dvd
@[to_additive vadd_eq_of_mul_dvd]
theorem smul_eq_of_mul_dvd (hn : 0 < n) (han : orderOf a ^ 2 ∣ n) :
    a • approxOrderOf A n δ = approxOrderOf A n δ 
Arguments: {A : Type u_1} [SeminormedCommGroup A] {a : A} {n : ℕ} (δ : ℝ) (hn : 0 < n) (han : orderOf a ^ 2 ∣ n)
Goal: a • approxOrderOf A n δ = approxOrderOf A n δ
-- approxAddOrderOf.vadd_eq_of_mul_dvd
@[to_additive vadd_eq_of_mul_dvd]
theorem smul_eq_of_mul_dvd (hn : 0 < n) (han : orderOf a ^ 2 ∣ n) :
    a • approxOrderOf A n δ = approxOrderOf A n δ 
Arguments: {A : Type u_1} [SeminormedAddCommGroup A] {a : A} {n : ℕ} (δ : ℝ) (hn : 0 < n) (han : addOrderOf a ^ 2 ∣ n)
Goal: a +ᵥ approxAddOrderOf A n δ = approxAddOrderOf A n δ
-- UnitAddCircle.mem_approxAddOrderOf_iff
theorem mem_approxAddOrderOf_iff {δ : ℝ} {x : UnitAddCircle} {n : ℕ} (hn : 0 < n) :
    x ∈ approxAddOrderOf UnitAddCircle n δ ↔ ∃ m < n, gcd m n = 1 ∧ ‖x - ↑((m : ℝ) / n)‖ < δ 
Arguments: {δ : ℝ} {x : UnitAddCircle} {n : ℕ} (hn : 0 < n)
Goal: x ∈ approxAddOrderOf UnitAddCircle n δ ↔ ∃ m < n, gcd m n = 1 ∧ ‖x - ↑(↑m / ↑n)‖ < δ
-- UnitAddCircle.mem_addWellApproximable_iff
theorem mem_addWellApproximable_iff (δ : ℕ → ℝ) (x : UnitAddCircle) :
    x ∈ addWellApproximable UnitAddCircle δ ↔
      {n : ℕ | ∃ m < n, gcd m n = 1 ∧ ‖x - ↑((m : ℝ) / n)‖ < δ n}.Infinite 
Arguments: (δ : ℕ → ℝ) (x : UnitAddCircle)
Goal: x ∈ addWellApproximable UnitAddCircle δ ↔ {n | ∃ m < n, gcd m n = 1 ∧ ‖x - ↑(↑m / ↑n)‖ < δ n}.Infinite
-- AddCircle.addWellApproximable_ae_empty_or_univ
theorem addWellApproximable_ae_empty_or_univ (δ : ℕ → ℝ) (hδ : Tendsto δ atTop (𝓝 0)) :
    (∀ᵐ x, ¬addWellApproximable 𝕊 δ x) ∨ ∀ᵐ x, addWellApproximable 𝕊 δ x 
Arguments: {T : ℝ} [hT : Fact (0 < T)] (δ : ℕ → ℝ) (hδ : Filter.Tendsto δ Filter.atTop (𝓝 0))
Goal: (∀ᵐ (x : AddCircle T), ¬addWellApproximable (AddCircle T) δ x) ∨
  ∀ᵐ (x : AddCircle T), addWellApproximable (AddCircle T) δ x
-- NormedAddCommGroup.exists_norm_nsmul_le
lemma _root_.NormedAddCommGroup.exists_norm_nsmul_le {A : Type*}
    [NormedAddCommGroup A] [CompactSpace A] [ConnectedSpace A]
    [MeasurableSpace A] [BorelSpace A] {μ : Measure A} [μ.IsAddHaarMeasure]
    (ξ : A) {n : ℕ} (hn : 0 < n) (δ : ℝ) (hδ : μ univ ≤ (n + 1) • μ (closedBall (0 : A) (δ/2))) :
    ∃ j ∈ Icc 1 n, ‖j • ξ‖ ≤ δ 
Arguments: {A : Type u_1} [NormedAddCommGroup A] [CompactSpace A] [ConnectedSpace A] [MeasurableSpace A] [BorelSpace A] {μ : MeasureTheory.Measure A} [μ.IsAddHaarMeasure] (ξ : A) {n : ℕ} (hn : 0 < n) (δ : ℝ) (hδ : μ Set.univ ≤ (n + 1) • μ (Metric.closedBall 0 (δ / 2)))
Goal: ∃ j ∈ Set.Icc 1 n, ‖j • ξ‖ ≤ δ
-- AddCircle.exists_norm_nsmul_le
lemma exists_norm_nsmul_le (ξ : 𝕊) {n : ℕ} (hn : 0 < n) :
    ∃ j ∈ Icc 1 n, ‖j • ξ‖ ≤ T / ↑(n + 1) 
Arguments: {T : ℝ} [hT : Fact (0 < T)] (ξ : AddCircle T) {n : ℕ} (hn : 0 < n)
Goal: ∃ j ∈ Set.Icc 1 n, ‖j • ξ‖ ≤ T / ↑(n + 1)
-- IsCyclotomicExtension.Rat.Three.coe_eta
lemma coe_eta : (η : 𝓞 K) = hζ.toInteger 
Arguments: {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3)
Goal: ↑⋯.unit = hζ.toInteger
-- IsPrimitiveRoot.toInteger_cube_eq_one
lemma _root_.IsPrimitiveRoot.toInteger_cube_eq_one : hζ.toInteger ^ 3 = 1 
Arguments: {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3)
Goal: hζ.toInteger ^ 3 = 1
-- IsCyclotomicExtension.Rat.Three.Units.mem
-- Here `List` is more convenient than `Finset`, even if further from the informal statement.
-- For example, `fin_cases` below does not work with a `Finset`.
theorem Units.mem : u ∈ [1, -1, η, -η, η ^ 2, -η ^ 2] 
Arguments: {K : Type u_1} [Field K] [NumberField K] [IsCyclotomicExtension {3} ℚ K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3) (u : (𝓞 K)ˣ)
Goal: u ∈ [1, -1, ⋯.unit, -⋯.unit, ⋯.unit ^ 2, -⋯.unit ^ 2]
-- _private.Mathlib.NumberTheory.Cyclotomic.Three.0.IsCyclotomicExtension.Rat.Three.lambda_sq
private lemma lambda_sq : λ ^ 2 = -3 * η 
Arguments: {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3)
Goal: (hζ.toInteger - 1) ^ 2 = -3 * ↑⋯.unit
-- IsCyclotomicExtension.Rat.Three.eta_sq
lemma eta_sq : (η ^ 2 : 𝓞 K) = - η - 1 
Arguments: {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3)
Goal: ↑⋯.unit ^ 2 = -↑⋯.unit - 1
-- IsCyclotomicExtension.Rat.Three.eq_one_or_neg_one_of_unit_of_congruent
theorem eq_one_or_neg_one_of_unit_of_congruent (hcong : ∃ n : ℤ, λ ^ 2 ∣ (u - n : 𝓞 K)) :
    u = 1 ∨ u = -1 
Arguments: {K : Type u_1} [Field K] [NumberField K] [IsCyclotomicExtension {3} ℚ K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3) (u : (𝓞 K)ˣ) (hcong : ∃ n, (hζ.toInteger - 1) ^ 2 ∣ ↑u - ↑n)
Goal: u = 1 ∨ u = -1
-- IsCyclotomicExtension.Rat.Three.lambda_dvd_or_dvd_sub_one_or_dvd_add_one
lemma lambda_dvd_or_dvd_sub_one_or_dvd_add_one : λ ∣ x ∨ λ ∣ x - 1 ∨ λ ∣ x + 1 
Arguments: {K : Type u_1} [Field K] [NumberField K] [IsCyclotomicExtension {3} ℚ K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3) (x : 𝓞 K)
Goal: hζ.toInteger - 1 ∣ x ∨ hζ.toInteger - 1 ∣ x - 1 ∨ hζ.toInteger - 1 ∣ x + 1
-- IsCyclotomicExtension.Rat.Three.eta_sq_add_eta_add_one
lemma eta_sq_add_eta_add_one : (η : 𝓞 K) ^ 2 + η + 1 = 0 
Arguments: {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3)
Goal: ↑⋯.unit ^ 2 + ↑⋯.unit + 1 = 0
-- IsCyclotomicExtension.Rat.Three.cube_sub_one_eq_mul
lemma cube_sub_one_eq_mul : x ^ 3 - 1 = (x - 1) * (x - η) * (x - η ^ 2) 
Arguments: {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3) (x : 𝓞 K)
Goal: x ^ 3 - 1 = (x - 1) * (x - ↑⋯.unit) * (x - ↑⋯.unit ^ 2)
-- IsCyclotomicExtension.Rat.Three.lambda_dvd_mul_sub_one_mul_sub_eta_add_one
lemma lambda_dvd_mul_sub_one_mul_sub_eta_add_one : λ ∣ x * (x - 1) * (x - (η + 1)) 
Arguments: {K : Type u_1} [Field K] [NumberField K] [IsCyclotomicExtension {3} ℚ K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3) (x : 𝓞 K)
Goal: hζ.toInteger - 1 ∣ x * (x - 1) * (x - (↑⋯.unit + 1))
-- IsCyclotomicExtension.Rat.Three.lambda_pow_four_dvd_cube_sub_one_of_dvd_sub_one
lemma lambda_pow_four_dvd_cube_sub_one_of_dvd_sub_one {x : 𝓞 K} (h : λ ∣ x - 1) :
    λ ^ 4 ∣ x ^ 3 - 1 
Arguments: {K : Type u_1} [Field K] [NumberField K] [IsCyclotomicExtension {3} ℚ K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3) {x : 𝓞 K} (h : hζ.toInteger - 1 ∣ x - 1)
Goal: (hζ.toInteger - 1) ^ 4 ∣ x ^ 3 - 1
-- IsCyclotomicExtension.Rat.Three.lambda_pow_four_dvd_cube_add_one_of_dvd_add_one
lemma lambda_pow_four_dvd_cube_add_one_of_dvd_add_one {x : 𝓞 K} (h : λ ∣ x + 1) :
    λ ^ 4 ∣ x ^ 3 + 1 
Arguments: {K : Type u_1} [Field K] [NumberField K] [IsCyclotomicExtension {3} ℚ K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3) {x : 𝓞 K} (h : hζ.toInteger - 1 ∣ x + 1)
Goal: (hζ.toInteger - 1) ^ 4 ∣ x ^ 3 + 1
-- IsCyclotomicExtension.Rat.Three.lambda_pow_four_dvd_cube_sub_one_or_add_one_of_lambda_not_dvd
lemma lambda_pow_four_dvd_cube_sub_one_or_add_one_of_lambda_not_dvd {x : 𝓞 K} (h : ¬ λ ∣ x) :
    λ ^ 4 ∣ x ^ 3 - 1 ∨ λ ^ 4 ∣ x ^ 3 + 1 
Arguments: {K : Type u_1} [Field K] [NumberField K] [IsCyclotomicExtension {3} ℚ K] {ζ : K} (hζ : IsPrimitiveRoot ζ ↑3) {x : 𝓞 K} (h : ¬hζ.toInteger - 1 ∣ x)
Goal: (hζ.toInteger - 1) ^ 4 ∣ x ^ 3 - 1 ∨ (hζ.toInteger - 1) ^ 4 ∣ x ^ 3 + 1
-- Action.zero_hom
@[simp]
theorem zero_hom {X Y : Action V G} : (0 : X ⟶ Y).hom = 0 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} [CategoryTheory.Limits.HasZeroMorphisms V] {X Y : Action V G}
Goal: Action.Hom.hom 0 = 0
-- Action.neg_hom
@[simp]
theorem neg_hom {X Y : Action V G} (f : X ⟶ Y) : (-f).hom = -f.hom 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} [CategoryTheory.Preadditive V] {X Y : Action V G} (f : X ⟶ Y)
Goal: (-f).hom = -f.hom
-- Action.add_hom
@[simp]
theorem add_hom {X Y : Action V G} (f g : X ⟶ Y) : (f + g).hom = f.hom + g.hom 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} [CategoryTheory.Preadditive V] {X Y : Action V G} (f g : X ⟶ Y)
Goal: (f + g).hom = f.hom + g.hom
-- Action.sum_hom
@[simp]
theorem sum_hom {X Y : Action V G} {ι : Type*} (f : ι → (X ⟶ Y)) (s : Finset ι) :
    (s.sum f).hom = s.sum fun i => (f i).hom 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} [CategoryTheory.Preadditive V] {X Y : Action V G} {ι : Type u_1} (f : ι → (X ⟶ Y)) (s : Finset ι)
Goal: (s.sum f).hom = ∑ i ∈ s, (f i).hom
-- Action.smul_hom
@[simp]
theorem smul_hom {X Y : Action V G} (r : R) (f : X ⟶ Y) : (r • f).hom = r • f.hom 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} [CategoryTheory.Preadditive V] {R : Type u_1} [Semiring R] [CategoryTheory.Linear R V] {X Y : Action V G} (r : R) (f : X ⟶ Y)
Goal: (r • f).hom = r • f.hom
-- Polynomial.exists_eq_polynomial
theorem exists_eq_polynomial [Semiring Fq] {d : ℕ} {m : ℕ} (hm : Fintype.card Fq ^ d ≤ m)
    (b : Fq[X]) (hb : natDegree b ≤ d) (A : Fin m.succ → Fq[X])
    (hA : ∀ i, degree (A i) < degree b) : ∃ i₀ i₁, i₀ ≠ i₁ ∧ A i₁ = A i₀ 
Arguments: {Fq : Type u_1} [Fintype Fq] [Semiring Fq] {d m : ℕ} (hm : Fintype.card Fq ^ d ≤ m) (b : Polynomial Fq) (hb : b.natDegree ≤ d) (A : Fin m.succ → Polynomial Fq) (hA : ∀ (i : Fin m.succ), (A i).degree < b.degree)
Goal: ∃ i₀ i₁, i₀ ≠ i₁ ∧ A i₁ = A i₀
-- Polynomial.exists_approx_polynomial_aux
theorem exists_approx_polynomial_aux [Ring Fq] {d : ℕ} {m : ℕ} (hm : Fintype.card Fq ^ d ≤ m)
    (b : Fq[X]) (A : Fin m.succ → Fq[X]) (hA : ∀ i, degree (A i) < degree b) :
    ∃ i₀ i₁, i₀ ≠ i₁ ∧ degree (A i₁ - A i₀) < ↑(natDegree b - d) 
Arguments: {Fq : Type u_1} [Fintype Fq] [Ring Fq] {d m : ℕ} (hm : Fintype.card Fq ^ d ≤ m) (b : Polynomial Fq) (A : Fin m.succ → Polynomial Fq) (hA : ∀ (i : Fin m.succ), (A i).degree < b.degree)
Goal: ∃ i₀ i₁, i₀ ≠ i₁ ∧ (A i₁ - A i₀).degree < ↑(b.natDegree - d)
-- Polynomial.exists_approx_polynomial
theorem exists_approx_polynomial {b : Fq[X]} (hb : b ≠ 0) {ε : ℝ} (hε : 0 < ε)
    (A : Fin (Fintype.card Fq ^ ⌈-log ε / log (Fintype.card Fq)⌉₊).succ → Fq[X]) :
    ∃ i₀ i₁, i₀ ≠ i₁ ∧ (cardPowDegree (A i₁ % b - A i₀ % b) : ℝ) < cardPowDegree b • ε 
Arguments: {Fq : Type u_1} [Fintype Fq] [Field Fq] {b : Polynomial Fq} (hb : b ≠ 0) {ε : ℝ} (hε : 0 < ε) (A : Fin (Fintype.card Fq ^ ⌈-Real.log ε / Real.log ↑(Fintype.card Fq)⌉₊).succ → Polynomial Fq)
Goal: ∃ i₀ i₁, i₀ ≠ i₁ ∧ ↑(Polynomial.cardPowDegree (A i₁ % b - A i₀ % b)) < Polynomial.cardPowDegree b • ε
-- Polynomial.cardPowDegree_anti_archimedean
theorem cardPowDegree_anti_archimedean {x y z : Fq[X]} {a : ℤ} (hxy : cardPowDegree (x - y) < a)
    (hyz : cardPowDegree (y - z) < a) : cardPowDegree (x - z) < a 
Arguments: {Fq : Type u_1} [Fintype Fq] [Field Fq] {x y z : Polynomial Fq} {a : ℤ} (hxy : Polynomial.cardPowDegree (x - y) < a) (hyz : Polynomial.cardPowDegree (y - z) < a)
Goal: Polynomial.cardPowDegree (x - z) < a
-- Polynomial.exists_partition_polynomial_aux
theorem exists_partition_polynomial_aux (n : ℕ) {ε : ℝ} (hε : 0 < ε) {b : Fq[X]} (hb : b ≠ 0)
    (A : Fin n → Fq[X]) : ∃ t : Fin n → Fin (Fintype.card Fq ^ ⌈-log ε / log (Fintype.card Fq)⌉₊),
      ∀ i₀ i₁ : Fin n, t i₀ = t i₁ ↔
        (cardPowDegree (A i₁ % b - A i₀ % b) : ℝ) < cardPowDegree b • ε 
Arguments: {Fq : Type u_1} [Fintype Fq] [Field Fq] (n : ℕ) {ε : ℝ} (hε : 0 < ε) {b : Polynomial Fq} (hb : b ≠ 0) (A : Fin n → Polynomial Fq)
Goal: ∃ t, ∀ (i₀ i₁ : Fin n), t i₀ = t i₁ ↔ ↑(Polynomial.cardPowDegree (A i₁ % b - A i₀ % b)) < Polynomial.cardPowDegree b • ε
-- Polynomial.exists_partition_polynomial
theorem exists_partition_polynomial (n : ℕ) {ε : ℝ} (hε : 0 < ε) {b : Fq[X]} (hb : b ≠ 0)
    (A : Fin n → Fq[X]) : ∃ t : Fin n → Fin (Fintype.card Fq ^ ⌈-log ε / log (Fintype.card Fq)⌉₊),
      ∀ i₀ i₁ : Fin n, t i₀ = t i₁ →
        (cardPowDegree (A i₁ % b - A i₀ % b) : ℝ) < cardPowDegree b • ε 
Arguments: {Fq : Type u_1} [Fintype Fq] [Field Fq] (n : ℕ) {ε : ℝ} (hε : 0 < ε) {b : Polynomial Fq} (hb : b ≠ 0) (A : Fin n → Polynomial Fq)
Goal: ∃ t, ∀ (i₀ i₁ : Fin n), t i₀ = t i₁ → ↑(Polynomial.cardPowDegree (A i₁ % b - A i₀ % b)) < Polynomial.cardPowDegree b • ε
-- LinearMap.conjugate_apply
theorem conjugate_apply (g : G) (v : W) :
    π.conjugate g v = MonoidAlgebra.single g⁻¹ (1 : k) • π (MonoidAlgebra.single g (1 : k) • v) 
Arguments: {k : Type u} [CommRing k] {G : Type u} [Group G] {V : Type v} [AddCommGroup V] [Module k V] [Module (MonoidAlgebra k G) V] [IsScalarTower k (MonoidAlgebra k G) V] {W : Type w} [AddCommGroup W] [Module k W] [Module (MonoidAlgebra k G) W] [IsScalarTower k (MonoidAlgebra k G) W] (π : W →ₗ[k] V) (g : G) (v : W)
Goal: (π.conjugate g) v = MonoidAlgebra.single g⁻¹ 1 • π (MonoidAlgebra.single g 1 • v)
-- LinearMap.conjugate_i
theorem conjugate_i (g : G) (v : V) : (conjugate π g : W → V) (i v) = v 
Arguments: {k : Type u} [CommRing k] {G : Type u} [Group G] {V : Type v} [AddCommGroup V] [Module k V] [Module (MonoidAlgebra k G) V] [IsScalarTower k (MonoidAlgebra k G) V] {W : Type w} [AddCommGroup W] [Module k W] [Module (MonoidAlgebra k G) W] [IsScalarTower k (MonoidAlgebra k G) W] (π : W →ₗ[k] V) (i : V →ₗ[MonoidAlgebra k G] W) (h : ∀ (v : V), π (i v) = v) (g : G) (v : V)
Goal: (π.conjugate g) (i v) = v
-- LinearMap.sumOfConjugates_apply
lemma sumOfConjugates_apply (v : W) : π.sumOfConjugates G v = ∑ g : G, π.conjugate g v 
Arguments: {k : Type u} [CommRing k] (G : Type u) [Group G] {V : Type v} [AddCommGroup V] [Module k V] [Module (MonoidAlgebra k G) V] [IsScalarTower k (MonoidAlgebra k G) V] {W : Type w} [AddCommGroup W] [Module k W] [Module (MonoidAlgebra k G) W] [IsScalarTower k (MonoidAlgebra k G) W] (π : W →ₗ[k] V) [Fintype G] (v : W)
Goal: (LinearMap.sumOfConjugates G π) v = ∑ g : G, (π.conjugate g) v
-- LinearMap.sumOfConjugatesEquivariant_apply
theorem sumOfConjugatesEquivariant_apply (v : W) :
    π.sumOfConjugatesEquivariant G v = ∑ g : G, π.conjugate g v 
Arguments: {k : Type u} [CommRing k] (G : Type u) [Group G] {V : Type v} [AddCommGroup V] [Module k V] [Module (MonoidAlgebra k G) V] [IsScalarTower k (MonoidAlgebra k G) V] {W : Type w} [AddCommGroup W] [Module k W] [Module (MonoidAlgebra k G) W] [IsScalarTower k (MonoidAlgebra k G) W] (π : W →ₗ[k] V) [Fintype G] (v : W)
Goal: (LinearMap.sumOfConjugatesEquivariant G π) v = ∑ g : G, (π.conjugate g) v
-- LinearMap.equivariantProjection_apply
theorem equivariantProjection_apply (v : W) :
    π.equivariantProjection G v = ⅟(Fintype.card G : k) • ∑ g : G, π.conjugate g v 
Arguments: {k : Type u} [CommRing k] (G : Type u) [Group G] {V : Type v} [AddCommGroup V] [Module k V] [Module (MonoidAlgebra k G) V] [IsScalarTower k (MonoidAlgebra k G) V] {W : Type w} [AddCommGroup W] [Module k W] [Module (MonoidAlgebra k G) W] [IsScalarTower k (MonoidAlgebra k G) W] (π : W →ₗ[k] V) [Fintype G] [Invertible ↑(Fintype.card G)] (v : W)
Goal: (LinearMap.equivariantProjection G π) v = ⅟↑(Fintype.card G) • ∑ g : G, (π.conjugate g) v
-- LinearMap.equivariantProjection_condition
theorem equivariantProjection_condition (v : V) : (π.equivariantProjection G) (i v) = v 
Arguments: {k : Type u} [CommRing k] (G : Type u) [Group G] {V : Type v} [AddCommGroup V] [Module k V] [Module (MonoidAlgebra k G) V] [IsScalarTower k (MonoidAlgebra k G) V] {W : Type w} [AddCommGroup W] [Module k W] [Module (MonoidAlgebra k G) W] [IsScalarTower k (MonoidAlgebra k G) W] (π : W →ₗ[k] V) (i : V →ₗ[MonoidAlgebra k G] W) (h : ∀ (v : V), π (i v) = v) [Fintype G] [Invertible ↑(Fintype.card G)] (v : V)
Goal: (LinearMap.equivariantProjection G π) (i v) = v
-- MonoidAlgebra.exists_leftInverse_of_injective
theorem exists_leftInverse_of_injective (f : V →ₗ[MonoidAlgebra k G] W)
    (hf : LinearMap.ker f = ⊥) :
    ∃ g : W →ₗ[MonoidAlgebra k G] V, g.comp f = LinearMap.id 
Arguments: {k : Type u} [Field k] {G : Type u} [Fintype G] [Invertible ↑(Fintype.card G)] [Group G] {V : Type u} [AddCommGroup V] [Module (MonoidAlgebra k G) V] {W : Type u} [AddCommGroup W] [Module (MonoidAlgebra k G) W] (f : V →ₗ[MonoidAlgebra k G] W) (hf : LinearMap.ker f = ⊥)
Goal: ∃ g, g ∘ₗ f = LinearMap.id
-- MonoidAlgebra.Submodule.exists_isCompl
theorem exists_isCompl (p : Submodule (MonoidAlgebra k G) V) :
    ∃ q : Submodule (MonoidAlgebra k G) V, IsCompl p q 
Arguments: {k : Type u} [Field k] {G : Type u} [Fintype G] [Invertible ↑(Fintype.card G)] [Group G] {V : Type u} [AddCommGroup V] [Module (MonoidAlgebra k G) V] (p : Submodule (MonoidAlgebra k G) V)
Goal: ∃ q, IsCompl p q
-- Action.ρ_one
@[simp 1100]
theorem ρ_one {G : MonCat.{u}} (A : Action V G) : A.ρ 1 = 𝟙 A.V 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} (A : Action V G)
Goal: A.ρ 1 = 𝟙 A.V
-- Action.ρAut_apply_hom
@[simps]
def ρAut {G : Grp.{u}} (A : Action V (MonCat.of G)) : G ⟶ Grp.of (Aut A.V) 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : Grp} (A : Action V (MonCat.of ↑G)) (g : ↑G)
Goal: (A.ρAut g).hom = A.ρ g
-- Action.ρAut_apply_inv
@[simps]
def ρAut {G : Grp.{u}} (A : Action V (MonCat.of G)) : G ⟶ Grp.of (Aut A.V) 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : Grp} (A : Action V (MonCat.of ↑G)) (g : ↑G)
Goal: (A.ρAut g).inv = A.ρ g⁻¹
-- Action.Hom.comm
@[ext]
structure Hom (M N : Action V G) where
  hom : M.V ⟶ N.V
  comm : ∀ g : G, M.ρ g ≫ hom = hom ≫ N.ρ g := by aesop_cat
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} {M N : Action V G} (self : M.Hom N) (g : ↑G)
Goal: M.ρ g ≫ self.hom = self.hom ≫ N.ρ g
-- Action.Hom.id_hom
@[simps]
def id (M : Action V G) : Action.Hom M M 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} (M : Action V G)
Goal: (Action.Hom.id M).hom = 𝟙 M.V
-- Action.Hom.comp_hom
@[simps]
def comp {M N K : Action V G} (p : Action.Hom M N) (q : Action.Hom N K) : Action.Hom M K 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} {M N K : Action V G} (p : M.Hom N) (q : N.Hom K)
Goal: (p.comp q).hom = p.hom ≫ q.hom
-- Action.hom_ext
@[ext]
lemma hom_ext {M N : Action V G} (φ₁ φ₂ : M ⟶ N) (h : φ₁.hom = φ₂.hom) : φ₁ = φ₂ 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} {M N : Action V G} (φ₁ φ₂ : M ⟶ N) (h : φ₁.hom = φ₂.hom)
Goal: φ₁ = φ₂
-- Action.id_hom
@[simp]
theorem id_hom (M : Action V G) : (𝟙 M : Hom M M).hom = 𝟙 M.V 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} (M : Action V G)
Goal: (𝟙 M).hom = 𝟙 M.V
-- Action.comp_hom
@[simp]
theorem comp_hom {M N K : Action V G} (f : M ⟶ N) (g : N ⟶ K) :
    (f ≫ g : Hom M K).hom = f.hom ≫ g.hom 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} {M N K : Action V G} (f : M ⟶ N) (g : N ⟶ K)
Goal: (f ≫ g).hom = f.hom ≫ g.hom
-- Action.mkIso_hom_hom
@[simps]
def mkIso {M N : Action V G} (f : M.V ≅ N.V)
    (comm : ∀ g : G, M.ρ g ≫ f.hom = f.hom ≫ N.ρ g := by aesop_cat) : M ≅ N 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} {M N : Action V G} (f : M.V ≅ N.V) (comm : ∀ (g : ↑G), M.ρ g ≫ f.hom = f.hom ≫ N.ρ g := by aesop_cat)
Goal: (Action.mkIso f comm).hom.hom = f.hom
-- Action.mkIso_inv_hom
@[simps]
def mkIso {M N : Action V G} (f : M.V ≅ N.V)
    (comm : ∀ g : G, M.ρ g ≫ f.hom = f.hom ≫ N.ρ g := by aesop_cat) : M ≅ N 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} {M N : Action V G} (f : M.V ≅ N.V) (comm : ∀ (g : ↑G), M.ρ g ≫ f.hom = f.hom ≫ N.ρ g := by aesop_cat)
Goal: (Action.mkIso f comm).inv.hom = f.inv
-- Action.FunctorCategoryEquivalence.functor_map_app
@[simps]
def functor : Action V G ⥤ SingleObj G ⥤ V 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat}
Goal: ∀ {X Y : Action V G} (f : X ⟶ Y) (x : CategoryTheory.SingleObj ↑G),
  (Action.FunctorCategoryEquivalence.functor.map f).app x = f.hom
-- Action.FunctorCategoryEquivalence.functor_obj_map
@[simps]
def functor : Action V G ⥤ SingleObj G ⥤ V 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} (M : Action V G)
Goal: ∀ {X Y : CategoryTheory.SingleObj ↑G} (g : X ⟶ Y), (Action.FunctorCategoryEquivalence.functor.obj M).map g = M.ρ g
-- Action.FunctorCategoryEquivalence.functor_obj_obj
@[simps]
def functor : Action V G ⥤ SingleObj G ⥤ V 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} (M : Action V G)
Goal: ∀ (x : CategoryTheory.SingleObj ↑G), (Action.FunctorCategoryEquivalence.functor.obj M).obj x = M.V
-- Action.FunctorCategoryEquivalence.inverse_map_hom
@[simps]
def inverse : (SingleObj G ⥤ V) ⥤ Action V G 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat}
Goal: ∀ {X Y : CategoryTheory.SingleObj ↑G ⥤ V} (f : X ⟶ Y),
  (Action.FunctorCategoryEquivalence.inverse.map f).hom = f.app PUnit.unit
-- Action.FunctorCategoryEquivalence.inverse_obj_ρ_apply
@[simps]
def inverse : (SingleObj G ⥤ V) ⥤ Action V G 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} (F : CategoryTheory.SingleObj ↑G ⥤ V) (g : ↑G)
Goal: (Action.FunctorCategoryEquivalence.inverse.obj F).ρ g = F.map g
-- Action.FunctorCategoryEquivalence.inverse_obj_V
@[simps]
def inverse : (SingleObj G ⥤ V) ⥤ Action V G 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} (F : CategoryTheory.SingleObj ↑G ⥤ V)
Goal: (Action.FunctorCategoryEquivalence.inverse.obj F).V = F.obj PUnit.unit
-- Action.FunctorCategoryEquivalence.unitIso_inv_app_hom
@[simps!]
def unitIso : 𝟭 (Action V G) ≅ functor ⋙ inverse 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} (X : Action V G)
Goal: (Action.FunctorCategoryEquivalence.unitIso.inv.app X).hom = 𝟙 X.V
-- Action.FunctorCategoryEquivalence.unitIso_hom_app_hom
@[simps!]
def unitIso : 𝟭 (Action V G) ≅ functor ⋙ inverse 
Arguments: {V : Type (u + 1)} [CategoryTheory.LargeCategory V] {G : MonCat} (X : Action V G)
Goal: (Action.FunctorCategoryEquivalence.unitIso.hom.app X).hom = 𝟙 X.V