-
Notifications
You must be signed in to change notification settings - Fork 92
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
The Impossibility of Trisecting the Angle and Doubling the Cube (metamath 100 #8) #4246
Comments
Maybe worth mentioning that the proof doesn't require a great deal of Galois theory, in fact the only crucial bit seems to be that field extensions are multiplicative, and that is already proved in set.mm in extdgmul. The fact that the cubic root of 2 gives us a field extension of degree 3 can be proved by elementary means, by mimicking the argument about minimal polynomials. Probably the most laborious part would be to define constructible numbers and prove that they give field extensions of degree a power of 2. I took a look at how other formalization systems do this, and both HOL Light and Isabelle go with the geometrical definition. That is, we start with two points (if we identify points on the plane with vectors, then usually
I think it would be beneficial to model constructible numbers in set.mm as a subset of complex numbers, as we do in section "Theorems of Pythagoras, isosceles triangles, and intersecting chords" of set.mm. Geometry of I unfortunately don't know how recursive definitions work in set.mm, so I cannot draft a preliminary definition of constructible (complex) numbers, but it seems that we should start with 0 and 1 as being constructible by default and properties 1)-3) can be easily stated with standard operations with complex numbers, for example, one can use something in the spirit of sigarcol to test if points lie on the same line. The next step would be to show that construcible numbers form a field (again, I think the fact that we would be able to use I would be glad to participate and discuss the details if someone is willing to try formalizing some of the definitions and intermediate steps required. |
Something like |
I tried giving a definition of constructible points (and numbers) using icecream17's
Here constructible points are understood as a subset of complex numbers I guess one could similarly give a more general definition of "points constructible from some set", but I don't think this is important enough to complicate the definition. What do you think? Does this definition look right? If we agree on this definition, we could try writing down intermediate statements required to prove the metamath 100 question. Norman suggested formalizing statements (without proofs) of metamath 100 theorems in the past, so this could be a good idea. |
Nice initiative!
It was not immediately clear to me, but the actual condition to express
is that the intersecting lines and circles should not be the same.
Otherwise the whole line/circle gets added, and we end up with too many
constructible points. If there is no intersection, no point gets added.
Your condition expressed with `|Im|` and the `|-. a = d|` condition are
both sufficient conditions for the line, resp. circle to be distinct,
and it does not require an additional bound variable, so it looks
correct, and clever!
I don't think we have a notation yet for a field generated by a subfield
and and some additional element (like e.g. ℚ[√2]), that would certainly
be a nice addition, and I'd be interested to contribute!
…On 07/01/2025 08:41, savask wrote:
I tried giving a definition of constructible points (and numbers)
using icecream17's |rec| idea:
|$c Constr $. cconstr $a class Constr $. df-constr $a |- Constr = (
rec ( ( s e. _V |-> { x e. CC | ( ( E. a e. s E. b e. s E. c e. s E. d
e. s E. t e. RR E. r e. RR ( x = ( a + ( t x. ( b - a ) ) ) /\ x = ( c
+ ( r x. ( d - c ) ) ) /\ -. ( Im ` ( ( * ` ( b - a ) ) x. ( d - c ) )
) = 0 ) \/ E. a e. s E. b e. s E. c e. s E. d e. s E. e e. s E. f e. s
E. t e. RR ( x = ( a + ( t x. ( b - a ) ) ) /\ ( abs ` ( x - c ) ) = (
abs ` ( e - f ) ) ) ) \/ E. a e. s E. b e. s E. c e. s E. d e. s E. e
e. s E. f e. s E. t e. RR ( -. a = d /\ ( abs ` ( x - a ) ) = ( abs `
( b - c ) ) /\ ( abs ` ( x - d ) ) = ( abs ` ( e - f ) ) ) ) } ) , { 0
, 1 } ) " _om ) $. |
Message ID: ***@***.***>
|
Nice, so at very least we can express the statement of the theorem now (cubic root of 2 and cos(pi/9) don't lie in
That's an interesting question whether we really need a full-fledged definition for the proof. We certainly want to work inside
is also a subfield of
and then we need to prove that |
I believe this approach would work, and we don't really need the full-fledged definition of a generated field for the proof. But it would be sooo nice to use this opportunity to formalize more of the Galois Theory and have some basic bricks for e.g. the insolvability of the quintic... |
My thought was defining something like:
Then given a universe field |
I agree, then let's see if we can formulate it in Galois theory terms.
Any reason why we need a subfield Also, in your definition you intersect fields with |
You're right, this would not work. For an intersection-based definition, the resulting object has to be a subset of the base. We can then recover a field by using the structure restriction operator:
That's a good remark, this would simplify the definition to really "a field generated by a set" without even mentioning field extension.
This resembles the definition of sigma algebra generated by a set ( |
See #4553 for my concrete proposal. |
I think another thing we would need to formalize is the idea of "tower" of field extensions. Ideally, we should find a way that is generic enough so that it could also be used for towers of normal subgroups, as these are useful for the definition of solvable groups. I believe the best is to see such towers as chains, i.e. see the subfield (resp. normal subgroup) relation as an order relation, so that the chains are subsets where the order is total. We already have definitions for Posets and Tosets, so I think we could prove some generic facts in the settings of order theory, and use them for such chains (I don't think we need a lot of them) |
(That's actually what I had in mind when I defined the Field Extension as a relation) |
I agree that we may need towers for general Galois theory, and it looks very logical to model them as chains in posets. Nevertheless, I suggest we choose the simplest path towards trisecting the angle and doubling the cube, so we don't spread ourselves thin :-) For these two theorems, one doesn't need to do a detour into group theory, and I think one doesn't need towers of fields/subgroups. Since we are using field extensions now, we could give the following definition of "algebraic" constructible numbers:
I.e. a number is constructible, if it lies in some finite field extension of For the second part we'll again use |
Since I'll use the definition of
Here Let's use
Adding a square root to a field
This should be relatively easy to prove from the definition of field extension degree. Now, the following statement seems to be more problematic: given two fields
I think to prove this we need to redefine Now, the rest of what I'm going to say still holds. The intersection
An intersection of a line and a circle:
And an intersection of two circles:
The proofs of these will probably require only some arithmetic and
Now, to prove the impossibility of doubling the cube, we will first show that adjoining a cubic root of 2 gives an extension of degree 3:
hence this root is not (algebraically) constructible (here we use multiplicativity of degrees):
And finally the desired result:
All labels and statements are of course very preliminary. So what do you think?
|
It's really nice to see this slowing taking form! (though the way is still very long!) As for the method:
I don't know what's best, I don't think this was ever done before. At some point in time, there was a suggestion to have a kind of purgatory (between main's heaven and mathboxes hell !) where common work which was not quite ready for main could live. The advantage of staying in one file is that we benefit from CI and all kind of label renamings (there seem to be a lot lately). The advantage of having our own file is that we are not bound to CI, collaboration directly from the GitHub interface is possible and easy (e.g. merges). I think Lean is working with different GitHub repositories, but they have a different approach altogether. In any case this could be discussed more largely. |
I believe towers could be defined from |
I've added a few theorems in #4574 , including that |
I think we can't do it in the main set.mm file, since CI won't accept unproved statements (as far as I understand that's the reason why many people keep "future theorems" commented out). I suggest we create a file "constructible.mm" starting with As for my own question
The answer is apparently no, there are elements x in C such that |Q(x) : Q| = 2^k, yet x isn't constructible, so we really need towers after all.
Okay, what about the following definition of algebraically constructible numbers:
We take all subsets
Nice! Maybe we'll be able to avoid using this fact, since we should be fine with |
Ok, let's try it and see how the community reacts! Feel free to launch a PR if you wish, otherwise I might do it in my next PR.
Yes it looks correct, with the only difference that it should be Globally this seems like a very long definition though, I think I (still!) would like to abstract out the "tower" part, since it should be reusable. I might try to make a proposal. |
Sure, I'll be happy if you do it, especially since you propose to abstract out the tower part. Feel free to change the labels etc as you wish. |
An elegant proof would certainly rely on Galois Theory.
Such a proof is provided Chapter 7.4 of [Ian Stweart - Galois Theory], p.99, theorems 7.13 and 7.14.
The text was updated successfully, but these errors were encountered: