ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Pell.eq_pow_of_pell_lem
theorem eq_pow_of_pell_lem {a y k : ℕ} (hy0 : y ≠ 0) (hk0 : k ≠ 0) (hyk : y ^ k < a) :
    (↑(y ^ k) : ℤ) < 2 * a * y - y * y - 1 
Arguments: {a y k : ℕ} (hy0 : y ≠ 0) (hk0 : k ≠ 0) (hyk : y ^ k < a)
Goal: ↑(y ^ k) < 2 * ↑a * ↑y - ↑y * ↑y - 1
-- Pell.eq_pow_of_pell
theorem eq_pow_of_pell {m n k} :
    n ^ k = m ↔ k = 0 ∧ m = 1 ∨0 < k ∧ (n = 0 ∧ m = 0 ∨
      0 < n ∧ ∃ (w a t z : ℕ) (a1 : 1 < a), xn a1 k ≡ yn a1 k * (a - n) + m [MOD t] ∧
      2 * a * n = t + (n * n + 1) ∧ m < t ∧
      n ≤ w ∧ k ≤ w ∧ a * a - ((w + 1) * (w + 1) - 1) * (w * z) * (w * z) = 1) 
Arguments: {m n k : ℕ}
Goal: n ^ k = m ↔
  k = 0 ∧ m = 1 ∨
    0 < k ∧
      (n = 0 ∧ m = 0 ∨
        0 < n ∧
          ∃ w a t z,
            ∃ (a1 : 1 < a),
              Pell.xn a1 k ≡ Pell.yn a1 k * (a - n) + m [MOD t] ∧
                2 * a * n = t + (n * n + 1) ∧
                  m < t ∧ n ≤ w ∧ k ≤ w ∧ a * a - ((w + 1) * (w + 1) - 1) * (w * z) * (w * z) = 1)
-- _private.Mathlib.NumberTheory.Rayleigh.0.Beatty.no_collision
private theorem no_collision : Disjoint {beattySeq r k | k} {beattySeq' s k | k} 
Arguments: {r s : ℝ} (hrs : r.IsConjExponent s)
Goal: Disjoint {x | ∃ k, beattySeq r k = x} {x | ∃ k, beattySeq' s k = x}
-- _private.Mathlib.NumberTheory.Rayleigh.0.Beatty.no_anticollision
private theorem no_anticollision :
    ¬∃ j k m : ℤ, k < j / r ∧ (j + 1) / r ≤ k + 1 ∧ m ≤ j / s ∧ (j + 1) / s < m + 1 
Arguments: {r s : ℝ} (hrs : r.IsConjExponent s)
Goal: ¬∃ j k m, ↑k < ↑j / r ∧ (↑j + 1) / r ≤ ↑k + 1 ∧ ↑m ≤ ↑j / s ∧ (↑j + 1) / s < ↑m + 1
-- _private.Mathlib.NumberTheory.Rayleigh.0.Beatty.hit_or_miss
private theorem hit_or_miss (h : r > 0) :
    j ∈ {beattySeq r k | k} ∨ ∃ k : ℤ, k < j / r ∧ (j + 1) / r ≤ k + 1 
Arguments: {r : ℝ} {j : ℤ} (h : r > 0)
Goal: j ∈ {x | ∃ k, beattySeq r k = x} ∨ ∃ k, ↑k < ↑j / r ∧ (↑j + 1) / r ≤ ↑k + 1
-- _private.Mathlib.NumberTheory.Rayleigh.0.Beatty.hit_or_miss'
private theorem hit_or_miss' (h : r > 0) :
    j ∈ {beattySeq' r k | k} ∨ ∃ k : ℤ, k ≤ j / r ∧ (j + 1) / r < k + 1 
Arguments: {r : ℝ} {j : ℤ} (h : r > 0)
Goal: j ∈ {x | ∃ k, beattySeq' r k = x} ∨ ∃ k, ↑k ≤ ↑j / r ∧ (↑j + 1) / r < ↑k + 1
-- compl_beattySeq
theorem compl_beattySeq {r s : ℝ} (hrs : r.IsConjExponent s) :
    {beattySeq r k | k}ᶜ = {beattySeq' s k | k} 
Arguments: {r s : ℝ} (hrs : r.IsConjExponent s)
Goal: {x | ∃ k, beattySeq r k = x}ᶜ = {x | ∃ k, beattySeq' s k = x}
-- compl_beattySeq'
theorem compl_beattySeq' {r s : ℝ} (hrs : r.IsConjExponent s) :
    {beattySeq' r k | k}ᶜ = {beattySeq s k | k} 
Arguments: {r s : ℝ} (hrs : r.IsConjExponent s)
Goal: {x | ∃ k, beattySeq' r k = x}ᶜ = {x | ∃ k, beattySeq s k = x}
-- beattySeq_symmDiff_beattySeq'_pos
theorem beattySeq_symmDiff_beattySeq'_pos {r s : ℝ} (hrs : r.IsConjExponent s) :
    {beattySeq r k | k > 0} ∆ {beattySeq' s k | k > 0} = {n | 0 < n} 
Arguments: {r s : ℝ} (hrs : r.IsConjExponent s)
Goal: {x | ∃ k > 0, beattySeq r k = x} ∆ {x | ∃ k > 0, beattySeq' s k = x} = {n | 0 < n}
-- beattySeq'_symmDiff_beattySeq_pos
theorem beattySeq'_symmDiff_beattySeq_pos {r s : ℝ} (hrs : r.IsConjExponent s) :
    {beattySeq' r k | k > 0} ∆ {beattySeq s k | k > 0} = {n | 0 < n} 
Arguments: {r s : ℝ} (hrs : r.IsConjExponent s)
Goal: {x | ∃ k > 0, beattySeq' r k = x} ∆ {x | ∃ k > 0, beattySeq s k = x} = {n | 0 < n}
-- Irrational.beattySeq'_pos_eq
theorem Irrational.beattySeq'_pos_eq {r : ℝ} (hr : Irrational r) :
    {beattySeq' r k | k > 0} = {beattySeq r k | k > 0} 
Arguments: {r : ℝ} (hr : Irrational r)
Goal: {x | ∃ k > 0, beattySeq' r k = x} = {x | ∃ k > 0, beattySeq r k = x}
-- Irrational.beattySeq_symmDiff_beattySeq_pos
theorem Irrational.beattySeq_symmDiff_beattySeq_pos {r s : ℝ}
    (hrs : r.IsConjExponent s) (hr : Irrational r) :
    {beattySeq r k | k > 0} ∆ {beattySeq s k | k > 0} = {n | 0 < n} 
Arguments: {r s : ℝ} (hrs : r.IsConjExponent s) (hr : Irrational r)
Goal: {x | ∃ k > 0, beattySeq r k = x} ∆ {x | ∃ k > 0, beattySeq s k = x} = {n | 0 < n}
-- padicNorm.eq_zpow_of_nonzero
@[simp]
protected theorem eq_zpow_of_nonzero {q : ℚ} (hq : q ≠ 0) :
    padicNorm p q = (p : ℚ) ^ (-padicValRat p q) 
Arguments: {p : ℕ} {q : ℚ} (hq : q ≠ 0)
Goal: padicNorm p q = ↑p ^ (-padicValRat p q)
-- padicNorm.nonneg
protected theorem nonneg (q : ℚ) : 0 ≤ padicNorm p q 
Arguments: {p : ℕ} (q : ℚ)
Goal: 0 ≤ padicNorm p q
-- padicNorm.zero
@[simp]
protected theorem zero : padicNorm p 0 = 0 
Arguments: {p : ℕ}
Goal: padicNorm p 0 = 0
-- padicNorm.one
-- @[simp] -- Porting note (#10618): simp can prove this
protected theorem one : padicNorm p 1 = 1 
Arguments: {p : ℕ}
Goal: padicNorm p 1 = 1
-- padicNorm.padicNorm_p
theorem padicNorm_p (hp : 1 < p) : padicNorm p p = (p : ℚ)⁻¹ 
Arguments: {p : ℕ} (hp : 1 < p)
Goal: padicNorm p ↑p = (↑p)⁻¹
-- padicNorm.padicNorm_p_of_prime
@[simp]
theorem padicNorm_p_of_prime [Fact p.Prime] : padicNorm p p = (p : ℚ)⁻¹ 
Arguments: {p : ℕ} [Fact (Nat.Prime p)]
Goal: padicNorm p ↑p = (↑p)⁻¹
-- padicNorm.padicNorm_of_prime_of_ne
theorem padicNorm_of_prime_of_ne {q : ℕ} [p_prime : Fact p.Prime] [q_prime : Fact q.Prime]
    (neq : p ≠ q) : padicNorm p q = 1 
Arguments: {p q : ℕ} [p_prime : Fact (Nat.Prime p)] [q_prime : Fact (Nat.Prime q)] (neq : p ≠ q)
Goal: padicNorm p ↑q = 1
-- padicNorm.padicNorm_p_lt_one
theorem padicNorm_p_lt_one (hp : 1 < p) : padicNorm p p < 1 
Arguments: {p : ℕ} (hp : 1 < p)
Goal: padicNorm p ↑p < 1
-- padicNorm.padicNorm_p_lt_one_of_prime
theorem padicNorm_p_lt_one_of_prime [Fact p.Prime] : padicNorm p p < 1 
Arguments: {p : ℕ} [Fact (Nat.Prime p)]
Goal: padicNorm p ↑p < 1
-- padicNorm.values_discrete
protected theorem values_discrete {q : ℚ} (hq : q ≠ 0) : ∃ z : ℤ, padicNorm p q = (p : ℚ) ^ (-z) 
Arguments: {p : ℕ} {q : ℚ} (hq : q ≠ 0)
Goal: ∃ z, padicNorm p q = ↑p ^ (-z)
-- padicNorm.neg
@[simp]
protected theorem neg (q : ℚ) : padicNorm p (-q) = padicNorm p q 
Arguments: {p : ℕ} (q : ℚ)
Goal: padicNorm p (-q) = padicNorm p q
-- padicNorm.nonzero
protected theorem nonzero {q : ℚ} (hq : q ≠ 0) : padicNorm p q ≠ 0 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] {q : ℚ} (hq : q ≠ 0)
Goal: padicNorm p q ≠ 0
-- padicNorm.zero_of_padicNorm_eq_zero
theorem zero_of_padicNorm_eq_zero {q : ℚ} (h : padicNorm p q = 0) : q = 0 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] {q : ℚ} (h : padicNorm p q = 0)
Goal: q = 0
-- padicNorm.mul
@[simp]
protected theorem mul (q r : ℚ) : padicNorm p (q * r) = padicNorm p q * padicNorm p r 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] (q r : ℚ)
Goal: padicNorm p (q * r) = padicNorm p q * padicNorm p r
-- padicNorm.div
@[simp]
protected theorem div (q r : ℚ) : padicNorm p (q / r) = padicNorm p q / padicNorm p r 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] (q r : ℚ)
Goal: padicNorm p (q / r) = padicNorm p q / padicNorm p r
-- padicNorm.of_int
protected theorem of_int (z : ℤ) : padicNorm p z ≤ 1 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] (z : ℤ)
Goal: padicNorm p ↑z ≤ 1
-- _private.Mathlib.NumberTheory.Padics.PadicNorm.0.padicNorm.nonarchimedean_aux
private theorem nonarchimedean_aux {q r : ℚ} (h : padicValRat p q ≤ padicValRat p r) :
    padicNorm p (q + r) ≤ max (padicNorm p q) (padicNorm p r) 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] {q r : ℚ} (h : padicValRat p q ≤ padicValRat p r)
Goal: padicNorm p (q + r) ≤ max (padicNorm p q) (padicNorm p r)
-- padicNorm.nonarchimedean
protected theorem nonarchimedean {q r : ℚ} :
    padicNorm p (q + r) ≤ max (padicNorm p q) (padicNorm p r) 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] {q r : ℚ}
Goal: padicNorm p (q + r) ≤ max (padicNorm p q) (padicNorm p r)
-- padicNorm.triangle_ineq
theorem triangle_ineq (q r : ℚ) : padicNorm p (q + r) ≤ padicNorm p q + padicNorm p r 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] (q r : ℚ)
Goal: padicNorm p (q + r) ≤ padicNorm p q + padicNorm p r
-- padicNorm.sub
protected theorem sub {q r : ℚ} : padicNorm p (q - r) ≤ max (padicNorm p q) (padicNorm p r) 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] {q r : ℚ}
Goal: padicNorm p (q - r) ≤ max (padicNorm p q) (padicNorm p r)
-- padicNorm.add_eq_max_of_ne
theorem add_eq_max_of_ne {q r : ℚ} (hne : padicNorm p q ≠ padicNorm p r) :
    padicNorm p (q + r) = max (padicNorm p q) (padicNorm p r) 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] {q r : ℚ} (hne : padicNorm p q ≠ padicNorm p r)
Goal: padicNorm p (q + r) = max (padicNorm p q) (padicNorm p r)
-- padicNorm.dvd_iff_norm_le
theorem dvd_iff_norm_le {n : ℕ} {z : ℤ} : ↑(p ^ n) ∣ z ↔ padicNorm p z ≤ (p : ℚ) ^ (-n : ℤ) 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] {n : ℕ} {z : ℤ}
Goal: ↑(p ^ n) ∣ z ↔ padicNorm p ↑z ≤ ↑p ^ (-↑n)
-- padicNorm.int_eq_one_iff
theorem int_eq_one_iff (m : ℤ) : padicNorm p m = 1 ↔ ¬(p : ℤ) ∣ m 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] (m : ℤ)
Goal: padicNorm p ↑m = 1 ↔ ¬↑p ∣ m
-- padicNorm.int_lt_one_iff
theorem int_lt_one_iff (m : ℤ) : padicNorm p m < 1 ↔ (p : ℤ) ∣ m 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] (m : ℤ)
Goal: padicNorm p ↑m < 1 ↔ ↑p ∣ m
-- padicNorm.of_nat
theorem of_nat (m : ℕ) : padicNorm p m ≤ 1 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] (m : ℕ)
Goal: padicNorm p ↑m ≤ 1
-- padicNorm.nat_eq_one_iff
theorem nat_eq_one_iff (m : ℕ) : padicNorm p m = 1 ↔ ¬p ∣ m 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] (m : ℕ)
Goal: padicNorm p ↑m = 1 ↔ ¬p ∣ m
-- padicNorm.nat_lt_one_iff
theorem nat_lt_one_iff (m : ℕ) : padicNorm p m < 1 ↔ p ∣ m 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] (m : ℕ)
Goal: padicNorm p ↑m < 1 ↔ p ∣ m
-- padicNorm.not_int_of_not_padic_int
theorem not_int_of_not_padic_int (p : ℕ) {a : ℚ} [hp : Fact (Nat.Prime p)]
    (H : 1 < padicNorm p a) : ¬ a.isInt 
Arguments: (p : ℕ) {a : ℚ} [hp : Fact (Nat.Prime p)] (H : 1 < padicNorm p a)
Goal: ¬a.isInt = true
-- padicNorm.sum_lt
theorem sum_lt {α : Type*} {F : α → ℚ} {t : ℚ} {s : Finset α} :
    s.Nonempty → (∀ i ∈ s, padicNorm p (F i) < t) → padicNorm p (∑ i ∈ s, F i) < t 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] {α : Type u_1} {F : α → ℚ} {t : ℚ} {s : Finset α}
Goal: s.Nonempty → (∀ i ∈ s, padicNorm p (F i) < t) → padicNorm p (∑ i ∈ s, F i) < t
-- padicNorm.sum_le
theorem sum_le {α : Type*} {F : α → ℚ} {t : ℚ} {s : Finset α} :
    s.Nonempty → (∀ i ∈ s, padicNorm p (F i) ≤ t) → padicNorm p (∑ i ∈ s, F i) ≤ t 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] {α : Type u_1} {F : α → ℚ} {t : ℚ} {s : Finset α}
Goal: s.Nonempty → (∀ i ∈ s, padicNorm p (F i) ≤ t) → padicNorm p (∑ i ∈ s, F i) ≤ t
-- padicNorm.sum_lt'
theorem sum_lt' {α : Type*} {F : α → ℚ} {t : ℚ} {s : Finset α}
    (hF : ∀ i ∈ s, padicNorm p (F i) < t) (ht : 0 < t) : padicNorm p (∑ i ∈ s, F i) < t 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] {α : Type u_1} {F : α → ℚ} {t : ℚ} {s : Finset α} (hF : ∀ i ∈ s, padicNorm p (F i) < t) (ht : 0 < t)
Goal: padicNorm p (∑ i ∈ s, F i) < t
-- padicNorm.sum_le'
theorem sum_le' {α : Type*} {F : α → ℚ} {t : ℚ} {s : Finset α}
    (hF : ∀ i ∈ s, padicNorm p (F i) ≤ t) (ht : 0 ≤ t) : padicNorm p (∑ i ∈ s, F i) ≤ t 
Arguments: {p : ℕ} [hp : Fact (Nat.Prime p)] {α : Type u_1} {F : α → ℚ} {t : ℚ} {s : Finset α} (hF : ∀ i ∈ s, padicNorm p (F i) ≤ t) (ht : 0 ≤ t)
Goal: padicNorm p (∑ i ∈ s, F i) ≤ t
-- dvd_geom_sum₂_iff_of_dvd_sub
theorem dvd_geom_sum₂_iff_of_dvd_sub {x y p : R} (h : p ∣ x - y) :
    (p ∣ ∑ i ∈ range n, x ^ i * y ^ (n - 1 - i)) ↔ p ∣ n * y ^ (n - 1) 
Arguments: {R : Type u_1} {n : ℕ} [CommRing R] {x y p : R} (h : p ∣ x - y)
Goal: p ∣ ∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i) ↔ p ∣ ↑n * y ^ (n - 1)
-- dvd_geom_sum₂_iff_of_dvd_sub'
theorem dvd_geom_sum₂_iff_of_dvd_sub' {x y p : R} (h : p ∣ x - y) :
    (p ∣ ∑ i ∈ range n, x ^ i * y ^ (n - 1 - i)) ↔ p ∣ n * x ^ (n - 1) 
Arguments: {R : Type u_1} {n : ℕ} [CommRing R] {x y p : R} (h : p ∣ x - y)
Goal: p ∣ ∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i) ↔ p ∣ ↑n * x ^ (n - 1)
-- dvd_geom_sum₂_self
theorem dvd_geom_sum₂_self {x y : R} (h : ↑n ∣ x - y) :
    ↑n ∣ ∑ i ∈ range n, x ^ i * y ^ (n - 1 - i) 
Arguments: {R : Type u_1} {n : ℕ} [CommRing R] {x y : R} (h : ↑n ∣ x - y)
Goal: ↑n ∣ ∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i)
-- sq_dvd_add_pow_sub_sub
theorem sq_dvd_add_pow_sub_sub (p x : R) (n : ℕ) :
    p ^ 2 ∣ (x + p) ^ n - x ^ (n - 1) * p * n - x ^ n 
Arguments: {R : Type u_1} [CommRing R] (p x : R) (n : ℕ)
Goal: p ^ 2 ∣ (x + p) ^ n - x ^ (n - 1) * p * ↑n - x ^ n
-- not_dvd_geom_sum₂
theorem not_dvd_geom_sum₂ {p : R} (hp : Prime p) (hxy : p ∣ x - y) (hx : ¬p ∣ x) (hn : ¬p ∣ n) :
    ¬p ∣ ∑ i ∈ range n, x ^ i * y ^ (n - 1 - i) 
Arguments: {R : Type u_1} {n : ℕ} [CommRing R] {x y p : R} (hp : Prime p) (hxy : p ∣ x - y) (hx : ¬p ∣ x) (hn : ¬p ∣ ↑n)
Goal: ¬p ∣ ∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i)
-- odd_sq_dvd_geom_sum₂_sub
theorem odd_sq_dvd_geom_sum₂_sub (hp : Odd p) :
    (p : R) ^ 2 ∣ (∑ i ∈ range p, (a + p * b) ^ i * a ^ (p - 1 - i)) - p * a ^ (p - 1) 
Arguments: {R : Type u_1} [CommRing R] (a b : R) {p : ℕ} (hp : Odd p)
Goal: ↑p ^ 2 ∣ ∑ i ∈ Finset.range p, (a + ↑p * b) ^ i * a ^ (p - 1 - i) - ↑p * a ^ (p - 1)
-- multiplicity.pow_sub_pow_of_prime
theorem pow_sub_pow_of_prime {p : R} (hp : Prime p) {x y : R} (hxy : p ∣ x - y) (hx : ¬p ∣ x)
    {n : ℕ} (hn : ¬p ∣ n) : multiplicity p (x ^ n - y ^ n) = multiplicity p (x - y) 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [DecidableRel fun x x_1 => x ∣ x_1] {p : R} (hp : Prime p) {x y : R} (hxy : p ∣ x - y) (hx : ¬p ∣ x) {n : ℕ} (hn : ¬p ∣ ↑n)
Goal: multiplicity p (x ^ n - y ^ n) = multiplicity p (x - y)
-- multiplicity.geom_sum₂_eq_one
theorem geom_sum₂_eq_one : multiplicity (↑p) (∑ i ∈ range p, x ^ i * y ^ (p - 1 - i)) = 1 
Arguments: {R : Type u_1} [CommRing R] {x y : R} {p : ℕ} [IsDomain R] [DecidableRel fun x x_1 => x ∣ x_1] (hp : Prime ↑p) (hp1 : Odd p) (hxy : ↑p ∣ x - y) (hx : ¬↑p ∣ x)
Goal: multiplicity (↑p) (∑ i ∈ Finset.range p, x ^ i * y ^ (p - 1 - i)) = 1
-- multiplicity.pow_prime_sub_pow_prime
theorem pow_prime_sub_pow_prime :
    multiplicity (↑p) (x ^ p - y ^ p) = multiplicity (↑p) (x - y) + 1 
Arguments: {R : Type u_1} [CommRing R] {x y : R} {p : ℕ} [IsDomain R] [DecidableRel fun x x_1 => x ∣ x_1] (hp : Prime ↑p) (hp1 : Odd p) (hxy : ↑p ∣ x - y) (hx : ¬↑p ∣ x)
Goal: multiplicity (↑p) (x ^ p - y ^ p) = multiplicity (↑p) (x - y) + 1
-- multiplicity.pow_prime_pow_sub_pow_prime_pow
theorem pow_prime_pow_sub_pow_prime_pow (a : ℕ) :
    multiplicity (↑p) (x ^ p ^ a - y ^ p ^ a) = multiplicity (↑p) (x - y) + a 
Arguments: {R : Type u_1} [CommRing R] {x y : R} {p : ℕ} [IsDomain R] [DecidableRel fun x x_1 => x ∣ x_1] (hp : Prime ↑p) (hp1 : Odd p) (hxy : ↑p ∣ x - y) (hx : ¬↑p ∣ x) (a : ℕ)
Goal: multiplicity (↑p) (x ^ p ^ a - y ^ p ^ a) = multiplicity (↑p) (x - y) + ↑a
-- multiplicity.Int.pow_sub_pow
theorem Int.pow_sub_pow {x y : ℤ} (hxy : ↑p ∣ x - y) (hx : ¬↑p ∣ x) (n : ℕ) :
    multiplicity (↑p) (x ^ n - y ^ n) = multiplicity (↑p) (x - y) + multiplicity p n 
Arguments: {p : ℕ} (hp : Nat.Prime p) (hp1 : Odd p) {x y : ℤ} (hxy : ↑p ∣ x - y) (hx : ¬↑p ∣ x) (n : ℕ)
Goal: multiplicity (↑p) (x ^ n - y ^ n) = multiplicity (↑p) (x - y) + multiplicity p n
-- multiplicity.Int.pow_add_pow
theorem Int.pow_add_pow {x y : ℤ} (hxy : ↑p ∣ x + y) (hx : ¬↑p ∣ x) {n : ℕ} (hn : Odd n) :
    multiplicity (↑p) (x ^ n + y ^ n) = multiplicity (↑p) (x + y) + multiplicity p n 
Arguments: {p : ℕ} (hp : Nat.Prime p) (hp1 : Odd p) {x y : ℤ} (hxy : ↑p ∣ x + y) (hx : ¬↑p ∣ x) {n : ℕ} (hn : Odd n)
Goal: multiplicity (↑p) (x ^ n + y ^ n) = multiplicity (↑p) (x + y) + multiplicity p n
-- multiplicity.Nat.pow_sub_pow
theorem Nat.pow_sub_pow {x y : ℕ} (hxy : p ∣ x - y) (hx : ¬p ∣ x) (n : ℕ) :
    multiplicity p (x ^ n - y ^ n) = multiplicity p (x - y) + multiplicity p n 
Arguments: {p : ℕ} (hp : Nat.Prime p) (hp1 : Odd p) {x y : ℕ} (hxy : p ∣ x - y) (hx : ¬p ∣ x) (n : ℕ)
Goal: multiplicity p (x ^ n - y ^ n) = multiplicity p (x - y) + multiplicity p n
-- multiplicity.Nat.pow_add_pow
theorem Nat.pow_add_pow {x y : ℕ} (hxy : p ∣ x + y) (hx : ¬p ∣ x) {n : ℕ} (hn : Odd n) :
    multiplicity p (x ^ n + y ^ n) = multiplicity p (x + y) + multiplicity p n 
Arguments: {p : ℕ} (hp : Nat.Prime p) (hp1 : Odd p) {x y : ℕ} (hxy : p ∣ x + y) (hx : ¬p ∣ x) {n : ℕ} (hn : Odd n)
Goal: multiplicity p (x ^ n + y ^ n) = multiplicity p (x + y) + multiplicity p n
-- pow_two_pow_sub_pow_two_pow
theorem pow_two_pow_sub_pow_two_pow [CommRing R] {x y : R} (n : ℕ) :
    x ^ 2 ^ n - y ^ 2 ^ n = (∏ i ∈ Finset.range n, (x ^ 2 ^ i + y ^ 2 ^ i)) * (x - y) 
Arguments: {R : Type u_1} [CommRing R] {x y : R} (n : ℕ)
Goal: x ^ 2 ^ n - y ^ 2 ^ n = (∏ i ∈ Finset.range n, (x ^ 2 ^ i + y ^ 2 ^ i)) * (x - y)
-- Int.sq_mod_four_eq_one_of_odd
theorem Int.sq_mod_four_eq_one_of_odd {x : ℤ} : Odd x → x ^ 2 % 4 = 1 
Arguments: {x : ℤ}
Goal: Odd x → x ^ 2 % 4 = 1
-- Int.two_pow_two_pow_add_two_pow_two_pow
theorem Int.two_pow_two_pow_add_two_pow_two_pow {x y : ℤ} (hx : ¬2 ∣ x) (hxy : 4 ∣ x - y) (i : ℕ) :
    multiplicity 2 (x ^ 2 ^ i + y ^ 2 ^ i) = ↑(1 : ℕ) 
Arguments: {x y : ℤ} (hx : ¬2 ∣ x) (hxy : 4 ∣ x - y) (i : ℕ)
Goal: multiplicity 2 (x ^ 2 ^ i + y ^ 2 ^ i) = ↑1
-- Int.two_pow_two_pow_sub_pow_two_pow
theorem Int.two_pow_two_pow_sub_pow_two_pow {x y : ℤ} (n : ℕ) (hxy : 4 ∣ x - y) (hx : ¬2 ∣ x) :
    multiplicity 2 (x ^ 2 ^ n - y ^ 2 ^ n) = multiplicity 2 (x - y) + n 
Arguments: {x y : ℤ} (n : ℕ) (hxy : 4 ∣ x - y) (hx : ¬2 ∣ x)
Goal: multiplicity 2 (x ^ 2 ^ n - y ^ 2 ^ n) = multiplicity 2 (x - y) + ↑n
-- Int.two_pow_sub_pow'
theorem Int.two_pow_sub_pow' {x y : ℤ} (n : ℕ) (hxy : 4 ∣ x - y) (hx : ¬2 ∣ x) :
    multiplicity 2 (x ^ n - y ^ n) = multiplicity 2 (x - y) + multiplicity (2 : ℤ) n 
Arguments: {x y : ℤ} (n : ℕ) (hxy : 4 ∣ x - y) (hx : ¬2 ∣ x)
Goal: multiplicity 2 (x ^ n - y ^ n) = multiplicity 2 (x - y) + multiplicity 2 ↑n
-- Int.two_pow_sub_pow
theorem Int.two_pow_sub_pow {x y : ℤ} {n : ℕ} (hxy : 2 ∣ x - y) (hx : ¬2 ∣ x) (hn : Even n) :
    multiplicity 2 (x ^ n - y ^ n) + 1 =
      multiplicity 2 (x + y) + multiplicity 2 (x - y) + multiplicity (2 : ℤ) n 
