A forward permutation preserving adjacency and each ordered colour.
Equations
Instances For
Explicit dense conversion preserves the isomorphism relation.
Two sparse coloured graphs are isomorphic if a transporter exists.
Equations
- Hex.GraphIso.Sparse.Isomorphic G H = ∃ (p : Hex.Perm n), Hex.GraphIso.Sparse.IsIso G H p
Instances For
theorem
Hex.GraphIso.Sparse.Isomorphic.intro
{n k : Nat}
{G H : Colored n k}
(p : Perm n)
(h : IsIso G H p)
:
Isomorphic G H
theorem
Hex.GraphIso.Sparse.Isomorphic.symm
{n k : Nat}
{G H : Colored n k}
(h : Isomorphic G H)
:
Isomorphic H G
theorem
Hex.GraphIso.Sparse.Isomorphic.trans
{n k : Nat}
{G H K : Colored n k}
(h : Isomorphic G H)
(h' : Isomorphic H K)
:
Isomorphic G K
theorem
Hex.GraphIso.Sparse.isomorphic_relabel
{n k : Nat}
(G : Colored n k)
(l : Label n)
:
Isomorphic G (G.relabel l)
Check a given transporter by native sparse relabelling and equality. This operation constructs no dense adjacency matrix and does no search.
Equations
- Hex.GraphIso.Sparse.checkIso G H p = (G.relabel p.toLabel == H)
Instances For
@[instance_reducible]
Equations
- Hex.GraphIso.Sparse.instDecidableIsIso G H p = if h : Hex.GraphIso.Sparse.checkIso G H p = true then isTrue ⋯ else isFalse ⋯