metamath / set.mm

Metamath source file for logic and set theory
Other
254 stars 88 forks source link

Rename numbered predicate logic axioms in iset.mm #756

Open jkingdon opened 5 years ago

jkingdon commented 5 years ago

Currently the predicate logic axioms in iset.mm have names which are based on the old axiom numbering in set.mm.

The reasons that set.mm uses numbers, rather than names, are described at #703 and in particular https://groups.google.com/d/msg/metamath/G1xyJb6RjfI/JSNXPIkVAwAJ

As for iset.mm, there is some level of agreement that names may be better than numbers here, because:

Since this is a question of aesthetics and clarity, there isn't a huge cost to worrying about it later. But especially if we see names rather than numbers as being the likely end state, there also isn't much cost to doing this "prematurely", while the axioms still might be evolving.

jkingdon commented 3 years ago

I'd be OK with closing this issue as I'm not sure there is a large degree of consensus that anything needs to done soon (or interest in working on it), and if someone does pick it up they can look at a closed issue just as easily as an open one. For what it is worth, I haven't really thought much about axioms in a while; I've been busy with real number construction and other things which are several steps removed from the axioms themselves.

I guess I'll close this in a few days if no one has any further comments.

digama0 commented 3 years ago

I think names are generally better than numbers because the numbers are fragile to reordering. I guess they were inherited from set.mm and things have since changed on the set.mm side? In that case either renumbering to match or just giving them names would make sense to me.

jkingdon commented 3 years ago

I think names are generally better than numbers because the numbers are fragile to reordering. I guess they were inherited from set.mm and things have since changed on the set.mm side? In that case either renumbering to match or just giving them names would make sense to me.

Yeah, they were inherited and switched around a bit and then set.mm renumbered.

I would prefer names as well.

benjub commented 3 years ago

At least for the propositional calculus part, I think there is a clear winner with many advantages, namely T. Thacher Robinson's system. I advocated it ad nauseam a few years ago on the discussion group, but let me recall:

The separation property (a statement is provable from the axioms containing at most the connectives occurring in it and implication) has pratical advantages:

As for the names (you can deduce the axioms from the names, without being a metamather: great advantage): ax-mp ax-k ax-s ax-iffelim1/ax-iffelim2/ax-iffintro ax-andelim1/ax-andelim2/ax-andintro ax-orintro1/ax-orintro2/ax-orelim ax-contrap ax-notelim ax-falseelim (aka ax-exfalso)

If the names are too long, one can use aliases, i.e. ax-orintro1 is discouraged and referenced by a single result, ax-ori1 (then, in the "axioms used" list on the webpages, you see "ax-orintro1" which is self-explanatory).

One could group ax-k and ax-s into a single axiom ax-minimp for minimal implicational calculus (since it's a bloc in itself, and we do not worry about what is provable without ax-k or without ax-s), discourage its usage, and prove axs and axk from it (see my mathbox in set.mm).

Note that Robinson does not introduce the "iff" group. Also, he uses either negation or falsehood, and defines one in terms of the other the usual way, but I think it's clearer that both be introduced axiomatically as above, and the interdefinability be proved.

This system is so superior, that after a few years, set.mm will probably adopt it and simply add ax-peirce. This will halve efforts of development in the propositional calculus part.

As for the predicate calculus part, I have some ideas for the names (like probably all of you), that @nmegill and @digama0 know of, but this can come in a second phase.

jkingdon commented 2 years ago

I've changed the title to include "predicate logic" since that was always the scope of this issue.

Another consideration which makes me even less sure than before is that there are various theorems named after numbered axioms (the one which came up recently is ax6evr from #2624 ), and although a certain degree of difference from set.mm is inevitable when it comes to predicate logic, I'd prefer to keep it down because we do move proofs between iset.mm and set.mm a fair bit (including in #2624 ). So I'm inclined to switch to the set.mm numbering for those axioms which the two have in common and do something else (names not based on numbers, perhaps) for the axioms which are only in iset.mm.

benjub commented 2 years ago

In reply to @jkingdon's latest: I think any modifications towards the rule

if two labeled statements ($f $e $a $p) are identical in set.mm and iset.mm, then they should have the same label (edit: and conversely)

are good, so if you have the energy to renumber, go for it. The additional axioms can be labeled "ax-i#" following your current naming scheme, where # is either the number of the closest set.mm-equivalent, or the next available number.

As for the naming ideas I mentioned in my previous post, they are now public at https://arxiv.org/abs/2202.10383 (summary on the last page) and https://arxiv.org/abs/2109.14745. Note that these are not prescriptions or recommendations, but only ideas or proposals if one is willing to go that way.

benjub commented 2 years ago

Side note: I ran into a discussion on the FOM mailing list about the role of "ex falso (quodlibet)", or EFQ, or "explosion" (in which @digama0 took part), in May and June: https://cs.nyu.edu/pipermail/fom/2022-May/thread.html and https://cs.nyu.edu/pipermail/fom/2022-June/thread.html

If using the axiom system I proposed above, which contains ex-falso (ax-falseelim) as an independent axiom, Metamath could have been linked for some basic, but formalized, results, from which to go (even if the system used there was sequent calculus).