Maximal cliques: the bridge to Mathlib, and how many there are #
Two complements to CliqueTree/Maximal.lean.
- The relative notion
SimpleGraph.IsMaximalCliqueOn G S Kused in this library agrees, forS = Finset.univ, with the order-theoreticMaximal G.IsCliqueof Mathlib (SimpleGraph.isMaximalCliqueOn_univ_iff). The relative notion is kept because Mathlib does not cover cliques of induced subgraphs. - A clique tree whose bags are the maximal cliques has at most
Fintype.card Vnodes, because every node is the top node of one of its own vertices. Hence a finite chordal graph has at mostFintype.card Vmaximal cliques.
Main results #
Bridge to Mathlib's notion. For S = Finset.univ the relative maximal cliques of this
library are exactly the maximal cliques in the sense of Maximal G.IsClique.
Counting the maximal cliques #
Every node of a maximal-clique forest is the top node of one of its own vertices.
If the vertex set is nonempty then so is every bag.
A maximal-clique forest on a nonempty vertex set has at most one node per vertex.
A maximal-clique forest has at most S.card + 1 nodes, the extra node occurring only for
the empty vertex set (whose unique maximal clique is ∅).
In a clique tree whose bags are maximal cliques and pairwise distinct, every node is the top node of one of its own vertices.
A clique tree of maximal cliques has at most one node per vertex.
The clique tree of maximal cliques, with the classical bound on the number of bags.
A finite chordal graph has at most Fintype.card V maximal cliques.