The bag-counting identity of a clique tree #
For every clique tree, the bag sizes and the sizes of the separators sitting on the tree edges
recover the number of vertices:
∑ i, |bag i| − ∑ (tree edges i → j), |bag i ∩ bag j| = |V|.
This is the general form of the perfect-elimination-order count
SimpleGraph.IsPEO.card_edgeFinset_add_card_eq_sum_card_peoBag, and the companion of the edge
count SimpleGraph.CliqueTree.card_edgeFinset_eq_sum_fiber.
The proof is a double count: a vertex v lies in the bags of a nonempty set of nodes, exactly one
of which — the node top v — does not pass v on to its parent.
Main definitions #
SimpleGraph.CliqueTree.parentSep— the separator attached to a node:bag i ∩ bag (parent i), and∅at a root.
Main results #
The separator of the tree edge above i: the intersection of bag i with the bag of its
parent, and ∅ if i is a root.
Instances For
The vertices of the separator above i are exactly the vertices of bag i that i passes on
to its parent, i.e. the vertices of bag i whose top node is not i.
The bag-counting identity. The total bag size, minus the total size of the separators sitting on the edges of the clique tree, is the number of vertices.
The bag-counting identity, summed over the edges of the tree. Only the non-root nodes, the ones carrying a tree edge, contribute a separator.