Ребро на граф се нарича мост, ако премахването му увеличава броя на свързаните компоненти. Граф се нарича двусвързан (по ребра), ако е свързан и остава свързан след премахването на произволно негово ребро (граф с един връх също смятаме за двусвързан). Двусвързани компоненти на граф са максималните му двусвързани подграфи. Докажете, че за всеки прост граф [tex]G[/tex] е в сила [tex]|\mathrm{br}(G)|=c_2(G)-c(G)[/tex], където [tex]|\mathrm{br}(G)|[/tex] е броят на мостовете, [tex]c_2(G)[/tex] е броят на двусвързаните компоненти, а [tex]c(G)[/tex] е броят на свързаните компоненти на [tex]G[/tex].
Решение:
Факт [tex]1[/tex]: реброто [tex]e=xy[/tex] е мост тогава и само тогава, когато не лежи на никакъв цикъл. Ако [tex]e[/tex] лежи на цикъл [tex]C[/tex], всеки маршрут през [tex]e[/tex] може да се пренасочи по пътя [tex]C-e[/tex], затова премахването на [tex]e[/tex] не разделя нищо. Обратно, ако [tex]e[/tex] не е мост, то [tex]x[/tex] и [tex]y[/tex] се свързват с път в [tex]G-e[/tex], и този път заедно с [tex]e[/tex] образува цикъл.
Факт [tex]2[/tex]: премахването на мост [tex]e=xy[/tex] увеличава броя на компонентите с точно [tex]1[/tex]. Наистина, променя се само компонентата, съдържаща [tex]e[/tex], и всеки неин връх [tex]w[/tex] се свързва с [tex]x[/tex] в [tex]G[/tex] с път; ако прекъснем този път при първото минаване през [tex]e[/tex] (ако има такова), получаваме път в [tex]G-e[/tex] от [tex]w[/tex] до [tex]x[/tex] или до [tex]y[/tex]. Значи тази компонента се разпада на най-много две части, и то точно на две, защото [tex]e[/tex] е мост.
Сега нека [tex]B[/tex] е множеството на мостовете на [tex]G[/tex] и [tex]H=G-B[/tex] (същите върхове, без мостовете).
Стъпка [tex]1[/tex]: [tex]c(H)=c(G)+|B|[/tex]. Премахваме мостовете един по един. Премахването на ребра не създава нови цикли, затова според факт [tex]1[/tex] всяко останало ребро от [tex]B[/tex] е мост и на текущия граф, а според факт [tex]2[/tex] всяко премахване увеличава броя на компонентите с точно [tex]1[/tex].
Стъпка [tex]2[/tex]: компонентите на [tex]H[/tex] са точно двусвързаните компоненти на [tex]G[/tex].
Всяка компонента [tex]K[/tex] на [tex]H[/tex] е двусвързана. Нека [tex]e[/tex] е ребро на [tex]K[/tex]. То не е мост, затова според факт [tex]1[/tex] лежи на някакъв цикъл [tex]C[/tex] на [tex]G[/tex]. Нито едно ребро на [tex]C[/tex] не е мост (всяко от тях лежи на [tex]C[/tex]), затова [tex]C\subseteq H[/tex], а тъй като [tex]C[/tex] е свързан и съдържа [tex]e[/tex], имаме [tex]C\subseteq K[/tex]. Като заменим [tex]e[/tex] с пътя [tex]C-e[/tex] във всеки маршрут в [tex]K[/tex], виждаме, че [tex]K-e[/tex] е свързан.
Всеки двусвързан подграф [tex]S[/tex] на [tex]G[/tex] се съдържа в една компонента на [tex]H[/tex]. Ако [tex]S[/tex] съдържаше мост [tex]e=xy[/tex], то [tex]S-e[/tex] би бил свързан, т.е. [tex]x[/tex] и [tex]y[/tex] биха били свързани в [tex]G-e[/tex] и [tex]e[/tex] би лежало на цикъл, което противоречи на факт [tex]1[/tex]. Следователно [tex]S\subseteq H[/tex], а понеже е свързан, [tex]S[/tex] се съдържа в една компонента на [tex]H[/tex].
От тези две твърдения следва, че всяка компонента на [tex]H[/tex] е максимален двусвързан подграф на [tex]G[/tex], а всеки максимален двусвързан подграф се съдържа в компонента на [tex]H[/tex] и следователно съвпада с нея (изолираните върхове на [tex]H[/tex] са компоненти с по един връх). Следователно
[tex]c_2(G)=c(H)=c(G)+|B|\ \Rightarrow\ |\mathrm{br}(G)|=c_2(G)-c(G)[/tex]