Skip to content

feat(Combinatorics/SimpleGraph/InducedCopy): add Copy.inducedShape#38

Closed
FordUniver wants to merge 1 commit into
feat/simplegraph-autfrom
feat/copy-induced-shape
Closed

feat(Combinatorics/SimpleGraph/InducedCopy): add Copy.inducedShape#38
FordUniver wants to merge 1 commit into
feat/simplegraph-autfrom
feat/copy-induced-shape

Conversation

@FordUniver

@FordUniver FordUniver commented May 27, 2026

Copy link
Copy Markdown
Owner

Adds Copy.inducedShape, the pullback H.comap f.toEmbedding recording the adjacency of the host graph at the image of a copy, together with the per-fiber bijection Copy.fiberInducedShapeEquiv: for G' ≥ G, copies of G in H with induced shape G' are canonically embeddings G' ↪g H. The companion promotion lemma Copy.toEmbeddingOfInducedShapeEq is the supergraph variant of the existing Copy.toEmbeddingOfIsInduced in this file, taking Copy G H to Embedding G' H rather than to Embedding G H.

Co-authored-by: Malte Jackisch 45597826+MaltyBlanket@users.noreply.github.com


Came up while writing a Möbius inversion between copy counts and induced copy counts in a downstream PR. The fiber decomposition is the load-bearing structural fact: every copy uniquely decomposes as a choice of induced shape (a supergraph of the guest on the same vertex type) together with an embedding of that shape into the host.

Diff for the changes just in this PR over its predecessor: link

For a copy `f : Copy G H`, the *induced shape* of `f` is the pullback
`H.comap f.toEmbedding`: a graph on `V` whose adjacency records the induced
adjacency of `H` restricted to the image of `f`.

Adds:
* `Copy.inducedShape`, `Copy.inducedShape_adj`, `Copy.le_inducedShape`.
* `Copy.toEmbeddingOfInducedShapeEq`: promotes a copy whose induced shape
  equals a prescribed supergraph `G' ≥ G` to an embedding `G' ↪g H`.
* `Copy.fiberInducedShapeEquiv`: the per-supergraph bijection
  `{f : Copy G H // f.inducedShape = G'} ≃ Embedding G' H`.

This material is the load-bearing fiber decomposition consumed by the
Möbius inversion `copyCount_eq_sum_embeddingCount` /
`embeddingCount_eq_sum_signed_copyCount` (downstream PR).

`Copy.toEmbeddingOfInducedShapeEq` is `@[expose]` for the same reason as
`Copy.toEmbeddingOfIsInduced`: its `_apply` simp lemma needs the body to
unfold across modules.
@FordUniver
FordUniver force-pushed the feat/copy-induced-shape branch from 66510d0 to 67bb8d3 Compare May 27, 2026 15:34
@FordUniver FordUniver changed the title feat(Combinatorics/SimpleGraph/InducedCopy): Copy.inducedShape feat(Combinatorics/SimpleGraph/InducedCopy): add Copy.inducedShape May 27, 2026
@FordUniver
FordUniver changed the base branch from feat/ind-copy-count to feat/simplegraph-aut May 27, 2026 15:37
@FordUniver

Copy link
Copy Markdown
Owner Author

Rolled into the Möbius PR — the inducedShape API doesn't make sense standalone without the Möbius bijection that consumes it.

@FordUniver FordUniver closed this May 27, 2026
@FordUniver
FordUniver deleted the feat/copy-induced-shape branch May 27, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant