feat(Combinatorics/Graph): Add Graph intersection operations#37620
feat(Combinatorics/Graph): Add Graph intersection operations#37620Jun2M wants to merge 4 commits intoleanprover-community:masterfrom
Graph intersection operations#37620Conversation
PR summary 8f1377de1fImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
|
I think what you instead want to prove is that graphs are a complete lattice, similar to how it's done for simple graphs. |
|
It would be marvelous if It is true that if you consider 1. all subgraphs of a particular graph or 2. WithTop (Graph α β), then they form |
|
I think what you're describing is a |
|
Thank you! I didn't know about this one. I have just proved that |
Adds
Mathlib/Combinatorics/Graph/InterUnion.lean, which defines intersections of Graph α β values and proves the lattice structure induced by binary intersection. Following PR will add the union operations to this file.Main additions
Graph.iInter: intersection of a nonempty indexed family of graphs. Vertices are the intersection of vertex sets; an edge is kept iff it is a link in every graph with a common pair of endpoints (pairwise compatibility is assumed where needed).Graph.sInter: Infimum of a nonemptySet (Graph α β), defined viaiInteron the subtype.Graph.inter: Binary intersection. Vertices areV(G) ∩ V(H). Edges are those in both edge sets on whichGandHagree onIsLinkfor all endpoint pairs;IsLinkon the intersection is conjunction of the twoIsLinkpredicates.SemilatticeInf (Graph α β)Co-authored-by: Peter Nelson apn.uni@gmail.com