Clique trees and minimal separators #
SimpleGraph.CliqueTree.branch_separator shows that the intersection bag i ∩ bag j of two bags
joined by a tree edge separates the branch below i from the rest of the graph. This file proves
that these intersections are exactly the minimal separators of the graph.
Main results #
SimpleGraph.CliqueTree.separates_bag_inter— the separation statement in the form used belowSimpleGraph.CliqueTree.isMinimalSeparator_bag_inter— for a clique tree whose bags are the maximal cliques (pairwise distinct), the intersection along a tree edge is a minimal separatorSimpleGraph.CliqueTree.exists_parent_eq_of_isMinimalSeparator— conversely, every minimal separator of two vertices joined by a walk is such an intersection
Both hypotheses are shown to be necessary:
SimpleGraph.CliqueTree.not_exists_isMinimalSeparator_dupBagTree refutes the direct statement for
a clique tree with repeated maximal bags, and
SimpleGraph.CliqueTree.not_exists_parent_eq_isolatedTree refutes the converse for a disconnected
graph.
Separation by a tree edge. If a lies in the branch below i and b does not, and
neither lies in the separator bag i ∩ bag j of the tree edge i → j, then that separator
separates a from b.
The separator of a tree edge is a minimal separator, for a clique tree whose bags are the
maximal cliques of G, each occurring once.
The converse: every minimal separator is the intersection of two adjacent bags #
Every minimal separator of a clique tree is the intersection of two adjacent bags.
No maximality of the bags is needed here. The hypothesis that a and b are joined by a walk
cannot be dropped: in a disconnected graph the empty set is a minimal separator of two vertices of
different components, while the clique forest may have no tree edge at all.
The maximality and injectivity hypotheses are needed #
The direct statement fails for a clique tree whose bags are maximal cliques but are allowed to repeat: below, a one-vertex graph is given a two-node clique tree with the same bag twice, so the separator of its unique tree edge is the whole vertex set and separates nothing.
A clique tree of the one-vertex graph with two nodes carrying the same (maximal) bag.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Injectivity of the bags cannot be dropped from isMinimalSeparator_bag_inter. All the bags
of dupBagTree are maximal cliques, but the separator of its tree edge is the whole vertex set,
hence separates no pair of vertices.
Connectivity is needed in the converse #
In a disconnected graph the empty set is a minimal separator of two vertices of distinct components, while a clique forest need not have any tree edge at all.
Two isolated vertices, each in its own bag, with no tree edge.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The walk hypothesis cannot be dropped from exists_parent_eq_of_isMinimalSeparator. All
the bags of isolatedTree are maximal cliques and ∅ is a minimal separator of its two vertices,
but the forest has no tree edge.