Homomorphism indistinguishability
Lax871432.HomomorphismIndistinguishability · concepts/Lax871432/HomomorphismIndistinguishability.lean · lax-871432
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
Two graphs and are homomorphism indistinguishable over a class , written , if for every .
Since is an isomorphism invariant, this is a graph isomorphism relaxation, and it is defined as one: is the relaxation itself, and is notation for the relation it carries.
Concept map
In the paper
- page 3 of this submission's paper
Lean source view on GitHub
| 1 | import Mathlib.SetTheory.Cardinal.NatCard |
| 2 | import Lax871432.GraphClasses |
| 3 | import Lax871432.HomomorphismCounts |
| 4 | import Lax871432.IsomorphismRelaxations |
| 5 | |
| 6 | /-! |
| 7 | --- |
| 8 | title: Homomorphism indistinguishability |
| 9 | type: definition |
| 10 | --- |
| 11 | Two graphs and are *homomorphism indistinguishable over a class *, |
| 12 | written , if for every |
| 13 | . |
| 14 | |
| 15 | Since is an isomorphism invariant, this is a graph isomorphism relaxation, and |
| 16 | it is defined as one: `homIndRel 𝓕` is the relaxation itself, and |
| 17 | is notation for the relation it carries. |
| 18 | -/ |
| 19 | |
| 20 | open Lax871432.GraphClasses Lax871432.HomomorphismCounts Lax871432.IsomorphismRelaxations |
| 21 | |
| 22 | namespace Lax871432.HomomorphismIndistinguishability |
| 23 | |
| 24 | /-- *Homomorphism indistinguishability over `𝓕`*: the graph isomorphism relaxation relating |
| 25 | two graphs when they receive the same number of homomorphisms from every graph of `𝓕`. -/ |
| 26 | def homIndRel (𝓕 : GraphClass) : GraphIsoRelaxation where |
| 27 | Rel := @fun _ _ _ _ G H => |
| 28 | ∀ ⦃m : ℕ⦄ (F : SimpleGraph (Fin m)), 𝓕.Mem F → homCount F G = homCount F H |
| 29 | rel_of_iso := by |
| 30 | -- Postcomposing with the isomorphism is a bijection between the two hom-sets, so |
| 31 | -- isomorphic graphs receive equally many homomorphisms from every graph. |
| 32 | rintro V W _ _ G H ⟨e⟩ m F - |
| 33 | exact Nat.card_congr |
| 34 | { toFun f := e.toHom.comp f |
| 35 | invFun f := e.symm.toHom.comp f |
| 36 | left_inv _ := by ext a; simp |
| 37 | right_inv _ := by ext a; simp } |
| 38 | symm := by |
| 39 | intro V W _ _ G H h m F hF |
| 40 | exact (h F hF).symm |
| 41 | trans := by |
| 42 | intro U V W _ _ _ G H K h h' m F hF |
| 43 | exact (h F hF).trans (h' F hF) |
| 44 | |
| 45 | @[inherit_doc homIndRel] |
| 46 | scoped notation:50 G " ≡[" 𝓕 "] " H => GraphIsoRelaxation.Rel (homIndRel 𝓕) G H |
| 47 | |
| 48 | end Lax871432.HomomorphismIndistinguishability |
| 49 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments