/- 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

Beal conjecture

Reference: Wikipedia

namespace BealConjecture def bealConjecture : Prop := {A B C x y z : }, A 0 B 0 C 0 2 < x 2 < y 2 < z A^x + B^y = C^z 1 < Finset.gcd {A, B, C} id

The Beal Conjecture: if we are given positive integers $A, B, C, x, y, z$ such that $x, y, z > 2$ and $A^x + B^y = C^z$ then $A, B, C$ have a common divisor.

@[category research open, AMS 11] theorem declaration uses 'sorry'beal_conjecture : bealConjecture := bealConjecture All goals completed! 🐙

The Beal Conjecture implies Fermat's last theorem

@[category textbook, AMS 11] theorem flt_of_beal_conjecture (H : bealConjecture) : FermatLastTheorem := H:bealConjectureFermatLastTheorem intro n H:bealConjecturen:hn:n 3FermatLastTheoremFor n H:bealConjecturen:hn:n 3x: (b c : ), x 0 b 0 c 0 x ^ n + b ^ n c ^ n H:bealConjecturen:hn:n 3x:y: (c : ), x 0 y 0 c 0 x ^ n + y ^ n c ^ n H:bealConjecturen:hn:n 3x:y:z:x 0 y 0 z 0 x ^ n + y ^ n z ^ n H:bealConjecturen:hn:n 3x:y:z:hx:x 0y 0 z 0 x ^ n + y ^ n z ^ n H:bealConjecturen:hn:n 3x:y:z:hx:x 0hy:y 0z 0 x ^ n + y ^ n z ^ n H:bealConjecturen:hn:n 3x:y:z:hx:x 0hy:y 0hz:z 0x ^ n + y ^ n z ^ n H:bealConjecturen:hn:n 3x:y:z:hx:x 0hy:y 0hz:z 0h:x ^ n + y ^ n = z ^ nFalse H:bealConjecturen:hn:n 3x:y:z:hx:x 0hy:y 0hz:z 0h:x ^ n + y ^ n = z ^ nx * y * z = 0 H:bealConjecturen:hn:n 3x:y:z:hx:x 0hy:y 0hz:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0False obtain hx, hy, hz : x 0 y 0 z 0 := H:bealConjecturen:hn:n 3x:y:z:hx:x 0hy:y 0hz:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0x 0 y 0 z 0 All goals completed! 🐙 H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idFalse H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / GFalse H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / GFalse H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GFalse obtain hGx, hGy, hGz : G x G y G z := H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GG x G y G z H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GG xH:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GG yH:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GG z H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GG xH:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GG yH:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GG z apply Finset.gcd_dvd (H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / Gz {x, y, z} All goals completed! 🐙) obtain hx', hy', hz' : x' 0 y' 0 z' 0 := H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zx' 0 y' 0 z' 0 H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zx' 0H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zy' 0H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zz' 0 H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zx' 0H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zy' 0H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zz' 0 apply Nat.div_ne_zero_iff_of_dvd (H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zG z All goals completed! 🐙) |>.mpr (H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zz 0 All goals completed! 🐙), _ H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zG 0H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zG 0H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zG 0 All goals completed! 🐙 have Hxyz' : x'^n + y'^n = z'^n := H:bealConjectureFermatLastTheorem rwa [Nat.div_pow hGx, Nat.div_pow hGy, Nat.div_pow hGz, Nat.add_div_of_dvd_right, Nat.div_left_inj (dvd_add _ _)H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zhx':x' 0hy':y' 0hz':z' 0x ^ n + y ^ n = z ^ nH:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zhx':x' 0hy':y' 0hz':z' 0G ^ n z ^ nH:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zhx':x' 0hy':y' 0hz':z' 0G ^ n x ^ nH:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zhx':x' 0hy':y' 0hz':z' 0G ^ n y ^ nH:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zhx':x' 0hy':y' 0hz':z' 0G ^ n x ^ n all_goals H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zhx':x' 0hy':y' 0hz':z' 0G x ; All goals completed! 🐙 H:bealConjecturen:hn:n 3x:y:z:hx✝:x 0hy✝:y 0hz✝:z 0h:x ^ n + y ^ n = z ^ nH'':¬x * y * z = 0hx:x 0hy:y 0hz:z 0G: := {x, y, z}.gcd idx': := x / Gy': := y / Gz': := z / GhGx:G xhGy:G yhGz:G zhx':x' 0hy':y' 0hz':z' 0Hxyz':x' ^ n + y' ^ n = z' ^ n := Eq.mpr (id (congrArg (fun _a => _a + y' ^ n = z' ^ n) (Nat.div_pow hGx))) (Eq.mpr (id (congrArg (fun _a => x ^ n / G ^ n + _a = z' ^ n) (Nat.div_pow hGy))) (Eq.mpr (id (congrArg (fun _a => x ^ n / G ^ n + y ^ n / G ^ n = _a) (Nat.div_pow hGz))) (Eq.mpr (id (congrArg (fun _a => _a = z ^ n / G ^ n) (Eq.symm (Nat.add_div_of_dvd_right (pow_dvd_pow_of_dvd hGx n))))) (Eq.mpr (id (congrArg (fun _a => _a) (propext (Nat.div_left_inj (dvd_add (pow_dvd_pow_of_dvd hGx n) (pow_dvd_pow_of_dvd hGy n)) (pow_dvd_pow_of_dvd hGz n))))) h))))1 = {x', y', z'}.gcd id All goals completed! 🐙 end BealConjecture