Skip to content

Conversation

@jkingdon
Copy link
Contributor

This ended up a lot longer than I expected, but there's always a lot of machinery involved in extensible structures, and in this case the definition (unaltered from set.mm) allows either an extensible structure or an ordered pair of vertexes and edges.

Most of the discouraged theorems are also discouraged in set.mm, although I did re-intuitionize 2strstr to reflect changes in set.mm since the first one, and that accounts for a few of the entries.

One of the biggest differences from set.mm is that 2o ~<_ A is well behaved, in iset.mm, for saying a set has at least two elements (https://us.metamath.org/mpeuni/rex2dom.html is provable and is added here) whereas 2 <_ ( # ` A ) is not (at least with current theorems, # works on finite sets or on infinite sets, but not on arbitrary sets).

Copy link
Contributor

@avekens avekens left a comment

Choose a reason for hiding this comment

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

Reviewed up to "GRAPH THEORY". Only minor remarks. I will review section about graph theory later.

Copy link
Contributor

@avekens avekens left a comment

Choose a reason for hiding this comment

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

Graph Theory reviewed, still only minor remarks about wording

It's fantastic to see how graph theory becomes intuitonized. Hopefully, the definition of graphs either as ordered pairs or as extensible structures was the most difficult part, and the rest can be done more easily.

This is the syntax and df-edgf .  Copied without change from set.mm.
Stated as in set.mm.  The proof is the set.mm proof with small changes
to use strnfvnd
This is the syntaxes , df-vtx , and df-iedg .  Copied without change
from set.mm.
This is vtxval from set.mm with a set existence condition added.  The
proof is taken from a portion of the set.mm proof with changes for set
existence.
This is iedgval from set.mm with a set existence condition added.  The
proof is taken from a portion of the set.mm proof, modified for
differences in set existence.
Stated as in set.mm.  The proof is based on the set.mm proof but needs
to be significantly longer for differences in set existence theorems.
Stated as in set.mm.  The proof is the set.mm proof with a very small
change for set existence.
Stated as in set.mm.  The proof is the set.mm proof with a small change
for differences in set existence.
Although this is similar to various existing theorems, we don't seem to
have quite this form until now.
Stated as in set.mm.  The proof is based on the iset.mm proof of en1 .
Stated as in set.mm.  The proof is the set.mm proof with small
changes in various places.
This is structgrssvtxlem from set.mm with changes to how we specify
that a set has at least two elements.  The proof is the set.mm
proof with several small changes.
Stated as in set.mm.  The proof is the set.mm proof with small changes.
Stated as in set.mm.  The proof is the set.mm proof with several small
changes.
This is struct2grstr from set.mm with set existence conditions added.
The proof is the set.mm proof with small changes.
Stated as in set.mm.  The proof is the set.mm proof with small
changes.
Stated as in set.mm.  The proof is the set.mm proof with one small
change.
This is grstructd from set.mm with a change to how we specify that a set
has at least two elements.  The proof is the set.mm proof with small
changes.
This is grstructeld from set.mm with changes to how we specify that a
set has at least two elements.  The proof is the set.mm proof with small
changes.
Update text for basprssdmsets
Add ax-coll to the $j usage.  Remove ax-pow from the comment
because it is used via breng and brdom2g , respectively.
Change "unordered pair" to "proper unordered pair" (meaning the two
elements of the pair are unequal).  Suggested by avekens .
Change "pair" to "unordered pair".  As suggested by avekens .
Per "iset.mm versus set.mm names" at
https://us.metamath.org/ileuni/conventions.html , the name
structvtxvallem isn't available.  So struct2slots2dom perhaps
is a less awkward name.
Seems like the obvious name by analogy to struct2slots2dom .
(this is just to undo some odd ordering which happened during rebasing -
the desired order is the order in set.mm)

also, update mmil.html entries for structvtxvallem and structgrssvtxlem
@jkingdon
Copy link
Contributor Author

It's fantastic to see how graph theory becomes intuitonized. Hopefully, the definition of graphs either as ordered pairs or as extensible structures was the most difficult part, and the rest can be done more easily.

I've only gotten slightly further than what is in this pull request, so I'm not too sure.

Do we assume that graphs are finite throughout? Sets not known to be finite are one place where excluded middle can potentially creep in but to be honest I have been taking things one step at a time rather than studying the set.mm treatment enough to see what happens later on.

@avekens
Copy link
Contributor

avekens commented Dec 24, 2025

Do we assume that graphs are finite throughout? Sets not known to be finite are one place where excluded middle can potentially creep in but to be honest I have been taking things one step at a time rather than studying the set.mm treatment enough to see what happens later on.

No, in general, graphs can be infinite. There is a special definition for finite graphs (~df-fusgr), but only for undirected simple graphs. So let's wait until we get problems with potentially infinite graphs...

@jkingdon
Copy link
Contributor Author

Do we assume that graphs are finite throughout? Sets not known to be finite are one place where excluded middle can potentially creep in but to be honest I have been taking things one step at a time rather than studying the set.mm treatment enough to see what happens later on.

No, in general, graphs can be infinite. There is a special definition for finite graphs (~df-fusgr), but only for undirected simple graphs. So let's wait until we get problems with potentially infinite graphs...

Good to know. We'll see what it looks like when we get there. (What is necessary/possible will depend on the details).

This is the most straightforward thing to do in iset.mm in the sense
that the axiom is called ax-coll and I guess in principle would be
stronger than zfrep6 although currently we only use ax-coll to prove
zfrep6 (and a handful of theorems not used further).  There isn't
anything going on differently than in the set.mm comments which say
"Axiom of Replacement".
@jkingdon jkingdon merged commit 601b9d5 into metamath:develop Dec 24, 2025
10 checks passed
@jkingdon jkingdon deleted the vtx branch December 24, 2025 17:00
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.

2 participants