Skip to content

feat(Combinatorics/GraphLike): introduce SymmGraphLike typeclass#36829

Open
Jun2M wants to merge 84 commits into
leanprover-community:masterfrom
Jun2M:SymmGraphLike
Open

feat(Combinatorics/GraphLike): introduce SymmGraphLike typeclass#36829
Jun2M wants to merge 84 commits into
leanprover-community:masterfrom
Jun2M:SymmGraphLike

Conversation

@Jun2M
Copy link
Copy Markdown
Collaborator

@Jun2M Jun2M commented Mar 18, 2026

Per discussion at (#graph theory > HasAdj), This PR extends GraphLike typeclass defined in #36743 for graphs with symmetric darts (SimpleGraph and Graph, not Digraph).

Main definitions

  • SymmGraphLike V D E Gr: A typeclass extending GraphLike with together with inv, an involution function on darts that swaps src and tgt.
  • NoMultiEdgeSymmGraphLike V D E Gr: A typeclass extending NoMultiEdgeGraphLike and SymmGraphLike.

Open in Gitpod

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 18, 2026

PR summary 311bc48b92

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Combinatorics.GraphLike.Basic (new file) 489

Declarations diff

+ Adj.left_mem
+ Adj.right_mem
+ Adj.symm
+ DartAdj
+ GraphLike
+ NoMultiEdgeGraphLike
+ SymmGraphLike
+ adj_comm
+ adj_source_target
+ adj_target_source
+ dartSym2
+ dartSym2_comp_inv
+ dartSym2_eq_iff
+ dartSym2_eq_mk'_iff
+ dartSym2_eq_mk'_iff'
+ dartSym2_inv
+ dartSym2_mk
+ dartSymm
+ dartSymm_dartSymm
+ dartSymm_involutive
+ dartSymm_mk
+ dart_eq_of_source_target_eq
+ darts_ext
+ instance : Std.Symm (Adj G)
+ instance [DecidableRel (Adj G)] : DecidablePred (· ∈ D(G))
+ inv_mem_darts
+ mem_darts_iff_adj
+ noMultiEdgeSymmGraphLike
+ source_target_inj
+ toProd

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.


No changes to strong technical debt.
No changes to weak technical debt.

@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 Apr 21, 2026
@Jun2M Jun2M marked this pull request as ready for review April 26, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) t-combinatorics Combinatorics

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants