ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Representation.smul_ofModule_asModule
theorem smul_ofModule_asModule (r : MonoidAlgebra k G) (m : (ofModule M).asModule) :
    (RestrictScalars.addEquiv k _ _) ((ofModule M).asModuleEquiv (r • m)) =
      r • (RestrictScalars.addEquiv k _ _) ((ofModule M).asModuleEquiv (G := G) m) 
Arguments: {k : Type u_1} {G : Type u_2} [CommSemiring k] [Monoid G] (M : Type u_4) [AddCommMonoid M] [Module (MonoidAlgebra k G) M] (r : MonoidAlgebra k G) (m : (Representation.ofModule M).asModule)
Goal: (RestrictScalars.addEquiv k (MonoidAlgebra k G) M) ((Representation.ofModule M).asModuleEquiv (r • m)) =
  r • (RestrictScalars.addEquiv k (MonoidAlgebra k G) M) ((Representation.ofModule M).asModuleEquiv m)
-- Representation.ofMulAction_def
theorem ofMulAction_def (g : G) : ofMulAction k G H g = Finsupp.lmapDomain k k (g • ·) 
Arguments: {k : Type u_1} [CommSemiring k] {G : Type u_2} [Monoid G] {H : Type u_3} [MulAction G H] (g : G)
Goal: (Representation.ofMulAction k G H) g = Finsupp.lmapDomain k k fun x => g • x
-- Representation.ofMulAction_single
theorem ofMulAction_single (g : G) (x : H) (r : k) :
    ofMulAction k G H g (Finsupp.single x r) = Finsupp.single (g • x) r 
Arguments: {k : Type u_1} [CommSemiring k] {G : Type u_2} [Monoid G] {H : Type u_3} [MulAction G H] (g : G) (x : H) (r : k)
Goal: ((Representation.ofMulAction k G H) g) (Finsupp.single x r) = Finsupp.single (g • x) r
-- Representation.ofDistribMulAction_apply_apply
@[simp] theorem ofDistribMulAction_apply_apply (g : G) (a : A) :
    ofDistribMulAction k G A g a = g • a 
Arguments: {k : Type u_1} {G : Type u_2} {A : Type u_3} [CommSemiring k] [Monoid G] [AddCommMonoid A] [Module k A] [DistribMulAction G A] [SMulCommClass G k A] (g : G) (a : A)
Goal: ((Representation.ofDistribMulAction k G A) g) a = g • a
-- Representation.ofMulDistribMulAction_apply_apply
@[simp] theorem ofMulDistribMulAction_apply_apply (g : M) (a : Additive G) :
    ofMulDistribMulAction M G g a = Additive.ofMul (g • Additive.toMul a) 
Arguments: (M : Type u_1) (G : Type u_2) [Monoid M] [CommGroup G] [MulDistribMulAction M G] (g : M) (a : Additive G)
Goal: ((Representation.ofMulDistribMulAction M G) g) a = Additive.ofMul (g • Additive.toMul a)
-- Representation.ofMulAction_apply
@[simp]
theorem ofMulAction_apply {H : Type*} [MulAction G H] (g : G) (f : H →₀ k) (h : H) :
    ofMulAction k G H g f h = f (g⁻¹ • h) 
Arguments: {k : Type u_1} {G : Type u_2} [CommSemiring k] [Group G] {H : Type u_4} [MulAction G H] (g : G) (f : H →₀ k) (h : H)
Goal: (((Representation.ofMulAction k G H) g) f) h = f (g⁻¹ • h)
-- Representation.ofMulAction_self_smul_eq_mul
theorem ofMulAction_self_smul_eq_mul (x : MonoidAlgebra k G) (y : (ofMulAction k G G).asModule) :
    x • y = (x * y : MonoidAlgebra k G) 
Arguments: {k : Type u_1} {G : Type u_2} [CommSemiring k] [Group G] (x : MonoidAlgebra k G) (y : (Representation.ofMulAction k G G).asModule)
Goal: x • y = x * y
-- Representation.ofMulActionSelfAsModuleEquiv_symm_apply
@[simps]
noncomputable def ofMulActionSelfAsModuleEquiv :
    (ofMulAction k G G).asModule ≃ₗ[MonoidAlgebra k G] MonoidAlgebra k G 
Arguments: {k : Type u_1} {G : Type u_2} [CommSemiring k] [Group G]
Goal: ∀ (a : G →₀ k),
  Representation.ofMulActionSelfAsModuleEquiv.symm a = (Representation.ofMulAction k G G).asModuleEquiv.invFun a
-- Representation.ofMulActionSelfAsModuleEquiv_apply
@[simps]
noncomputable def ofMulActionSelfAsModuleEquiv :
    (ofMulAction k G G).asModule ≃ₗ[MonoidAlgebra k G] MonoidAlgebra k G 
Arguments: {k : Type u_1} {G : Type u_2} [CommSemiring k] [Group G]
Goal: ∀ (a : (Representation.ofMulAction k G G).asModule),
  Representation.ofMulActionSelfAsModuleEquiv a = (Representation.ofMulAction k G G).asModuleEquiv.toFun a
-- Representation.asGroupHom_apply
theorem asGroupHom_apply (g : G) : ↑(asGroupHom ρ g) = ρ g 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} [CommSemiring k] [Group G] [AddCommMonoid V] [Module k V] (ρ : Representation k G V) (g : G)
Goal: ↑(ρ.asGroupHom g) = ρ g
-- Representation.tprod_apply
@[simp]
theorem tprod_apply (g : G) : (ρV ⊗ ρW) g = TensorProduct.map (ρV g) (ρW g) 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} {W : Type u_4} [CommSemiring k] [Monoid G] [AddCommMonoid V] [Module k V] [AddCommMonoid W] [Module k W] (ρV : Representation k G V) (ρW : Representation k G W) (g : G)
Goal: (ρV.tprod ρW) g = TensorProduct.map (ρV g) (ρW g)
-- Representation.smul_tprod_one_asModule
theorem smul_tprod_one_asModule (r : MonoidAlgebra k G) (x : V) (y : W) :
    -- Porting note: required to since Lean 4 doesn't unfold asModule
    let x' : ρV.asModule := x
    let z : (ρV.tprod 1).asModule := x ⊗ₜ y
    r • z = (r • x') ⊗ₜ y 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} {W : Type u_4} [CommSemiring k] [Monoid G] [AddCommMonoid V] [Module k V] [AddCommMonoid W] [Module k W] (ρV : Representation k G V) (r : MonoidAlgebra k G) (x : V) (y : W)
Goal: let x' := x;
let z := x ⊗ₜ[k] y;
r • z = (r • x') ⊗ₜ[k] y
-- Representation.smul_one_tprod_asModule
theorem smul_one_tprod_asModule (r : MonoidAlgebra k G) (x : V) (y : W) :
    -- Porting note: required to since Lean 4 doesn't unfold asModule
    let y' : ρW.asModule := y
    let z : (1 ⊗ ρW).asModule := x ⊗ₜ y
    r • z = x ⊗ₜ (r • y') 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} {W : Type u_4} [CommSemiring k] [Monoid G] [AddCommMonoid V] [Module k V] [AddCommMonoid W] [Module k W] (ρW : Representation k G W) (r : MonoidAlgebra k G) (x : V) (y : W)
Goal: let y' := y;
let z := x ⊗ₜ[k] y;
r • z = x ⊗ₜ[k] (r • y')
-- Representation.linHom_apply
@[simp]
theorem linHom_apply (g : G) (f : V →ₗ[k] W) : (linHom ρV ρW) g f = ρW g ∘ₗ f ∘ₗ ρV g⁻¹ 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} {W : Type u_4} [CommSemiring k] [Group G] [AddCommMonoid V] [Module k V] [AddCommMonoid W] [Module k W] (ρV : Representation k G V) (ρW : Representation k G W) (g : G) (f : V →ₗ[k] W)
Goal: ((ρV.linHom ρW) g) f = ρW g ∘ₗ f ∘ₗ ρV g⁻¹
-- Representation.dual_apply
@[simp]
theorem dual_apply (g : G) : (dual ρV) g = Module.Dual.transpose (R := k) (ρV g⁻¹) 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} [CommSemiring k] [Group G] [AddCommMonoid V] [Module k V] (ρV : Representation k G V) (g : G)
Goal: ρV.dual g = Module.Dual.transpose (ρV g⁻¹)
-- Representation.dualTensorHom_comm
theorem dualTensorHom_comm (g : G) :
    dualTensorHom k V W ∘ₗ TensorProduct.map (ρV.dual g) (ρW g) =
      (linHom ρV ρW) g ∘ₗ dualTensorHom k V W 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} {W : Type u_4} [CommSemiring k] [Group G] [AddCommMonoid V] [Module k V] [AddCommMonoid W] [Module k W] (ρV : Representation k G V) (ρW : Representation k G W) (g : G)
Goal: dualTensorHom k V W ∘ₗ TensorProduct.map (ρV.dual g) (ρW g) = (ρV.linHom ρW) g ∘ₗ dualTensorHom k V W
-- GroupAlgebra.mul_average_left
@[simp]
theorem mul_average_left (g : G) : ↑(Finsupp.single g 1) * average k G = average k G 
Arguments: (k : Type u_1) (G : Type u_2) [CommSemiring k] [Group G] [Fintype G] [Invertible ↑(Fintype.card G)] (g : G)
Goal: Finsupp.single g 1 * GroupAlgebra.average k G = GroupAlgebra.average k G
-- GroupAlgebra.mul_average_right
@[simp]
theorem mul_average_right (g : G) : average k G * ↑(Finsupp.single g 1) = average k G 
Arguments: (k : Type u_1) (G : Type u_2) [CommSemiring k] [Group G] [Fintype G] [Invertible ↑(Fintype.card G)] (g : G)
Goal: GroupAlgebra.average k G * Finsupp.single g 1 = GroupAlgebra.average k G
-- Representation.mem_invariants
@[simp]
theorem mem_invariants (v : V) : v ∈ invariants ρ ↔ ∀ g : G, ρ g v = v 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} [CommSemiring k] [Group G] [AddCommMonoid V] [Module k V] (ρ : Representation k G V) (v : V)
Goal: v ∈ ρ.invariants ↔ ∀ (g : G), (ρ g) v = v
-- Representation.invariants_eq_inter
theorem invariants_eq_inter : (invariants ρ).carrier = ⋂ g : G, Function.fixedPoints (ρ g) 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} [CommSemiring k] [Group G] [AddCommMonoid V] [Module k V] (ρ : Representation k G V)
Goal: ρ.invariants.carrier = ⋂ g, Function.fixedPoints ⇑(ρ g)
-- Representation.invariants_eq_top
theorem invariants_eq_top [ρ.IsTrivial] :
    invariants ρ = ⊤ 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} [CommSemiring k] [Group G] [AddCommMonoid V] [Module k V] (ρ : Representation k G V) [ρ.IsTrivial]
Goal: ρ.invariants = ⊤
-- Representation.averageMap_invariant
theorem averageMap_invariant (v : V) : averageMap ρ v ∈ invariants ρ 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} [CommSemiring k] [Group G] [AddCommMonoid V] [Module k V] (ρ : Representation k G V) [Fintype G] [Invertible ↑(Fintype.card G)] (v : V)
Goal: ρ.averageMap v ∈ ρ.invariants
-- Representation.averageMap_id
theorem averageMap_id (v : V) (hv : v ∈ invariants ρ) : averageMap ρ v = v 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} [CommSemiring k] [Group G] [AddCommMonoid V] [Module k V] (ρ : Representation k G V) [Fintype G] [Invertible ↑(Fintype.card G)] (v : V) (hv : v ∈ ρ.invariants)
Goal: ρ.averageMap v = v
-- Representation.isProj_averageMap
theorem isProj_averageMap : LinearMap.IsProj ρ.invariants ρ.averageMap 
Arguments: {k : Type u_1} {G : Type u_2} {V : Type u_3} [CommSemiring k] [Group G] [AddCommMonoid V] [Module k V] (ρ : Representation k G V) [Fintype G] [Invertible ↑(Fintype.card G)]
Goal: LinearMap.IsProj ρ.invariants ρ.averageMap
-- Representation.linHom.mem_invariants_iff_comm
theorem mem_invariants_iff_comm {X Y : Rep k G} (f : X.V →ₗ[k] Y.V) (g : G) :
    (linHom X.ρ Y.ρ) g f = f ↔ f.comp (X.ρ g) = (Y.ρ g).comp f 
Arguments: {k : Type u} [CommRing k] {G : Grp} {X Y : Rep k ↑G} (f : ↑X.V →ₗ[k] ↑Y.V) (g : ↑G)
Goal: ((X.ρ.linHom Y.ρ) g) f = f ↔ f ∘ₗ X.ρ g = Y.ρ g ∘ₗ f
-- Representation.linHom.invariantsEquivRepHom_symm_apply_coe
@[simps]
def invariantsEquivRepHom (X Y : Rep k G) : (linHom X.ρ Y.ρ).invariants ≃ₗ[k] X ⟶ Y 
Arguments: {k : Type u} [CommRing k] {G : Grp} (X Y : Rep k ↑G) (f : X ⟶ Y)
Goal: ↑((Representation.linHom.invariantsEquivRepHom X Y).symm f) = f.hom
-- Representation.linHom.invariantsEquivRepHom_apply_hom
@[simps]
def invariantsEquivRepHom (X Y : Rep k G) : (linHom X.ρ Y.ρ).invariants ≃ₗ[k] X ⟶ Y 
Arguments: {k : Type u} [CommRing k] {G : Grp} (X Y : Rep k ↑G) (f : ↥(X.ρ.linHom Y.ρ).invariants)
Goal: ((Representation.linHom.invariantsEquivRepHom X Y) f).hom = ↑f
-- bernoulli'_def'
theorem bernoulli'_def' (n : ℕ) :
    bernoulli' n = 1 - ∑ k : Fin n, n.choose k / (n - k + 1) * bernoulli' k 
Arguments: (n : ℕ)
Goal: bernoulli' n = 1 - ∑ k : Fin n, ↑(n.choose ↑k) / (↑n - ↑↑k + 1) * bernoulli' ↑k
-- bernoulli'_def
theorem bernoulli'_def (n : ℕ) :
    bernoulli' n = 1 - ∑ k ∈ range n, n.choose k / (n - k + 1) * bernoulli' k 
Arguments: (n : ℕ)
Goal: bernoulli' n = 1 - ∑ k ∈ Finset.range n, ↑(n.choose k) / (↑n - ↑k + 1) * bernoulli' k
-- bernoulli'_spec
theorem bernoulli'_spec (n : ℕ) :
    (∑ k ∈ range n.succ, (n.choose (n - k) : ℚ) / (n - k + 1) * bernoulli' k) = 1 
Arguments: (n : ℕ)
Goal: ∑ k ∈ Finset.range n.succ, ↑(n.choose (n - k)) / (↑n - ↑k + 1) * bernoulli' k = 1
-- bernoulli'_spec'
theorem bernoulli'_spec' (n : ℕ) :
    (∑ k ∈ antidiagonal n, ((k.1 + k.2).choose k.2 : ℚ) / (k.2 + 1) * bernoulli' k.1) = 1 
Arguments: (n : ℕ)
Goal: ∑ k ∈ Finset.antidiagonal n, ↑((k.1 + k.2).choose k.2) / (↑k.2 + 1) * bernoulli' k.1 = 1
-- bernoulli'_zero
@[simp]
theorem bernoulli'_zero : bernoulli' 0 = 1 
Goal: bernoulli' 0 = 1
-- bernoulli'_one
@[simp]
theorem bernoulli'_one : bernoulli' 1 = 1 / 2 
Goal: bernoulli' 1 = 1 / 2
-- bernoulli'_two
@[simp]
theorem bernoulli'_two : bernoulli' 2 = 1 / 6 
Goal: bernoulli' 2 = 1 / 6
-- bernoulli'_three
@[simp]
theorem bernoulli'_three : bernoulli' 3 = 0 
Goal: bernoulli' 3 = 0
-- bernoulli'_four
@[simp]
theorem bernoulli'_four : bernoulli' 4 = -1 / 30 
Goal: bernoulli' 4 = -1 / 30
-- sum_bernoulli'
@[simp]
theorem sum_bernoulli' (n : ℕ) : (∑ k ∈ range n, (n.choose k : ℚ) * bernoulli' k) = n 
Arguments: (n : ℕ)
Goal: ∑ k ∈ Finset.range n, ↑(n.choose k) * bernoulli' k = ↑n
-- bernoulli'PowerSeries_mul_exp_sub_one
theorem bernoulli'PowerSeries_mul_exp_sub_one :
    bernoulli'PowerSeries A * (exp A - 1) = X * exp A 
Arguments: (A : Type u_1) [CommRing A] [Algebra ℚ A]
Goal: bernoulli'PowerSeries A * (PowerSeries.exp A - 1) = PowerSeries.X * PowerSeries.exp A
-- bernoulli'_odd_eq_zero
theorem bernoulli'_odd_eq_zero {n : ℕ} (h_odd : Odd n) (hlt : 1 < n) : bernoulli' n = 0 
Arguments: {n : ℕ} (h_odd : Odd n) (hlt : 1 < n)
Goal: bernoulli' n = 0
-- bernoulli'_eq_bernoulli
theorem bernoulli'_eq_bernoulli (n : ℕ) : bernoulli' n = (-1) ^ n * bernoulli n 
Arguments: (n : ℕ)
Goal: bernoulli' n = (-1) ^ n * bernoulli n
-- bernoulli_zero
@[simp]
theorem bernoulli_zero : bernoulli 0 = 1 
Goal: bernoulli 0 = 1
-- bernoulli_one
@[simp]
theorem bernoulli_one : bernoulli 1 = -1 / 2 
Goal: bernoulli 1 = -1 / 2
-- bernoulli_eq_bernoulli'_of_ne_one
theorem bernoulli_eq_bernoulli'_of_ne_one {n : ℕ} (hn : n ≠ 1) : bernoulli n = bernoulli' n 
Arguments: {n : ℕ} (hn : n ≠ 1)
Goal: bernoulli n = bernoulli' n
-- sum_bernoulli
@[simp]
theorem sum_bernoulli (n : ℕ) :
    (∑ k ∈ range n, (n.choose k : ℚ) * bernoulli k) = if n = 1 then 1 else 0 
Arguments: (n : ℕ)
Goal: ∑ k ∈ Finset.range n, ↑(n.choose k) * bernoulli k = if n = 1 then 1 else 0
-- bernoulli_spec'
theorem bernoulli_spec' (n : ℕ) :
    (∑ k ∈ antidiagonal n, ((k.1 + k.2).choose k.2 : ℚ) / (k.2 + 1) * bernoulli k.1) =
      if n = 0 then 1 else 0 
Arguments: (n : ℕ)
Goal: ∑ k ∈ Finset.antidiagonal n, ↑((k.1 + k.2).choose k.2) / (↑k.2 + 1) * bernoulli k.1 = if n = 0 then 1 else 0
-- bernoulliPowerSeries_mul_exp_sub_one
theorem bernoulliPowerSeries_mul_exp_sub_one : bernoulliPowerSeries A * (exp A - 1) = X 
Arguments: (A : Type u_1) [CommRing A] [Algebra ℚ A]
Goal: bernoulliPowerSeries A * (PowerSeries.exp A - 1) = PowerSeries.X
-- sum_range_pow
theorem sum_range_pow (n p : ℕ) :
    (∑ k ∈ range n, (k : ℚ) ^ p) =
      ∑ i ∈ range (p + 1), bernoulli i * ((p + 1).choose i) * (n : ℚ) ^ (p + 1 - i) / (p + 1) 
Arguments: (n p : ℕ)
Goal: ∑ k ∈ Finset.range n, ↑k ^ p =
  ∑ i ∈ Finset.range (p + 1), bernoulli i * ↑((p + 1).choose i) * ↑n ^ (p + 1 - i) / (↑p + 1)
-- sum_Ico_pow
theorem sum_Ico_pow (n p : ℕ) :
    (∑ k ∈ Ico 1 (n + 1), (k : ℚ) ^ p) =
      ∑ i ∈ range (p + 1), bernoulli' i * (p + 1).choose i * (n : ℚ) ^ (p + 1 - i) / (p + 1) 
Arguments: (n p : ℕ)
Goal: ∑ k ∈ Finset.Ico 1 (n + 1), ↑k ^ p =
  ∑ i ∈ Finset.range (p + 1), bernoulli' i * ↑((p + 1).choose i) * ↑n ^ (p + 1 - i) / (↑p + 1)
-- IsPrimitiveRoot.discr_zeta_eq_discr_zeta_sub_one
theorem discr_zeta_eq_discr_zeta_sub_one (hζ : IsPrimitiveRoot ζ n) :
    discr ℚ (hζ.powerBasis ℚ).basis = discr ℚ (hζ.subOnePowerBasis ℚ).basis 
Arguments: {n : ℕ+} {K : Type u} [Field K] [CharZero K] {ζ : K} [ce : IsCyclotomicExtension {n} ℚ K] (hζ : IsPrimitiveRoot ζ ↑n)
Goal: Algebra.discr ℚ ⇑(IsPrimitiveRoot.powerBasis ℚ hζ).basis =
  Algebra.discr ℚ ⇑(IsPrimitiveRoot.subOnePowerBasis ℚ hζ).basis
-- IsCyclotomicExtension.discr_prime_pow_ne_two
theorem discr_prime_pow_ne_two [IsCyclotomicExtension {p ^ (k + 1)} K L] [hp : Fact (p : ℕ).Prime]
    (hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1))) (hirr : Irreducible (cyclotomic (↑(p ^ (k + 1)) : ℕ) K))
    (hk : p ^ (k + 1) ≠ 2) : discr K (hζ.powerBasis K).basis =
      (-1) ^ ((p ^ (k + 1) : ℕ).totient / 2) * p ^ ((p : ℕ) ^ k * ((p - 1) * (k + 1) - 1)) 
Arguments: {p : ℕ+} {k : ℕ} {K : Type u} {L : Type v} {ζ : L} [Field K] [Field L] [Algebra K L] [IsCyclotomicExtension {p ^ (k + 1)} K L] [hp : Fact (Nat.Prime ↑p)] (hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1))) (hirr : Irreducible (Polynomial.cyclotomic (↑(p ^ (k + 1))) K)) (hk : p ^ (k + 1) ≠ 2)
Goal: Algebra.discr K ⇑(IsPrimitiveRoot.powerBasis K hζ).basis =
  (-1) ^ (φ (↑p ^ (k + 1)) / 2) * ↑↑p ^ (↑p ^ k * ((↑p - 1) * (k + 1) - 1))
-- IsCyclotomicExtension.discr_prime_pow_ne_two'
theorem discr_prime_pow_ne_two' [IsCyclotomicExtension {p ^ (k + 1)} K L] [hp : Fact (p : ℕ).Prime]
    (hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1))) (hirr : Irreducible (cyclotomic (↑(p ^ (k + 1)) : ℕ) K))
    (hk : p ^ (k + 1) ≠ 2) : discr K (hζ.powerBasis K).basis =
      (-1) ^ ((p : ℕ) ^ k * (p - 1) / 2) * p ^ ((p : ℕ) ^ k * ((p - 1) * (k + 1) - 1)) 
Arguments: {p : ℕ+} {k : ℕ} {K : Type u} {L : Type v} {ζ : L} [Field K] [Field L] [Algebra K L] [IsCyclotomicExtension {p ^ (k + 1)} K L] [hp : Fact (Nat.Prime ↑p)] (hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1))) (hirr : Irreducible (Polynomial.cyclotomic (↑(p ^ (k + 1))) K)) (hk : p ^ (k + 1) ≠ 2)
Goal: Algebra.discr K ⇑(IsPrimitiveRoot.powerBasis K hζ).basis =
  (-1) ^ (↑p ^ k * (↑p - 1) / 2) * ↑↑p ^ (↑p ^ k * ((↑p - 1) * (k + 1) - 1))
-- IsCyclotomicExtension.discr_prime_pow
theorem discr_prime_pow [hcycl : IsCyclotomicExtension {p ^ k} K L] [hp : Fact (p : ℕ).Prime]
    (hζ : IsPrimitiveRoot ζ ↑(p ^ k)) (hirr : Irreducible (cyclotomic (↑(p ^ k) : ℕ) K)) :
    discr K (hζ.powerBasis K).basis =
      (-1) ^ ((p ^ k : ℕ).totient / 2) * p ^ ((p : ℕ) ^ (k - 1) * ((p - 1) * k - 1)) 
Arguments: {p : ℕ+} {k : ℕ} {K : Type u} {L : Type v} {ζ : L} [Field K] [Field L] [Algebra K L] [hcycl : IsCyclotomicExtension {p ^ k} K L] [hp : Fact (Nat.Prime ↑p)] (hζ : IsPrimitiveRoot ζ ↑(p ^ k)) (hirr : Irreducible (Polynomial.cyclotomic (↑(p ^ k)) K))
Goal: Algebra.discr K ⇑(IsPrimitiveRoot.powerBasis K hζ).basis =
  (-1) ^ (φ (↑p ^ k) / 2) * ↑↑p ^ (↑p ^ (k - 1) * ((↑p - 1) * k - 1))
-- IsCyclotomicExtension.discr_prime_pow_eq_unit_mul_pow
theorem discr_prime_pow_eq_unit_mul_pow [IsCyclotomicExtension {p ^ k} K L]
    [hp : Fact (p : ℕ).Prime] (hζ : IsPrimitiveRoot ζ ↑(p ^ k))
    (hirr : Irreducible (cyclotomic (↑(p ^ k) : ℕ) K)) :
    ∃ (u : ℤˣ) (n : ℕ), discr K (hζ.powerBasis K).basis = u * p ^ n 
Arguments: {p : ℕ+} {k : ℕ} {K : Type u} {L : Type v} {ζ : L} [Field K] [Field L] [Algebra K L] [IsCyclotomicExtension {p ^ k} K L] [hp : Fact (Nat.Prime ↑p)] (hζ : IsPrimitiveRoot ζ ↑(p ^ k)) (hirr : Irreducible (Polynomial.cyclotomic (↑(p ^ k)) K))
Goal: ∃ u n, Algebra.discr K ⇑(IsPrimitiveRoot.powerBasis K hζ).basis = ↑↑u * ↑↑p ^ n
-- IsCyclotomicExtension.discr_odd_prime
theorem discr_odd_prime [IsCyclotomicExtension {p} K L] [hp : Fact (p : ℕ).Prime]
    (hζ : IsPrimitiveRoot ζ p) (hirr : Irreducible (cyclotomic p K)) (hodd : p ≠ 2) :
    discr K (hζ.powerBasis K).basis = (-1) ^ (((p : ℕ) - 1) / 2) * p ^ ((p : ℕ) - 2) 
Arguments: {p : ℕ+} {K : Type u} {L : Type v} {ζ : L} [Field K] [Field L] [Algebra K L] [IsCyclotomicExtension {p} K L] [hp : Fact (Nat.Prime ↑p)] (hζ : IsPrimitiveRoot ζ ↑p) (hirr : Irreducible (Polynomial.cyclotomic (↑p) K)) (hodd : p ≠ 2)
Goal: Algebra.discr K ⇑(IsPrimitiveRoot.powerBasis K hζ).basis = (-1) ^ ((↑p - 1) / 2) * ↑↑p ^ (↑p - 2)
-- Ideal.ramificationIdx_eq_find
theorem ramificationIdx_eq_find (h : ∃ n, ∀ k, map f p ≤ P ^ k → k ≤ n) :
    ramificationIdx f p P = Nat.find h 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S} (h : ∃ n, ∀ (k : ℕ), Ideal.map f p ≤ P ^ k → k ≤ n)
Goal: Ideal.ramificationIdx f p P = Nat.find h
-- Ideal.ramificationIdx_eq_zero
theorem ramificationIdx_eq_zero (h : ∀ n : ℕ, ∃ k, map f p ≤ P ^ k ∧ n < k) :
    ramificationIdx f p P = 0 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S} (h : ∀ (n : ℕ), ∃ k, Ideal.map f p ≤ P ^ k ∧ n < k)
Goal: Ideal.ramificationIdx f p P = 0
-- Ideal.ramificationIdx_spec
theorem ramificationIdx_spec {n : ℕ} (hle : map f p ≤ P ^ n) (hgt : ¬map f p ≤ P ^ (n + 1)) :
    ramificationIdx f p P = n 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S} {n : ℕ} (hle : Ideal.map f p ≤ P ^ n) (hgt : ¬Ideal.map f p ≤ P ^ (n + 1))
Goal: Ideal.ramificationIdx f p P = n
-- Ideal.ramificationIdx_lt
theorem ramificationIdx_lt {n : ℕ} (hgt : ¬map f p ≤ P ^ n) : ramificationIdx f p P < n 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S} {n : ℕ} (hgt : ¬Ideal.map f p ≤ P ^ n)
Goal: Ideal.ramificationIdx f p P < n
-- Ideal.ramificationIdx_bot
@[simp]
theorem ramificationIdx_bot : ramificationIdx f ⊥ P = 0 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {P : Ideal S}
Goal: Ideal.ramificationIdx f ⊥ P = 0
-- Ideal.ramificationIdx_of_not_le
@[simp]
theorem ramificationIdx_of_not_le (h : ¬map f p ≤ P) : ramificationIdx f p P = 0 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S} (h : ¬Ideal.map f p ≤ P)
Goal: Ideal.ramificationIdx f p P = 0
-- Ideal.ramificationIdx_ne_zero
theorem ramificationIdx_ne_zero {e : ℕ} (he : e ≠ 0) (hle : map f p ≤ P ^ e)
    (hnle : ¬map f p ≤ P ^ (e + 1)) : ramificationIdx f p P ≠ 0 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S} {e : ℕ} (he : e ≠ 0) (hle : Ideal.map f p ≤ P ^ e) (hnle : ¬Ideal.map f p ≤ P ^ (e + 1))
