File: Mathlib/Algebra/CharP/Basic.lean

full_name: Commute.add_pow_prime_pow_eq
code: protected theorem add_pow_prime_pow_eq (hp : p.Prime) (h : Commute x y) (n : ℕ) :
    (x + y) ^ p ^ n =
      x ^ p ^ n + y ^ p ^ n +
        p * ∑ k ∈ Ioo 0 (p ^ n), x ^ k * y ^ (p ^ n - k) * ↑((p ^ n).choose k / p) 
goal: (x + y) ^ p ^ n =
  x ^ p ^ n + y ^ p ^ n + ↑p * ∑ k ∈ Finset.Ioo 0 (p ^ n), x ^ k * y ^ (p ^ n - k) * ↑((p ^ n).choose k / p)

full_name: Commute.add_pow_prime_eq
code: protected theorem add_pow_prime_eq (hp : p.Prime) (h : Commute x y) :
    (x + y) ^ p =
      x ^ p + y ^ p + p * ∑ k ∈ Finset.Ioo 0 p, x ^ k * y ^ (p - k) * ↑(p.choose k / p) 
goal: (x + y) ^ p = x ^ p + y ^ p + ↑p * ∑ k ∈ Finset.Ioo 0 p, x ^ k * y ^ (p - k) * ↑(p.choose k / p)

full_name: Commute.exists_add_pow_prime_pow_eq
code: protected theorem exists_add_pow_prime_pow_eq (hp : p.Prime) (h : Commute x y) (n : ℕ) :
    ∃ r, (x + y) ^ p ^ n = x ^ p ^ n + y ^ p ^ n + p * r 
goal: ∃ r, (x + y) ^ p ^ n = x ^ p ^ n + y ^ p ^ n + ↑p * r

full_name: Commute.exists_add_pow_prime_eq
code: protected theorem exists_add_pow_prime_eq (hp : p.Prime) (h : Commute x y) :
    ∃ r, (x + y) ^ p = x ^ p + y ^ p + p * r 
goal: ∃ r, (x + y) ^ p = x ^ p + y ^ p + ↑p * r

full_name: add_pow_prime_pow_eq
code: theorem add_pow_prime_pow_eq (hp : p.Prime) (x y : R) (n : ℕ) :
    (x + y) ^ p ^ n =
      x ^ p ^ n + y ^ p ^ n +
        p * ∑ k ∈ Finset.Ioo 0 (p ^ n), x ^ k * y ^ (p ^ n - k) * ↑((p ^ n).choose k / p) 
goal: (x + y) ^ p ^ n =
  x ^ p ^ n + y ^ p ^ n + ↑p * ∑ k ∈ Finset.Ioo 0 (p ^ n), x ^ k * y ^ (p ^ n - k) * ↑((p ^ n).choose k / p)

full_name: add_pow_prime_eq
code: theorem add_pow_prime_eq (hp : p.Prime) (x y : R) :
    (x + y) ^ p =
      x ^ p + y ^ p + p * ∑ k ∈ Finset.Ioo 0 p, x ^ k * y ^ (p - k) * ↑(p.choose k / p) 
goal: (x + y) ^ p = x ^ p + y ^ p + ↑p * ∑ k ∈ Finset.Ioo 0 p, x ^ k * y ^ (p - k) * ↑(p.choose k / p)

full_name: exists_add_pow_prime_pow_eq
code: theorem exists_add_pow_prime_pow_eq (hp : p.Prime) (x y : R) (n : ℕ) :
    ∃ r, (x + y) ^ p ^ n = x ^ p ^ n + y ^ p ^ n + p * r 
goal: ∃ r, (x + y) ^ p ^ n = x ^ p ^ n + y ^ p ^ n + ↑p * r

full_name: exists_add_pow_prime_eq
code: theorem exists_add_pow_prime_eq (hp : p.Prime) (x y : R) :
    ∃ r, (x + y) ^ p = x ^ p + y ^ p + p * r 
goal: ∃ r, (x + y) ^ p = x ^ p + y ^ p + ↑p * r

full_name: add_pow_char_of_commute
code: theorem add_pow_char_of_commute [Semiring R] {p : ℕ} [hp : Fact p.Prime] [CharP R p] (x y : R)
    (h : Commute x y) : (x + y) ^ p = x ^ p + y ^ p 
goal: (x + y) ^ p = x ^ p + y ^ p

full_name: add_pow_char_pow_of_commute
code: theorem add_pow_char_pow_of_commute [Semiring R] {p n : ℕ} [hp : Fact p.Prime] [CharP R p]
    (x y : R) (h : Commute x y) : (x + y) ^ p ^ n = x ^ p ^ n + y ^ p ^ n 
