You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(Combinatorics/SimpleGraph/Copy): introduce Sub carrier subtype
Adds `abbrev Sub A B := {B' : B.Subgraph // Nonempty (A ≃g B'.coe)}`, the
subtype of `SimpleGraph.Subgraph`s of `B` isomorphic to `A`. Redefines
`copyCount G H` via `Fintype.card (H.Sub G)`, replacing the previous inline
filter-set body, and rewrites the affected proofs (`copyCount_eq_zero`,
`copyCount_pos`, `copyCount_le_labelledCopyCount`, `copyCount_bot`,
`le_card_edgeFinset_killCopies`) to use `Sub` directly.
The singleton-empty-subgraph reasoning previously inlined in `copyCount_bot`'s
proof is factored into:
* `private lemma subgraph_iso_emptyGraph` — extracts `G'.verts = univ ∧
G'.Adj = ⊥` from `(⊥ : SimpleGraph V) ≃g G'.coe`.
* `instance uniqueSubEmptyGraph (G : SimpleGraph V) : Unique ((⊥V).Sub G)` —
the resulting `Unique` instance, which makes `copyCount_bot` a one-liner via
`Fintype.card_unique`.
The names follow the `emptyGraph` / `completeGraph` convention introduced in
#23838 and adopted in `AdjMatrix.lean`.
Drops `copyCount_eq_card_image_copyToSubgraph` (the legacy bridge between the
filter-set and Finset.image-of-Copy.toSubgraph forms) — unused after the
type-form refactor.
0 commit comments