Goal: Ideal.ramificationIdx f p P ≠ 0
-- Ideal.le_pow_of_le_ramificationIdx
theorem le_pow_of_le_ramificationIdx {n : ℕ} (hn : n ≤ ramificationIdx f p P) :
    map f p ≤ P ^ n 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S} {n : ℕ} (hn : n ≤ Ideal.ramificationIdx f p P)
Goal: Ideal.map f p ≤ P ^ n
-- Ideal.le_pow_ramificationIdx
theorem le_pow_ramificationIdx : map f p ≤ P ^ ramificationIdx f p P 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S}
Goal: Ideal.map f p ≤ P ^ Ideal.ramificationIdx f p P
-- Ideal.le_comap_pow_ramificationIdx
theorem le_comap_pow_ramificationIdx : p ≤ comap f (P ^ ramificationIdx f p P) 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S}
Goal: p ≤ Ideal.comap f (P ^ Ideal.ramificationIdx f p P)
-- Ideal.le_comap_of_ramificationIdx_ne_zero
theorem le_comap_of_ramificationIdx_ne_zero (h : ramificationIdx f p P ≠ 0) : p ≤ comap f P 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S} (h : Ideal.ramificationIdx f p P ≠ 0)
Goal: p ≤ Ideal.comap f P
-- Ideal.IsDedekindDomain.ramificationIdx_eq_normalizedFactors_count
theorem ramificationIdx_eq_normalizedFactors_count (hp0 : map f p ≠ ⊥) (hP : P.IsPrime)
    (hP0 : P ≠ ⊥) : ramificationIdx f p P = (normalizedFactors (map f p)).count P 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S} [IsDedekindDomain S] (hp0 : Ideal.map f p ≠ ⊥) (hP : P.IsPrime) (hP0 : P ≠ ⊥)
Goal: Ideal.ramificationIdx f p P = Multiset.count P (UniqueFactorizationMonoid.normalizedFactors (Ideal.map f p))
-- Ideal.IsDedekindDomain.ramificationIdx_eq_factors_count
theorem ramificationIdx_eq_factors_count (hp0 : map f p ≠ ⊥) (hP : P.IsPrime) (hP0 : P ≠ ⊥) :
    ramificationIdx f p P = (factors (map f p)).count P 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S} [IsDedekindDomain S] (hp0 : Ideal.map f p ≠ ⊥) (hP : P.IsPrime) (hP0 : P ≠ ⊥)
Goal: Ideal.ramificationIdx f p P = Multiset.count P (UniqueFactorizationMonoid.factors (Ideal.map f p))
-- Ideal.IsDedekindDomain.ramificationIdx_ne_zero
theorem ramificationIdx_ne_zero (hp0 : map f p ≠ ⊥) (hP : P.IsPrime) (le : map f p ≤ P) :
    ramificationIdx f p P ≠ 0 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} {p : Ideal R} {P : Ideal S} [IsDedekindDomain S] (hp0 : Ideal.map f p ≠ ⊥) (hP : P.IsPrime) (le : Ideal.map f p ≤ P)
Goal: Ideal.ramificationIdx f p P ≠ 0
-- Ideal.inertiaDeg_of_subsingleton
@[simp]
theorem inertiaDeg_of_subsingleton [hp : p.IsMaximal] [hQ : Subsingleton (S ⧸ P)] :
    inertiaDeg f p P = 0 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] (f : R →+* S) (p : Ideal R) (P : Ideal S) [hp : p.IsMaximal] [hQ : Subsingleton (S ⧸ P)]
Goal: Ideal.inertiaDeg f p P = 0
-- Ideal.inertiaDeg_algebraMap
@[simp]
theorem inertiaDeg_algebraMap [Algebra R S] [Algebra (R ⧸ p) (S ⧸ P)]
    [IsScalarTower R (R ⧸ p) (S ⧸ P)] [hp : p.IsMaximal] :
    inertiaDeg (algebraMap R S) p P = finrank (R ⧸ p) (S ⧸ P) 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] (p : Ideal R) (P : Ideal S) [Algebra R S] [Algebra (R ⧸ p) (S ⧸ P)] [IsScalarTower R (R ⧸ p) (S ⧸ P)] [hp : p.IsMaximal]
Goal: Ideal.inertiaDeg (algebraMap R S) p P = FiniteDimensional.finrank (R ⧸ p) (S ⧸ P)