Splitting the parts of a partition by atomic types over a set
Lax185574.TypeSplitting · concepts/Lax185574/TypeSplitting.lean · lax-185574
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
Fix a graph G and a partition 𝒫 of V(G). For a set T ⊆ V(G), 𝒫 ∧ T is the refinement of 𝒫 where each part P ∈ 𝒫 is split into atomic types over T ∖ P, that is, into sets of the form P ∩ Q, where Q is the set of all vertices of G with a given neighborhood in T ∖ P.
Concept map
In the paper
- page 32 of this submission's paper
Lean source view on GitHub
| 1 | import Lax185574.Partitions |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Splitting the parts of a partition by atomic types over a set |
| 6 | type: definition |
| 7 | --- |
| 8 | Fix a graph G and a partition 𝒫 of V(G). For a set T ⊆ V(G), 𝒫 ∧ T is |
| 9 | the refinement of 𝒫 where each part P ∈ 𝒫 is split into atomic types |
| 10 | over T ∖ P, that is, into sets of the form P ∩ Q, where Q is the set of |
| 11 | all vertices of G with a given neighborhood in T ∖ P. |
| 12 | |
| 13 | # Formalization notes |
| 14 | |
| 15 | The partition 𝒫 ∧ T is the kernel of the map sending v to its part |
| 16 | 𝒫(v) together with N(v) ∩ (T ∖ 𝒫(v)). Two vertices have the same image |
| 17 | exactly when they lie in the same part P and have the same neighborhood |
| 18 | in T ∖ P, which is the description of the paper. A vertex of P does not |
| 19 | lie in T ∖ P, so its atomic type over T ∖ P is given by this |
| 20 | neighborhood alone. If 𝒫 has a single part, then T ∖ P is empty and |
| 21 | 𝒫 ∧ T = 𝒫. |
| 22 | -/ |
| 23 | |
| 24 | namespace Lax185574.TypeSplitting |
| 25 | |
| 26 | universe z |
| 27 | |
| 28 | variable {V : Type z} |
| 29 | |
| 30 | /-- `𝒫 ∧ T`: each part `P` of `P` is split according to the |
| 31 | neighborhoods of its vertices in `T ∖ P`. -/ |
| 32 | def split (G : SimpleGraph V) (P : Setoid V) (T : Set V) : Setoid V := |
| 33 | Setoid.ker fun v => (Quotient.mk P v, {t | t ∈ T ∧ ¬ P t v} ∩ G.neighborSet v) |
| 34 | |
| 35 | end Lax185574.TypeSplitting |
| 36 |
Formalization notes
The partition 𝒫 ∧ T is the kernel of the map sending v to its part 𝒫(v) together with N(v) ∩ (T ∖ 𝒫(v)). Two vertices have the same image exactly when they lie in the same part P and have the same neighborhood in T ∖ P, which is the description of the paper. A vertex of P does not lie in T ∖ P, so its atomic type over T ∖ P is given by this neighborhood alone. If 𝒫 has a single part, then T ∖ P is empty and 𝒫 ∧ T = 𝒫.
Builds on
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments