let T be _finite non _trivial Tree-like _Graph; :: thesis: for v being Vertex of T
for F being removeVertex of T,v
for C being Component of F ex w being Vertex of T st
( w is endvertex & w in the_Vertices_of C )

let v be Vertex of T; :: thesis: for F being removeVertex of T,v
for C being Component of F ex w being Vertex of T st
( w is endvertex & w in the_Vertices_of C )

let F be removeVertex of T,v; :: thesis: for C being Component of F ex w being Vertex of T st
( w is endvertex & w in the_Vertices_of C )

let C be Component of F; :: thesis: ex w being Vertex of T st
( w is endvertex & w in the_Vertices_of C )

A1: the_Vertices_of C c= the_Vertices_of F ;
A2: the_Vertices_of F c= the_Vertices_of T ;
per cases ( C is _trivial or not C is _trivial ) ;
suppose C is _trivial ; :: thesis: ex w being Vertex of T st
( w is endvertex & w in the_Vertices_of C )

then consider w8 being Vertex of C such that
A4: the_Vertices_of C = {w8} by GLIB_000:22;
reconsider w9 = w8 as Vertex of F by A1, TARSKI:def 3;
reconsider w = w9 as Vertex of T by A2, TARSKI:def 3;
take w ; :: thesis: ( w is endvertex & w in the_Vertices_of C )
set P = T .pathBetween (v,w);
the_Vertices_of F = (the_Vertices_of T) \ {v} by GLIB_000:47;
then A6: v <> w by ZFMISC_1:56;
A7: len (T .pathBetween (v,w)) = 3
proof
assume len (T .pathBetween (v,w)) <> 3 ; :: thesis: contradiction
per cases then ( len (T .pathBetween (v,w)) < 3 or 3 < len (T .pathBetween (v,w)) ) by XXREAL_0:1;
suppose A8: 3 < len (T .pathBetween (v,w)) ; :: thesis: contradiction
then reconsider m = (len (T .pathBetween (v,w))) - 2 as Element of NAT by XXREAL_0:2, INT_1:5;
A9: m < (len (T .pathBetween (v,w))) - 0 by XREAL_1:15;
A10: ( m is odd & 1 is odd ) by POLYFORM:4, POLYFORM:5;
then (T .pathBetween (v,w)) . (m + 1) Joins (T .pathBetween (v,w)) . m,(T .pathBetween (v,w)) . (m + 2),T by A9, GLIB_001:def 3;
then (T .pathBetween (v,w)) . (m + 1) Joins (T .pathBetween (v,w)) .last() ,(T .pathBetween (v,w)) . m,T by GLIB_000:14;
then A11: (T .pathBetween (v,w)) . (m + 1) Joins w,(T .pathBetween (v,w)) . m,T by HELLY:28;
per cases ( (T .pathBetween (v,w)) . m <> v or (T .pathBetween (v,w)) . m = v ) ;
end;
end;
end;
end;
then (T .pathBetween (v,w)) . (1 + 1) Joins (T .pathBetween (v,w)) . 1,(T .pathBetween (v,w)) . (1 + 2),T by POLYFORM:4, GLIB_001:def 3;
then (T .pathBetween (v,w)) . 2 Joins (T .pathBetween (v,w)) .first() ,(T .pathBetween (v,w)) .last() ,T by A7;
then (T .pathBetween (v,w)) . 2 Joins v,(T .pathBetween (v,w)) .last() ,T by HELLY:28;
then A17: (T .pathBetween (v,w)) . 2 Joins v,w,T by HELLY:28;
A18: not (T .pathBetween (v,w)) . 2 Joins w,w,T by GLIB_000:18;
now :: thesis: for x being object holds
( ( x in w .edgesInOut() implies x = (T .pathBetween (v,w)) . 2 ) & ( x = (T .pathBetween (v,w)) . 2 implies x in w .edgesInOut() ) )
end;
then w .edgesInOut() = {((T .pathBetween (v,w)) . 2)} by TARSKI:def 1;
hence ( w is endvertex & w in the_Vertices_of C ) by A18, GLIB_000:def 51; :: thesis: verum
end;
suppose A23: not C is _trivial ; :: thesis: ex w being Vertex of T st
( w is endvertex & w in the_Vertices_of C )

the_Edges_of C <> {} then consider w1, w2 being Vertex of C such that
A25: ( w1 <> w2 & w1 is endvertex & w2 is endvertex ) and
w2 in C .reachableFrom w1 by A23, GLIB_002:43;
( w1 in the_Vertices_of F & w2 in the_Vertices_of F ) by A1, TARSKI:def 3;
per cases then ( not w1 in v .allNeighbors() or not w2 in v .allNeighbors() ) by A25, Lm1;
suppose A26: not w1 in v .allNeighbors() ; :: thesis: ex w being Vertex of T st
( w is endvertex & w in the_Vertices_of C )

w1 in the_Vertices_of C ;
then reconsider w = w1 as Vertex of T by A2, TARSKI:def 3;
reconsider w9 = w1 as Vertex of F by A1, TARSKI:def 3;
take w ; :: thesis: ( w is endvertex & w in the_Vertices_of C )
consider e being object such that
A27: ( w1 .edgesInOut() = {e} & not e Joins w1,w1,C ) by A25, GLIB_000:def 51;
A28: not e Joins w,w,T by GLIB_000:18;
C is Subgraph of T by GLIB_000:43;
then A29: w1 .edgesInOut() c= w .edgesInOut() by GLIB_000:78;
now :: thesis: for x being object holds
( ( x in w .edgesInOut() implies x = e ) & ( x = e implies x in w .edgesInOut() ) )
end;
then {e} = w .edgesInOut() by TARSKI:def 1;
hence ( w is endvertex & w in the_Vertices_of C ) by A28, GLIB_000:def 51; :: thesis: verum
end;
suppose A26: not w2 in v .allNeighbors() ; :: thesis: ex w being Vertex of T st
( w is endvertex & w in the_Vertices_of C )

w2 in the_Vertices_of C ;
then reconsider w = w2 as Vertex of T by A2, TARSKI:def 3;
reconsider w9 = w2 as Vertex of F by A1, TARSKI:def 3;
take w ; :: thesis: ( w is endvertex & w in the_Vertices_of C )
consider e being object such that
A27: ( w2 .edgesInOut() = {e} & not e Joins w2,w2,C ) by A25, GLIB_000:def 51;
A28: not e Joins w,w,T by GLIB_000:18;
C is Subgraph of T by GLIB_000:43;
then A29: w2 .edgesInOut() c= w .edgesInOut() by GLIB_000:78;
now :: thesis: for x being object holds
( ( x in w .edgesInOut() implies x = e ) & ( x = e implies x in w .edgesInOut() ) )
end;
then {e} = w .edgesInOut() by TARSKI:def 1;
hence ( w is endvertex & w in the_Vertices_of C ) by A28, GLIB_000:def 51; :: thesis: verum
end;
end;
end;
end;