In set.mm, definitions and theorems for "graphs" are contained in the following Mathboxes:
My goal is to prove the friendship theorem from the "100 theorem list" (#83). I started with this before I read the post of r00nk who claimed to prove this theorem, too. However, since my definitions base on df- umgra (r00nk did it the same way), which is still contained only in Mario's mathbox, and Mario indicated that this definition will be reworked, I stop working (after I created an *.mm-file with more than 3000 lines already) until a stable basis is available, which will hopefully be the case after the disussions in this topic.
Regards,
Alexander
If it's not a secret, what is your proof idea for this problem? As far as I know, most proofs incorporate linear algebra (eigenvalues) in some form, and set.mm lacks that theory now. 3000 lines seems like a lot, so maybe actually proving some facts about matrices first would yield a shorter path.
--
You received this message because you are subscribed to the Google Groups "Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email to metamath+unsubscribe@googlegroups.com.
To post to this group, send email to meta...@googlegroups.com.
Visit this group at https://groups.google.com/group/metamath.
For more options, visit https://groups.google.com/d/optout.
However, I would strongly prefer to move this part into the main part, because we cannot honestly say that #54 of the "100 theorem list" is proven by Metamath unless ~ konigsberg is in the main part ;-).
--
As for the definition of graphs, I propose the following version, which is more economical and closer to mathematical practice. Any thoughts ?
${
$d x y z A $.
$( Define the class of subsets of cardinality 2 of a given class. (symbol: \mathcal{P}_2) $)
df-calP_2 $a |- calP_2 A = { x | E. y e. A E. z e. A ( x = { y , z } /\ y =/= z ) } $.
$}
${
$d v e G $.
$( Define the predicate ``is an (undirected, simple, loopfree) graph''. $)
df-isGraph $a |- ( isGraph G <-> E. v E. e ( G = <. v , e >. /\ e C_ ( calP_2 ` v ) ) ) $.
$}
--
Benoit
The main problem with definitions of this sort is that they don't generalize well. That is, if you care about simple graphs, you write down one definition, and then if you later care about non-simple graphs then you have a new definition that does not generalize the original (in the sense that a simple graph will not be a graph under the new definition).
I need not point out that this definition already runs into this issue when comparing to UMGrph and the theorems around it. Are the theories of simple graphs and multigraphs to develop independently? The idea behind extensible structures is to minimize such fracturing and provide lots of transfer theorems like "a simple graph is a multigraph" that allow usage of one theory in the other.Mario
On Mon, Oct 2, 2017 at 6:50 AM, Benoit <benoit...@gmail.com> wrote:
As for the definition of graphs, I propose the following version, which is more economical and closer to mathematical practice. Any thoughts ?
${
$d x y z A $.
$( Define the class of subsets of cardinality 2 of a given class. (symbol: \mathcal{P}_2) $)
df-calP_2 $a |- calP_2 A = { x | E. y e. A E. z e. A ( x = { y , z } /\ y =/= z ) } $.
$}
${
$d v e G $.
$( Define the predicate ``is an (undirected, simple, loopfree) graph''. $)
df-isGraph $a |- ( isGraph G <-> E. v E. e ( G = <. v , e >. /\ e C_ ( calP_2 ` v ) ) ) $.
$}
--
Benoit
On Monday, October 2, 2017 at 11:32:29 AM UTC+2, Mario Carneiro wrote:
On Mon, Oct 2, 2017 at 5:07 AM, 'Alexander van der Vekens' via Metamath <meta...@googlegroups.com> wrote:
However, I would strongly prefer to move this part into the main part, because we cannot honestly say that #54 of the "100 theorem list" is proven by Metamath unless ~ konigsberg is in the main part ;-).
Hm, I don't think we've been using this criterion - there are quite a few of the 100 theorems in mathboxes, and since they tend to be endpoint theorems anyway there is less of a need for them to be shared with the main part. That's not to say that the 100 theorems don't belong in main, only that the criteria for inclusion doesn't really depend on this so much as other factors like maintainability and reusability. That UMGrph is getting related to other topics is a strong argument for inclusion in main, which we didn't have before.
Mario
--
You received this message because you are subscribed to the Google Groups "Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email to metamath+u...@googlegroups.com.
df-trl $a |- Trails = ( n e. NN , g e. V |-> { <. f , p >. |
( f : ( 1 ... n ) -1-1-> dom ( 2nd ` g )
/\ p : ( 0 ... n ) --> ( 1st ` g ) )
/\ ( A. k e. ( 1 ... n ) ( e ` ( f ` k ) )
= { ( p ` ( k - 1 ) ) , ( p ` k ) } ) ) } ) $.
Unfortunately, my holidays are over now, and I do not know how much time I have to proceed with Graph Theory in Metamath, especially because a lot of basic work must be done with all these new definitions...
Regards,
Alexander
- I require statements about paths/circles of a certain length (2-paths, 4-cycles), therefore I included the length in my definitions. However, these definitions do not cover infinite cases. Therefore, your proposals are more general. How exactly is the statement "p is a path of length n" formalized with your definitions?
- Although your definition of Cycles is quite pretty, I do not know yet if I need a definition allowing for a cycle to be a path. I'll see/decide when I proceed with my work.
Now I want to ask everybody if there are any reasons against moving the graph theory into the main part of set.mm (excluding the section about friendship graphs - I will continue working on that within my mathbox). If there are no objections, I want to ask Norman (and the other "administrators" of set.mm) how we/I should proceed. I could make a proposal in my own git-fork which could be disussed in the pull request.
I am very keen to hear your opinion on that matter.
Best regards,
Alexander
Hopefully, many of you recognized already that I contributed a lot of "material" (definitions, theorems, explanations, discussions, auxiliary theorems) regarding Graph Theory to set.mm within my mathbox (see section "18.22.4 Graph theory"). After my latest contribution yesterday (which is available in the develop branch of the git repository, but not published on http://us2.metamath.org:88 yet), I think it is time now to think about moving the section "Graph Theory" out of my mathbox into the main part of set.mm.
I would propose to provide an own "Part" for it in set.mm, at least after PART 6 ELEMENTARY NUMBER THEORY, but maybe better after PART 7 BASIC STRUCTURES (there were hints in the previous discussions to make a "graph" an extensible structure with the vertices as base set and the edge function as second component. But it is still open, and I have no idea, how to add more components to such a structure in a meaningful way. Therefore, I think graphs will remain "ordered pairs" also in the future). But I also have no problems with adding the new part for Graph Theory at the very end (after PART 13 BASIC REAL AND COMPLEX FUNCTIONS).
Although my goal, the proof of the friendship theorem, is not reached yet (I am making progress, but very slowly... I'll provide more details in the correspondig discussion thread), I think the basic definitions and a lot of theorems for them are already available and stable, and could be used also by others. In a personal email, Gérard Lang encouraged me to ask for making Graph Theory an official part of set.mm.
Before performing this step, two things have to be considered:
- The proofs of the theorems are based on about 100 auxiliary theorems belonging to classical first order logic with equality, ZF set theory and theory of real and complex numbers (Parts 1-5 of set.mm), see section "18.22.3 Auxiliary theorems for graph theory" in my mathbox. These theorems have to be moved to the main part, too, merging them into the corresponing sections, and finding a good place for them within the right section. Also renaming them my be useful in some cases.
- The definitions and theorems about graph theory currently contained in Mario's mathbox should be moved into this new part, too. Although the definition of Undirected Multigraphs (df-umgra) and related theorems can be moved without changes, the definition of Eulerian paths (df-eupa) must be adapted to the general definition of path (as Mario himself suggested), and the definition of vertex degree (df-vdgr) should be replaced by the definition df-vdgre which also supports infinite degrees. The affected theorems/proofs must also be adapted then (is there an easy way to do this?). Regarding df-vdgr, however, we could leave this definition in set.mm (in addition to df-vdgre) and mark it as deprecated ("New usage is discouraged"). In general, we could move the definitions and theorems of section "18.4.10 Undirected multigraphs" into the new part without changes first and perform the alignment later.
Now I want to ask everybody if there are any reasons against moving the graph theory into the main part of set.mm (excluding the section about friendship graphs - I will continue working on that within my mathbox). If there are no objections, I want to ask Norman (and the other "administrators" of set.mm) how we/I should proceed. I could make a proposal in my own git-fork which could be disussed in the pull request.