Helly for connected vertex sets of a finite tree #
The proof removes a leaf. Unless one member is that singleton, every member survives removal; two members meeting only at the leaf also contain its neighbour.
theorem
SimpleGraph.leaf_neighbor_mem
{N : Type u_1}
{T : SimpleGraph N}
{leaf neighbour : N}
(hunique : ∀ (x : N), T.Adj leaf x → x = neighbour)
{S : Set N}
(hS : (induce S T).Connected)
(hleaf : leaf ∈ S)
(hother : ∃ x ∈ S, x ≠ leaf)
:
A connected set containing a leaf and another vertex contains its neighbour.
theorem
SimpleGraph.connected_prunedSet
{N : Type u_1}
{T : SimpleGraph N}
[Finite N]
{leaf neighbour : N}
(hadj : T.Adj leaf neighbour)
(hunique : ∀ (x : N), T.Adj leaf x → x = neighbour)
{S : Set N}
(hS : (induce S T).Connected)
(hother : ∃ x ∈ S, x ≠ leaf)
:
Removing a leaf preserves connectedness of every subtree that has another vertex.
theorem
SimpleGraph.prunedSet_inter_nonempty_iff
{N : Type u_1}
{T : SimpleGraph N}
{leaf neighbour : N}
(hadj : T.Adj leaf neighbour)
(hunique : ∀ (x : N), T.Adj leaf x → x = neighbour)
{S R : Set N}
(hS : (induce S T).Connected)
(hR : (induce R T).Connected)
(hSother : ∃ x ∈ S, x ≠ leaf)
(hRother : ∃ x ∈ R, x ≠ leaf)
:
Pruning a leaf preserves intersection when both subtrees have another vertex.
theorem
SimpleGraph.IsTree.prune_subtree_family
{N : Type u_1}
{T : SimpleGraph N}
[Fintype N]
[DecidableEq N]
(hT : T.IsTree)
{leaf neighbour : N}
(hadj : T.Adj leaf neighbour)
(hunique : ∀ (x : N), T.Adj leaf x → x = neighbour)
{I : Type u_2}
(F : Finset I)
(S : I → Set N)
(hc : ∀ i ∈ F, (induce (S i) T).Connected)
(hother : ∀ i ∈ F, ∃ x ∈ S i, x ≠ leaf)
:
The common smaller-host step: pruning preserves the tree, subtrees and intersections.
theorem
SimpleGraph.IsTree.finite_subtree_helly
{N : Type u_1}
{T : SimpleGraph N}
[Finite N]
(hT : T.IsTree)
{I : Type u_2}
(F : Finset I)
(S : I → Set N)
(hconnected : ∀ i ∈ F, (induce (S i) T).Connected)
(hinter : ∀ i ∈ F, ∀ j ∈ F, (S i ∩ S j).Nonempty)
:
∃ (x : N), ∀ i ∈ F, x ∈ S i
A finite pairwise-intersecting family of nonempty subtrees has a common vertex.