-
Notifications
You must be signed in to change notification settings - Fork 91
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
Subfields generated by a set #4553
Conversation
Ah, that's nice, I was actually going to reply to your message in #4246 . You define |
Yes, maybe that's better.
It's a bit more verbose, but I guess maybe other theorems will be simpler. |
Now, since we have
Also if you like, we could continue fleshing out the plan in #4246 and maybe we'll see which definitions are more comfortable for proving the metamath 100 theorem. |
Actually, we already have I should use this in the definition of subfields generated by a set, this will be even more compact. |
And sure, we can discuss this definition here - I'll reserve some other thoughts to the original issue though :-) |
@savask This is the updated version. I'm quite happy with this. I suppose many theorems using this concept will also be valid in division rings, so the first few theorems are proved with division rings. |
Looks good to me as well! |
this is a subfield (see ~ fldgenfld and ~ fldsdrgfld ). In general this | ||
will be used in the context of fields, hence the name ` fldGen ` . | ||
(Contributed by Saveliy Skresanov and Thierry Arnoux, 9-Jan-2025.) $) | ||
df-fldgen $a |- fldGen = ( f e. _V , s e. _V |-> |
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.
f e. Ring
(see above why not "DivRing") rather than f e. _V
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.
That's an interesting point (specifying the domain : let's keep the discussion about DivRing
vs. Ring
elsewhere).
The list of definitions using _V
where a stricter structure was available is very long (gsum
, oppc
, lub
, glb
, +f
, freeMnd
, -g
, invg
, .g
, Cntz
, cntr
, LSSum
...) This also includes LSpan
, which is the model for this definition.
There are also examples where the domain is defined, of course, but my feeling is that they are in minority.
I believe I saw at one point in time a comment from Norm or Mario explaining that we prefer the most general case (_V
), but I can't find it anymore. That was probably useful e.g. when we introduced Magma, I believe less definitions/theorems needed to be reviewed thanks to the use of _V
as a domain for several functions listed above.
That's why I chose _V
here. Of course this is open to discussion.
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.
I understand that remark and I know that that style of common in set.mm. I still disagree with it. But this can be deferred to later discussions. Non-blocking for this PR.
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.
I believe I saw at one point in time a comment from Norm or Mario explaining that we prefer the most general case (
_V
), but I can't find it anymore. That was probably useful e.g. when we introduced Magma, I believe less definitions/theorems needed to be reviewed thanks to the use of_V
as a domain for several functions listed above.
Yes, I also remember the advice (by Mario, I think) to use _V
instead of a concrete class. In Graph Theory, for example, we have UnivVtx = ( g e. _V |-> ...
instead of UnivVtx = ( g e. UHGraph |-> ...
. Maybe @digama0 can give a hint where this discussion took place, or where this pattern is documented. If it is not documented, we should add it to our conventions.
commutative (resp., are fields) ( ~ fldsdrgfld ), so we do not make a | ||
specific definition for subfields. (Contributed by Stefan O'Rear, | ||
3-Oct-2015.) TODO: extend this definition to a function with domain | ||
` _V ` or at least ` Ring ` and not only ` DivRing ` . $) |
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.
` _V ` or at least ` Ring ` and not only ` DivRing ` . $) | |
` Ring ` and not only ` DivRing ` . $) |
I understand your remark, and I know that we do a lot of things like that in set.mm, but I still think that it makes no sense to allow nonsensical things like "the set of sub-division-rings of { 2 } ".
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 want for the present PR. Non-blocking.)
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.
Yes, but you could imagine defining a sub-division-ring of something that's not even a ring. For example, QQ
is a division ring which is a subset of the extended real numbers RR*s
which is not even a group, but has the necessary structures and operations.
Isn't this similar to searching sub-division-rings starting with rings which are not themselves division rings?
Anyway, again, in practice, I don't think this will be used on anything else than fields. If you prefer to restrict the domain to something, Ring
is a good choice because it the most generic structure with two operations (but then again why not e.g. semi-rings SRing
?).
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.
Isn't this similar to searching sub-division-rings starting with rings which are not themselves division rings?
The reason I gave above to use rings instead of division rings as the ambient structure is added simplicity rather than added generality. Of course, one can always find a more general setting, by doing what is called "centipede mathematics", but if it comes at the cost of simplicity, this may not be worth it.
@benjub I don't think there is any blocking point left for this PR, thanks for all the comments! I plan rework the definition of A more general discussion about whether we should restrict at all the domain for such functions can be launched separately. |
As discussed with @savask in #4246, this introduces the definition of the subfield generated by a set. This can be later used to build such fields as$ℚ[\sqrt{2}]$ .
A few "deduction mode" algebra theorems moved to main.