let G1 be _Graph; for G2 being GraphComplement of G1 holds
( ( G1 is complete implies G2 is edgeless ) & ( G2 is edgeless implies G1 is complete ) & ( the_Edges_of G1 = G1 .loops() implies G2 is complete ) & ( G2 is complete implies the_Edges_of G1 = G1 .loops() ) )
let G2 be GraphComplement of G1; ( ( G1 is complete implies G2 is edgeless ) & ( G2 is edgeless implies G1 is complete ) & ( the_Edges_of G1 = G1 .loops() implies G2 is complete ) & ( G2 is complete implies the_Edges_of G1 = G1 .loops() ) )
hereby ( G2 is complete implies the_Edges_of G1 = G1 .loops() )
assume A5:
the_Edges_of G1 = G1 .loops()
;
G2 is complete now for v2, w2 being Vertex of G2 st v2 <> w2 holds
v2,w2 are_adjacent let v2,
w2 be
Vertex of
G2;
( v2 <> w2 implies v2,w2 are_adjacent )assume A6:
v2 <> w2
;
v2,w2 are_adjacent reconsider v1 =
v2,
w1 =
w2 as
Vertex of
G1 by Th98;
for
e1 being
object holds not
e1 Joins v1,
w1,
G1
then
ex
e2 being
object st
e2 Joins v1,
w1,
G2
by A6, Th98;
hence
v2,
w2 are_adjacent
by CHORD:def 3;
verum end; hence
G2 is
complete
by CHORD:def 6;
verum
end;
hereby verum
assume A9:
G2 is
complete
;
the_Edges_of G1 = G1 .loops() now for e being object st e in the_Edges_of G1 holds
e in G1 .loops() let e be
object ;
( e in the_Edges_of G1 implies e in G1 .loops() )assume A10:
e in the_Edges_of G1
;
e in G1 .loops() then reconsider v1 =
(the_Source_of G1) . e,
w1 =
(the_Target_of G1) . e as
Vertex of
G1 by FUNCT_2:5;
A11:
e Joins v1,
w1,
G1
by A10, GLIB_000:def 13;
then A12:
v1,
w1 are_adjacent
by CHORD:def 3;
reconsider v2 =
v1,
w2 =
w1 as
Vertex of
G2 by Th99;
assume
not
e in G1 .loops()
;
contradictionthen A13:
v1 <> w1
by A11, GLIB_009:def 2;
then
not
v2,
w2 are_adjacent
by A12, Th99;
hence
contradiction
by A9, A13, CHORD:def 6;
verum end; then
the_Edges_of G1 c= G1 .loops()
by TARSKI:def 3;
hence
the_Edges_of G1 = G1 .loops()
by XBOOLE_0:def 10;
verum
end;
thus
verum
; verum