Skip to content
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

Open
tirix opened this issue Sep 25, 2024 · 2 comments

Comments

@tirix
Copy link
Contributor

tirix commented Sep 25, 2024

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.

@savask
Copy link
Contributor

savask commented Sep 28, 2024

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 (0, 0) and (1, 0)) and call them constructible by default. Then:

  1. if points A, B, C, D are constructible, then the intersection of proper non-parallel lines AB and CD is again constructible,
  2. if points A, B, C, D, E, F are constructible, then the intersection points of a proper line AB with a circle with center at C and radius |EF| are again constructible,
  3. finally, if A, B, C, D are constructible, then the intersection points of two distinct circles with centers A, C and radii |AB|, |CD|, respectively, are also constructible.

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 CC is more developed in set.mm than the Tarskian geometry, and this gives an additional benefit that we may identify points on the plane with points of CC and hence a real number is constructible if the corresponding complex number (i.e. point) is constructible.

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 + and x on complex numbers should simplify the proof), and then perhaps the most difficult step would be to show that if a number is constructible then the corresponding field extension degree is a power of 2. I don't know if set.mm has notation for a field generated by a subfield and some element, but more importantly, we would have to prove that intersections of circles and lines require only quadratic field extensions.

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.

@icecream17
Copy link
Contributor

Something like ( rec ( ( s e. _V |-> AllPointsConstructibleFrom_s ) , { <. 0 , 0 >. , <. 1 , 0 >. } ) " _om ) would work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

3 participants