let G1 be non trivial _Graph; :: thesis: for v being Vertex of G1
for G2 being removeVertex of G1,v st v is isolated holds
( G1 .componentSet() = (G2 .componentSet()) \/ {{v}} & G1 .numComponents() = (G2 .numComponents()) +` 1 )

let v be Vertex of G1; :: thesis: for G2 being removeVertex of G1,v st v is isolated holds
( G1 .componentSet() = (G2 .componentSet()) \/ {{v}} & G1 .numComponents() = (G2 .numComponents()) +` 1 )

let G2 be removeVertex of G1,v; :: thesis: ( v is isolated implies ( G1 .componentSet() = (G2 .componentSet()) \/ {{v}} & G1 .numComponents() = (G2 .numComponents()) +` 1 ) )
assume A1: v is isolated ; :: thesis: ( G1 .componentSet() = (G2 .componentSet()) \/ {{v}} & G1 .numComponents() = (G2 .numComponents()) +` 1 )
for V being object holds
( V in G1 .componentSet() iff V in (G2 .componentSet()) \/ {{v}} )
proof
let V be object ; :: thesis: ( V in G1 .componentSet() iff V in (G2 .componentSet()) \/ {{v}} )
hereby :: thesis: ( V in (G2 .componentSet()) \/ {{v}} implies V in G1 .componentSet() )
assume V in G1 .componentSet() ; :: thesis: V in (G2 .componentSet()) \/ {{v}}
then consider v1 being Vertex of G1 such that
A2: V = G1 .reachableFrom v1 by GLIB_002:def 8;
per cases ( v = v1 or v <> v1 ) ;
suppose v <> v1 ; :: thesis: V in (G2 .componentSet()) \/ {{v}}
then not v1 in {v} by TARSKI:def 1;
then v1 in (the_Vertices_of G1) \ {v} by XBOOLE_0:def 5;
then reconsider v2 = v1 as Vertex of G2 by GLIB_000:def 37;
for v3 being object st v3 in G1 .reachableFrom v1 holds
v3 in G2 .reachableFrom v2
proof
let v3 be object ; :: thesis: ( v3 in G1 .reachableFrom v1 implies v3 in G2 .reachableFrom v2 )
assume A3: v3 in G1 .reachableFrom v1 ; :: thesis: v3 in G2 .reachableFrom v2
end;
then A6: G1 .reachableFrom v1 c= G2 .reachableFrom v2 by TARSKI:def 3;
G2 .reachableFrom v2 c= G1 .reachableFrom v1 by GLIB_002:14;
then G1 .reachableFrom v1 = G2 .reachableFrom v2 by A6, XBOOLE_0:def 10;
then V in G2 .componentSet() by A2, GLIB_002:def 8;
hence V in (G2 .componentSet()) \/ {{v}} by XBOOLE_0:def 3; :: thesis: verum
end;
end;
end;
assume V in (G2 .componentSet()) \/ {{v}} ; :: thesis: V in G1 .componentSet()
per cases then ( V in G2 .componentSet() or V in {{v}} ) by XBOOLE_0:def 3;
suppose V in G2 .componentSet() ; :: thesis: V in G1 .componentSet()
end;
end;
end;
hence A12: G1 .componentSet() = (G2 .componentSet()) \/ {{v}} by TARSKI:2; :: thesis: G1 .numComponents() = (G2 .numComponents()) +` 1
not {v} in G2 .componentSet()
proof end;
then A15: G2 .componentSet() misses {{v}} by ZFMISC_1:50;
thus G1 .numComponents() = card (G1 .componentSet()) by GLIB_002:def 9
.= (card (G2 .componentSet())) +` (card {{v}}) by A12, A15, CARD_2:35
.= (G2 .numComponents()) +` (card {{v}}) by GLIB_002:def 9
.= (G2 .numComponents()) +` 1 by CARD_2:42 ; :: thesis: verum