Skip to content

[Merged by Bors] - feat(Combinatorics/SimpleGraph/Acyclic): every graph has a spanning forest#33118

Closed
thomaskwaring wants to merge 16 commits intoleanprover-community:masterfrom
thomaskwaring:spanning-forest
Closed

[Merged by Bors] - feat(Combinatorics/SimpleGraph/Acyclic): every graph has a spanning forest#33118
thomaskwaring wants to merge 16 commits intoleanprover-community:masterfrom
thomaskwaring:spanning-forest

Conversation

@thomaskwaring
Copy link
Contributor

We show that every graph has a spanning forest: defined to be an acyclic subgraph with the same reachability relation as the larger graph. As a special case, every connected graph has a spanning tree.


Each of these results (spanning forest & spanning tree) are proved in two versions: a general case where the forest / tree is found by extending a given acyclic subgraph, and the special case where that subgraph is empty.

@github-actions github-actions bot added new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-combinatorics Combinatorics labels Dec 20, 2025
@github-actions
Copy link

github-actions bot commented Dec 20, 2025

PR summary c3a9c0bd27

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ Connected.exists_isTree_le_of_le_of_isAcyclic
+ exists_isAcyclic_reachable_eq_le
+ exists_isAcyclic_reachable_eq_le_of_le_of_isAcyclic

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 scripts/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).

@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 Dec 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 Jan 2, 2026
@mathlib4-dependent-issues-bot
Copy link
Collaborator

@mathlib4-merge-conflict-bot mathlib4-merge-conflict-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jan 2, 2026
@mathlib4-merge-conflict-bot
Copy link
Collaborator

This pull request has conflicts, please merge master and resolve them.

@github-actions github-actions bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jan 3, 2026
Co-authored-by: SnirBroshi <26556598+SnirBroshi@users.noreply.github.com>
@grunweg grunweg changed the title feat(Combinatorics/SimpleGraph/Acyclic): every graph has a spanning forest. feat(Combinatorics/SimpleGraph/Acyclic): every graph has a spanning forest Feb 10, 2026
Copy link
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.

Very nice, thank you!

bors d+

@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Feb 13, 2026

✌️ thomaskwaring can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@mathlib-triage mathlib-triage bot added the delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). label Feb 13, 2026
Co-authored-by: Bhavik Mehta <bhavikmehta8@gmail.com>
@thomaskwaring
Copy link
Contributor Author

thanks!

bors r+

mathlib-bors bot pushed a commit that referenced this pull request Feb 13, 2026
…orest (#33118)

We show that every graph has a spanning forest: defined to be an acyclic subgraph with the same reachability relation as the larger graph. As a special case, every connected graph has a spanning tree.

Co-authored-by: twwar <tom.waring@unimelb.edu.au>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Feb 13, 2026

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(Combinatorics/SimpleGraph/Acyclic): every graph has a spanning forest [Merged by Bors] - feat(Combinatorics/SimpleGraph/Acyclic): every graph has a spanning forest Feb 13, 2026
@mathlib-bors mathlib-bors bot closed this Feb 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-combinatorics Combinatorics

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants