-
Notifications
You must be signed in to change notification settings - Fork 90
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
Prove tz7.48lem without ax-8 #3199
Conversation
set.mm
Outdated
@@ -75869,32 +75869,33 @@ currently used conventions for such cases (see ~ cbvmpt2x , ~ ovmpt2x and | |||
${ | |||
$d x A $. | |||
$( A way of showing an ordinal function is one-to-one. (Contributed by | |||
NM, 9-Feb-1997.) $) | |||
NM, 9-Feb-1997.) Avoid ~ ax-8 . (Revised by Gino Giotto, |
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 way ax-8 is avoided is basically bj-ax8 so idk if this is an actual improvement
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.
Can you tell where bj-ax8 is used? Metamath.exe doesn't show me:
Metamath - Version 0.198 7-Aug-2021 Type HELP for help, EXIT to exit. MM> READ set.mm Reading source file "set.mm"... 43199123 bytes 43199123 bytes were read into the source buffer. The source has 205354 statements; 2738 are $a and 40892 are $p. No errors were found. However, proofs were not checked. Type VERIFY PROOF * if you want to check them. MM> SHOW TRACE_BACK tz7.48lem /MATCH bj-ax8 The proof of statement "tz7.48lem" uses the following earlier statements: (None) MM>
If true that would be odd since bj-ax8 is in a mathbox, and I didn't have /INCLUDE_MATHBOXES
activated, so it would be a bug of the minimizer.
Also is it even possible to depend from a statement that appears after the main one? I'm new here, so there might be something that I'm missing.
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 mean that eleq1w is more general than elequ1 but doesn't use ax-8, due to df-clel being "too powerful" in its current state
So the way ax-8 is "saved" here is equivalent to the way it is saved in bj-ax8.
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 interesting. If df-clel is too powerful, it seems dangerous to leave it like that, shouldn't it have a New usage is discouraged
label on it?
However in this case df-clel was already used in fvres
and ordtri3
, so technically it wasn't introduced as a new dependency for tz7.48lem
. The final outcome is still a clear loss.
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 originally approved but I did not have @icecream17's sharp eye about axiom dependency!
I think this is pending @icecream17's answer and so I will continue to hold merging for now.
For reference, there were mailing list exchanges between Norm and @benjub about ax-8. I think ultimately, Norm preferred to keep the actual axioms as near to the literature as possible, and so Benoît's suggestions were kept in his mathbox.
@avekens @jkingdon @digama0 don't hesitate to step in if you have an opinion!
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.
It would be nice if we could have a bit more settled situation with respect to https://us.metamath.org/mpeuni/df-clel.html and https://us.metamath.org/mpeuni/df-cleq.html.
I was under the impression that the mailing group discussion settled the point: Norm said he preferred to keep the current axioms, and have the alternative solution in a mathbox, @benjub agreed to do so, and that's the situation we have until now.
Did I understand that correctly? I'm also not diving much into these discussions.
We could reopen that discussion, though.
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.
A problem with changing the definition now is that currently cleljust2 would add ax-10 ax-12 ax-13 which obscures their actual usages. These axioms would be removed by the new definition of substitution df-ssb.
So if wanting to introduce ax-8 to df-clel, then the choices are either wait until df-ssb is merged or add ax-8 to df-clel in some arbitrary fashion (like with dfcleq and ax-9)
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.
In case someone isn't following the recent additions in the metamath-knife repo, a discussion about df-clel
df-clab
df-cleq
was brought up in this PR which adds a definition checker.
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.
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 ideal of "arbitrarily" introducing ax-8 is, I guess, similar to what we did with ax-9 in https://us.metamath.org/mpeuni/dfcleq.html . But I suppose that sort of thing sidesteps the question of what
the real status (axiom or definition) of df-clel
df-clab
and df-cleq
is.
What is the current status of this pull request? I do notice that the definition of df-sb has been changed since it was opened but other than that I'm not too up on our thinking about whether this should be merged or closed or what. Would be nice to get some kind of resolution so that the list of open pull requests mostly contains ones which need some kind of review/action. |
@jkingdon @wlammen The verifiers are failing after the merge of #3357 which happened a few hours ago. I see other PRs have been merged soon after it, but I think these fails should be addressed first before merging other PRs. |
I didn't have time to look at the whole conversation, but indeed there was a discussion on the google group and there are explanations in the comments in my mathbox (if I remember, there is a whole section for df-clel/cleq and ax-8/ax-9. Here, tz7.48lem depends on df-clel, so it depends on ax-8 anyway, so there is no point in formally removing ax-8 dependency. |
Ah, I'll make a pull request to fix that. Should have seen that one coming. |
Should be fixed by #3362 |
Regarding the PR: This was an interesting event because I didn't know that a definition could have some kind axiom-like properties. In general I think this sort of ambiguity might create confusion (it actually confused me at the beginning), so if there is a way to fix that I would be in favour of it. Currently In case of closing I would write explicitly the exeptions of |
As far as I know the "definitions" (or "axioms", we've debated this over the years) with this property are Those are the four which are not checked by the definition checker in mmj2 which runs on every pull request. |
My above comment about (bj-cleljustab/cleljust2) using too many axioms is now outdated since sbequ uses fewer axioms now.
(post by Norm in link in above comment)
I think the "even if we don't import it" suggests that changing the definitions would be allowed. Actually I'm not sure about how However, the previous post by Norm (relative to above post) does specifically mention adding hypotheses:
(my answer to that last part would be yes) shorter (less detailed) justification of df-clab, df-cleq, df-clel
oh wait df-tru makes things more complicated. |
I removed my credit since |
Independently of the credit tag: the proof modification makes the proof longer, it seems, so what is gained ? (that's a genuine question, not a rhetorical one) |
Answering @icecream17's latest comment: indeed, the discussion in https://groups.google.com/g/metamath/c/xdHB0oW0aZ4/ was diverted to a second (even if related) topic, and most arguments against changes were actually about the more disruptive changes of not overloading class and setvar equalities. The changes in df-cleq and df-clel, however (summarized and explained in the message https://groups.google.com/g/metamath/c/xdHB0oW0aZ4/m/EYUEt3DDBgAJ, and actually the topic of the initial message of that thread by @wlammen) are much less disruptive. In that message, I mentioned "concrete implications" of having the current versions of df-cleq and df-clel, which are non-conservative definitions, and this MR is just an illustration of that. |
I've been following the discussion that has been ongoing for the past few months, and although I haven't come across a definitive consensus, it seems to me that this change is indeed unnecessary. I think the most sensible thing to do at this point is to reference this case in the Metamath conventions under the section "Minimizing axioms and the axiom of choice" to clarify that replacing |
You shouldn't be able to assign a strength to definitions, because they don't increase the strength of the system, that's what it means to be a definition. Unfortunately, as I have mentioned on the list in the past |
Well then I would dare to make a proposal, why not change the name of |
I think I'm probably in favor of it. Background reading includes https://us.metamath.org/mpeuni/mmset.html#class especially the part where it says "Levy presents our three definitions above as axioms rather than definitions." and that whole section. There's something fishy about the status quo in the sense that section calls df-clel conservative when https://us.metamath.org/mpeuni/bj-ax8.html seems to show it is not (well maybe it is conservative if we assume ax-8, but not if we consider the axioms minus ax-8?). If we do this there is a lot of text to update and we somehow have to say that ax-8 is one of Tarski's axioms even if we are tempted to call it a theorem. Perhaps what to do about ax-8 is a somewhat separate question from what to do about df-clel. If we want a more incremental change, I also made #3375 which is sort of similar in the sense that it says that whether or not we rename df-clel to ax-* treat it as an axiom for the purposes of whether to rewrite proofs to avoid ax-8. |
No, I think
Certainly not. It's better to keep modularity. With the current situation, {ax-mp, ax-gen, ax-1--ax-13} is an axiomatization of classical FOL= with one binary predicate and no terms, and that is a nice feature we should keep.
@jkingdon is correct: the current situation is that
whereas with my proposal, we would have the strictly stronger statement
As I wrote above and in the google group a few years ago, there are concrete, practical implications of this improvement for our development of set.mm, which are detailed there and which we are seeing in this very thread. If there is no objection, I'm going to push an MR replacing edit: I'll remove the extra universal quantifiers |
If conservativity is the idea behind the hypothesis of bj-df-cleq, shouldn't the dv condition on u and v be dropped then? |
There is a funny fact that actually, DV conditions involving a variable in an $e-hypothesis have practically no effect: on the one hand, adding a DV condition to a scheme always yields a weaker scheme, [not relevant anymore: [Well, "without that $e-hypothesis" is a bit too weak: there could be another scheme i.e., |
Closing per #3375 (comment) and the general sentiment that replacing ax-8 with df-clel doens't accomplish much. Thanks to everyone who helped clarify these matters. |
This proof revision removes dependency of theorem
tz7.48lem
fromax-8
. Also it automatically removesax-8
fromtz7.48-2
as well.