Arguments: {x y : ℤ} {n : ℕ} (hxy : 2 ∣ x - y) (hx : ¬2 ∣ x) (hn : Even n)
Goal: multiplicity 2 (x ^ n - y ^ n) + 1 = multiplicity 2 (x + y) + multiplicity 2 (x - y) + multiplicity 2 ↑n
-- Nat.two_pow_sub_pow
theorem Nat.two_pow_sub_pow {x y : ℕ} (hxy : 2 ∣ x - y) (hx : ¬2 ∣ x) {n : ℕ} (hn : Even n) :
    multiplicity 2 (x ^ n - y ^ n) + 1 =
      multiplicity 2 (x + y) + multiplicity 2 (x - y) + multiplicity 2 n 
Arguments: {x y : ℕ} (hxy : 2 ∣ x - y) (hx : ¬2 ∣ x) {n : ℕ} (hn : Even n)
Goal: multiplicity 2 (x ^ n - y ^ n) + 1 = multiplicity 2 (x + y) + multiplicity 2 (x - y) + multiplicity 2 n
-- padicValNat.pow_two_sub_pow
theorem pow_two_sub_pow (hyx : y < x) (hxy : 2 ∣ x - y) (hx : ¬2 ∣ x) {n : ℕ} (hn : n ≠ 0)
    (hneven : Even n) :
    padicValNat 2 (x ^ n - y ^ n) + 1 =
      padicValNat 2 (x + y) + padicValNat 2 (x - y) + padicValNat 2 n 
Arguments: {x y : ℕ} (hyx : y < x) (hxy : 2 ∣ x - y) (hx : ¬2 ∣ x) {n : ℕ} (hn : n ≠ 0) (hneven : Even n)
Goal: padicValNat 2 (x ^ n - y ^ n) + 1 = padicValNat 2 (x + y) + padicValNat 2 (x - y) + padicValNat 2 n
-- padicValNat.pow_sub_pow
theorem pow_sub_pow (hyx : y < x) (hxy : p ∣ x - y) (hx : ¬p ∣ x) {n : ℕ} (hn : n ≠ 0) :
    padicValNat p (x ^ n - y ^ n) = padicValNat p (x - y) + padicValNat p n 
Arguments: {x y p : ℕ} [hp : Fact (Nat.Prime p)] (hp1 : Odd p) (hyx : y < x) (hxy : p ∣ x - y) (hx : ¬p ∣ x) {n : ℕ} (hn : n ≠ 0)
Goal: padicValNat p (x ^ n - y ^ n) = padicValNat p (x - y) + padicValNat p n
-- padicValNat.pow_add_pow
theorem pow_add_pow (hxy : p ∣ x + y) (hx : ¬p ∣ x) {n : ℕ} (hn : Odd n) :
    padicValNat p (x ^ n + y ^ n) = padicValNat p (x + y) + padicValNat p n 
Arguments: {x y p : ℕ} [hp : Fact (Nat.Prime p)] (hp1 : Odd p) (hxy : p ∣ x + y) (hx : ¬p ∣ x) {n : ℕ} (hn : Odd n)
Goal: padicValNat p (x ^ n + y ^ n) = padicValNat p (x + y) + padicValNat p n
-- padicValRat_two_harmonic
theorem padicValRat_two_harmonic (n : ℕ) : padicValRat 2 (harmonic n) = -Nat.log 2 n 
Arguments: (n : ℕ)
Goal: padicValRat 2 (harmonic n) = -↑(Nat.log 2 n)
-- padicNorm_two_harmonic
lemma padicNorm_two_harmonic {n : ℕ} (hn : n ≠ 0) :
    ‖(harmonic n : ℚ_[2])‖ = 2 ^ (Nat.log 2 n) 
Arguments: {n : ℕ} (hn : n ≠ 0)
Goal: ‖↑(harmonic n)‖ = 2 ^ Nat.log 2 n
-- harmonic_not_int
theorem harmonic_not_int {n : ℕ} (h : 2 ≤ n) : ¬ (harmonic n).isInt 
Arguments: {n : ℕ} (h : 2 ≤ n)
Goal: ¬(harmonic n).isInt = true
-- NumberField.house_eq_sup'
theorem house_eq_sup' (α : K) :
    house α = univ.sup' univ_nonempty (fun φ : K →+* ℂ ↦ ‖φ α‖₊) 
Arguments: {K : Type u_1} [Field K] [NumberField K] (α : K)
Goal: NumberField.house α = ↑(Finset.univ.sup' ⋯ fun φ => ‖φ α‖₊)
-- NumberField.house_sum_le_sum_house
theorem house_sum_le_sum_house {ι : Type*} (s : Finset ι) (α : ι → K) :
    house (∑ i ∈ s, α i) ≤ ∑ i ∈ s, house (α i) 
Arguments: {K : Type u_1} [Field K] [NumberField K] {ι : Type u_2} (s : Finset ι) (α : ι → K)
Goal: NumberField.house (∑ i ∈ s, α i) ≤ ∑ i ∈ s, NumberField.house (α i)
-- NumberField.house_nonneg
theorem house_nonneg (α : K) : 0 ≤ house α 
Arguments: {K : Type u_1} [Field K] [NumberField K] (α : K)
Goal: 0 ≤ NumberField.house α
-- NumberField.house_mul_le
theorem house_mul_le (α β : K) : house (α * β) ≤ house α * house β 
Arguments: {K : Type u_1} [Field K] [NumberField K] (α β : K)
Goal: NumberField.house (α * β) ≤ NumberField.house α * NumberField.house β
-- NumberField.house_intCast
@[simp] theorem house_intCast (x : ℤ) : house (x : K) = |x| 
Arguments: {K : Type u_1} [Field K] [NumberField K] (x : ℤ)
Goal: NumberField.house ↑x = ↑|x|
-- _private.Mathlib.NumberTheory.NumberField.House.0.NumberField.house.c_nonneg
private theorem c_nonneg : 0 ≤ c K 
Arguments: (K : Type u_1) [Field K] [NumberField K] [DecidableEq (K →+* ℂ)]
Goal: 0 ≤ NumberField.house.c K
-- NumberField.house.basis_repr_abs_le_const_mul_house
theorem basis_repr_abs_le_const_mul_house (α : 𝓞 K) (i : K →+* ℂ) :
    Complex.abs (((integralBasis K).reindex (equivReindex K).symm).repr α i) ≤
      (c K) * house (algebraMap (𝓞 K) K α) 
Arguments: (K : Type u_1) [Field K] [NumberField K] [DecidableEq (K →+* ℂ)] (α : NumberField.RingOfIntegers K) (i : K →+* ℂ)
Goal: Complex.abs ↑((((NumberField.integralBasis K).reindex (NumberField.equivReindex K).symm).repr ↑α) i) ≤
  NumberField.house.c K * NumberField.house ((algebraMap (NumberField.RingOfIntegers K) K) α)
-- _private.Mathlib.NumberTheory.NumberField.House.0.NumberField.house.supOfBasis_nonneg
private theorem supOfBasis_nonneg : 0 ≤ supOfBasis K 
Arguments: (K : Type u_1) [Field K] [NumberField K]
Goal: 0 ≤ NumberField.house.supOfBasis K
-- _private.Mathlib.NumberTheory.NumberField.House.0.NumberField.house.asiegel_ne_0
private theorem asiegel_ne_0 : asiegel K a ≠ 0 
Arguments: (K : Type u_1) [Field K] [NumberField K] {α : Type u_2} {β : Type u_3} (a : Matrix α β (NumberField.RingOfIntegers K)) (ha : a ≠ 0)
Goal: NumberField.house.asiegel K a ≠ 0
-- _private.Mathlib.NumberTheory.NumberField.House.0.NumberField.house.ξ_ne_0
private theorem ξ_ne_0 : ξ K x ≠ 0 
Arguments: (K : Type u_1) [Field K] [NumberField K] {β : Type u_3} (x : β × (K →+* ℂ) → ℤ) (hxl : x ≠ 0)
Goal: NumberField.house.ξ K x ≠ 0
-- _private.Mathlib.NumberTheory.NumberField.House.0.NumberField.house.lin_1
private theorem lin_1 (l k r) : a k l * (newBasis K) r =
    ∑ u, (a' K a k l r u) * (newBasis K) u 
Arguments: (K : Type u_1) [Field K] [NumberField K] {α : Type u_2} {β : Type u_3} (a : Matrix α β (NumberField.RingOfIntegers K)) (l : β) (k : α) (r : K →+* ℂ)
Goal: a k l * (NumberField.house.newBasis K) r =
  ∑ u : K →+* ℂ, ↑(NumberField.house.a' K a k l r u) * (NumberField.house.newBasis K) u
-- _private.Mathlib.NumberTheory.NumberField.House.0.NumberField.house.ξ_mulVec_eq_0
private theorem ξ_mulVec_eq_0 : a *ᵥ ξ K x = 0 
Arguments: (K : Type u_1) [Field K] [NumberField K] {α : Type u_2} {β : Type u_3} [Fintype β] (a : Matrix α β (NumberField.RingOfIntegers K)) (x : β × (K →+* ℂ) → ℤ) (hxl : x ≠ 0) (hmulvec0 : (NumberField.house.asiegel K a).mulVec x = 0)
Goal: a.mulVec (NumberField.house.ξ K x) = 0
-- _private.Mathlib.NumberTheory.NumberField.House.0.NumberField.house.c₂_nonneg
private theorem c₂_nonneg : 0 ≤ c₂ K 
Arguments: (K : Type u_1) [Field K] [NumberField K] [DecidableEq (K →+* ℂ)]
Goal: 0 ≤ NumberField.house.c₂ K