/- Copyright 2025 The Formal Conjectures Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -/ import FormalConjecturesUtil

abc conjecture

Reference: Wikipedia

namespace ABC

The radical of n denoted is the product of the distinct prime factors of n.

def radical (n : ) : := n.primeFactors.prod idthis:Nat.primeFactors 16 = {2}radical 16 = 2 All goals completed! 🐙All goals completed! 🐙({2} {3}).prod id = 6 All goals completed! 🐙

Quality q(a, b, c) of the triple (a, b, c) is defined as q(a,b,c) = log (c) / log (rad(abc)).

noncomputable def quality (a b c : ) : := (c : ).log / (radical <| a * b * c : ).log

For every positive real number ε, there exist only finitely many triples (a, b, c) of coprime positive integers, with a + b = c, such that c > rad(abc)^(1+ε)

@[category research open, AMS 11] theorem abc (ε : ) ( : 0 < ε) : {(a, b, c) : × × | 0 < a 0 < b 0 < c ({a, b, c} : Set ).Pairwise Nat.Coprime a + b = c (radical <| a * b * c : )^(1 + ε) < c}.Finite := ε::0 < ε{(a, b, c) | 0 < a 0 < b 0 < c {a, b, c}.Pairwise Nat.Coprime a + b = c (radical (a * b * c)) ^ (1 + ε) < c}.Finite All goals completed! 🐙

For every positive real number ε, there exists a constant K_ε such that for all triples (a, b, c) of coprime positive integers, with a + b = c we have c < K_ε rad(abc)^(1+ε).

@[category research open, AMS 11] theorem abc.variants.lt_constant_mul (ε : ) ( : 0 < ε) : K, (a b c : ), 0 < a 0 < b 0 < c ({a, b, c} : Set ).Pairwise Nat.Coprime a + b = c c < K * (radical <| a * b * c : )^(1 + ε) := ε::0 < ε K, (a b c : ), 0 < a 0 < b 0 < c {a, b, c}.Pairwise Nat.Coprime a + b = c c < K * (radical (a * b * c)) ^ (1 + ε) All goals completed! 🐙

For every positive real number ε, there exist only finitely many triples (a, b, c) of coprime positive integers with a + b = c such that q(a, b, c) > 1 + ε.

@[category research open, AMS 11] theorem abc.variants.quality (ε : ) ( : 0 < ε) : {(a, b, c) : × × | 0 < a 0 < b 0 < c ({a, b, c} : Set ).Pairwise Nat.Coprime a + b = c quality a b c > (1 + ε)}.Finite := ε::0 < ε{(a, b, c) | 0 < a 0 < b 0 < c {a, b, c}.Pairwise Nat.Coprime a + b = c ABC.quality a b c > 1 + ε}.Finite All goals completed! 🐙end ABC