-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fermat's last theorem for exponent 4 #4149
Conversation
I've decided that when a general proof is easier to prove, the statement will be more general
flt4 is left as an easy exercise (hint: mteqand) proving flt4g first shows that the structure of flt4lem and flt4lem6 is correct, subsequent commits will prove the lemmas
Nice, how much harder is exponent 3? |
FLT3 seems several times as hard as FLT4, judging by https://en.wikipedia.org/wiki/Proof_of_Fermat%27s_Last_Theorem_for_specific_exponents#n_=_3 (though it uses a "crucial lemma" without proving it) and Lean, which has tactics and probably a better library given its cyclotomic Three import, and which takes 600 lines to prove FLT3 worse options I looked atI tried to find if anyone found a simple proof, but to no avail. https://www.researchgate.net/publication/269238745_Proof_of_Fermat's_Last_Theorem_for_n3_Using_Tschirnhaus_Transformation Which I find rather amusing. Other than the slightly questionable last sentence, it does not seem wrong, but it also does not seem to have garnered any citations. Strangely, google keeps shoving the one vixra paper, which obviously doesn't work (edit: ironic typo). But there's also this arxiv paper: https://arxiv.org/abs/math/0309005 which is wrong because the logic at the end of page 6 doesn't connect (I can't tell what "embedded" means, based on the second last paragraph on page 6 it means two groups of equations can be true at the same time. That would make page 6 last paragraph sentence 2 equivalent to FLT, however the proof of that sentence is not given). Afaict no one has bothered to refute this paper until now, probably because the grammar + the claim was a red flag. |
What do you mean by questionable? The proof appears to be short to be formalised. |
I was referring to "...and thereby this proof suggests that there is a possibility of existence of a simple proof to the Fermat's Last Theorem in general", there doesn't seem to be anything wrong with the actual proof. |
So formalising FLT for n=3 is in reach? I think we might even have Cardano in set.mm |
add rprpwr to main, shorten pdivsq I've decided to just brute force the wikipedia proof directly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very interesting (intermediate) results, and nice generalizations of existing theorems. Please go ahead.
More delays: I just rediscovered my notes which links to a proof that's even better than wikipedia's |
two trivial shortenings --- I started working towards proving case B: https://en.wikipedia.org/wiki/Proof_of_Fermat%27s_Last_Theorem_for_specific_exponents#Proof_for_case_B However, it's at least three times as long as case A. So I'm stopping and committing a few fixes before switching to https://crypto.stanford.edu/pbc/notes/numberfield/fermatn4.html
General note: for these theorems, I think the following statements look nicer:
And when the exponent is odd, the conclusion is |
might as well commit this before going to bed, only about 1.5 flt4g size proofs left
Almost done, except for proving a lemma, Here's what the new a1ii looks like. I converted the text into a list, used |
auto shorten with dvdstrd
I think minimizing flt4lem5e is prohibitively long because, despite only being 27 lines long, there are 71 Zs, so there are 46140 steps when expanded+syntax. (Relevant: metamath#3269) I used theorems in Scott's mathbox without even realizing, so they're moved now I renamed dvdspw to reduce confusion with dvdsexp Fix comment of ncoprmgcdne1bgd
_Instructions_: | ||
<HTML><ol><li>Assign this inference to any unknown step in the proof. | ||
Typically, the last unknown step is the most convenient, since | ||
<code>MM-PA> ASSIGN LAST</code> can be used. This step will be | ||
replicated in hypothesis a1ii.1, from where the development of the main | ||
proof can continue.</li><li>Develop the independent subproof backwards | ||
from hypothesis a1ii.2. If desired, use a <code>MM-PA> LET STEP</code> | ||
command to pre-assign the conclusion of the independent subproof to | ||
a1ii.2.</li><li>After the independent subproof is complete, use | ||
<code>MM-PA> IMPROVE ALL</code> to assign it automatically to an unknown | ||
step in the main proof that matches it.</li><li>After the entire proof | ||
is complete, use <code>MM-PA> MINIMIZE_WITH *</code> to clean up | ||
(discard) all ~ a1ii references automatically.</ol></HTML> | ||
|
||
This can also be used to apply subproofs from other theorems. In step | ||
2, simply assign the theorem to a1ii.2, and run | ||
<HTML><code>MM-PA> EXPAND <theorem></code></HTML> to "import" a subproof | ||
from another theorem. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks prettier indeed, and this change is good to me. As a loose principle, I think there are two things to be wary of:
- do not spend too much time on rich formatting of comments since the further we depart from plain text, the harder the database is to maintain (but of course, when necessary for improving understanding, do use available functionalities);
- if there are general instructions or remarks about "proof engineering" which are not specific to set.mm, they probably have a better place to be that in set.mm.
Again, I think that in the current case this is ok (even though the method with using a1ii is generalizable to various sorts of databases, and these general guidelines could be added somewhere more general).
set.mm
Outdated
dvds2addd.1 $e |- ( ph -> K e. ZZ ) $. | ||
dvds2addd.2 $e |- ( ph -> K || M ) $. | ||
dvds2addd.3 $e |- ( ph -> K || N ) $. | ||
dvds2addd.4 $e |- ( ph -> M e. ZZ ) $. | ||
dvds2addd.5 $e |- ( ph -> N e. ZZ ) $. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cosmetic, but the order of hypotheses is not very natural (same in next theorem): why not first K, M, N integers, and then the two divisibility hypotheses?
It is important to have uniform "APIs".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those K e. ZZ
, M e. ZZ
and N e. ZZ
are even actually redundant by dvdszrcl
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tirix do you think we could discourage that theorem ? For instance as an "implementation detail", or "too fragile" (e.g., if in the future we want to extend it, for instance as in https://us.metamath.org/mpeuni/df-bj-divc.html).
In every textbook, similar statements about divisibility begin with "Let K, M, N be integers".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tirix do you think we could discourage that theorem ?
Oh, I see. Yes, why not ?
set.mm
Outdated
mvrlsubd.a $e |- ( ph -> B e. CC ) $. | ||
mvrlsubd.b $e |- ( ph -> C e. CC ) $. | ||
mvrlsubd.1 $e |- ( ph -> A = ( B - C ) ) $. | ||
$( Move RHS left subtraction to LHS. Converse of ~ mvlraddd . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or maybe:
Move a subtraction in the RHS to a right-addition in the LHS.
set.mm
Outdated
raddcom12d.b $e |- ( ph -> B e. CC ) $. | ||
raddcom12d.c $e |- ( ph -> C e. CC ) $. | ||
raddcom12d.1 $e |- ( ph -> A = ( B + C ) ) $. | ||
$( Swap the first two variables in an equation with addition on the right, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same kind of things: it seems strange to "swap" the whole LHS with a part of the RHS.
Move a right-addition to in the RHS to a subtraction in the LHS, and then use symmetry of equality.
Same for the following results.
set.mm
Outdated
fltdvdsabdvdsc.a $e |- ( ph -> A e. NN ) $. | ||
fltdvdsabdvdsc.b $e |- ( ph -> B e. NN ) $. | ||
fltdvdsabdvdsc.c $e |- ( ph -> C e. NN ) $. | ||
fltdvdsabdvdsc.n $e |- ( ph -> N e. NN ) $. | ||
fltdvdsabdvdsc.1 $e |- ( ph -> ( ( A ^ N ) + ( B ^ N ) ) = ( C ^ N ) ) $. | ||
$( Any factor of both ` A ` and ` B ` also divides ` C ` . This | ||
establishes the validity of ~ fltabcoprmex . (Contributed by SN, | ||
21-Aug-2024.) $) | ||
fltdvdsabdvdsc $p |- ( ph -> ( A gcd B ) || C ) $= |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As you proved in the theorem above, N can be in NN0. Also, C can be in ZZ, and maybe A and B too.
It would certainly be nice to be as general as possible, but it may be a bit annoying in the proofs. Hopefully the generalization of the earlier results to ZZ will reduce the needs to treat zero separately.
The same questions will appear repeatedly below. Since it is in your mathbox, these are non-blocking remarks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it's possible (easier) to first keep the proof in NN
as a kind of lemma, and then extend to ZZ
in a subsequent proof?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tirix It may be. I cannot tell from here: it really depends on whether zero has to be treated separately in specific subproofs, or if there is no need for it because the above lemmas have been properly generalized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The theorems currently depend on ~ dvdsexpnn (this pr) to go from ? || ( ? ^ N )
to ? || ?
~ dvdsexpnn is comparable with ~ dvdssqlem , and as seen from ~ dvdssq the generalization is not free, though it would be nice. TODO-SNd to later
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: The force push only changes the commit message to link to a more relevant pr |
fermrtt left for a later pr, since I can't find an easy way to do it from nna4b4nsq
flt4lem7 seems to be just like flt4lem5 with auto-minimization difficulty, but it's more understandable here since the proof is 62 lines rather than 27
4sqlem10 gets larger but the proof didn't change, I guess a subproof that was used more often now comes later, and was assigned the index UUA instead of YT or something.
I think this is equivalent to a non-draft state, although #4149 (comment) isn't resolved yet |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good for me, even if I have one labeling remark (see "rotate" above), and I hope that in the future, as many of these statements as possible will have more general and natural hypotheses, typically, A, B, C \in \ZZ (and exponent in \NN0 when the statement remains true without complicating it, or else \NN), and expressing triviality of solutions by ABC=0. That is, statements of the form:
All solutions in
$\mathbb{Z}^d$ to [this or that Diophantine equation] are trivial.
rather than
[This or that Diophantine equation] has no solution in [this or that subset of
$\mathbb{Z}^d$ ].
if you are referring to me, I do not have merge permissions |
I was referring to Thierry and Alexander (the requested reviewers are displayed at the top of the right pane on this page). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No objections from me!
DraftDonesince I'm avoiding a merge conflict (deduction of opthpr will be where ifexd was: #4139), but everything is proved except for the lemmasIn changes-set.txt I replaced two tabs with spacesfixed by #4160Edit:
flt4lem5 is impossible to prove. flt4g will become a lemma with an extraA < B
hypothesis, and flt4 will become nontrivial (will use fltne)...edit 2:A < B
is not very useful considering the relevant terms areA ^ 4
andB ^ 2
, so instead the parity antecedent from pythagtriplem18 will be carried overedit 3: A better proof was used