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

Constructible numbers - initial idea #4578

Open
wants to merge 13 commits into
base: develop
Choose a base branch
from
Open

Conversation

tirix
Copy link
Contributor

@tirix tirix commented Jan 16, 2025

@savask Here is an initial version for the scratchpad file for constructible numbers, as discussed in #4246 .
This is a separate file to it should be extremely easy to review and even edit directly on GitHub.

This brings no new proofs, only a few definitions.

I think a theorem like fldextdgirred might be important, both to prove that the extensions are quadratic, and to prove that the non-constructible numbers lead to cubic extensions, by exhibiting irreductible polynomials.

I'm thinking this might be the most difficult part; I think the rest should be more easily filled in.

constr.mm Outdated Show resolved Hide resolved
constr.mm Outdated Show resolved Hide resolved
constr.mm Outdated Show resolved Hide resolved
constr.mm Outdated Show resolved Hide resolved
@savask
Copy link
Contributor

savask commented Jan 17, 2025

Thierry, thank you making the effort and writing down the initial draft! I'll comment on everything in one message, instead of starting a review.

We then proceed by showing that those two sets are equal.

It would be nice to prove that they are equal, but actually it suffices to show that Constr C_ ConstrAlg.

$c /FldExt2 $.

I'm not a huge fan of special notation for extensions of degree 2. My impression was that we try to avoid new definitions in set.mm like the plague, even if they look natural. df-extdf seems to assume that if ( e [:] f ) then e /FldExt f, so this assumption can be removed from the definition of /FldExt, and hence the whole definition boils down to

df-fldext2 $a |- /FldExt2 = { <. e , f >. | ( e [:] f ) = 2 } $.

which isn't worth the hassle, in my opinion.

In the comment to constrtow2 you write:

If an algebraically constructible point A ...

But the assumption is A e. Constr, i.e. A is geometrically constructible. There's, in fact, no definition of algebraically constructible numbers in the file right now, but looking at your definition via a chain, maybe we don't need a special symbol ConstrAlg for this definition, and we can simply make do with a $e hypothesis defining algebraically constructible points. Of course, I believe we will require some intermediate results involving fldGen which I tried to outline in the original issue #4246 .

I think a theorem like fldextdgirred might be important, both to prove that the extensions are quadratic, and to prove that the non-constructible numbers lead to cubic extensions, by exhibiting irreductible polynomials.

I was hoping to avoid this for the proof of imp2cube and use a custom argument for the polynomial x^3 - 2, but if you want, you could prove a general result like fldextdgirred first. Stefan O'Rear has done some work on minimal polynomials, but it's deprecated and applies to complex polynomials only.

tirix and others added 4 commits January 17, 2025 07:40
Co-authored-by: icecream17 <[email protected]>
Co-authored-by: icecream17 <[email protected]>
Co-authored-by: icecream17 <[email protected]>
Co-authored-by: icecream17 <[email protected]>
@tirix
Copy link
Contributor Author

tirix commented Jan 17, 2025

It would be nice to prove that they are equal, but actually it suffices to show that Constr C_ ConstrAlg.

Yes, that's what ~ constrtow2 attempts to do, actually. I should update the comment.

@tirix
Copy link
Contributor Author

tirix commented Jan 17, 2025

I'm not a huge fan of special notation for extensions of degree 2. [...]

Yes, you're right, in general we want to avoid it, and it's good to note that it can be much shorter. There is an even shorter version without free variable, namely ( `' [:] " { 2 } ), i.e. the preimage of the singleton {2} by the degree operation. This will yield all possible pairs <. e , f >. of fields which extension is 2, which is the relation we want, but it's kind of hard to read.

Instead, I could use a "local" definition wih a class variable and repeat it in each theorem where it is used.

@tirix
Copy link
Contributor Author

tirix commented Jan 17, 2025

I was hoping to avoid this for the proof of imp2cube and use a custom argument for the polynomial x^3 - 2, but if you want, you could prove a general result like fldextdgirred first. Stefan O'Rear has done some work on minimal polynomials, but it's deprecated and applies to complex polynomials only.

I think if the general result exists and can be used, it's great because then it can serve as a foundation for more advanced things later. Here it will already be used 3 times. I'm wondering if I need a condition that the polynomial M is monic?

@savask
Copy link
Contributor

savask commented Jan 17, 2025

Instead, I could use a "local" definition wih a class variable and repeat it in each theorem where it is used.

Sounds good (I hope we have enough class variables...).

I think if the general result exists and can be used, it's great because then it can serve as a foundation for more advanced things later. Here it will already be used 3 times. I'm wondering if I need a condition that the polynomial M is monic?

I don't think monicity is required in fldextdgirred. Also, correct me if I'm wrong, but in

fldextdgirred.m $e |- M = ( Poly1 ` F ) $.

you consider polynomials over F, while we need polynomials over the subfield K. I think there should be some condition that all coefficients of P lie in K.

If you want to show a proper result like fldextdgirred, then it's best to define minimal polynomials (which will have to be monic) and prove

  1. If x in F has a minimal polynomial of degree k over the subfield K, then |K(x) : K| >= k. This should be relatively easy, since 1, x, ..., x^(k-1) are linearly independent.
  2. If x in F is a root of an irreducible polynomial of degree k over the subfield K, then the degree of its minimal polynomial is also k. This is also not super hard.
  3. If x in F is a root of some polynomial of degree k over the subfield K, then K(x) = K[x] and |K(x) : K| <= k. The first part, saying that the field generated by K and x consists of values of polynomials at x is the most tricky one in my opinion. It requires showing that dividing by a polynomial can be replaced by multiplication, using the Euclidean algorithm, hence K[x] is a field.

( 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. 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 ) $.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very long and complicated! Would it be helpful to have separate definitions for "set of intersections of two lines", "set of intersections of a line and a circle" and "set of intersections of two circles"?

Copy link
Contributor Author

@tirix tirix Jan 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We try to limit the number of definitions - do you think it would be wise to add them? I don't know about any other use.

BTW, do you think we could reuse any of the theorems of the ~ inlinecirc02p family?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We try to limit the number of definitions - do you think it would be wise to add them? I don't know about any other use.

OK, maybe we can provide theorems instead which show the three kinds of construction explicitly.

BTW, do you think we could reuse any of the theorems of the ~ inlinecirc02p family?

Maybe, but the definitions are too different at the moment. Maybe we need a mapping of the different representations first.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, maybe we can provide theorems instead which show the three kinds of construction explicitly.

I have suggested some theorems in this post which decompose the definition into three subgoals. We don't have the algebraic definition of constructible numbers with towers yet, so they can't be used as is, but maybe we could restate those only in terms of fields. For example, for a line, given by two points, and a circle, given by three points, if these points lie in some subfield of C, then the intersection also lies in quadratic extension of that subfield.

I think we unfortunately can't use inlinecirc02p since we need to keep track of the subfield we are working in.

constr.mm Outdated Show resolved Hide resolved
Co-authored-by: icecream17 <[email protected]>
constr.mm Outdated Show resolved Hide resolved
@tirix
Copy link
Contributor Author

tirix commented Jan 26, 2025

With this latest submission I'm adding a definition of algebraic numbers, and of minimal polynomials, as discussed in this comment.

This includes a proof of the existence of a monic polynomial, the second step would be to prove its unicity.

This also includes a definition for algebraic numbers in a field extension, which could be useful for @metakunt's #4554 .

The definition of minimal polynomial is not yet used, so it might still change.

I've included the new definitions directly in set.mm and not in the constr.mm file, because I'm using Yamma which does not support included files yet.

This is a larger change with several theorems moved to main, and some hopefully useful theorems added, so I hope it can be merged before I'm going on.

Two interesting new theorems are:

  • evls1fpws which gives the expansion of the evaluation function for a univariate polynomial; I'm surprised this was not
  • ressply1evl which states that the subring polynomial evaluation function is a restriction of the "main ring" polynomial evaluation function

I was surprised none of those existed yet.

Copy link
Contributor

@savask savask left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! The definitions are too technical for me, so I've been able to spot only one small inconsistency in comments, and have no other remarks.

set.mm Show resolved Hide resolved
@metakunt
Copy link
Contributor

Ah cool, how would we define the algebraic closure with this definition?

althtmldef "fldGen" as "fldGen";
latexdef "fldGen" as "\mathrm{fldGen}";
htmldef "fldGen" as " fldGen ";
althtmldef "fldGen" as " fldGen";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A space character is missing at the end.

evls1scafv.r $e |- ( ph -> R e. ( SubRing ` S ) ) $.
evls1scafv.x $e |- ( ph -> X e. R ) $.
evls1scafv.1 $e |- ( ph -> C e. B ) $.
$( Value of the univariate polynomial evaluation for a scalars.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"for a scalar" or "for scalars"

algnbval.2 $e |- ( ph -> E e. Field ) $.
algnbval.3 $e |- ( ph -> F e. ( SubDRing ` E ) ) $.
$( The algebraic numbers over a field ` F ` within a field ` E ` . That
is, the numbers ` X ` which are roots of nonconstant polynomials
Copy link
Contributor

@avekens avekens Jan 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"nonzero polynomials" (p e. ( dom O \ { Z } ))?

Maybe it should be explicitly made clear that the idiom ( ` ' ( O ` p ) " { .0. } ) must be "translated": by ~fniniseg2, it is { x e. ( Base ` E ) | ( ( O ` p ) ` x ) = .0. }, which matches the description in the comment.

Proposal:

The algebraic numbers over a field F within a field E . That is, the numbers x which are roots of nonzero polynomials p ( x ) with coefficients in ( Base ` F ) . This is expressed by the idiom ( ` ' ( O ` p ) " { .0. } ), which can be translated into { x e. ( Base ` E ) | ( ( O ` p ) ` x ) = .0. } by ~fniniseg2 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants