Draft — mutable and not usable as a dependency; its citation marks the draft state.

Lax9.NeighborhoodComplexity

Linear Neighbourhood Complexity

concepts/Lax9/NeighborhoodComplexity.lean · Lax9

nothing to prove

Definition

For a finite simple graph GG and a natural number pp, the neighbourhood complexity πG(p)π_G(p) is the maximum, over sets XX of pp vertices, of the number of distinct traces on XX of the neighbourhoods of vertices outside XX. A graph class has linear neighbourhood complexity if πG(p)π_G(p) is bounded by a constant multiple of pp for every positive pp.

Lean source view on GitHub

1import Lax9.MergeWidth
2
3/-!
4---
5title: Linear Neighbourhood Complexity
6type: definition
7---
8For a finite simple graph $G$ and a natural number $p$, the neighbourhood
9complexity $π_G(p)$ is the maximum, over sets $X$ of $p$ vertices, of the number
10of distinct traces on $X$ of the neighbourhoods of vertices outside $X$. A
11graph class has linear neighbourhood complexity if $π_G(p)$ is bounded by a
12constant multiple of $p$ for every positive $p$.
13-/
14
15namespace Lax9.NeighborhoodComplexity
16
17open Lax9.MergeWidth
18open scoped Classical
19
20universe u
21
22variable {V : Type u} [Fintype V]
23
24/-- The neighbourhood complexity $π_G(p)$ of a finite simple graph $G$. -/
25noncomputable def neighborhoodComplexity (G : SimpleGraph V) (p : ℕ) : ℕ :=
26 (Finset.univ.powersetCard p).sup fun X =>
27 ((Finset.univ \ X).image fun v => X.filter fun u => G.Adj v u).card
28
29/-- A graph class has linear neighbourhood complexity if $π_G(p) ≤ c p$ for
30some constant $c$ and every positive $p$. -/
31def LinearNeighborhoodComplexity (C : GraphClass) : Prop :=
32 ∃ c : ℕ, ∀ ⦃V : Type⦄ [Fintype V] (G : SimpleGraph V), C G → ∀ p, 1 ≤ p →
33 neighborhoodComplexity G p ≤ c * p
34
35end Lax9.NeighborhoodComplexity
36

Mathlib imports

none