Skip to content

[Merged by Bors] - feat(Combinatorics/SimpleGraph): part of Tutte's theorem#22119

Closed
pimotte wants to merge 31 commits intomasterfrom
PO_tutte_pt1
Closed

[Merged by Bors] - feat(Combinatorics/SimpleGraph): part of Tutte's theorem#22119
pimotte wants to merge 31 commits intomasterfrom
PO_tutte_pt1

Conversation

@pimotte
Copy link
Copy Markdown
Collaborator

@pimotte pimotte commented Feb 20, 2025

Adds three key parts of the proof of Tutte's theorem, with some supporting lemma's:

  • necessity of the Tutte condition (not_isTutteViolator)
  • the fact that the empty set violates the Tutte condition if the number of vertices is odd (IsTutteViolator.empty)
  • the construction of a perfect matching in a graph that decomposes into cliques (Subgraph.IsPerfectMatching.exists_of_isClique_supp)

Definitions added: IsTutteViolator.


Open in Gitpod

Zulip thread on Tutte's

@pimotte pimotte added the t-combinatorics Combinatorics label Feb 20, 2025
@pimotte pimotte requested a review from YaelDillies February 20, 2025 11:02
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 20, 2025

PR summary 8628440bf1

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Combinatorics.SimpleGraph.Matching 936 949 +13 (+1.39%)
Mathlib.Combinatorics.SimpleGraph.Connectivity.Represents 749 759 +10 (+1.34%)
Mathlib.Combinatorics.SimpleGraph.UniversalVerts 941 951 +10 (+1.06%)
Import changes for all files
Files Import difference
Mathlib.Combinatorics.SimpleGraph.Connectivity.Represents Mathlib.Combinatorics.SimpleGraph.UniversalVerts 10
Mathlib.Combinatorics.SimpleGraph.Matching 13
Mathlib.Combinatorics.SimpleGraph.Tutte (new file) 952

Declarations diff

+ ConnectedComponent.even_ncard_supp_sdiff_rep
+ IsClique.even_iff_exists_isMatching
+ IsMatching.eq_of_adj_left
+ IsMatching.eq_of_adj_right
+ IsTutteViolator
+ IsTutteViolator.empty
+ Subgraph.IsPerfectMatching.exists_of_isClique_supp
+ disjoint_image_val_universalVerts
+ even_ncard_compl_iff
+ even_ncard_image_val_supp_sdiff_image_val_rep_union
+ ncard_eq
+ not_isTutteViolator_of_isPerfectMatching
+ odd_ncard_compl_iff

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for script/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@pimotte pimotte changed the title feat(SimpleGraph): part of Tutte's theorem feat(Combinatorics/SimpleGraph): part of Tutte's theorem Feb 20, 2025
Comment thread Mathlib/Combinatorics/SimpleGraph/Connectivity/Represents.lean Outdated
Comment thread Mathlib/Combinatorics/SimpleGraph/Matching.lean Outdated
Comment thread Mathlib/Combinatorics/SimpleGraph/Connectivity/Represents.lean Outdated
Comment thread Mathlib/Combinatorics/SimpleGraph/UniversalVerts.lean Outdated
Comment thread Mathlib/Data/Set/Card.lean Outdated
Comment thread Mathlib/Data/Set/Card.lean Outdated
Comment thread Mathlib/Combinatorics/SimpleGraph/Tutte.lean Outdated
Comment thread Mathlib/Combinatorics/SimpleGraph/Tutte.lean Outdated
@YaelDillies YaelDillies added the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 20, 2025
pimotte and others added 2 commits February 20, 2025 14:49
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Feb 20, 2025
@pimotte pimotte removed the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 20, 2025
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot removed the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Mar 20, 2025
@mathlib4-dependent-issues-bot
Copy link
Copy Markdown
Collaborator

This PR/issue depends on:

Comment thread Mathlib/Combinatorics/SimpleGraph/Connectivity/Represents.lean Outdated
Comment thread Mathlib/Combinatorics/SimpleGraph/Matching.lean Outdated
Comment thread Mathlib/Combinatorics/SimpleGraph/Tutte.lean
Comment thread Mathlib/Combinatorics/SimpleGraph/Tutte.lean Outdated
Comment thread Mathlib/Combinatorics/SimpleGraph/UniversalVerts.lean
Comment thread Mathlib/Combinatorics/SimpleGraph/Tutte.lean Outdated
Comment thread Mathlib/Combinatorics/SimpleGraph/Tutte.lean Outdated
Comment thread Mathlib/Combinatorics/SimpleGraph/Matching.lean Outdated
@YaelDillies YaelDillies added the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 20, 2025
@pimotte pimotte removed the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 22, 2025
pimotte and others added 4 commits March 31, 2025 14:16
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
@pimotte pimotte removed the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 31, 2025
Copy link
Copy Markdown
Contributor

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

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

Just pushed a small golf and suggested another one. Rest looks good to me, thanks!

maintainer delegate

Comment thread Mathlib/Combinatorics/SimpleGraph/UniversalVerts.lean Outdated
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 2, 2025

🚀 Pull request has been placed on the maintainer queue by YaelDillies.

@github-actions github-actions bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Apr 2, 2025
pimotte and others added 2 commits April 3, 2025 13:34
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Copy link
Copy Markdown
Contributor

@b-mehta b-mehta left a comment

Choose a reason for hiding this comment

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

This is broadly in good shape, I've left a couple of comments for now. I'll take another look after you've addressed them!

Comment thread Mathlib/Combinatorics/SimpleGraph/Tutte.lean Outdated
Comment thread Mathlib/Combinatorics/SimpleGraph/Tutte.lean Outdated
Comment thread Mathlib/Combinatorics/SimpleGraph/Tutte.lean Outdated
Comment thread Mathlib/Data/Set/Card.lean Outdated
@b-mehta b-mehta added the awaiting-author A reviewer has asked the author a question or requested changes. label Apr 17, 2025
pimotte and others added 2 commits April 18, 2025 09:07
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: Bhavik Mehta <bhavikmehta8@gmail.com>
@pimotte pimotte removed the awaiting-author A reviewer has asked the author a question or requested changes. label Apr 18, 2025
@YaelDillies YaelDillies removed the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Apr 30, 2025
@b-mehta
Copy link
Copy Markdown
Contributor

b-mehta commented Apr 30, 2025

Looks good, thank you!

bors merge

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Apr 30, 2025
mathlib-bors bot pushed a commit that referenced this pull request Apr 30, 2025
Adds three key parts of the proof of Tutte's theorem, with some supporting lemma's:

- necessity of the Tutte condition (`not_isTutteViolator`)
- the fact that the empty set violates the Tutte condition if the number of vertices is odd (`IsTutteViolator.empty`)
- the construction of a perfect matching in a graph that decomposes into cliques (`Subgraph.IsPerfectMatching.exists_of_isClique_supp`)

Definitions added: `IsTutteViolator`. 



Co-authored-by: Pim Otte <otte.pim@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Apr 30, 2025

Build failed (retrying...):

mathlib-bors bot pushed a commit that referenced this pull request Apr 30, 2025
Adds three key parts of the proof of Tutte's theorem, with some supporting lemma's:

- necessity of the Tutte condition (`not_isTutteViolator`)
- the fact that the empty set violates the Tutte condition if the number of vertices is odd (`IsTutteViolator.empty`)
- the construction of a perfect matching in a graph that decomposes into cliques (`Subgraph.IsPerfectMatching.exists_of_isClique_supp`)

Definitions added: `IsTutteViolator`. 



Co-authored-by: Pim Otte <otte.pim@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Apr 30, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(Combinatorics/SimpleGraph): part of Tutte's theorem [Merged by Bors] - feat(Combinatorics/SimpleGraph): part of Tutte's theorem Apr 30, 2025
@mathlib-bors mathlib-bors bot closed this Apr 30, 2025
@mathlib-bors mathlib-bors bot deleted the PO_tutte_pt1 branch April 30, 2025 12:59
tannerduve pushed a commit that referenced this pull request May 13, 2025
Adds three key parts of the proof of Tutte's theorem, with some supporting lemma's:

- necessity of the Tutte condition (`not_isTutteViolator`)
- the fact that the empty set violates the Tutte condition if the number of vertices is odd (`IsTutteViolator.empty`)
- the construction of a perfect matching in a graph that decomposes into cliques (`Subgraph.IsPerfectMatching.exists_of_isClique_supp`)

Definitions added: `IsTutteViolator`. 



Co-authored-by: Pim Otte <otte.pim@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge This PR has been sent to bors. t-combinatorics Combinatorics

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants