Documentation

LeanPool.RamanujanTauMissesPrimes.Solution

LeanPool.RamanujanTauMissesPrimes.Solution #

noncomputable def Nat.radical (n : ) :

The radical of n: the product of its distinct prime factors (and 0 when n = 0).

Equations
Instances For
    structure RamanujanTau :

    An axiomatic Ramanujan tau function: a function ℕ+ → ℤ satisfying Hecke multiplicativity, the Hecke recurrence at prime powers, the parity criterion, Deligne's bound and the non-unit property.

    Instances For
      noncomputable def tauPrimeSet (R : RamanujanTau) (X : ) :

      The set of positive primes ℓ ≤ X such that |τ n| = ℓ for some n ≥ 1.

      Equations
      Instances For
        noncomputable def S (R : RamanujanTau) (X : ) :

        S X is the number of primes ℓ ≤ X taken (in absolute value) by τ.

        Equations
        Instances For
          noncomputable def E2Set (X : ) :

          The pairs (x, y) ∈ ℕ+ × ℤ with x > X ^ (2/11) and 1 ≤ |x ^ 11 - y ^ 2| ≤ X.

          Equations
          Instances For
            noncomputable def E2 (X : ) :

            E2 X is the cardinality of E2Set X.

            Equations
            Instances For
              noncomputable def E4Set (X : ) :

              The pairs (x, u) ∈ ℕ+ × ℤ with x > X ^ (1/11) and 1 ≤ |u ^ 2 - 5 * x ^ 22| ≤ 4 * X.

              Equations
              Instances For
                noncomputable def E4 (X : ) :

                E4 X is the cardinality of E4Set X.

                Equations
                Instances For
                  def ABC :

                  The ABC conjecture: for every ε > 0 there is K > 0 with c ≤ K * rad (a * b * c) ^ (1 + ε) for all coprime positive a + b = c.

                  Equations
                  Instances For

                    The set of signed odd primes {±ℓ : ℓ an odd prime}.

                    Equations
                    Instances For
                      def X2k (R : RamanujanTau) (k : ) :

                      X2k R k = {τ (p ^ (2 * k)) : p a positive prime}.

                      Equations
                      Instances For

                        The (sharper, N ^ (1/2)) form of Xiong's Proposition 5.4 used as a hypothesis.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          noncomputable def tauWitness (R : RamanujanTau) (k : ) :

                          A choice of value τ (p ^ (2 * k)) whose absolute value is , when such a prime p exists; otherwise 0.

                          Equations
                          Instances For
                            theorem tauWitness_natAbs (R : RamanujanTau) (k : ) (hw : ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ (2 * k))).natAbs = ) :
                            (tauWitness R k ).natAbs =
                            theorem tauWitness_mem_oddPrimesSigned (R : RamanujanTau) (k : ) (hprime : Nat.Prime ) (hne2 : 2) (hw : ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ (2 * k))).natAbs = ) :
                            theorem tauWitness_mem_X2k (R : RamanujanTau) (k : ) (hw : ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ (2 * k))).natAbs = ) :
                            tauWitness R k X2k R k
                            theorem tauWitness_abs_le (R : RamanujanTau) (k : ) (X : ) (hle : X) (hw : ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ (2 * k))).natAbs = ) :
                            |(tauWitness R k )| X
                            theorem target_set_finite (R : RamanujanTau) (k : ) (X : ) (_hX : 0 < X) :
                            theorem tauWitness_injOn (R : RamanujanTau) (k : ) (X : ) :
                            Set.InjOn (tauWitness R k) { : | Nat.Prime 2 X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ (2 * k))).natAbs = }
                            theorem per_k_odd_prime_ncard_le (R : RamanujanTau) (k : ) (X : ) (hX : 0 < X) :
                            { : | Nat.Prime 2 X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ (2 * k))).natAbs = }.ncard (oddPrimesSigned X2k R k {z : | |z| X}).ncard
                            theorem even_prime_subset_singleton (R : RamanujanTau) (X : ) :
                            { : | Nat.Prime = 2 X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = } {2}
                            theorem even_prime_ncard_le (R : RamanujanTau) (X : ) (_hX : 0 < X) :
                            { : | Nat.Prime = 2 X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }.ncard 1
                            theorem natAbs_ne_zero_of_eq_prime {n : } { : } (hprime : Nat.Prime ) (heq : n.natAbs = ) :
                            theorem k_le_K_of_prime_witness (R : RamanujanTau) (X : ) (K : ) (hvanish : ∀ (k : ), K < k∀ (p : ℕ+), Nat.Prime p(R.τ (p ^ (2 * k))).natAbs 0¬(R.τ (p ^ (2 * k))).natAbs X) ( : ) (hprime : Nat.Prime ) (hle : X) (p : ℕ+) (hp : Nat.Prime p) (k : ) (_hk3 : 3 k) (heq : (R.τ (p ^ (2 * k))).natAbs = ) :
                            k K
                            theorem target_subset_finite_union (R : RamanujanTau) (X : ) (_hX : 0 < X) (K : ) (_hK : 3 K) (hvanish : ∀ (k : ), K < k∀ (p : ℕ+), Nat.Prime p(R.τ (p ^ (2 * k))).natAbs 0¬(R.τ (p ^ (2 * k))).natAbs X) :
                            { : | Nat.Prime 2 X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = } kFinset.Icc 3 K, { : | Nat.Prime 2 X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ (2 * k))).natAbs = }
                            theorem biUnion_per_k_finite (R : RamanujanTau) (X : ) (K : ) :
                            (⋃ kFinset.Icc 3 K, { : | Nat.Prime 2 X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ (2 * k))).natAbs = }).Finite
                            theorem target_ncard_le_sum_nat (R : RamanujanTau) (X : ) (hX : 0 < X) (K : ) (hK : 3 K) (hvanish : ∀ (k : ), K < k∀ (p : ℕ+), Nat.Prime p(R.τ (p ^ (2 * k))).natAbs 0¬(R.τ (p ^ (2 * k))).natAbs X) :
                            { : | Nat.Prime 2 X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }.ncard kFinset.Icc 3 K, (oddPrimesSigned X2k R k {z : | |z| X}).ncard
                            theorem odd_prime_ncard_le_sum (R : RamanujanTau) (X : ) (hX : 0 < X) (K : ) (hK : 3 K) (hvanish : ∀ (k : ), K < k∀ (p : ℕ+), Nat.Prime p(R.τ (p ^ (2 * k))).natAbs 0¬(R.τ (p ^ (2 * k))).natAbs X) :
                            { : | Nat.Prime 2 X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }.ncard kFinset.Icc 3 K, (oddPrimesSigned X2k R k {z : | |z| X}).ncard
                            theorem target_eq_union (R : RamanujanTau) (X : ) :
                            { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = } = { : | Nat.Prime = 2 X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = } { : | Nat.Prime 2 X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }
                            theorem target_ncard_split (R : RamanujanTau) (X : ) (_hX : 0 < X) :
                            { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }.ncard { : | Nat.Prime = 2 X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }.ncard + { : | Nat.Prime 2 X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }.ncard
                            theorem target_ncard_le_sum (R : RamanujanTau) (X : ) (hX : 0 < X) (K : ) (hK : 3 K) (hvanish : ∀ (k : ), K < k∀ (p : ℕ+), Nat.Prime p(R.τ (p ^ (2 * k))).natAbs 0¬(R.τ (p ^ (2 * k))).natAbs X) :
                            { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }.ncard 1 + kFinset.Icc 3 K, (oddPrimesSigned X2k R k {z : | |z| X}).ncard
                            theorem nat_gt_floor_imp_ge (a : ) (k : ) (hk : a⌋₊ < k) :
                            k a
                            theorem tau_mem_X2k (R : RamanujanTau) (k : ) (p : ℕ+) (hp : Nat.Prime p) :
                            R.τ (p ^ (2 * k)) X2k R k
                            theorem not_abs_le_of_mem_empty_inter (R : RamanujanTau) (k : ) (X : ) (z : ) (hmem : z X2k R k) (hempty : X2k R k {z : | |z| X} = ) :
                            ¬|z| X
                            theorem natAbs_cast_eq_abs_cast (n : ) :
                            n.natAbs = |n|
                            theorem not_le_of_empty_inter (R : RamanujanTau) (k : ) (X : ) (hempty : X2k R k {z : | |z| X} = ) (p : ℕ+) (hp : Nat.Prime p) (_hne : (R.τ (p ^ (2 * k))).natAbs 0) :
                            ¬(R.τ (p ^ (2 * k))).natAbs X
                            theorem vanishing_large_k (R : RamanujanTau) (h54_part2 : ∃ (c₅ : ), 0 < c₅ ∀ (N : ), c₅ < N∀ (k : ), k Real.log N / (2 * Real.log 2) → X2k R k {z : | |z| N} = ) :
                            ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X∀ (k : ), Real.log X / (2 * Real.log 2)⌋₊ < k∀ (p : ℕ+), Nat.Prime p(R.τ (p ^ (2 * k))).natAbs 0¬(R.τ (p ^ (2 * k))).natAbs X
                            theorem six_mul_log_two_le_log (X : ) (hX : 64 < X) :
                            theorem log_div_two_log_two_gt_three (X : ) (hX : 64 < X) :
                            3 Real.log X / (2 * Real.log 2)
                            theorem rpow_half_nonneg {X : } (hX : 0 < X) :
                            0 X ^ (1 / 2)
                            theorem per_k_ncard_le_rpow_half (R : RamanujanTau) (h54 : Proposition54 R) :
                            ∃ (C : ), 0 < C ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < XkFinset.Icc 3 Real.log X / (2 * Real.log 2)⌋₊, (oddPrimesSigned X2k R k {z : | |z| X}).ncard C * X ^ (1 / 2)
                            theorem sum_const_le_floor_mul (a : ) (ha : 0 a) (c : ) (hc : 0 c) :
                            _kFinset.Icc 3 a⌋₊, c a * c
                            theorem sum_per_k_bound (R : RamanujanTau) (h54 : Proposition54 R) :
                            ∃ (C : ), 0 < C ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < XkFinset.Icc 3 Real.log X / (2 * Real.log 2)⌋₊, (oddPrimesSigned X2k R k {z : | |z| X}).ncard C * (Real.log X / (2 * Real.log 2) * X ^ (1 / 2))
                            theorem floor_log_ge_three (X : ) (hX : 64 < X) :
                            theorem one_le_sqrt_mul_log (X : ) (hX : Real.exp 1 < X) :
                            1 X ^ (1 / 2) * Real.log X
                            theorem log_div_mul_eq (X : ) (hX : 0 < X) :
                            Real.log X / (2 * Real.log 2) * X ^ (1 / 2) = 1 / (2 * Real.log 2) * (X ^ (1 / 2) * Real.log X)
                            theorem final_arithmetic_bound (A : ) (hA : 0 < A) :
                            ∃ (C : ), 0 < C ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X1 + A * (Real.log X / (2 * Real.log 2) * X ^ (1 / 2)) C * (X ^ (1 / 2) * Real.log X)
                            theorem k_ge3_contribution (R : RamanujanTau) (h54 : Proposition54 R) :
                            ∃ (C : ), 0 < C ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X{ : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }.ncard C * (X ^ (1 / 2) * Real.log X)
                            theorem tau_one_zero_or_one (R : RamanujanTau) :
                            R.τ 1 = 0 R.τ 1 = 1
                            theorem tau_one_eq_one (R : RamanujanTau) :
                            R.τ 1 = 1
                            theorem ordCompl_ge_two_of_not_isPrimePow (n : ) (hn : 2 n) (hnp : ¬IsPrimePow n) (p : ) (hp : Nat.Prime p) (_hpn : p n) :
                            2 n / p ^ n.factorization p
                            theorem ordProj_ge_two (n p : ) (hp : Nat.Prime p) (hn : n 0) (hpn : p n) :
                            theorem ordProj_coprime_ordCompl (n p : ) (hp : Nat.Prime p) (hn : n 0) (hpn : p n) :
                            theorem lift_to_pnat_factorization (n : ℕ+) (hn : 2 n) (hnp : ¬IsPrimePow n) (p : ) (hp : Nat.Prime p) (hpn : p n) :
                            ∃ (u : ℕ+) (v : ℕ+), u * v = n (↑u).Coprime v 2 u 2 v
                            theorem exists_coprime_factorization_of_not_isPrimePow (n : ℕ+) (hn : 2 n) (hnp : ¬IsPrimePow n) :
                            ∃ (u : ℕ+) (v : ℕ+), u * v = n (↑u).Coprime v 2 u 2 v
                            theorem natAbs_tau_eq_one_of_coprime_factor (R : RamanujanTau) (u v : ℕ+) (hcop : (↑u).Coprime v) ( : ) (hℓ : Nat.Prime ) ( : (R.τ (u * v)).natAbs = ) :
                            (R.τ u).natAbs = 1 (R.τ v).natAbs = 1
                            theorem tau_prime_imp_prime_power (R : RamanujanTau) (n : ℕ+) (hn : 2 n) ( : ) (hℓ : Nat.Prime ) ( : (R.τ n).natAbs = ) :
                            theorem tau_not_two_dvd_of_odd_prime (R : RamanujanTau) (n : ℕ+) ( : ) (hℓ : Nat.Prime ) (hℓ_odd : 2) ( : (R.τ n).natAbs = ) :
                            ¬2 R.τ n
                            theorem tau_odd_prime_imp_odd_square (R : RamanujanTau) (n : ℕ+) ( : ) (hℓ : Nat.Prime ) (hℓ_odd : 2) ( : (R.τ n).natAbs = ) :
                            Odd n IsSquare n
                            theorem prime_pow_sq_even_exp_via_factorization (p a m : ) (hp : Nat.Prime p) (_ha : 0 < a) (hm : p ^ a = m ^ 2) :
                            a = 2 * m.factorization p
                            theorem prime_pow_sq_even_exp (p a : ) (hp : Nat.Prime p) (ha : 0 < a) (hsq : IsSquare (p ^ a)) :
                            ∃ (k : ), a = 2 * k
                            theorem prime_power_odd_square_form (n : ℕ+) (hn : 2 n) (hpp : IsPrimePow n) (hodd : Odd n) (hsq : IsSquare n) :
                            ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 1 k n = p ^ (2 * k)
                            theorem witness_ge_two (R : RamanujanTau) (n : ℕ+) ( : ) (hℓ : Nat.Prime ) ( : (R.τ n).natAbs = ) :
                            2 n
                            theorem tau_eq_of_pnat_eq_pow (R : RamanujanTau) (n p : ℕ+) (k : ) (heq : n = p ^ (2 * k)) :
                            R.τ n = R.τ (p ^ (2 * k))
                            theorem S_set_subset_union (R : RamanujanTau) (X : ) (_hX : 1 < X) :
                            tauPrimeSet R X {2} { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = } { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 4)).natAbs = } { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }
                            theorem A_sets_finite (R : RamanujanTau) (X : ) :
                            ({ : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = } { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 4)).natAbs = } { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }).Finite
                            theorem full_union_finite (R : RamanujanTau) (X : ) :
                            ({2} { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = } { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 4)).natAbs = } { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }).Finite
                            theorem ncard_four_union_le_nat (A B C D : Set ) (a : ) (hA : A = {a}) :
                            (A B C D).ncard 1 + B.ncard + C.ncard + D.ncard
                            theorem ncard_four_union_le (R : RamanujanTau) (X : ) :
                            ({2} { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = } { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 4)).natAbs = } { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }).ncard 1 + { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = }.ncard + { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 4)).natAbs = }.ncard + { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }.ncard
                            theorem S_decomposition (R : RamanujanTau) (X : ) (hX : 1 < X) :
                            (S R X) 1 + { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = }.ncard + { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 4)).natAbs = }.ncard + { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p ∃ (k : ), 3 k (R.τ (p ^ (2 * k))).natAbs = }.ncard
                            theorem L_subset_union (R : RamanujanTau) (X : ) :
                            { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = } { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p > X ^ (2 / 11)} { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p X ^ (2 / 11)}
                            theorem bounded_nat_set_finite (X : ) :
                            { : | X}.Finite
                            theorem L_union_finite (R : RamanujanTau) (X : ) :
                            ({ : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p > X ^ (2 / 11)} { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p X ^ (2 / 11)}).Finite
                            theorem ell_split_large_small (R : RamanujanTau) (X : ) :
                            { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = }.ncard { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p > X ^ (2 / 11)}.ncard + { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p X ^ (2 / 11)}.ncard
                            theorem pnat_bounded_finite (B : ) :
                            {p : ℕ+ | p B}.Finite
                            theorem bounded_pnat_int_subset (S : Set (ℕ+ × )) (N M : ) (hS : pS, p.1 N |p.2| M) :
                            S {q : ℕ+ | q N} ×ˢ Set.Icc (-M) M
                            theorem bounded_pnat_int_set_finite (S : Set (ℕ+ × )) (N M : ) (hS : pS, p.1 N |p.2| M) :
                            theorem real_bound_to_nat_bound (p : ℕ+ × ) (B : ) (hB : p.1 B) :
                            p.1 B⌉₊
                            theorem abc_specialize_half (habc : ABC) :
                            ∃ (K : ), 0 < K ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (3 / 2)
                            theorem E2_ysq_le_x11_add_X_int_step (X : ) (p : ℕ+ × ) (h3 : |p.1 ^ 11 - p.2 ^ 2| X) :
                            p.2 ^ 2 - p.1 ^ 11 X
                            theorem E2_ysq_le_x11_add_X_helper (X : ) (p : ℕ+ × ) (h3 : |p.1 ^ 11 - p.2 ^ 2| X) :
                            p.2 ^ 2 p.1 ^ 11 + X
                            theorem E2_ysq_le_x11_add_X (X : ) (p : ℕ+ × ) (hp : p E2Set X) :
                            p.2 ^ 2 p.1 ^ 11 + X
                            theorem int_diff_toNat_le_floor (z n : ) (X : ) (_hX : 0 X) (hnn : 0 z - n) (hle : z - n X) :
                            theorem intLe_add_floor_of_toNat_le (z n : ) (X : ) (hnn : 0 z - n) (h : (z - n).toNat X⌋₊) :
                            z n + X⌋₊
                            theorem intLe_int_add_floor_of_cast_le (z n : ) (X : ) (hX : 0 X) (h : z n + X) :
                            z n + X⌋₊
                            theorem E2_X_nonneg (X : ) (p : ℕ+ × ) (hp : p E2Set X) :
                            0 X
                            theorem E2_ysq_le_x11_add_floor (X : ) (p : ℕ+ × ) (hp : p E2Set X) :
                            p.2 ^ 2 p.1 ^ 11 + X⌋₊
                            theorem E2_y_sq_le (X : ) (N : ) (p : ℕ+ × ) (hp : p E2Set X) (hxN : p.1 N) :
                            p.2 ^ 2 ↑(N ^ 11 + X⌋₊)
                            theorem int_abs_le_of_sq_le (y : ) (M : ) (h : y ^ 2 M) :
                            |y| M
                            theorem E2_y_bound (X : ) (N : ) (p : ℕ+ × ) (hp : p E2Set X) (hxN : p.1 N) :
                            |p.2| ↑(N ^ 11 + X⌋₊ + 1)
                            theorem rpow_pow_eleven_eq_sq (X : ) (hX : 0 X) :
                            (X ^ (2 / 11)) ^ 11 = X ^ 2
                            theorem E2_x11_gt_Xsq (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                            x ^ 11 > X ^ 2
                            theorem E2_y_ne_zero (X : ) (hX : 2 < X) (p : ℕ+ × ) (hp : p E2Set X) :
                            p.2 0
                            theorem E2_ysq_lt_2x11 (X : ) (hX : 2 < X) (p : ℕ+ × ) (hp : p E2Set X) :
                            p.2 ^ 2 < 2 * p.1 ^ 11
                            theorem prime_factor_dvd_of_dvd_pow (m n k : ) (_hk : 0 < k) (h : m n ^ k) (p : ) (hp : p m.primeFactors) :
                            p n
                            theorem radical_dvd_of_dvd_pow (m n k : ) (hk : 0 < k) (h : m n ^ k) :
                            theorem gcd_quotients_coprime (M N : ) (hM : 0 < M) (_hN : 0 < N) :
                            have g := M.gcd N; (M / g).Coprime (N / g)
                            theorem coprime_of_coprime_sub (a c : ) (hac : a.Coprime c) (hle : a c) :
                            a.Coprime (c - a)
                            theorem mul_div_cancel_of_dvd (g M : ) (h : g M) :
                            g * (M / g) = M
                            theorem mul_sub_div_eq (g M N : ) (hgM : g M) (hgN : g N) (_hle : M N) :
                            g * (N / g - M / g) = N - M
                            theorem sub_eq_gcd_mul_sub_div (M N : ) (hM : 0 < M) (hle : M N) :
                            N - M = M.gcd N * (N / M.gcd N - M / M.gcd N)
                            theorem sub_div_gcd (M N : ) (hM : 0 < M) (hle : M N) :
                            (N - M) / M.gcd N = N / M.gcd N - M / M.gcd N
                            theorem gcd_coprime_setup (M N : ) (hM : 0 < M) (hN : 0 < N) (hle : M N) (hd : 0 < N - M) :
                            have g := M.gcd N; have a := M / g; have c := N / g; have b := c - a; 0 < g 0 < a 0 < c 0 < b a.Coprime b a + b = c N = g * c M = g * a g N - M (N - M) / g = b
                            theorem primeFactors_mem_one_le (n p : ) (hp : p n.primeFactors) :
                            1 p
                            theorem one_le_prod_primeFactors (n : ) :
                            1 pn.primeFactors, p
                            theorem radical_mul_le_aux (m n : ) (_hm : 0 < m) (_hn : 0 < n) :
                            p(m * n).primeFactors, p (∏ pm.primeFactors, p) * pn.primeFactors, p
                            theorem radical_mul_le_pos (m n : ) (hm : 0 < m) (hn : 0 < n) :
                            theorem radical_mul_le (a b : ) :
                            theorem rpow_three_halves_mono (a b : ) (ha : 0 a) (hab : a b) :
                            a ^ (3 / 2) b ^ (3 / 2)
                            theorem mul_K_t_mono_left (K : ) (hK : 0 < K) (g d : ) (h_g_le_d : g d) (t : ) (ht : 0 t) :
                            g * (K * t) d * (K * t)
                            theorem radical_le_self (n : ) (hn : 0 < n) :
                            theorem radical_abc_bound (x : ) (hx : 0 < x) (y_abs : ) (hy : 0 < y_abs) (d : ) (hd : 0 < d) (hsum : y_abs ^ 2 + d = x ^ 11) :
                            have g := (y_abs ^ 2).gcd (x ^ 11); have a := y_abs ^ 2 / g; have c := x ^ 11 / g; have b := c - a; (a * b * c).radical y_abs * d * x
                            theorem assemble_abc_bound_chain (K : ) (hK : 0 < K) (x : ) (_hx : 0 < x) (y_abs : ) (_hy : 0 < y_abs) (d : ) (_hd : 0 < d) (g : ) (_hg : 0 < g) (c : ) (_hc : 0 < c) (a : ) (_ha : 0 < a) (b : ) (_hb : 0 < b) (h_x11_eq : x ^ 11 = g * c) (h_abc : c K * (a * b * c).radical ^ (3 / 2)) (h_rad_mono : (a * b * c).radical ^ (3 / 2) (y_abs * d * x) ^ (3 / 2)) (h_gd_mono : g * (K * (d * x * y_abs) ^ (3 / 2)) d * (K * (d * x * y_abs) ^ (3 / 2))) :
                            x ^ 11 d * K * (d * x * y_abs) ^ (3 / 2)
                            theorem assemble_abc_bound (K : ) (hK : 0 < K) (x : ) (hx : 0 < x) (y_abs : ) (hy : 0 < y_abs) (d : ) (hd : 0 < d) (_hsum : y_abs ^ 2 + d = x ^ 11) (g : ) (hg : 0 < g) (c : ) (hc : 0 < c) (a : ) (ha : 0 < a) (b : ) (hb : 0 < b) (hcop : a.Coprime b) (hab : a + b = c) (hNgc : x ^ 11 = g * c) (_hMga : y_abs ^ 2 = g * a) (hdgb : d = g * b) (hK_abc : ∀ (a' b' c' : ), 0 < a'0 < b'0 < c'a'.Coprime b'a' + b' = c'c' K * (a' * b' * c').radical ^ (3 / 2)) (hrad : (a * b * c).radical y_abs * d * x) :
                            x ^ 11 d * K * (d * x * y_abs) ^ (3 / 2)
                            theorem abc_gcd_bound_nat (K : ) (hK : 0 < K) (hK_abc : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (3 / 2)) (x : ) (hx : 0 < x) (y_abs : ) (hy : 0 < y_abs) (d : ) (hd : 0 < d) (hsum : y_abs ^ 2 + d = x ^ 11) :
                            x ^ 11 d * K * (d * x * y_abs) ^ (3 / 2)
                            theorem int_eq_from_diff (x : ) (y : ) (d : ) (hd_eq : d = x ^ 11 - y ^ 2) :
                            y ^ 2 + d = x ^ 11
                            theorem nat_eq_from_int_eq (x : ) (y : ) (d : ) (hint : y ^ 2 + d = x ^ 11) :
                            y.natAbs ^ 2 + d = x ^ 11
                            theorem cast_to_nat_setup (x : ) (_hx : 0 < x) (y : ) (hy : y 0) (d : ) (_hd : 0 < d) (hd_eq : d = x ^ 11 - y ^ 2) (_hge : y ^ 2 x ^ 11) :
                            y.natAbs ^ 2 + d = x ^ 11 0 < y.natAbs
                            theorem E2_abc_applied_case1 (K : ) (hK : 0 < K) (hK_abc : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (3 / 2)) (x : ) (hx : 0 < x) (y : ) (hy : y 0) (d : ) (hd : 0 < d) (hd_eq : d = x ^ 11 - y ^ 2) (hge : y ^ 2 x ^ 11) :
                            x ^ 11 d * K * (d * x * |y|) ^ (3 / 2)
                            theorem x11_le_natAbs_sq (x : ) (y : ) (hlt : x ^ 11 < y ^ 2) :
                            x ^ 11 y.natAbs ^ 2
                            theorem d_eq_natAbs_diff (x : ) (y : ) (d : ) (hd_eq : d = y ^ 2 - x ^ 11) (hlt : x ^ 11 < y ^ 2) :
                            d = y.natAbs ^ 2 - x ^ 11
                            theorem a_dvd_x11 (x : ) (y : ) :
                            have g := (y.natAbs ^ 2).gcd (x ^ 11); have a := x ^ 11 / g; a x ^ 11
                            theorem c_dvd_yabs2 (x : ) (y : ) :
                            have g := (y.natAbs ^ 2).gcd (x ^ 11); have c := y.natAbs ^ 2 / g; c y.natAbs ^ 2
                            theorem radical_triple_le (a b c : ) :
                            theorem mul_radical_bounds (a b c x d yabs : ) (ha : a.radical x) (hb : b.radical d) (hc : c.radical yabs) :
                            a.radical * b.radical * c.radical x * d * yabs
                            theorem radical_abc_le_dxy (a b c x d yabs : ) (ha : a.radical x) (hb : b.radical d) (hc : c.radical yabs) :
                            (a * b * c).radical d * x * yabs
                            theorem radical_dvd_implies_le (m n : ) (hn : 0 < n) (h : m.radical n) :
                            theorem radical_bound_case2 (x : ) (hx : 0 < x) (y : ) (hy : y 0) (d : ) (hd : 0 < d) (hd_nat : d = y.natAbs ^ 2 - x ^ 11) (_hlt : x ^ 11 < y ^ 2) :
                            have g := (y.natAbs ^ 2).gcd (x ^ 11); have a := x ^ 11 / g; have b := d / g; have c := y.natAbs ^ 2 / g; (a * b * c).radical d * x * y.natAbs
                            theorem yabs_sq_le_g_mul_K_rad (K : ) (_hK : 0 < K) (g c yabs : ) (_hg : 0 < g) (_hc : 0 < c) (_hyabs : 0 < yabs) (h_gc : yabs ^ 2 = g * c) (rad : ) (h_abc_bound : c K * rad ^ (3 / 2)) :
                            yabs ^ 2 g * (K * rad ^ (3 / 2))
                            theorem assemble_case2_bound (K : ) (hK : 0 < K) (g c d x yabs : ) (hg : 0 < g) (hc : 0 < c) (_hd : 0 < d) (_hx : 0 < x) (hyabs : 0 < yabs) (h_gc : yabs ^ 2 = g * c) (h_abc_bound : c K * (x ^ 11 / g * (d / g) * c).radical ^ (3 / 2)) (h_rad : (x ^ 11 / g * (d / g) * c).radical d * x * yabs) (h_g_le_d : g d) :
                            yabs ^ 2 d * K * (d * x * yabs) ^ (3 / 2)
                            theorem E2_abc_applied_case2 (K : ) (hK : 0 < K) (hK_abc : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (3 / 2)) (x : ) (hx : 0 < x) (y : ) (hy : y 0) (d : ) (hd : 0 < d) (hd_eq : d = y ^ 2 - x ^ 11) (hlt : x ^ 11 < y ^ 2) :
                            y ^ 2 d * K * (d * x * |y|) ^ (3 / 2)
                            theorem E2_abc_case_A_d_eq (x : ) (y : ) (d : ) (hd_eq : d = |x ^ 11 - y ^ 2|) (hge : y ^ 2 x ^ 11) :
                            d = x ^ 11 - y ^ 2
                            theorem E2_abc_case_A_cast_le (x : ) (y : ) (hge : y ^ 2 x ^ 11) :
                            y ^ 2 x ^ 11
                            theorem E2_abc_case_A (K : ) (_hK : 0 < K) (x : ) (_hx : 0 < x) (y : ) (_hy : y 0) (d : ) (_hd : 0 < d) (hd_eq : d = |x ^ 11 - y ^ 2|) (h1 : y ^ 2 x ^ 11d = x ^ 11 - y ^ 2x ^ 11 d * K * (d * x * |y|) ^ (3 / 2)) (hge : y ^ 2 x ^ 11) :
                            max (x ^ 11) (y ^ 2) d * K * (d * x * |y|) ^ (3 / 2)
                            theorem d_eq_ysq_sub_x11 (x : ) (y : ) (d : ) (hd_eq : d = |x ^ 11 - y ^ 2|) (hlt : x ^ 11 < y ^ 2) :
                            d = y ^ 2 - x ^ 11
                            theorem x11_le_y2_real (x : ) (y : ) (hlt : x ^ 11 < y ^ 2) :
                            x ^ 11 y ^ 2
                            theorem E2_abc_case_B (K : ) (_hK : 0 < K) (x : ) (_hx : 0 < x) (y : ) (_hy : y 0) (d : ) (_hd : 0 < d) (hd_eq : d = |x ^ 11 - y ^ 2|) (h2 : x ^ 11 < y ^ 2d = y ^ 2 - x ^ 11y ^ 2 d * K * (d * x * |y|) ^ (3 / 2)) (hlt : x ^ 11 < y ^ 2) :
                            max (x ^ 11) (y ^ 2) d * K * (d * x * |y|) ^ (3 / 2)
                            theorem E2_abc_applied_from_cases (K : ) (hK : 0 < K) (_hK_abc : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (3 / 2)) (x : ) (hx : 0 < x) (y : ) (hy : y 0) (d : ) (hd : 0 < d) (hd_eq : d = |x ^ 11 - y ^ 2|) (h1 : y ^ 2 x ^ 11d = x ^ 11 - y ^ 2x ^ 11 d * K * (d * x * |y|) ^ (3 / 2)) (h2 : x ^ 11 < y ^ 2d = y ^ 2 - x ^ 11y ^ 2 d * K * (d * x * |y|) ^ (3 / 2)) :
                            max (x ^ 11) (y ^ 2) d * K * (d * x * |y|) ^ (3 / 2)
                            theorem E2_abc_applied (K : ) (hK : 0 < K) (hK_abc : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (3 / 2)) (x : ) (hx : 0 < x) (y : ) (hy : y 0) (d : ) (hd : 0 < d) (hd_eq : d = |x ^ 11 - y ^ 2|) :
                            max (x ^ 11) (y ^ 2) d * K * (d * x * |y|) ^ (3 / 2)
                            theorem rpow_mul_distrib (d x y_abs : ) (hd : 0 < d) (hx : 1 x) (hy : 0 < y_abs) :
                            (d * x * y_abs) ^ (3 / 2) = d ^ (3 / 2) * x ^ (3 / 2) * y_abs ^ (3 / 2)
                            theorem d_mul_d_rpow (d : ) (hd : 0 < d) :
                            d * d ^ (3 / 2) = d ^ (5 / 2)
                            theorem expand_abc_rhs_eq (K : ) (_hK : 0 < K) (x : ) (hx : 1 x) (y_abs : ) (hy : 0 < y_abs) (d : ) (hd_pos : 0 < d) :
                            d * K * (d * x * y_abs) ^ (3 / 2) = K * d ^ (5 / 2) * x ^ (3 / 2) * y_abs ^ (3 / 2)
                            theorem expand_abc_rhs (K : ) (hK : 0 < K) (x : ) (hx : 1 x) (y_abs : ) (hy : 0 < y_abs) (d : ) (hd_pos : 0 < d) (habc : x ^ 11 d * K * (d * x * y_abs) ^ (3 / 2)) :
                            x ^ 11 K * d ^ (5 / 2) * x ^ (3 / 2) * y_abs ^ (3 / 2)
                            theorem rpow_three_fourths_strict_mono (x : ) (_hx : 1 x) (y_abs : ) (_hy : 0 < y_abs) (hysq : y_abs ^ 2 < 2 * x ^ 11) :
                            (y_abs ^ 2) ^ (3 / 4) < (2 * x ^ 11) ^ (3 / 4)
                            theorem lhs_simplify (y_abs : ) (hy : 0 < y_abs) :
                            (y_abs ^ 2) ^ (3 / 4) = y_abs ^ (3 / 2)
                            theorem rhs_simplify (x : ) (hx : 1 x) :
                            (2 * x ^ 11) ^ (3 / 4) = 2 ^ (3 / 4) * x ^ (33 / 4)
                            theorem bound_y_three_halves (x : ) (hx : 1 x) (y_abs : ) (hy : 0 < y_abs) (hysq : y_abs ^ 2 < 2 * x ^ 11) :
                            y_abs ^ (3 / 2) < 2 ^ (3 / 4) * x ^ (33 / 4)
                            theorem coeff_pos (K : ) (hK : 0 < K) (x : ) (hx : 1 x) (d : ) (hd_pos : 0 < d) :
                            0 < K * d ^ (5 / 2) * x ^ (3 / 2)
                            theorem rpow_combine_x (x : ) (hx : 0 < x) :
                            x ^ (3 / 2) * x ^ (33 / 4) = x ^ (39 / 4)
                            theorem rearrange_rhs (K : ) (_hK : 0 < K) (x : ) (hx : 1 x) (d : ) (_hd_pos : 0 < d) :
                            K * d ^ (5 / 2) * x ^ (3 / 2) * (2 ^ (3 / 4) * x ^ (33 / 4)) = 2 ^ (3 / 4) * K * d ^ (5 / 2) * x ^ (39 / 4)
                            theorem substitute_y_combine_x (K : ) (hK : 0 < K) (x : ) (hx : 1 x) (y_abs : ) (_hy : 0 < y_abs) (d : ) (hd_pos : 0 < d) (h_expanded : x ^ 11 K * d ^ (5 / 2) * x ^ (3 / 2) * y_abs ^ (3 / 2)) (h_ybound : y_abs ^ (3 / 2) < 2 ^ (3 / 4) * x ^ (33 / 4)) :
                            x ^ 11 2 ^ (3 / 4) * K * d ^ (5 / 2) * x ^ (39 / 4)
                            theorem rpow_div_le_of_rpow_le (x : ) (hx_pos : 0 < x) (a b B : ) (h : x ^ a B * x ^ b) :
                            x ^ a / x ^ b B
                            theorem rpow_sub_eq_div (x : ) (hx_pos : 0 < x) (a b : ) :
                            x ^ (a - b) = x ^ a / x ^ b
                            theorem rpow_cancel_general (x : ) (hx : 1 x) (a b B : ) (_hB : 0 < B) (h : x ^ a B * x ^ b) :
                            x ^ (a - b) B
                            theorem divide_x_power (C : ) (hC : 0 < C) (x : ) (hx : 1 x) (h : x ^ 11 C * x ^ (39 / 4)) :
                            x ^ (5 / 4) C
                            theorem cancel_x_powers (K : ) (hK : 0 < K) (x : ) (hx : 1 x) (y_abs : ) (hy : 0 < y_abs) (d : ) (hd_pos : 0 < d) (h_expanded : x ^ 11 K * d ^ (5 / 2) * x ^ (3 / 2) * y_abs ^ (3 / 2)) (h_ybound : y_abs ^ (3 / 2) < 2 ^ (3 / 4) * x ^ (33 / 4)) :
                            x ^ (5 / 4) 2 ^ (3 / 4) * K * d ^ (5 / 2)
                            theorem x_fifth_fourth_le (K : ) (hK : 0 < K) (x : ) (hx : 1 x) (y_abs : ) (hy : 0 < y_abs) (d : ) (hd_pos : 0 < d) (hysq : y_abs ^ 2 < 2 * x ^ 11) (habc : x ^ 11 d * K * (d * x * y_abs) ^ (3 / 2)) :
                            x ^ (5 / 4) 2 ^ (3 / 4) * K * d ^ (5 / 2)
                            theorem rpow_five_fourths_pow_four (x : ) (hx : 0 x) :
                            (x ^ (5 / 4)) ^ 4 = x ^ 5
                            theorem two_rpow_three_fourths_pow_four :
                            (2 ^ (3 / 4)) ^ 4 = 8
                            theorem rpow_five_halves_pow_four (d : ) (hd : 0 d) :
                            (d ^ (5 / 2)) ^ 4 = d ^ 10
                            theorem rhs_fourth_power (K : ) (_hK : 0 < K) (d : ) (hd : 0 < d) :
                            (2 ^ (3 / 4) * K * d ^ (5 / 2)) ^ 4 = 8 * K ^ 4 * d ^ 10
                            theorem pow_four_mono (a b : ) (ha : 0 a) (hab : a b) :
                            a ^ 4 b ^ 4
                            theorem rpow_five_fourths_nonneg (x : ) (hx : 0 x) :
                            0 x ^ (5 / 4)
                            theorem raise_to_fourth (K : ) (hK : 0 < K) (x : ) (hx : 1 x) (d : ) (hd_pos : 0 < d) (h : x ^ (5 / 4) 2 ^ (3 / 4) * K * d ^ (5 / 2)) :
                            x ^ 5 8 * K ^ 4 * d ^ 10
                            theorem d_pow_le_X_pow (K : ) (hK : 0 < K) (X : ) (_hX : 0 < X) (d : ) (hd_pos : 0 < d) (hd_le : d X) :
                            8 * K ^ 4 * d ^ 10 8 * K ^ 4 * X ^ 10
                            theorem E2_case1_bound (K : ) (hK : 0 < K) (X : ) (hX : 0 < X) (x : ) (hx : 1 x) (y_abs : ) (hy : 0 < y_abs) (d : ) (hd_pos : 0 < d) (hd_le : d X) (hysq : y_abs ^ 2 < 2 * x ^ 11) (habc : x ^ 11 d * K * (d * x * y_abs) ^ (3 / 2)) :
                            x ^ 5 8 * K ^ 4 * X ^ 10
                            theorem expand_case2_rhs (K : ) (hK : 0 < K) (x : ) (hx : 1 x) (y_abs : ) (hy : 0 < y_abs) (d : ) (hd_pos : 0 < d) (habc : y_abs ^ 2 d * K * (d * x * y_abs) ^ (3 / 2)) :
                            y_abs ^ 2 K * d ^ (5 / 2) * x ^ (3 / 2) * y_abs ^ (3 / 2)
                            theorem rpow_half_le_of_sq_le_mul_three_halves (y : ) (hy : 0 < y) (A : ) (h : y ^ 2 A * y ^ (3 / 2)) :
                            y ^ (1 / 2) A
                            theorem div_y_three_halves (K : ) (_hK : 0 < K) (x : ) (_hx : 1 x) (y_abs : ) (hy : 0 < y_abs) (d : ) (_hd_pos : 0 < d) (h : y_abs ^ 2 K * d ^ (5 / 2) * x ^ (3 / 2) * y_abs ^ (3 / 2)) :
                            y_abs ^ (1 / 2) K * d ^ (5 / 2) * x ^ (3 / 2)
                            theorem rpow_quarter_preserves_lt (x : ) (hx : 1 x) (y_abs : ) (_hy : 0 < y_abs) (hx11_lt_y2 : x ^ 11 < y_abs ^ 2) :
                            (x ^ 11) ^ (1 / 4) < (y_abs ^ 2) ^ (1 / 4)
                            theorem rpow_nat_pow_quarter_lhs (x : ) (hx : 0 x) :
                            (x ^ 11) ^ (1 / 4) = x ^ (11 / 4)
                            theorem rpow_nat_pow_quarter_rhs (y : ) (hy : 0 y) :
                            (y ^ 2) ^ (1 / 4) = y ^ (1 / 2)
                            theorem x_pow_lt_y_half (x : ) (hx : 1 x) (y_abs : ) (hy : 0 < y_abs) (hx11_lt_y2 : x ^ 11 < y_abs ^ 2) :
                            x ^ (11 / 4) < y_abs ^ (1 / 2)
                            theorem combine_and_cancel_x (K : ) (hK : 0 < K) (x : ) (hx : 1 x) (d : ) (hd_pos : 0 < d) (h : x ^ (11 / 4) K * d ^ (5 / 2) * x ^ (3 / 2)) :
                            x ^ (5 / 4) K * d ^ (5 / 2)
                            theorem scale_up_by_two_pow (K : ) (hK : 0 < K) (x : ) (_hx : 1 x) (d : ) (hd_pos : 0 < d) (h : x ^ (5 / 4) K * d ^ (5 / 2)) :
                            x ^ (5 / 4) 2 ^ (3 / 4) * K * d ^ (5 / 2)
                            theorem case2_x_fifth_fourth_le (K : ) (hK : 0 < K) (x : ) (hx : 1 x) (y_abs : ) (hy : 0 < y_abs) (d : ) (hd_pos : 0 < d) (hx11_lt_y2 : x ^ 11 < y_abs ^ 2) (habc : y_abs ^ 2 d * K * (d * x * y_abs) ^ (3 / 2)) :
                            x ^ (5 / 4) 2 ^ (3 / 4) * K * d ^ (5 / 2)
                            theorem E2_case2_bound (K : ) (hK : 0 < K) (X : ) (hX : 0 < X) (x : ) (hx : 1 x) (y_abs : ) (hy : 0 < y_abs) (d : ) (hd_pos : 0 < d) (hd_le : d X) (hx11_lt_y2 : x ^ 11 < y_abs ^ 2) (_hysq_le : y_abs ^ 2 x ^ 11 + d) (habc : y_abs ^ 2 d * K * (d * x * y_abs) ^ (3 / 2)) :
                            x ^ 5 8 * K ^ 4 * X ^ 10
                            theorem E2_x_fifth_le_of_max_bound (K : ) (hK : 0 < K) (X : ) (hX : 0 < X) (x : ) (hx : 1 x) (y_abs : ) (hy : 0 < y_abs) (d : ) (hd_pos : 0 < d) (hd_le : d X) (hysq_lt : y_abs ^ 2 < 2 * x ^ 11) (hysq_le_d : y_abs ^ 2 x ^ 11 + d) (hmax : max (x ^ 11) (y_abs ^ 2) d * K * (d * x * y_abs) ^ (3 / 2)) :
                            x ^ 5 8 * K ^ 4 * X ^ 10
                            theorem E2_x_fifth_le (K : ) (hK : 0 < K) (hK_abc : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (3 / 2)) (X : ) (hX : 2 < X) (p : ℕ+ × ) (hp : p E2Set X) :
                            p.1 ^ 5 8 * K ^ 4 * X ^ 10
                            theorem fifth_root_bound (x C : ) (hx : 0 x) (hC : 0 C) (h : x ^ 5 C) :
                            x C ^ (1 / 5)
                            theorem E2_x_bound_real (K : ) (hK : 0 < K) (hK_abc : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (3 / 2)) (X : ) (hX : 2 < X) (p : ℕ+ × ) (hp : p E2Set X) :
                            p.1 (8 * K ^ 4 * X ^ 10) ^ (1 / 5)
                            theorem E2_set_bounded_of_abc (habc : ABC) :
                            ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X∃ (N : ) (M : ), pE2Set X, p.1 N |p.2| M
                            theorem E2_set_finite_of_abc (habc : ABC) :
                            ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X(E2Set X).Finite
                            theorem tau_sq_formula (R : RamanujanTau) (p : ℕ+) (hp : Nat.Prime p) :
                            R.τ (p ^ 2) = R.τ p ^ 2 - p ^ 11
                            theorem p11_minus_tau_sq (R : RamanujanTau) (p : ℕ+) (hp : Nat.Prime p) :
                            p ^ 11 - R.τ p ^ 2 = -R.τ (p ^ 2)
                            theorem E2_cond2 (R : RamanujanTau) (p : ℕ+) (hp : Nat.Prime p) ( : ) (hℓ : Nat.Prime ) ( : (R.τ (p ^ 2)).natAbs = ) :
                            1 |p ^ 11 - R.τ p ^ 2|
                            theorem E2_cond3 (R : RamanujanTau) (X : ) (p : ℕ+) (hp : Nat.Prime p) ( : ) (hℓX : X) ( : (R.τ (p ^ 2)).natAbs = ) :
                            |p ^ 11 - (R.τ p) ^ 2| X
                            theorem witness_in_E2_set (R : RamanujanTau) (X : ) (p : ℕ+) (hp : Nat.Prime p) (hpX : p > X ^ (2 / 11)) ( : ) (hℓ : Nat.Prime ) (hℓX : X) ( : (R.τ (p ^ 2)).natAbs = ) :
                            (p, R.τ p) E2Set X
                            noncomputable def witnessPE2 (R : RamanujanTau) (X : ) ( : ) :

                            A choice of prime p exhibiting as |τ (p ^ 2)| with p > X ^ (2/11), when one exists; otherwise 1.

                            Equations
                            Instances For
                              theorem witnessP_E2_spec (R : RamanujanTau) (X : ) ( : ) (h : ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p > X ^ (2 / 11)) :
                              Nat.Prime (witnessPE2 R X ) (R.τ (witnessPE2 R X ^ 2)).natAbs = (witnessPE2 R X ) > X ^ (2 / 11)
                              noncomputable def witnessMapE2 (R : RamanujanTau) (X : ) ( : ) :

                              The map sending to (witnessPE2 R X ℓ, τ (witnessPE2 R X ℓ ^ 2)).

                              Equations
                              Instances For
                                theorem witnessMap_E2_mapsTo (R : RamanujanTau) (X : ) ( : ) :
                                { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p > X ^ (2 / 11)}witnessMapE2 R X E2Set X
                                theorem witnessMap_E2_injOn (R : RamanujanTau) (X : ) :
                                Set.InjOn (witnessMapE2 R X) { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p > X ^ (2 / 11)}
                                theorem L_large_ncard_le_E2 (R : RamanujanTau) (X : ) (hfin : (E2Set X).Finite) :
                                { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p > X ^ (2 / 11)}.ncard E2 X
                                theorem large_ell_bound (R : RamanujanTau) (habc : ABC) :
                                ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X{ : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p > X ^ (2 / 11)}.ncard (E2 X)
                                theorem target_subset_image_k1 (R : RamanujanTau) (X : ) :
                                { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p X ^ (2 / 11)} (fun (p : ℕ+) => (R.τ (p ^ 2)).natAbs) '' {p : ℕ+ | Nat.Prime p p X ^ (2 / 11)}
                                theorem natLe_floor_of_cast_le (B : ) (x : ) (hx : x B) :
                                theorem pnat_bounded_finite_k1 (B : ) :
                                {p : ℕ+ | p B}.Finite
                                theorem witness_set_subset_bounded (X : ) :
                                {p : ℕ+ | Nat.Prime p p X ^ (2 / 11)} {p : ℕ+ | p X ^ (2 / 11)⌋₊}
                                theorem witness_set_finite_k1 (X : ) :
                                {p : ℕ+ | Nat.Prime p p X ^ (2 / 11)}.Finite
                                theorem ncard_Icc_one_M (M : ) :
                                (↑(Finset.Icc 1 M)).ncard = M
                                theorem pnat_val_mapsTo_Icc (M : ) (a : ℕ+) :
                                a {p : ℕ+ | p M}a (Finset.Icc 1 M)
                                theorem pnat_bounded_ncard_le (M : ) :
                                {p : ℕ+ | p M}.ncard M
                                theorem witness_set_ncard_le_k1 (X : ) (_hX : 1 X) :
                                {p : ℕ+ | Nat.Prime p p X ^ (2 / 11)}.ncard X ^ (2 / 11)⌋₊
                                theorem floor_rpow_le_k1 (X : ) (hX : 1 X) :
                                X ^ (2 / 11)⌋₊ X ^ (2 / 11)
                                theorem small_ell_bound (R : RamanujanTau) (X : ) :
                                1 X{ : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = p X ^ (2 / 11)}.ncard X ^ (2 / 11)
                                theorem rpow_le_rpow_of_le_exp {X a b : } (hX : 1 X) (hab : a b) :
                                X ^ a X ^ b
                                theorem k1_contribution_abc (R : RamanujanTau) (habc : ABC) :
                                ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X{ : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 2)).natAbs = }.ncard (E2 X) + X ^ (13 / 22)
                                theorem target_subset_image (R : RamanujanTau) (X : ) :
                                { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p p X ^ (1 / 11) (R.τ (p ^ 4)).natAbs = } (fun (p : ℕ+) => (R.τ (p ^ 4)).natAbs) '' {p : ℕ+ | Nat.Prime p p X ^ (1 / 11)}
                                theorem witness_set_finite (X : ) :
                                {p : ℕ+ | Nat.Prime p p X ^ (1 / 11)}.Finite
                                theorem witness_set_ncard_le (X : ) (_hX : 1 < X) :
                                {p : ℕ+ | Nat.Prime p p X ^ (1 / 11)}.ncard X ^ (1 / 11)⌋₊
                                theorem floor_rpow_le (X : ) (hX : 0 < X) :
                                X ^ (1 / 11)⌋₊ X ^ (1 / 11)
                                theorem small_primes_k2_bound (R : RamanujanTau) :
                                ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X{ : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p p X ^ (1 / 11) (R.τ (p ^ 4)).natAbs = }.ncard X ^ (1 / 11)
                                theorem hecke_u_identity (R : RamanujanTau) (p : ℕ+) (hp : Nat.Prime p) :
                                have u := 2 * R.τ p ^ 2 - 3 * p ^ 11; u ^ 2 - 5 * p ^ 22 = 4 * R.τ (p ^ 4)
                                theorem E4_set_D_bounds (X : ) (p : ℕ+ × ) (hp : p E4Set X) :
                                1 |p.2 ^ 2 - 5 * p.1 ^ 22| |p.2 ^ 2 - 5 * p.1 ^ 22| 4 * X
                                theorem rpow_11_strict_mono {a b : } (ha : 0 a) (hab : a < b) :
                                a ^ 11 < b ^ 11
                                theorem rpow_one_div_11_pow_11 (X : ) (hX : 0 X) :
                                (X ^ (1 / 11)) ^ 11 = X
                                theorem x11_gt_X_of_x_gt (X : ) (hX : 1 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                x ^ 11 > X
                                theorem E4_x11_pow_gt_X (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                x ^ 11 > X
                                theorem sq_lt_sq_of_pos_lt (a b : ) (ha : 0 < a) (hab : a < b) :
                                a ^ 2 < b ^ 2
                                theorem x22_gt_X2_of_x11_gt (X : ) (hX : 0 < X) (x : ℕ+) (h : x ^ 11 > X) :
                                x ^ 22 > X ^ 2
                                theorem x22_gt_X_sq (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                x ^ 22 > X ^ 2
                                theorem x22_gt_four_mul_X (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                x ^ 22 > 4 * X
                                theorem five_x22_sub_4X_pos (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                5 * x ^ 22 - 4 * X > 0
                                theorem sqrt_sub_eq_div (a b : ) (ha : 0 < a) (hb : 0 b) (_hab : b < a) :
                                a - b = (a - b) / (a + b)
                                theorem five_x22_sub_4X_ge_four_x22 (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                5 * x ^ 22 - 4 * X > 4 * x ^ 22
                                theorem sqrt_five_x22_sub_gt_two_x11 (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                (5 * x ^ 22 - 4 * X) > 2 * x ^ 11
                                theorem sqrt_five_x22_add_gt_two_x11 (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                (5 * x ^ 22 + 4 * X) > 2 * x ^ 11
                                theorem denom_gt_four_x11 (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                (5 * x ^ 22 + 4 * X) + (5 * x ^ 22 - 4 * X) > 4 * x ^ 11
                                theorem E4_interval_length_lt_two (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                (5 * x ^ 22 + 4 * X) - (5 * x ^ 22 - 4 * X) < 2
                                theorem pos_int_subset_Icc (a b : ) :
                                {u : | 0 < u a u u b} Set.Icc a b
                                theorem pos_int_in_interval_finite (a b : ) :
                                {u : | 0 < u a u u b}.Finite
                                theorem no_three_pos_ints_in_short_interval (a b : ) (hlen : b - a < 2) (u₁ u₂ u₃ : ) (_h1pos : 0 < u₁) (_h2pos : 0 < u₂) (_h3pos : 0 < u₃) (h1a : a u₁) (_h1b : u₁ b) (_h2a : a u₂) (_h2b : u₂ b) (_h3a : a u₃) (h3b : u₃ b) (h12 : u₁ < u₂) (h23 : u₂ < u₃) :
                                theorem exists_three_mem_of_three_le_ncard {S : Set } (_hfin : S.Finite) (hcard : 3 S.ncard) :
                                aS, bS, cS, a b a c b c
                                theorem exists_strict_order_of_three_distinct_case_lt (a b c : ) (hab : a < b) (hac : a c) (hbc : b c) :
                                ∃ (u₁ : ) (u₂ : ) (u₃ : ), {u₁, u₂, u₃} {a, b, c} u₁ < u₂ u₂ < u₃
                                theorem exists_strict_order_of_three_distinct (a b c : ) (hab : a b) (hac : a c) (hbc : b c) :
                                ∃ (u₁ : ) (u₂ : ) (u₃ : ), {u₁, u₂, u₃} {a, b, c} u₁ < u₂ u₂ < u₃
                                theorem ncard_le_two_of_no_three_ordered {S : Set } (hfin : S.Finite) (h : u₁S, u₂S, u₃S, u₁ < u₂u₂ < u₃False) :
                                theorem ncard_pos_int_in_interval_lt_two (a b : ) (hlen : b - a < 2) :
                                {u : | 0 < u a u u b}.ncard 2
                                theorem E4_pos_fiber_subset_sqrt (X : ) (_hX : 4 < X) (x : ℕ+) (_hx : x > X ^ (1 / 11)) :
                                {u : | 0 < u u ^ 2 5 * x ^ 22 - 4 * X u ^ 2 5 * x ^ 22 + 4 * X} {u : | 0 < u (5 * x ^ 22 - 4 * X) u u (5 * x ^ 22 + 4 * X)}
                                theorem E4_pos_sqrt_fiber_finite (X : ) (_hX : 4 < X) (x : ℕ+) (_hx : x > X ^ (1 / 11)) :
                                {u : | 0 < u (5 * x ^ 22 - 4 * X) u u (5 * x ^ 22 + 4 * X)}.Finite
                                theorem E4_pos_fiber_ncard_via_sqrt (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                {u : | 0 < u u ^ 2 5 * x ^ 22 - 4 * X u ^ 2 5 * x ^ 22 + 4 * X}.ncard {u : | 0 < u (5 * x ^ 22 - 4 * X) u u (5 * x ^ 22 + 4 * X)}.ncard
                                theorem E4_pos_fiber_ncard_le_two (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                {u : | 0 < u u ^ 2 5 * x ^ 22 - 4 * X u ^ 2 5 * x ^ 22 + 4 * X}.ncard 2
                                theorem neg_maps_to_pos (X : ) (x : ℕ+) (u : ) :
                                theorem pos_fiber_subset_Icc (X : ) (x : ℕ+) :
                                pos_fiber✝ X x Set.Icc 1 (5 * x ^ 22 + 4 * X)
                                theorem E4_neg_fiber_ncard_le_pos_fiber (X : ) (x : ℕ+) :
                                {u : | u < 0 u ^ 2 5 * x ^ 22 - 4 * X u ^ 2 5 * x ^ 22 + 4 * X}.ncard {u : | 0 < u u ^ 2 5 * x ^ 22 - 4 * X u ^ 2 5 * x ^ 22 + 4 * X}.ncard
                                theorem E4_neg_fiber_ncard_le_two (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                {u : | u < 0 u ^ 2 5 * x ^ 22 - 4 * X u ^ 2 5 * x ^ 22 + 4 * X}.ncard 2
                                theorem u_sq_le_of_abs_le (x : ℕ+) (u : ) (X : ) (habs_le : |u ^ 2 - 5 * x ^ 22| 4 * X) :
                                u ^ 2 5 * x ^ 22 + 4 * X
                                theorem u_sq_ge_of_abs_le (x : ℕ+) (u : ) (X : ) (habs_le : |u ^ 2 - 5 * x ^ 22| 4 * X) :
                                5 * x ^ 22 - 4 * X u ^ 2
                                theorem u_sq_in_interval (X : ) (x : ℕ+) (u : ) (h : |u ^ 2 - 5 * x ^ 22| 4 * X) :
                                5 * x ^ 22 - 4 * X u ^ 2 u ^ 2 5 * x ^ 22 + 4 * X
                                theorem u_ne_zero_of_fiber (X : ) (_hX : 4 < X) (_x : ℕ+) (_hx : _x > X ^ (1 / 11)) (u : ) (hu_lb : 5 * _x ^ 22 - 4 * X u ^ 2) (h5pos : 5 * _x ^ 22 - 4 * X > 0) :
                                u 0
                                theorem E4_fiber_subset_pos_neg (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                {u : | (x, u) E4Set X} {u : | 0 < u u ^ 2 5 * x ^ 22 - 4 * X u ^ 2 5 * x ^ 22 + 4 * X} {u : | u < 0 u ^ 2 5 * x ^ 22 - 4 * X u ^ 2 5 * x ^ 22 + 4 * X}
                                theorem int_mem_Icc_ceil_sqrt_of_sq_le (y : ) (M : ) (hM : 0 M) (hy : y ^ 2 M) :
                                theorem E4_pos_neg_fiber_finite (X : ) (hX : 4 < X) (x : ℕ+) (_hx : x > X ^ (1 / 11)) :
                                ({u : | 0 < u u ^ 2 5 * x ^ 22 - 4 * X u ^ 2 5 * x ^ 22 + 4 * X} {u : | u < 0 u ^ 2 5 * x ^ 22 - 4 * X u ^ 2 5 * x ^ 22 + 4 * X}).Finite
                                theorem E4_fiber_ncard_le_four (X : ) (hX : 4 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                theorem E4_fiber_empty_of_le (X : ) (x : ℕ+) (hx : ¬x > X ^ (1 / 11)) :
                                theorem denom_pos_E4 (ε : ) ( : 0 < ε) (hε_bound : ε 1 / 24) :
                                0 < 10 - 12 * ε
                                theorem exponent_bound_E4 (η ε : ) ( : 0 < η) ( : 0 < ε) (hε_η : ε η) (hε_bound : ε 1 / 24) :
                                (2 + ε) / (10 - 12 * ε) 1 / 5 + η
                                theorem five_x22_gt_four_X_of_x_gt (X : ) (hX : 1 < X) (x : ℕ+) (hx : x > X ^ (1 / 11)) :
                                5 * x ^ 22 > 4 * X
                                theorem product_upper_bound (x : ℕ+) (X : ) (hX : 1 < X) (Y : ) (_hY : 0 Y) (h_Y : Y 2 * x ^ (11 / 2)) :
                                x * Y * X 2 * x ^ (13 / 2) * X
                                theorem rpow_triple_mul_distrib (a b c e : ) (ha : 0 a) (hb : 0 b) (hc : 0 c) :
                                (a * b * c) ^ e = a ^ e * b ^ e * c ^ e
                                theorem pnat_rpow_mul (x : ℕ+) (p q : ) :
                                x ^ (p * q) = (x ^ p) ^ q
                                theorem rpow_product_expand (x : ℕ+) (X : ) (hX : 1 < X) (ε : ) (_hε : 0 < ε) :
                                (2 * x ^ (13 / 2) * X) ^ (1 + ε) = 2 ^ (1 + ε) * x ^ (13 / 2 * (1 + ε)) * X ^ (1 + ε)
                                theorem combine_X_powers (K : ) (x : ℕ+) (X : ) (hX : 1 < X) (ε : ) (_hε : 0 < ε) :
                                K * X * (2 ^ (1 + ε) * x ^ (13 / 2 * (1 + ε)) * X ^ (1 + ε)) = K * 2 ^ (1 + ε) * x ^ (13 / 2 * (1 + ε)) * X ^ (2 + ε)
                                theorem substitute_Y_bound (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (x : ℕ+) (X : ) (hX : 1 < X) (Y : ) (hY : 0 Y) (h_x11 : x ^ 11 K * X * (x * Y * X) ^ (1 + ε)) (h_Y : Y 2 * x ^ (11 / 2)) :
                                x ^ 11 K * 2 ^ (1 + ε) * x ^ (13 / 2 * (1 + ε)) * X ^ (2 + ε)
                                theorem cancel_common_rpow_factor (K : ) (_hK : 0 < K) (ε : ) (_hε : 0 < ε) (_hε' : ε < 9 / 13) (x : ℕ+) (X : ) (_hX : 1 < X) (h : x ^ (13 / 2 * (1 + ε)) * x ^ ((9 - 13 * ε) / 2) x ^ (13 / 2 * (1 + ε)) * (K * 2 ^ (1 + ε) * X ^ (2 + ε))) :
                                x ^ ((9 - 13 * ε) / 2) K * 2 ^ (1 + ε) * X ^ (2 + ε)
                                theorem exponent_sum_eq_11 (ε : ) :
                                13 / 2 * (1 + ε) + (9 - 13 * ε) / 2 = 11
                                theorem lhs_eq_x_pow_11 (ε : ) (_hε : 0 < ε) (_hε' : ε < 9 / 13) (x : ℕ+) (hx : 0 < x) :
                                x ^ (13 / 2 * (1 + ε)) * x ^ ((9 - 13 * ε) / 2) = x ^ 11
                                theorem nat_pow_eq_rpow (x : ℕ+) :
                                x ^ 11 = x ^ 11
                                theorem rhs_rearrange (K ε : ) (x : ℕ+) (X : ) :
                                K * 2 ^ (1 + ε) * x ^ (13 / 2 * (1 + ε)) * X ^ (2 + ε) = x ^ (13 / 2 * (1 + ε)) * (K * 2 ^ (1 + ε) * X ^ (2 + ε))
                                theorem rewrite_hypothesis (K : ) (_hK : 0 < K) (ε : ) ( : 0 < ε) (hε' : ε < 9 / 13) (x : ℕ+) (X : ) (_hX : 1 < X) (h : x ^ 11 K * 2 ^ (1 + ε) * x ^ (13 / 2 * (1 + ε)) * X ^ (2 + ε)) :
                                x ^ (13 / 2 * (1 + ε)) * x ^ ((9 - 13 * ε) / 2) x ^ (13 / 2 * (1 + ε)) * (K * 2 ^ (1 + ε) * X ^ (2 + ε))
                                theorem isolate_x_power (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (hε' : ε < 9 / 13) (x : ℕ+) (X : ) (hX : 1 < X) (h : x ^ 11 K * 2 ^ (1 + ε) * x ^ (13 / 2 * (1 + ε)) * X ^ (2 + ε)) :
                                x ^ ((9 - 13 * ε) / 2) K * 2 ^ (1 + ε) * X ^ (2 + ε)
                                theorem denom_pos_general (ε : ) (_hε : 0 < ε) (hε' : ε < 9 / 13) :
                                0 < 9 - 13 * ε
                                theorem exponent_cancel (ε : ) (_hε : 0 < ε) (hε' : ε < 9 / 13) :
                                (9 - 13 * ε) / 2 * (2 / (9 - 13 * ε)) = 1
                                theorem X_exponent_eq (ε : ) (_hε : 0 < ε) (_hε' : ε < 9 / 13) :
                                (2 + ε) * (2 / (9 - 13 * ε)) = (4 + 2 * ε) / (9 - 13 * ε)
                                theorem raise_to_reciprocal_power (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (hε' : ε < 9 / 13) (x : ℕ+) (X : ) (hX : 1 < X) (h : x ^ ((9 - 13 * ε) / 2) K * 2 ^ (1 + ε) * X ^ (2 + ε)) :
                                x (K * 2 ^ (1 + ε)) ^ (2 / (9 - 13 * ε)) * X ^ ((4 + 2 * ε) / (9 - 13 * ε))
                                theorem u_ne_zero_of_E4 (X : ) (hX : 1 < X) (p : ℕ+ × ) (hp : p E4Set X) :
                                p.2 0
                                theorem x_pow11_gt_X (x : ℕ+) (X : ) (hX : 1 < X) (hx_lower : x > X ^ (1 / 11)) :
                                x ^ 11 > X
                                theorem x11_gt_one (x : ℕ+) (X : ) (hX : 1 < X) (hx11_gt : x ^ 11 > X) :
                                x ^ 11 > 1
                                theorem x22_gt_X (x : ℕ+) (X : ) (hX : 1 < X) (hx11_gt : x ^ 11 > X) :
                                x ^ 22 > X
                                theorem four_X_le_four_x22 (x : ℕ+) (X : ) (hX : 1 < X) (hx11_gt : x ^ 11 > X) :
                                4 * X < 4 * x ^ 22
                                theorem u_sq_lt_nine_x22 (x : ℕ+) (u : ) (X : ) (hu_sq : u ^ 2 5 * x ^ 22 + 4 * X) (h4X : 4 * X < 4 * x ^ 22) :
                                u ^ 2 < 9 * x ^ 22
                                theorem natAbs_le_of_sq_lt (x : ℕ+) (u : ) (hu_sq : u ^ 2 < 9 * x ^ 22) :
                                u.natAbs 3 * x ^ 11
                                theorem u_bound_from_E4 (x : ℕ+) (u : ) (X : ) (hX : 1 < X) (hx_lower : x > X ^ (1 / 11)) (habs_le : |u ^ 2 - 5 * x ^ 22| 4 * X) :
                                u.natAbs 3 * x ^ 11
                                theorem radical_pow (n k : ) (hn : 0 < n) (hk : 0 < k) :
                                (n ^ k).radical = n.radical
                                theorem radical_prime (p : ) (hp : Nat.Prime p) :
                                theorem radical_factors_le (U x D : ) (hU : 0 < U) (hx : 0 < x) (hD : 0 < D) :
                                U.radical * D.radical * (Nat.radical 5 * x.radical) U * D * (5 * x)
                                theorem radical_chain_bound (U x D : ) (hU : 0 < U) (hx : 0 < x) (_hD : 0 < D) :
                                (U ^ 2 * D * (5 * x ^ 22)).radical U.radical * D.radical * (Nat.radical 5 * x.radical)
                                theorem radical_E4_bound_nat (U x D : ) (hU : 0 < U) (hx : 0 < x) (hD : 0 < D) :
                                (U ^ 2 * D * (5 * x ^ 22)).radical U * D * (5 * x)
                                theorem radical_E4_bound (U x D : ) (hU : 0 < U) (hx : 0 < x) (hD : 0 < D) :
                                (U ^ 2 * D * (5 * x ^ 22)).radical U * D * (5 * x)
                                theorem radical_E4_bound' (U x D : ) (hU : 0 < U) (hx : 0 < x) (hD : 0 < D) :
                                (5 * x ^ 22 * D * U ^ 2).radical 5 * x * D * U
                                theorem radical_dvd_le (d n : ) (hd : 0 < d) (hn : 0 < n) (hdvd : d n) :
                                theorem coprime_of_div_gcd (a b : ) (h : 0 < a.gcd b) :
                                (a / a.gcd b).Coprime (b / a.gcd b)
                                theorem gcd_reduction_coprime (a b : ) (ha : 0 < a) :
                                (a / a.gcd b).Coprime (b / a.gcd b)
                                theorem gcd_reduction_pos_a_div (a b : ) (ha : 0 < a) :
                                0 < a / a.gcd b
                                theorem gcd_reduction_pos_b_div (a b : ) (hb : 0 < b) :
                                0 < b / a.gcd b
                                theorem gcd_dvd_add (a b : ) :
                                a.gcd b a + b
                                theorem gcd_pos_of_sum_pos (a b c : ) (hc : 0 < c) (hsum : a + b = c) :
                                0 < a.gcd b
                                theorem gcd_reduction_pos_c_div (a b c : ) (hc : 0 < c) (hsum : a + b = c) :
                                0 < c / a.gcd b
                                theorem gcd_reduction_dvd_c (a b c : ) (hsum : a + b = c) :
                                a.gcd b c
                                theorem gcd_reduction_mul_div_cancel (a b c : ) (hsum : a + b = c) :
                                a.gcd b * (c / a.gcd b) = c
                                theorem abc_eq_gcd_cubed_mul (a b c : ) (_ha : 0 < a) (_hb : 0 < b) (_hc : 0 < c) (hsum : a + b = c) :
                                a * b * c = a.gcd b ^ 3 * (a / a.gcd b * (b / a.gcd b) * (c / a.gcd b))
                                theorem gcd_reduction_product_dvd (a b c : ) (ha : 0 < a) (hb : 0 < b) (hc : 0 < c) (hsum : a + b = c) :
                                a / a.gcd b * (b / a.gcd b) * (c / a.gcd b) a * b * c
                                theorem gcd_reduction (a b c : ) (ha : 0 < a) (hb : 0 < b) (hc : 0 < c) (hsum : a + b = c) :
                                have g := a.gcd b; (a / g).Coprime (b / g) a / g + b / g = c / g 0 < a / g 0 < b / g 0 < c / g g c g * (c / g) = c a / g * (b / g) * (c / g) a * b * c
                                theorem abc_triple_to_bound (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (habc_ineq : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (1 + ε)) (a b c : ) (ha : 0 < a) (hb : 0 < b) (hc : 0 < c) (hsum : a + b = c) (g_bound : ) (hg_bound : (a.gcd b) g_bound) (rad_bound : ) (hrad : (a * b * c).radical rad_bound) (hrad_nn : 0 rad_bound) :
                                c g_bound * K * rad_bound ^ (1 + ε)
                                theorem abc_E4_sum_eq (x : ℕ+) (u : ) (hD_pos : u ^ 2 - 5 * x ^ 22 > 0) :
                                5 * x ^ 22 + (u ^ 2 - 5 * x ^ 22).natAbs = u.natAbs ^ 2
                                theorem D_pos_of_hD_pos (x : ℕ+) (u : ) (hD_pos : u ^ 2 - 5 * x ^ 22 > 0) :
                                0 < (u ^ 2 - 5 * x ^ 22).natAbs
                                theorem gcd_le_D (x : ℕ+) (u : ) (hD_pos : u ^ 2 - 5 * x ^ 22 > 0) :
                                ((5 * x ^ 22).gcd (u ^ 2 - 5 * x ^ 22).natAbs) (u ^ 2 - 5 * x ^ 22).natAbs
                                theorem int_ineq_from_sub_pos (x : ℕ+) (u : ) (hD_pos : u ^ 2 - 5 * x ^ 22 > 0) :
                                5 * x ^ 22 < u ^ 2
                                theorem cast_int_ineq_to_real (x : ℕ+) (u : ) (h : 5 * x ^ 22 < u ^ 2) :
                                5 * x ^ 22 < u ^ 2
                                theorem natAbs_sq_real (u : ) :
                                u.natAbs ^ 2 = u ^ 2
                                theorem five_x22_lt_U_sq (x : ℕ+) (u : ) (hD_pos : u ^ 2 - 5 * x ^ 22 > 0) :
                                5 * x ^ 22 < u.natAbs ^ 2
                                theorem radical_E4_bound_reorder (U x D : ) (hU : 0 < U) (hx : 0 < x) (hD : 0 < D) :
                                (5 * x ^ 22 * D * U ^ 2).radical U * D * (5 * x)
                                theorem abc_E4_case_pos (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (habc_ineq : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (1 + ε)) (x : ℕ+) (u : ) (hu_ne : u 0) (hD_pos : u ^ 2 - 5 * x ^ 22 > 0) :
                                have D := (u ^ 2 - 5 * x ^ 22).natAbs; 5 * x ^ 22 D * K * (u.natAbs * D * (5 * x)) ^ (1 + ε)
                                theorem E4_neg_abc_sum_int (x : ℕ+) (u : ) (habs_pos : 1 |u ^ 2 - 5 * x ^ 22|) (hD_neg : u ^ 2 - 5 * x ^ 22 0) :
                                u.natAbs ^ 2 + (u ^ 2 - 5 * x ^ 22).natAbs = 5 * x ^ 22
                                theorem E4_neg_abc_sum (x : ℕ+) (u : ) (habs_pos : 1 |u ^ 2 - 5 * x ^ 22|) (hD_neg : u ^ 2 - 5 * x ^ 22 0) :
                                u.natAbs ^ 2 + (u ^ 2 - 5 * x ^ 22).natAbs = 5 * x ^ 22
                                theorem E4_neg_D_natAbs_pos (u : ) (x : ℕ+) (habs_pos : 1 |u ^ 2 - 5 * x ^ 22|) (hD_neg : u ^ 2 - 5 * x ^ 22 0) :
                                0 < (u ^ 2 - 5 * x ^ 22).natAbs
                                theorem natAbs_pos_of_ne_zero (y : ) (hy : y 0) :
                                0 < y.natAbs
                                theorem E4_neg_gcd_le_D (x : ℕ+) (u : ) (habs_pos : 1 |u ^ 2 - 5 * x ^ 22|) (_hD_neg : u ^ 2 - 5 * x ^ 22 0) :
                                ((u.natAbs ^ 2).gcd (u ^ 2 - 5 * x ^ 22).natAbs) (u ^ 2 - 5 * x ^ 22).natAbs
                                theorem abc_E4_case_neg (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (habc_ineq : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (1 + ε)) (x : ℕ+) (u : ) (hu_ne : u 0) (habs_pos : 1 |u ^ 2 - 5 * x ^ 22|) (hD_neg : u ^ 2 - 5 * x ^ 22 0) :
                                have D := (u ^ 2 - 5 * x ^ 22).natAbs; 5 * x ^ 22 D * K * (5 * x * D * u.natAbs) ^ (1 + ε)
                                theorem natAbs_D_eq_abs_cast (x : ℕ+) (u : ) :
                                (u ^ 2 - 5 * x ^ 22).natAbs = |u ^ 2 - 5 * x ^ 22|
                                theorem combine_pos_case (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (habc_ineq : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (1 + ε)) (x : ℕ+) (u : ) (hu_ne : u 0) (habs_pos : 1 |u ^ 2 - 5 * x ^ 22|) (hsgn : u ^ 2 - 5 * x ^ 22 > 0) :
                                5 * x ^ 22 |u ^ 2 - 5 * x ^ 22| * K * (5 * x * u.natAbs * |u ^ 2 - 5 * x ^ 22|) ^ (1 + ε)
                                theorem combine_neg_case (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (habc_ineq : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (1 + ε)) (x : ℕ+) (u : ) (hu_ne : u 0) (habs_pos : 1 |u ^ 2 - 5 * x ^ 22|) (hsgn : u ^ 2 - 5 * x ^ 22 0) :
                                5 * x ^ 22 |u ^ 2 - 5 * x ^ 22| * K * (5 * x * u.natAbs * |u ^ 2 - 5 * x ^ 22|) ^ (1 + ε)
                                theorem abc_gives_5x22_bound (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (habc_ineq : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (1 + ε)) (x : ℕ+) (u : ) (X : ) (_hX : 1 < X) (hu_ne : u 0) (habs_pos : 1 |u ^ 2 - 5 * x ^ 22|) (_habs_le : |u ^ 2 - 5 * x ^ 22| 4 * X) :
                                5 * x ^ 22 |u ^ 2 - 5 * x ^ 22| * K * (5 * x * u.natAbs * |u ^ 2 - 5 * x ^ 22|) ^ (1 + ε)
                                theorem product_bound_E4 (x : ℕ+) (u : ) (D : ) (hD : 0 D) (hu_bound : u.natAbs 3 * x ^ 11) :
                                5 * x * u.natAbs * D 15 * x ^ 12 * D
                                theorem product_nonneg_E4 (x : ℕ+) (u : ) (D : ) (hD : 0 D) :
                                0 5 * x * u.natAbs * D
                                theorem rpow_product_bound (x : ℕ+) (u : ) (D ε : ) ( : 0 < ε) (hD : 0 D) (hu_bound : u.natAbs 3 * x ^ 11) :
                                (5 * x * u.natAbs * D) ^ (1 + ε) (15 * x ^ 12 * D) ^ (1 + ε)
                                theorem combine_D_powers (D ε : ) (hD : 0 < D) :
                                D * D ^ (1 + ε) = D ^ (2 + ε)
                                theorem pnat_cast_nonneg (x : ℕ+) :
                                0 x
                                theorem pnat_pow_rpow_eq (x : ℕ+) (ε : ) :
                                (x ^ 12) ^ (1 + ε) = x ^ (12 * (1 + ε))
                                theorem expand_rhs (K ε : ) (_hε : 0 < ε) (x : ℕ+) (D : ) (hD_pos : 0 < D) :
                                D * K * (15 * x ^ 12 * D) ^ (1 + ε) = K * 15 ^ (1 + ε) * x ^ (12 * (1 + ε)) * D ^ (2 + ε)
                                theorem nat_pow_div_rpow_eq (x : ) (hx : 0 < x) (e : ) :
                                x ^ 22 / x ^ e = x ^ (22 - e)
                                theorem div_ineq_of_mul_le (a b c : ) (hc : 0 < c) (h : 5 * a b * c) :
                                a / c b / 5
                                theorem divide_and_simplify (K : ) (_hK : 0 < K) (ε : ) (_hε : 0 < ε) (_hε_bound : ε 1 / 24) (x : ℕ+) (D : ) (_hD_pos : 0 < D) (h : 5 * x ^ 22 K * 15 ^ (1 + ε) * x ^ (12 * (1 + ε)) * D ^ (2 + ε)) :
                                x ^ (10 - 12 * ε) K * 15 ^ (1 + ε) / 5 * D ^ (2 + ε)
                                theorem rearrange_to_target (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (hε_bound : ε 1 / 24) (x : ℕ+) (D : ) (hD_pos : 0 < D) (h : 5 * x ^ 22 D * K * (15 * x ^ 12 * D) ^ (1 + ε)) :
                                x ^ (10 - 12 * ε) K * 15 ^ (1 + ε) / 5 * D ^ (2 + ε)
                                theorem combine_h5x22_with_bound (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (x : ℕ+) (u : ) (D : ) (hD_pos : 0 < D) (hu_bound : u.natAbs 3 * x ^ 11) (h5x22 : 5 * x ^ 22 D * K * (5 * x * u.natAbs * D) ^ (1 + ε)) :
                                5 * x ^ 22 D * K * (15 * x ^ 12 * D) ^ (1 + ε)
                                theorem E4_algebraic_cleanup (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (hε_bound : ε 1 / 24) (x : ℕ+) (u : ) (D : ) (hD_pos : 0 < D) (_hD_ge_one : 1 D) (hu_bound : u.natAbs 3 * x ^ 11) (h5x22 : 5 * x ^ 22 D * K * (5 * x * u.natAbs * D) ^ (1 + ε)) :
                                x ^ (10 - 12 * ε) K * 15 ^ (1 + ε) / 5 * D ^ (2 + ε)
                                theorem exponent_cleanup_E4 (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (hε_bound : ε 1 / 24) :
                                ∃ (K₂ : ), 0 < K₂ ∃ (X₁ : ), 0 < X₁ ∀ (X : ), X₁ < X∀ (x : ℕ+) (u : ), x > X ^ (1 / 11)1 |u ^ 2 - 5 * x ^ 22||u ^ 2 - 5 * x ^ 22| 4 * X5 * x ^ 22 |u ^ 2 - 5 * x ^ 22| * K * (5 * x * u.natAbs * |u ^ 2 - 5 * x ^ 22|) ^ (1 + ε) → x ^ (10 - 12 * ε) K₂ * |u ^ 2 - 5 * x ^ 22| ^ (2 + ε)
                                theorem abc_core_E4 (habc : ABC) (ε : ) ( : 0 < ε) (hε_bound : ε 1 / 24) :
                                ∃ (K₂ : ), 0 < K₂ ∃ (X₁ : ), 0 < X₁ ∀ (X : ), X₁ < XpE4Set X, p.1 ^ (10 - 12 * ε) K₂ * |p.2 ^ 2 - 5 * p.1 ^ 22| ^ (2 + ε)
                                theorem x_from_power_bound_E4 (ε : ) ( : 0 < ε) (hε_bound : ε 1 / 24) (K₂ : ) (hK₂ : 0 < K₂) :
                                ∃ (K₃ : ), 0 < K₃ ∀ (X : ), 1 < XpE4Set X, p.1 ^ (10 - 12 * ε) K₂ * |p.2 ^ 2 - 5 * p.1 ^ 22| ^ (2 + ε) → p.1 K₃ * X ^ ((2 + ε) / (10 - 12 * ε))
                                theorem rpow_le_rpow_of_le_exp' {X a b : } (hX : 1 X) (hab : a b) :
                                X ^ a X ^ b
                                theorem x_bound_in_E4 (habc : ABC) (η : ) ( : 0 < η) :
                                ∃ (K₄ : ), 0 < K₄ ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < XpE4Set X, p.1 K₄ * X ^ (1 / 5 + η)
                                theorem cast_coercion_eq (p₁ : ℕ+) :
                                5 * p₁ ^ 22 = 5 * p₁ ^ 22
                                theorem abs_bound_to_upper_bound (u : ) (p₁ : ℕ+) (X : ) (h : |u ^ 2 - 5 * p₁ ^ 22| 4 * X) :
                                u ^ 2 5 * p₁ ^ 22 + 4 * X
                                theorem u_sq_le_of_mem_E4 (X : ) (p : ℕ+ × ) (hmem : p E4Set X) :
                                p.2 ^ 2 5 * p.1 ^ 22 + 4 * X
                                theorem u_sq_le_bound (X : ) (p : ℕ+ × ) (hmem : p E4Set X) (N : ) (hN : p.1 N) :
                                p.2 ^ 2 5 * N ^ 22 + 4 * X
                                theorem cast_abs_le_sqrt_of_sq_le (u : ) (B : ) (hB : u ^ 2 B) :
                                |u| B
                                theorem abs_le_ceil_of_cast_le_sqrt (u : ) (B : ) (h : |u| B) :
                                theorem abs_le_ceil_sqrt_of_sq_le (u : ) (B : ) (hB : u ^ 2 B) :
                                theorem u_bound_from_E4_membership (X : ) (p : ℕ+ × ) (hmem : p E4Set X) (N : ) (hN : p.1 N) :
                                |p.2| (5 * N ^ 22 + 4 * X)⌉₊
                                theorem E4_set_bounded_of_abc (habc : ABC) :
                                ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X∃ (N : ) (M : ), pE4Set X, p.1 N |p.2| M
                                theorem E4_set_finite_of_abc (habc : ABC) :
                                ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X(E4Set X).Finite
                                theorem witness_in_E4_set (R : RamanujanTau) (X : ) (p : ℕ+) (hp : Nat.Prime p) (hp_large : p > X ^ (1 / 11)) ( : ) (hℓ_prime : Nat.Prime ) (hℓ_le : X) (hℓ_eq : (R.τ (p ^ 4)).natAbs = ) :
                                (p, 2 * R.τ p ^ 2 - 3 * p ^ 11) E4Set X
                                theorem ncard_witness_le_E4 (R : RamanujanTau) (X : ) (hfin : (E4Set X).Finite) :
                                { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p p > X ^ (1 / 11) (R.τ (p ^ 4)).natAbs = }.ncard E4 X
                                theorem large_primes_k2_bound (R : RamanujanTau) (habc : ABC) :
                                ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X{ : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p p > X ^ (1 / 11) (R.τ (p ^ 4)).natAbs = }.ncard (E4 X)
                                theorem k2_set_split (R : RamanujanTau) (X : ) :
                                { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 4)).natAbs = } { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p p X ^ (1 / 11) (R.τ (p ^ 4)).natAbs = } { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p p > X ^ (1 / 11) (R.τ (p ^ 4)).natAbs = }
                                theorem k2_target_set_finite (R : RamanujanTau) (X : ) :
                                { : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 4)).natAbs = }.Finite
                                theorem k2_contribution_abc (R : RamanujanTau) (habc : ABC) :
                                ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X{ : | Nat.Prime X ∃ (p : ℕ+), Nat.Prime p (R.τ (p ^ 4)).natAbs = }.ncard (E4 X) + X ^ (6 / 11)
                                theorem reduction_lemma_core (R : RamanujanTau) (habc : ABC) (h54 : Proposition54 R) :
                                ∃ (C : ), 0 < C ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X(S R X) C * (X ^ (1 / 2) * Real.log X + X ^ (13 / 22) + X ^ (6 / 11) + (E2 X) + (E4 X))
                                theorem reduction_lemma (R : RamanujanTau) (habc : ABC) (h54 : Proposition54 R) :
                                ∃ (C : ), 0 < C ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X(S R X) C * (X ^ (1 / 2) * Real.log X + X ^ (13 / 22) + X ^ (6 / 11) + (E2 X) + (E4 X))
                                theorem E2Helpers.eventually_rpow_ge_const {C a b : } (_hC : 0 < C) (hab : a < b) :
                                ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < XC X ^ (b - a)
                                theorem E2Helpers.rpow_diff_mul_rpow_le {C a b X : } (hX : 0 < X) (h : C X ^ (b - a)) :
                                C * X ^ a X ^ b
                                theorem E2Helpers.E2_caseA_mem (X : ) (x : ℕ+) (y : ) (h_abs_le : |x ^ 11 - y ^ 2| X) (h_sign : y ^ 2 x ^ 11 - 1) :
                                y {y : | y ^ 2 x ^ 11 - 1 ↑(x ^ 11 - y ^ 2) X}
                                theorem E2Helpers.E2_caseB_mem (X : ) (x : ℕ+) (y : ) (h_abs_le : |x ^ 11 - y ^ 2| X) (h_sign : x ^ 11 + 1 y ^ 2) :
                                y {y : | x ^ 11 + 1 y ^ 2 ↑(y ^ 2 - x ^ 11) X}
                                theorem E2Helpers.E2_fiber_subset_union (X : ) (_hX : 2 < X) (x : ℕ+) (_hx : x > X ^ (2 / 11)) :
                                {y : | (x, y) E2Set X} {y : | y ^ 2 x ^ 11 - 1 ↑(x ^ 11 - y ^ 2) X} {y : | x ^ 11 + 1 y ^ 2 ↑(y ^ 2 - x ^ 11) X}
                                theorem E2Helpers.sq_le_imp_mem_Icc (x : ℕ+) (y : ) (hy : y ^ 2 x ^ 11 - 1) :
                                y Set.Icc (-x ^ 11) (x ^ 11)
                                theorem E2Helpers.E2_caseA_finite (X : ) (_hX : 2 < X) (x : ℕ+) (_hx : x > X ^ (2 / 11)) :
                                {y : | y ^ 2 x ^ 11 - 1 ↑(x ^ 11 - y ^ 2) X}.Finite
                                theorem E2Helpers.nonneg_int_short_interval_finite (a b : ) (_hab : a b) :
                                {n : | 0 n a n n b}.Finite
                                theorem E2Helpers.int_eq_of_cast_in_short_interval (n₁ n₂ : ) (a b : ) (hlen : b - a < 1) (ha1 : a n₁) (hb1 : n₁ b) (ha2 : a n₂) (hb2 : n₂ b) :
                                n₁ = n₂
                                theorem E2Helpers.ncard_nonneg_int_in_short_interval (a b : ) (hab : a b) (hlen : b - a < 1) (_ha : 0 a) :
                                {n : | 0 n a n n b}.ncard 1
                                theorem E2Helpers.rpow_two_eleven_eq_sq (X : ) (hX : 0 < X) :
                                (X ^ (2 / 11)) ^ 11 = X ^ 2
                                theorem E2Helpers.pow_eleven_strict_mono (X : ) (hX : 0 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                (X ^ (2 / 11)) ^ 11 < x ^ 11
                                theorem E2Helpers.x11_gt_X_sq (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                x ^ 11 > X ^ 2
                                theorem E2Helpers.x11_sub_X_pos (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                x ^ 11 - X > 0
                                theorem E2Helpers.x11_sub_one_pos (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                x ^ 11 - 1 > 0
                                theorem E2Helpers.sqrt_x11_sub_one_gt_one (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                (x ^ 11 - 1) > 1
                                theorem E2Helpers.x11_sub_X_gt_X_mul_X_sub_one (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                x ^ 11 - X > X * (X - 1)
                                theorem E2Helpers.sqrt_x11_sub_X_gt (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                (x ^ 11 - X) > (X * (X - 1))
                                theorem E2Helpers.sq_sub_two_lt_mul (X : ) (hX : 2 < X) :
                                (X - 2) ^ 2 < X * (X - 1)
                                theorem E2Helpers.one_plus_sqrt_gt_X_sub_one (X : ) (hX : 2 < X) :
                                1 + (X * (X - 1)) > X - 1
                                theorem E2Helpers.denom_gt_X_sub_one (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                (x ^ 11 - 1) + (x ^ 11 - X) > X - 1
                                theorem E2Helpers.interval_length_lt_one (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                (x ^ 11 - 1) - (x ^ 11 - X) < 1
                                theorem E2Helpers.subset_natAbs_eq_ncard_le_two (n : ) (T : Set ) (_hfin : T.Finite) (hT : yT, y.natAbs = n) :
                                theorem E2Helpers.natAbs_cast_sq_eq (y : ) :
                                y.natAbs ^ 2 = ↑(y ^ 2)
                                theorem E2Helpers.natAbs_sq_le_cast_real (x : ℕ+) (y : ) (hy_sq : y ^ 2 x ^ 11 - 1) :
                                y.natAbs ^ 2 x ^ 11 - 1
                                theorem E2Helpers.upper_bound_from_sq_le (x : ℕ+) (y : ) (X : ) (hX : 2 < X) (hx : x > X ^ (2 / 11)) (hy_sq : y ^ 2 x ^ 11 - 1) :
                                y.natAbs (x ^ 11 - 1)
                                theorem E2Helpers.natAbs_cast_sq_eq' (y : ) :
                                y.natAbs ^ 2 = y ^ 2
                                theorem E2Helpers.rearrange_diff_le (x : ℕ+) (y : ) (X : ) (hy_diff : ↑(x ^ 11 - y ^ 2) X) :
                                x ^ 11 - X y.natAbs ^ 2
                                theorem E2Helpers.lower_bound_from_diff_le (x : ℕ+) (y : ) (X : ) (_hX : 2 < X) (_hx : x > X ^ (2 / 11)) (hy_diff : ↑(x ^ 11 - y ^ 2) X) :
                                (x ^ 11 - X) y.natAbs
                                theorem E2Helpers.natAbs_image_subset_nonneg_interval (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                Nat.cast '' Int.natAbs '' {y : | y ^ 2 x ^ 11 - 1 ↑(x ^ 11 - y ^ 2) X} {n : | 0 n (x ^ 11 - X) n n (x ^ 11 - 1)}
                                theorem E2Helpers.E2_caseA_abs_image_ncard (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                (Int.natAbs '' {y : | y ^ 2 x ^ 11 - 1 ↑(x ^ 11 - y ^ 2) X}).ncard 1
                                theorem E2Helpers.E2_caseA_ncard (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                {y : | y ^ 2 x ^ 11 - 1 ↑(x ^ 11 - y ^ 2) X}.ncard 2
                                theorem E2Helpers.int_abs_le_ceil_sqrt (y : ) (M : ) (_hM : 0 M) (hy : y ^ 2 M) :
                                theorem E2Helpers.int_mem_Icc_ceil_sqrt_of_sq_le (y : ) (M : ) (_hM : 0 M) (hy : y ^ 2 M) :
                                theorem E2Helpers.y_sq_le_x11_add_X_from_set (X : ) (x : ℕ+) (y : ) (h : ↑(y ^ 2 - x ^ 11) X) :
                                y ^ 2 x ^ 11 + X
                                theorem E2Helpers.E2_caseB_subset_Icc (X : ) (hX : 2 < X) (x : ℕ+) (_hx : x > X ^ (2 / 11)) :
                                {y : | x ^ 11 + 1 y ^ 2 ↑(y ^ 2 - x ^ 11) X} Set.Icc (-(x ^ 11 + X)) (x ^ 11 + X)
                                theorem E2Helpers.E2_caseB_finite (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                {y : | x ^ 11 + 1 y ^ 2 ↑(y ^ 2 - x ^ 11) X}.Finite
                                theorem E2Helpers.sqrt_x11_add_one_gt_X (X : ) (_hX_pos : 0 < X) (x_pow : ) (hx_pow : x_pow > X ^ 2) :
                                X < (x_pow + 1)
                                theorem E2Helpers.sq_lt_xpow_add_X (X : ) (_hX_pos : 0 < X) (x_pow : ) (hx_pow : x_pow > X ^ 2) :
                                X ^ 2 < x_pow + X
                                theorem E2Helpers.sqrt_x11_add_X_gt_X (X : ) (hX_pos : 0 < X) (x_pow : ) (hx_pow : x_pow > X ^ 2) :
                                X < (x_pow + X)
                                theorem E2Helpers.denom_gt_two_X (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                (x ^ 11 + X) + (x ^ 11 + 1) > 2 * X
                                theorem E2Helpers.X_sub_one_div_two_X_lt_one (X : ) (hX : 2 < X) :
                                (X - 1) / (2 * X) < 1
                                theorem E2Helpers.caseB_interval_length_lt_one (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                (x ^ 11 + X) - (x ^ 11 + 1) < 1
                                theorem E2Helpers.caseB_lower_bound_cast_ineq (x : ℕ+) (y : ) (h : x ^ 11 + 1 y ^ 2) :
                                x ^ 11 + 1 y.natAbs ^ 2
                                theorem E2Helpers.caseB_lower_bound (x : ℕ+) (y : ) (hy_lower : x ^ 11 + 1 y ^ 2) :
                                (x ^ 11 + 1) y.natAbs
                                theorem E2Helpers.caseB_upper_bound (X : ) (x : ℕ+) (y : ) (_hy_lower : x ^ 11 + 1 y ^ 2) (hy_upper : ↑(y ^ 2 - x ^ 11) X) :
                                y.natAbs (x ^ 11 + X)
                                theorem E2Helpers.caseB_natAbs_bounds (X : ) (x : ℕ+) (y : ) (hy_lower : x ^ 11 + 1 y ^ 2) (hy_upper : ↑(y ^ 2 - x ^ 11) X) :
                                (x ^ 11 + 1) y.natAbs y.natAbs (x ^ 11 + X)
                                theorem E2Helpers.caseB_natAbs_image_subset (X : ) (_hX : 2 < X) (x : ℕ+) (_hx : x > X ^ (2 / 11)) :
                                Int.natAbs '' {y : | x ^ 11 + 1 y ^ 2 ↑(y ^ 2 - x ^ 11) X} {n : | (x ^ 11 + 1) n n (x ^ 11 + X)}
                                theorem E2Helpers.nat_image_subset_int_set (a b : ) :
                                Nat.cast '' {n : | a n n b} {n : | 0 n a n n b}
                                theorem E2Helpers.ncard_nat_in_short_interval (a b : ) (hab : a b) (hlen : b - a < 1) (ha : 0 a) :
                                {n : | a n n b}.ncard 1
                                theorem E2Helpers.caseB_nat_interval_subset_Iic (X : ) (x : ℕ+) :
                                {n : | (x ^ 11 + 1) n n (x ^ 11 + X)} {n : | n (x ^ 11 + X)⌉₊}
                                theorem E2Helpers.caseB_nat_interval_finite (X : ) (_hX : 2 < X) (x : ℕ+) (_hx : x > X ^ (2 / 11)) :
                                {n : | (x ^ 11 + 1) n n (x ^ 11 + X)}.Finite
                                theorem E2Helpers.E2_caseB_abs_image_ncard (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                (Int.natAbs '' {y : | x ^ 11 + 1 y ^ 2 ↑(y ^ 2 - x ^ 11) X}).ncard 1
                                theorem E2Helpers.E2_caseB_finite_and_abs_image (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                have S := {y : | x ^ 11 + 1 y ^ 2 ↑(y ^ 2 - x ^ 11) X}; S.Finite (Int.natAbs '' S).ncard 1
                                theorem E2Helpers.E2_caseB_ncard (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                {y : | x ^ 11 + 1 y ^ 2 ↑(y ^ 2 - x ^ 11) X}.ncard 2
                                theorem E2Helpers.E2_cases_finite (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                ({y : | y ^ 2 x ^ 11 - 1 ↑(x ^ 11 - y ^ 2) X} {y : | x ^ 11 + 1 y ^ 2 ↑(y ^ 2 - x ^ 11) X}).Finite
                                theorem E2Helpers.E2_fiber_bound (X : ) (hX : 2 < X) (x : ℕ+) (hx : x > X ^ (2 / 11)) :
                                theorem E2Helpers.E2XBoundHelpers.X_lt_X_sq (X : ) (hX : 1 < X) :
                                X < X ^ 2
                                theorem E2Helpers.E2XBoundHelpers.x11_pow_gt_X (x : ℕ+) (X : ) (hX : 1 < X) (hx_lower : x > X ^ (2 / 11)) :
                                x ^ 11 > X
                                theorem E2Helpers.E2XBoundHelpers.y_ne_zero_of_E2 (x : ℕ+) (y : ) (X : ) (hX : 1 < X) (hx_lower : x > X ^ (2 / 11)) (habs_pos : 1 |x ^ 11 - y ^ 2|) (habs_le : |x ^ 11 - y ^ 2| X) :
                                y 0
                                theorem E2Helpers.E2XBoundHelpers.radical_abc_bound (x Y B : ) (hx : 0 < x) (hY : 0 < Y) (hB : 0 < B) :
                                (Y ^ 2 * B * x ^ 11).radical Y * B * x
                                theorem E2Helpers.E2XBoundHelpers.radical_abc_bound'_nat (x Y B : ) (hx : 0 < x) (hY : 0 < Y) (hB : 0 < B) :
                                (x ^ 11 * B * Y ^ 2).radical x * B * Y
                                theorem E2Helpers.E2XBoundHelpers.radical_abc_bound' (x Y B : ) (hx : 0 < x) (hY : 0 < Y) (hB : 0 < B) :
                                (x ^ 11 * B * Y ^ 2).radical x * B * Y
                                theorem E2Helpers.E2XBoundHelpers.abc_triple_sum_case1 (x : ℕ+) (y : ) (hge : x ^ 11 y ^ 2) :
                                y.natAbs ^ 2 + (x ^ 11 - y ^ 2).natAbs = x ^ 11
                                theorem E2Helpers.E2XBoundHelpers.B_nat_pos (x : ℕ+) (y : ) (habs_pos : 1 |x ^ 11 - y ^ 2|) :
                                0 < (x ^ 11 - y ^ 2).natAbs
                                theorem E2Helpers.E2XBoundHelpers.natAbs_cast_le_X (x : ℕ+) (y : ) (X : ) (habs_le : |x ^ 11 - y ^ 2| X) (_hge : x ^ 11 y ^ 2) :
                                (x ^ 11 - y ^ 2).natAbs X
                                theorem E2Helpers.E2XBoundHelpers.gcd_le_natAbs (x : ℕ+) (y : ) (hpos : 0 < (x ^ 11 - y ^ 2).natAbs) :
                                (y.natAbs ^ 2).gcd (x ^ 11 - y ^ 2).natAbs (x ^ 11 - y ^ 2).natAbs
                                theorem E2Helpers.E2XBoundHelpers.gcd_le_X_case1 (x : ℕ+) (y : ) (X : ) (habs_pos : 1 |x ^ 11 - y ^ 2|) (habs_le : |x ^ 11 - y ^ 2| X) (hge : x ^ 11 y ^ 2) :
                                ((y.natAbs ^ 2).gcd (x ^ 11 - y ^ 2).natAbs) X
                                theorem E2Helpers.E2XBoundHelpers.rad_bound_le_case1 (x : ℕ+) (y : ) (X : ) (habs_le : |x ^ 11 - y ^ 2| X) (_hge : x ^ 11 y ^ 2) :
                                y.natAbs * (x ^ 11 - y ^ 2).natAbs * x x * y.natAbs * X
                                theorem E2Helpers.E2XBoundHelpers.chain_bound_case1 (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (x : ℕ+) (y : ) (X : ) (hX : 1 < X) (h_abc : x ^ 11 X * K * (y.natAbs * (x ^ 11 - y ^ 2).natAbs * x) ^ (1 + ε)) (h_rad_le : y.natAbs * (x ^ 11 - y ^ 2).natAbs * x x * y.natAbs * X) :
                                x ^ 11 K * X * (x * y.natAbs * X) ^ (1 + ε)
                                theorem E2Helpers.E2XBoundHelpers.abc_case_x11_ge_y2 (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (habc_ineq : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (1 + ε)) (x : ℕ+) (y : ) (X : ) (hX : 1 < X) (hy_ne : y 0) (habs_pos : 1 |x ^ 11 - y ^ 2|) (habs_le : |x ^ 11 - y ^ 2| X) (hge : x ^ 11 y ^ 2) :
                                x ^ 11 K * X * (x * y.natAbs * X) ^ (1 + ε)
                                theorem E2Helpers.E2XBoundHelpers.x11_le_natAbs_sq (x : ℕ+) (y : ) (hlt : x ^ 11 < y ^ 2) :
                                x ^ 11 y.natAbs ^ 2
                                theorem E2Helpers.E2XBoundHelpers.B_pos_of_x11_lt_y2 (x : ℕ+) (y : ) (hlt : x ^ 11 < y ^ 2) :
                                0 < y.natAbs ^ 2 - x ^ 11
                                theorem E2Helpers.E2XBoundHelpers.abc_sum_eq_of_x11_lt_y2 (x : ℕ+) (y : ) (hlt : x ^ 11 < y ^ 2) :
                                x ^ 11 + (y.natAbs ^ 2 - x ^ 11) = y.natAbs ^ 2
                                theorem E2Helpers.E2XBoundHelpers.gcd_le_B (x : ℕ+) (y : ) (hlt : x ^ 11 < y ^ 2) :
                                ((x ^ 11).gcd (y.natAbs ^ 2 - x ^ 11)) ↑(y.natAbs ^ 2 - x ^ 11)
                                theorem E2Helpers.E2XBoundHelpers.abs_int_sub_eq_reverse (x : ℕ+) (y : ) (hlt : x ^ 11 < y ^ 2) :
                                |x ^ 11 - y ^ 2| = y ^ 2 - x ^ 11
                                theorem E2Helpers.E2XBoundHelpers.abs_eq_reverse_sub_real (x : ℕ+) (y : ) (hlt : x ^ 11 < y ^ 2) :
                                |x ^ 11 - y ^ 2| = ↑(y ^ 2 - x ^ 11)
                                theorem E2Helpers.E2XBoundHelpers.B_cast_le_X (x : ℕ+) (y : ) (X : ) (habs_le : |x ^ 11 - y ^ 2| X) (hlt : x ^ 11 < y ^ 2) :
                                ↑(y.natAbs ^ 2 - x ^ 11) X
                                theorem E2Helpers.E2XBoundHelpers.rad_bound_le (x : ℕ+) (y : ) (X : ) (habs_le : |x ^ 11 - y ^ 2| X) (hlt : x ^ 11 < y ^ 2) :
                                x * ↑(y.natAbs ^ 2 - x ^ 11) * y.natAbs x * y.natAbs * X
                                theorem E2Helpers.E2XBoundHelpers.x11_le_y2_real (x : ℕ+) (y : ) (hlt : x ^ 11 < y ^ 2) :
                                x ^ 11 ↑(y.natAbs ^ 2)
                                theorem E2Helpers.E2XBoundHelpers.rad_bound_nonneg (x : ℕ+) (y : ) (X : ) (hX : 1 < X) :
                                0 x * y.natAbs * X
                                theorem E2Helpers.E2XBoundHelpers.abc_case_x11_lt_y2 (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (habc_ineq : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (1 + ε)) (x : ℕ+) (y : ) (X : ) (hX : 1 < X) (hy_ne : y 0) (_habs_pos : 1 |x ^ 11 - y ^ 2|) (habs_le : |x ^ 11 - y ^ 2| X) (hlt : x ^ 11 < y ^ 2) :
                                x ^ 11 K * X * (x * y.natAbs * X) ^ (1 + ε)
                                theorem E2Helpers.E2XBoundHelpers.abc_gives_x11_bound (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (habc_ineq : ∀ (a b c : ), 0 < a0 < b0 < ca.Coprime ba + b = cc K * (a * b * c).radical ^ (1 + ε)) (x : ℕ+) (y : ) (X : ) (hX : 1 < X) (hx_lower : x > X ^ (2 / 11)) (habs_pos : 1 |x ^ 11 - y ^ 2|) (habs_le : |x ^ 11 - y ^ 2| X) :
                                x ^ 11 K * X * (x * y.natAbs * X) ^ (1 + ε)
                                theorem E2Helpers.E2XBoundHelpers.y_sq_le_x11_add_X (x : ℕ+) (y : ) (X : ) (habs_le : |x ^ 11 - y ^ 2| X) :
                                y ^ 2 x ^ 11 + X
                                theorem E2Helpers.E2XBoundHelpers.natAbs_y_sq_le_two_mul_x11 (x : ℕ+) (y : ) (X : ) (hX : 1 < X) (hx_lower : x > X ^ (2 / 11)) (habs_le : |x ^ 11 - y ^ 2| X) :
                                y.natAbs ^ 2 2 * x ^ 11
                                theorem E2Helpers.E2XBoundHelpers.sqrt_two_mul_x11_eq (x : ℕ+) :
                                (2 * x ^ 11) = 2 * x ^ (11 / 2)
                                theorem E2Helpers.E2XBoundHelpers.natAbs_le_sqrt_of_sq_le (y : ) (b : ) (_hb : 0 b) (h : y.natAbs ^ 2 b) :
                                y.natAbs b
                                theorem E2Helpers.E2XBoundHelpers.Y_bound_from_E2 (x : ℕ+) (y : ) (X : ) (hX : 1 < X) (hx_lower : x > X ^ (2 / 11)) (_habs_pos : 1 |x ^ 11 - y ^ 2|) (habs_le : |x ^ 11 - y ^ 2| X) :
                                y.natAbs 2 * x ^ (11 / 2)
                                theorem E2Helpers.E2XBoundHelpers.combine_bounds_to_x_bound (K : ) (hK : 0 < K) (ε : ) ( : 0 < ε) (hε' : ε < 9 / 13) (x : ℕ+) (X : ) (hX : 1 < X) (Y : ) (hY : 0 Y) (h_x11 : x ^ 11 K * X * (x * Y * X) ^ (1 + ε)) (h_Y : Y 2 * x ^ (11 / 2)) :
                                x (K * 2 ^ (1 + ε)) ^ (2 / (9 - 13 * ε)) * X ^ ((4 + 2 * ε) / (9 - 13 * ε))
                                theorem E2Helpers.E2XBoundHelpers.cx_pos (K : ) (hK : 0 < K) (ε : ) (_hε : 0 < ε) (_hε' : ε < 9 / 13) :
                                0 < (K * 2 ^ (1 + ε)) ^ (2 / (9 - 13 * ε))
                                theorem E2Helpers.E2XBoundHelpers.E2_x_bound_from_abc (habc : ABC) (ε : ) ( : 0 < ε) (hε' : ε < 9 / 13) :
                                ∃ (Cx : ), 0 < Cx ∃ (X₁ : ), 0 < X₁ ∀ (X : ), X₁ < XpE2Set X, p.1 Cx * X ^ ((4 + 2 * ε) / (9 - 13 * ε))
                                theorem E2Helpers.E2_x_bound_from_abc (habc : ABC) (ε : ) ( : 0 < ε) (hε' : ε < 9 / 13) :
                                ∃ (Cx : ), 0 < Cx ∃ (X₁ : ), 0 < X₁ ∀ (X : ), X₁ < XpE2Set X, p.1 Cx * X ^ ((4 + 2 * ε) / (9 - 13 * ε))
                                theorem E2Helpers.exponent_comparison_strict (η ε : ) ( : 0 < η) (hε1 : 0 < ε) (hε2 : ε η / 4) (hε3 : ε 1 / 10) :
                                (4 + 2 * ε) / (9 - 13 * ε) < 4 / 9 + η
                                theorem E2Helpers.E2NcardHelpers.y_sq_le_real_of_E2_cond (x : ℕ+) (y : ) (X : ) (h2 : |x ^ 11 - y ^ 2| X) :
                                y ^ 2 x ^ 11 + X
                                theorem E2Helpers.E2NcardHelpers.pnatLe_ceil_of_le (x : ℕ+) (B : ) (_hB : 0 < B) (hx : x B) :
                                theorem E2Helpers.E2NcardHelpers.y_sq_le_ceil_pow_add (x : ℕ+) (y : ) (X B : ) (hB : 0 < B) (hx_le_B : x B) (hy_sq : y ^ 2 x ^ 11 + X) :
                                y ^ 2 B⌉₊ ^ 11 + X
                                theorem E2Helpers.E2NcardHelpers.E2_set_subset_bounded_prod (X B : ) (hX : 2 < X) (hB : 0 < B) (hxbound : pE2Set X, p.1 B) :
                                E2Set X {x : ℕ+ | x B} ×ˢ Set.Icc (-(B⌉₊ ^ 11 + X)) (B⌉₊ ^ 11 + X)
                                theorem E2Helpers.E2NcardHelpers.E2_set_finite (X B : ) (hX : 2 < X) (hB : 0 < B) (hxbound : pE2Set X, p.1 B) :
                                theorem E2Helpers.E2NcardHelpers.E2_fst_gt_of_mem_image (X : ) (hfin : (E2Set X).Finite) (x : ℕ+) (hx : x Finset.image Prod.fst hfin.toFinset) :
                                x > X ^ (2 / 11)
                                theorem E2Helpers.E2NcardHelpers.E2_filter_eq_image (X : ) (hfin : (E2Set X).Finite) (x : ℕ+) (hfib : {y : | (x, y) E2Set X}.Finite) :
                                {ahfin.toFinset | a.1 = x} = Finset.image (fun (y : ) => (x, y)) hfib.toFinset
                                theorem E2Helpers.E2NcardHelpers.E2_finset_fiber_card_le (X : ) (_hX : 2 < X) (hfin : (E2Set X).Finite) (hfiber : ∀ (x : ℕ+), x > X ^ (2 / 11){y : | (x, y) E2Set X}.ncard 4) (x : ℕ+) (hx : x Finset.image Prod.fst hfin.toFinset) :
                                {ahfin.toFinset | a.1 = x}.card 4
                                theorem E2Helpers.E2NcardHelpers.pnat_nat_image_subset_Icc (X B : ) (_hB : 0 < B) (hfin : (E2Set X).Finite) (hxbound : pE2Set X, p.1 B) :
                                theorem E2Helpers.E2NcardHelpers.E2_fst_image_card_le (X B : ) (hB : 0 < B) (hfin : (E2Set X).Finite) (hxbound : pE2Set X, p.1 B) :
                                theorem E2Helpers.E2NcardHelpers.E2_ncard_le_nat (X B : ) (hX : 2 < X) (hB : 0 < B) (hfin : (E2Set X).Finite) (hfiber : ∀ (x : ℕ+), x > X ^ (2 / 11){y : | (x, y) E2Set X}.ncard 4) (hxbound : pE2Set X, p.1 B) :
                                E2 X 4 * (B⌋₊ + 1)
                                theorem E2Helpers.E2NcardHelpers.E2_ncard_le_via_fibers (X B : ) (hX : 2 < X) (hB : 0 < B) (hfiber : ∀ (x : ℕ+), x > X ^ (2 / 11){y : | (x, y) E2Set X}.ncard 4) (hxbound : pE2Set X, p.1 B) :
                                (E2 X) 4 * (B + 1)
                                theorem E2Helpers.E2_ncard_le_via_fibers (X B : ) (hX : 2 < X) (hB : 0 < B) (hfiber : ∀ (x : ℕ+), x > X ^ (2 / 11){y : | (x, y) E2Set X}.ncard 4) (hxbound : pE2Set X, p.1 B) :
                                (E2 X) 4 * (B + 1)
                                theorem abc_bound_E2_core (habc : ABC) (η : ) ( : 0 < η) :
                                ∃ (C : ), 0 < C ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X(E2 X) C * X ^ (4 / 9 + η)
                                theorem abc_bound_E2 (habc : ABC) (η : ) ( : 0 < η) :
                                ∃ (C : ), 0 < C ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X(E2 X) C * X ^ (4 / 9 + η)
                                theorem E4Helpers.u_fiber_bound :
                                ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X∀ (x : ℕ+), {u : | (x, u) E4Set X}.ncard 10
                                theorem E4Helpers.E4_fiber_ncard_le (X : ) (hX : 4 < X) (x : ℕ+) :
                                theorem E4Helpers.pnat_bounded_finite (B : ) (_hB : 0 < B) :
                                {x : ℕ+ | x B}.Finite
                                theorem E4Helpers.pow22_le_of_le (x : ℕ+) (B : ) (hxB : x B) :
                                x ^ 22 B ^ 22
                                theorem E4Helpers.u_sq_le_of_E4 (X B : ) (hx : pE4Set X, p.1 B) (p : ℕ+ × ) (hp : p E4Set X) :
                                p.2 ^ 2 5 * B ^ 22 + 4 * X
                                theorem E4Helpers.bound_nonneg_of_E4 (X B : ) (hx : pE4Set X, p.1 B) (p : ℕ+ × ) (hp : p E4Set X) :
                                0 5 * B ^ 22 + 4 * X
                                theorem E4Helpers.u_in_Icc_of_E4 (X B : ) (hx : pE4Set X, p.1 B) (p : ℕ+ × ) (hp : p E4Set X) :
                                p.2 Set.Icc (-(5 * B ^ 22 + 4 * X)) (5 * B ^ 22 + 4 * X)
                                theorem E4Helpers.E4_set_subset_prod (X B : ) (hx : pE4Set X, p.1 B) :
                                E4Set X {x : ℕ+ | x B} ×ˢ Set.Icc (-(5 * B ^ 22 + 4 * X)) (5 * B ^ 22 + 4 * X)
                                theorem E4Helpers.E4_set_finite_of_bounded (X B : ) (hB : 0 < B) (_hX : 4 < X) (hx : pE4Set X, p.1 B) :
                                theorem E4Helpers.E4_fiber_finite (X : ) (hfin : (E4Set X).Finite) (x : ℕ+) :
                                theorem E4Helpers.E4_filter_image_subset_fiber (X : ) (hfin : (E4Set X).Finite) (x : ℕ+) :
                                Finset.image Prod.snd ({ahfin.toFinset | a.1 = x}) .toFinset
                                theorem E4Helpers.E4_snd_injOn_filter (X : ) (hfin : (E4Set X).Finite) (x : ℕ+) :
                                Set.InjOn Prod.snd ({ahfin.toFinset | a.1 = x})
                                theorem E4Helpers.E4_filter_card_le_fiber_ncard (X : ) (hfin : (E4Set X).Finite) (x : ℕ+) :
                                {ahfin.toFinset | a.1 = x}.card {u : | (x, u) E4Set X}.ncard
                                theorem E4Helpers.E4_finset_fiber_card_le (X : ) (hX : 4 < X) (hfin : (E4Set X).Finite) (x : ℕ+) :
                                {ahfin.toFinset | a.1 = x}.card 4
                                theorem E4Helpers.pnat_finset_card_le_floor_add_one (s : Finset ℕ+) (B : ) (hs : xs, x B) :
                                theorem E4Helpers.E4_fst_image_card_le (X B : ) (_hB : 0 < B) (hfin : (E4Set X).Finite) (hx : pE4Set X, p.1 B) :
                                theorem E4Helpers.E4_ncard_le_mul_floor (X B : ) (hB : 0 < B) (hX : 4 < X) (hfin : (E4Set X).Finite) (hx : pE4Set X, p.1 B) :
                                E4 X 4 * (B⌋₊ + 1)
                                theorem E4Helpers.E4_real_bound_from_nat (X B : ) (hB : 0 < B) (h : E4 X 4 * (B⌋₊ + 1)) :
                                (E4 X) 4 * (B + 1)
                                theorem E4Helpers.absorb_additive_const (η K₄ : ) ( : 0 < η) (_hK₄ : 0 < K₄) :
                                ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X4 * (K₄ * X ^ (1 / 5 + η) + 1) 4 * (K₄ + 1) * X ^ (1 / 5 + η)
                                theorem E4Helpers.E4_bound_from_x_and_fiber (η : ) ( : 0 < η) (K₄ : ) (hK₄ : 0 < K₄) (X₀_x : ) (hX₀_x : 0 < X₀_x) (hx_bound : ∀ (X : ), X₀_x < XpE4Set X, p.1 K₄ * X ^ (1 / 5 + η)) (X₀_u : ) (_hX₀_u : 0 < X₀_u) (_hu_bound : ∀ (X : ), X₀_u < X∀ (x : ℕ+), {u : | (x, u) E4Set X}.ncard 10) :
                                ∃ (C : ), 0 < C ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X(E4 X) C * X ^ (1 / 5 + η)
                                theorem abc_bound_E4_core (habc : ABC) (η : ) ( : 0 < η) :
                                ∃ (C : ), 0 < C ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X(E4 X) C * X ^ (1 / 5 + η)
                                theorem abc_bound_E4 (habc : ABC) (η : ) ( : 0 < η) :
                                ∃ (C : ), 0 < C ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X(E4 X) C * X ^ (1 / 5 + η)
                                theorem absorb_const_rpow {C a b : } (_hC : 0 < C) (hab : a < b) :
                                ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < XC * X ^ a X ^ b
                                theorem half_log_le_13_22 :
                                ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < XX ^ (1 / 2) * Real.log X X ^ (13 / 22)
                                theorem combine_five_bounds {S t₁ t₂ t₃ t₄ t₅ B C₁ : } (hS : S C₁ * (t₁ + t₂ + t₃ + t₄ + t₅)) (h1 : t₁ B) (h2 : t₂ B) (h3 : t₃ B) (h4 : t₄ B) (h5 : t₅ B) (hC₁ : 0 < C₁) :
                                S 5 * C₁ * B
                                theorem main_theorem (R : RamanujanTau) (habc : ABC) (h54 : Proposition54 R) :
                                ∃ (C : ), 0 < C ∃ (X₀ : ), 0 < X₀ ∀ (X : ), X₀ < X(S R X) C * X ^ (13 / 22)