Skip to content

feat(Combinatorics/SimpleGraph/Paths): existence of a shortest cycle at a vertex#41711

Open
SnirBroshi wants to merge 1 commit into
leanprover-community:masterfrom
SnirBroshi:feature/simple-graph/exists-shortest-cycle
Open

feat(Combinatorics/SimpleGraph/Paths): existence of a shortest cycle at a vertex#41711
SnirBroshi wants to merge 1 commit into
leanprover-community:masterfrom
SnirBroshi:feature/simple-graph/exists-shortest-cycle

Conversation

@SnirBroshi

@SnirBroshi SnirBroshi commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

Longest paths/trails/cycles/circuits are handled in #41522

For circuits not fixed to a specific vertex we have exists_girth_eq_length and IsCircuit.girth_le_length.

A shortest circuit is a cycle and every cycle is a circuit, so there's no reason to have separate circuit/cycle versions, unlike the "longest" versions.

Note that the notion of shortest paths/trails (either globally or from a specific vertex) doesn't make sense because the nil walk is a path/trail. However a shortest path/trail between two specific endpoints does make sense, and we have Reachable.exists_path_of_dist and dist_le for that case.

Open in Gitpod

@github-actions github-actions Bot added the t-combinatorics Combinatorics label Jul 13, 2026
@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown

PR summary 1450ccebb1

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff (regex)

+ exists_isCycle_forall_isCircuit_length_le_length

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.

Declarations diff (Lean)

Lean-aware diff — post-build, computed from the Lean environment (commit 1450cce).

  • +1 new declarations
  • −0 removed declarations
+SimpleGraph.Walk.exists_isCycle_forall_isCircuit_length_le_length

No changes to strong technical debt.

No changes to weak technical debt.

Current commit 1450ccebb1
Reference commit 1f165a51de

This script lives in the mathlib-ci repository. To run it locally, from your mathlib4 directory:

git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
../mathlib-ci/scripts/reporting/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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-combinatorics Combinatorics

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant