feat(Combinatorics/SimpleGraph/Connectivity): define vertex connectivity#33355
feat(Combinatorics/SimpleGraph/Connectivity): define vertex connectivity#333550xTerencePrime wants to merge 17 commits intoleanprover-community:masterfrom
Conversation
PR summary 8d6de37e7bImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
bd79c6e to
c7bcf05
Compare
vihdzp
left a comment
There was a problem hiding this comment.
Thank you! Here's some suggestions.
|
All suggestions implemented, thanks! |
7790e08 to
3cb74a0
Compare
Regarding the condition on the number of vertices, I followed your suggestion and implemented the refactor to use |
6a86aa7 to
848cd9b
Compare
848cd9b to
3112f1e
Compare
|
I'm of the general idea that if a predicate "P and Q" still largely makes without Q, then it's easier to remove the condition and add it back when needed, than it is to keep it and try to awkwardly remove it later. |
|
Please avoid force-pushing, I now have no idea what changed between the version I reviewed and the current version. |
|
sorry about the force-pushes. i've pushed new commits now addressing the review comments, including the refactors and the missing |
|
Continuing the discussion of whether to keep the condition on the number of vertices for
So with the current version we'd need a separate definition for biconnectivity, but if we remove the first part of |
…s using more concise proof structures
|
-awaiting-author Addressed the latest feedback. (Sorry for the delay, was away for the Lunar New Year break!) |
|
|
||
| lemma Preconnected.isVertexConnected_one [Nontrivial V] (h : G.Preconnected) : | ||
| G.IsVertexConnected 1 := | ||
| Iff.mpr SimpleGraph.isVertexConnected_one ⟨‹_›, h⟩ |
There was a problem hiding this comment.
| Iff.mpr SimpleGraph.isVertexConnected_one ⟨‹_›, h⟩ | |
| isVertexConnected_one.mpr ⟨‹_›, h⟩ |
There was a problem hiding this comment.
Done, but kept the SimpleGraph. prefix. Without it, Lean attempts name resolution to the lemma currently being defined, resulting in a recursive call error.
…trivial typeclass
33e1dfa to
74ee8fd
Compare
|
Hi @0xTerencePrime, thank you for all the work here. I realized my later PR #36063 overlapped with this one, that was my mistake. I have closed #36063 so review can stay focused here. If useful, I would be very happy to co-own and help with follow-up commits in your preferred shape, or take a specific TODO you pick. |
YaelDillies
left a comment
There was a problem hiding this comment.
Will isolateVerts be useful anywhere else? I suspect not. My preference would be to instead wait for the simple graph support refactor to land and subsequently use induce instead of isolateVerts. This is the approach I have taken in ProofBench.
|
This pull request has conflicts, please merge |
|
I apologize for being MIA over the last two months! I got caught up in busyness on my end and just didn't have the bandwidth to come back to this until now. @YaelDillies Regarding In the most recent commits, I have also merged in the latest master changes, included the missing Thanks for your additional patience and reviews again, @SnirBroshi! |
|
-awaiting-author applied all suggestions from the latest review. removed the redundant |
This PR introduces the foundations of vertex connectivity for simple graphs, providing a counterpart to the edge connectivity theory in #32870.
Main definitions
SimpleGraph.IsVertexReachable: vertices remain reachable after removing strictly fewer thankother vertices.SimpleGraph.IsVertexConnected: a graph isk-vertex-connected if its order is strictly greater thankand any two distinct vertices arek-vertex-reachable.Includes basic characterizations for$k=0$ and $k=1$ , along with monotonicity lemmas (
antiandmono).