defpred S1[ Nat] means for G1 being _finite non _trivial connected _Graph
for G2 being non spanning connected Subgraph of G1 st (G1 .order()) + $1 = (G1 .size()) + 1 holds
ex v being Vertex of G1 st
( not v is cut-vertex & not v in the_Vertices_of G2 );
A1:
S1[ 0 ]
A3:
for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be
Nat;
( S1[k] implies S1[k + 1] )
assume A4:
S1[
k]
;
S1[k + 1]
let G1 be
_finite non
_trivial connected _Graph;
for G2 being non spanning connected Subgraph of G1 st (G1 .order()) + (k + 1) = (G1 .size()) + 1 holds
ex v being Vertex of G1 st
( not v is cut-vertex & not v in the_Vertices_of G2 )let G2 be non
spanning connected Subgraph of
G1;
( (G1 .order()) + (k + 1) = (G1 .size()) + 1 implies ex v being Vertex of G1 st
( not v is cut-vertex & not v in the_Vertices_of G2 ) )
assume A5:
(G1 .order()) + (k + 1) = (G1 .size()) + 1
;
ex v being Vertex of G1 st
( not v is cut-vertex & not v in the_Vertices_of G2 )
not
G1 is
acyclic
then consider C being
Walk of
G1 such that A6:
C is
Cycle-like
by GLIB_002:def 2;
ex
e being
set st
(
e in C .edges() & (
C .edges() c= the_Edges_of G2 or not
e in the_Edges_of G2 ) )
then consider e being
set such that A9:
e in C .edges()
and A10:
(
C .edges() c= the_Edges_of G2 or not
e in the_Edges_of G2 )
;
set G3 = the
removeEdge of
G1,
e;
reconsider G3 = the
removeEdge of
G1,
e as non
_trivial _Graph ;
reconsider G3 =
G3 as
_finite non
_trivial connected _Graph by A6, A9, GLIB_002:5;
A11:
the_Vertices_of G3 = the_Vertices_of G1
by GLIB_000:51;
A12:
the_Edges_of G3 = (the_Edges_of G1) \ {e}
by GLIB_000:51;
A13:
(the_Edges_of G2) \ {e} c= the_Edges_of G3
by A12, XBOOLE_1:33;
set G4 = the
removeEdge of
G2,
e;
reconsider G4 = the
removeEdge of
G2,
e as
Subgraph of
G1 by GLIB_000:43;
A14:
(
the_Vertices_of G4 = the_Vertices_of G2 &
the_Edges_of G4 = (the_Edges_of G2) \ {e} )
by GLIB_000:51;
then reconsider G4 =
G4 as
Subgraph of
G3 by A11, A13, GLIB_000:44;
G4 is
connected
then reconsider G4 =
G4 as
connected Subgraph of
G3 ;
not
G4 is
spanning
then reconsider G4 =
G4 as non
spanning connected Subgraph of
G3 ;
((G1 .order()) + k) + 1
= ((G3 .size()) + 1) + 1
by A5, A9, GLIB_000:52;
then
(G3 .order()) + k = (G3 .size()) + 1
by GLIB_000:52;
then consider v being
Vertex of
G3 such that A17:
( not
v is
cut-vertex & not
v in the_Vertices_of G4 )
by A4;
the_Vertices_of G3 c= the_Vertices_of G1
by GLIB_000:def 32;
then reconsider v0 =
v as
Vertex of
G1 by TARSKI:def 3;
take
v0
;
( not v0 is cut-vertex & not v0 in the_Vertices_of G2 )
hence
not
v0 is
cut-vertex
by GLIB_002:35;
not v0 in the_Vertices_of G2
thus
not
v0 in the_Vertices_of G2
by A14, A17;
verum
end;
A20:
for k being Nat holds S1[k]
from NAT_1:sch 2(A1, A3);
let G1 be _finite non _trivial connected _Graph; for G2 being non spanning connected Subgraph of G1 ex v being Vertex of G1 st
( not v is cut-vertex & not v in the_Vertices_of G2 )
let G2 be non spanning connected Subgraph of G1; ex v being Vertex of G1 st
( not v is cut-vertex & not v in the_Vertices_of G2 )
ex k being Nat st (G1 .order()) + k = (G1 .size()) + 1
by GLIB_002:40, NAT_1:10;
hence
ex v being Vertex of G1 st
( not v is cut-vertex & not v in the_Vertices_of G2 )
by A20; verum