goal: (x + y) ^ p ^ n = x ^ p ^ n + y ^ p ^ n

full_name: sub_pow_char_of_commute
code: theorem sub_pow_char_of_commute [Ring R] {p : ℕ} [Fact p.Prime] [CharP R p] (x y : R)
    (h : Commute x y) : (x - y) ^ p = x ^ p - y ^ p 
goal: (x - y) ^ p = x ^ p - y ^ p

full_name: sub_pow_char_pow_of_commute
code: theorem sub_pow_char_pow_of_commute [Ring R] {p : ℕ} [Fact p.Prime] [CharP R p] {n : ℕ} (x y : R)
    (h : Commute x y) : (x - y) ^ p ^ n = x ^ p ^ n - y ^ p ^ n 
goal: (x - y) ^ p ^ n = x ^ p ^ n - y ^ p ^ n

full_name: add_pow_char
code: theorem add_pow_char [CommSemiring R] {p : ℕ} [Fact p.Prime] [CharP R p] (x y : R) :
    (x + y) ^ p = x ^ p + y ^ p 
goal: (x + y) ^ p = x ^ p + y ^ p

full_name: add_pow_char_pow
code: theorem add_pow_char_pow [CommSemiring R] {p : ℕ} [Fact p.Prime] [CharP R p] {n : ℕ} (x y : R) :
    (x + y) ^ p ^ n = x ^ p ^ n + y ^ p ^ n 
goal: (x + y) ^ p ^ n = x ^ p ^ n + y ^ p ^ n

full_name: add_pow_eq_add_pow_mod_mul_pow_add_pow_div
code: theorem add_pow_eq_add_pow_mod_mul_pow_add_pow_div
    [CommSemiring R] {p : ℕ} [Fact p.Prime] [CharP R p] {n : ℕ} (x y : R) :
    (x + y) ^ n = (x + y) ^ (n % p) * (x ^ p + y ^ p) ^ (n / p) 
goal: (x + y) ^ n = (x + y) ^ (n % p) * (x ^ p + y ^ p) ^ (n / p)

full_name: sub_pow_char
code: theorem sub_pow_char [CommRing R] {p : ℕ} [Fact p.Prime] [CharP R p] (x y : R) :
    (x - y) ^ p = x ^ p - y ^ p 
goal: (x - y) ^ p = x ^ p - y ^ p

full_name: sub_pow_char_pow
code: theorem sub_pow_char_pow [CommRing R] {p : ℕ} [Fact p.Prime] [CharP R p] {n : ℕ} (x y : R) :
    (x - y) ^ p ^ n = x ^ p ^ n - y ^ p ^ n 
goal: (x - y) ^ p ^ n = x ^ p ^ n - y ^ p ^ n

full_name: sub_pow_eq_sub_pow_mod_mul_pow_sub_pow_div
code: theorem sub_pow_eq_sub_pow_mod_mul_pow_sub_pow_div
    [CommRing R] {p : ℕ} [Fact p.Prime] [CharP R p] {n : ℕ} (x y : R) :
    (x - y) ^ n = (x - y) ^ (n % p) * (x ^ p - y ^ p) ^ (n / p) 
goal: (x - y) ^ n = (x - y) ^ (n % p) * (x ^ p - y ^ p) ^ (n / p)

full_name: CharP.neg_one_pow_char
code: theorem CharP.neg_one_pow_char [Ring R] (p : ℕ) [CharP R p] [Fact p.Prime] :
    (-1 : R) ^ p = -1 
goal: (-1) ^ p = -1

full_name: CharP.neg_one_pow_char_pow
code: theorem CharP.neg_one_pow_char_pow [Ring R] (p n : ℕ) [CharP R p] [Fact p.Prime] :
    (-1 : R) ^ p ^ n = -1 
goal: (-1) ^ p ^ n = -1

full_name: CharP.char_ne_zero_of_finite
code: /-- The characteristic of a finite ring cannot be zero. -/
theorem char_ne_zero_of_finite (p : ℕ) [CharP R p] [Finite R] : p ≠ 0 
goal: p ≠ 0

full_name: CharP.ringChar_ne_zero_of_finite
code: theorem ringChar_ne_zero_of_finite [Finite R] : ringChar R ≠ 0 
goal: ringChar R ≠ 0

full_name: CharP.char_is_prime
code: theorem char_is_prime (p : ℕ) [CharP R p] : p.Prime 
goal: Nat.Prime p