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

Reduce ax-un usage #4466

Merged
merged 11 commits into from
Dec 8, 2024
Merged

Reduce ax-un usage #4466

merged 11 commits into from
Dec 8, 2024

Conversation

BTernaryTau
Copy link
Contributor

@BTernaryTau BTernaryTau commented Dec 5, 2024

This change revises 1onn and 2onn to no longer depend on ax-un. It also revises snnen2o to no longer depend on ax-un or ax-pow and moves it out of the Pigeonhole Principle section since it doesn't make use of php anymore. It also introduces several new theorems that avoid ax-un.

f1cdmsn

If a one-to-one function with a nonempty domain has a singleton as its codomain, its domain must also be a singleton.

nlim1

1 is not a limit ordinal.

nlim2

2 is not a limit ordinal.

ord1eln01

An ordinal that is not 0 or 1 contains 1.

ord2eln012

An ordinal that is not 0, 1, or 2 contains 2.

1ellim

A limit ordinal contains 1.

2ellim

A limit ordinal contains 2.

Changes in axiom usage: a3ca221

@icecream17
Copy link
Contributor

Incidentally, metamath seems to use range more often than codomain. I only just seen that there was a difference:

Codomain: The set of all possible output values that a function could produce
Range: The subset of those values that the function actually does produce
https://math.stackexchange.com/questions/3317941/what-is-the-difference-between-codomain-and-range

This means ~ frn and such is somewhat of a misnomer?

set.mm Show resolved Hide resolved
@BTernaryTau
Copy link
Contributor Author

This means ~ frn and such is somewhat of a misnomer?

frn is fine since it explicitly deals with the function's range. foelrni is a better example since the statement doesn't reference the function's range and its description refers to the codomain. However, since it's about onto functions, the range and codomain are equal, so I don't think this is a big deal. The problem case (in my opinion) is theorems like ffvelrn and frnssb that don't deal with the range, only the codomain.

@jkingdon
Copy link
Contributor

jkingdon commented Dec 8, 2024

The problem case (in my opinion) is theorems like ffvelrn and frnssb that don't deal with the range, only the codomain.

The good news is that the comments correctly refer to the codomain and don't contain the word "range", which doesn't apply here.

Whether we want to rename them to something not containing rn I guess I don't have a strong opinion about. Maybe they could just be called ffvel and ssf (or something else with an f in it). The name fragment f refers to F : X --> Y notation and thus means that the theorem will be specifying a codomain (in this example Y).

@avekens
Copy link
Contributor

avekens commented Dec 8, 2024

The problem case (in my opinion) is theorems like ffvelrn and frnssb that don't deal with the range, only the codomain.

The good news is that the comments correctly refer to the codomain and don't contain the word "range", which doesn't apply here.

Whether we want to rename them to something not containing rn I guess I don't have a strong opinion about. Maybe they could just be called ffvel and ssf (or something else with an f in it). The name fragment f refers to F : X --> Y notation and thus means that the theorem will be specifying a codomain (in this example Y).

Maybe we should replace "rn" by "cdm" in the label in such cases, like here done with ~f1cdmsn, or also other theorems in set.mm (e.g., ~focdmex).

This discussion about label names should not block this PR. Maybe an issue could be open for this.

@avekens
Copy link
Contributor

avekens commented Dec 8, 2024

Issue #4470 created for adjusting the label names, so that this PR can be merged and closed.

@avekens avekens merged commit af30a26 into metamath:develop Dec 8, 2024
10 checks passed
@BTernaryTau BTernaryTau deleted the avoid-un-pow branch December 8, 2024 16:38
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.

4 participants