let G2 be _Graph; :: thesis: for v being object
for G1 being addVertex of G2,v holds G1 is addAdjVertexAll of G2,v, {}

let v be object ; :: thesis: for G1 being addVertex of G2,v holds G1 is addAdjVertexAll of G2,v, {}
let G1 be addVertex of G2,v; :: thesis: G1 is addAdjVertexAll of G2,v, {}
per cases ( not v in the_Vertices_of G2 or v in the_Vertices_of G2 ) ;
suppose A1: not v in the_Vertices_of G2 ; :: thesis: G1 is addAdjVertexAll of G2,v, {}
A2: {} c= the_Vertices_of G2 by XBOOLE_1:2;
now :: thesis: ( the_Vertices_of G1 = (the_Vertices_of G2) \/ {v} & ( for e being object holds
( not e Joins v,v,G1 & ( for v1 being object holds
( ( not v1 in {} implies not e Joins v1,v,G1 ) & ( for v2 being object st v1 <> v & v2 <> v & e DJoins v1,v2,G1 holds
e DJoins v1,v2,G2 ) ) ) ) ) & ex E being set st
( card {} = card E & E misses the_Edges_of G2 & the_Edges_of G1 = (the_Edges_of G2) \/ E & ( for v1 being object st v1 in {} holds
ex e1 being object st
( e1 in E & e1 Joins v1,v,G1 & ( for e2 being object st e2 Joins v1,v,G1 holds
e1 = e2 ) ) ) ) )
thus the_Vertices_of G1 = (the_Vertices_of G2) \/ {v} by GLIB_006:def 10; :: thesis: ( ( for e being object holds
( not e Joins v,v,G1 & ( for v1 being object holds
( ( not v1 in {} implies not e Joins v1,v,G1 ) & ( for v2 being object st v1 <> v & v2 <> v & e DJoins v1,v2,G1 holds
e DJoins v1,v2,G2 ) ) ) ) ) & ex E being set st
( card {} = card E & E misses the_Edges_of G2 & the_Edges_of G1 = (the_Edges_of G2) \/ E & ( for v1 being object st v1 in {} holds
ex e1 being object st
( e1 in E & e1 Joins v1,v,G1 & ( for e2 being object st e2 Joins v1,v,G1 holds
e1 = e2 ) ) ) ) )

hereby :: thesis: ex E being set st
( card {} = card E & E misses the_Edges_of G2 & the_Edges_of G1 = (the_Edges_of G2) \/ E & ( for v1 being object st v1 in {} holds
ex e1 being object st
( e1 in E & e1 Joins v1,v,G1 & ( for e2 being object st e2 Joins v1,v,G1 holds
e1 = e2 ) ) ) )
let e be object ; :: thesis: ( not e Joins v,v,G1 & ( for v1 being object holds
( ( not v1 in {} implies not e Joins v1,v,G1 ) & ( for v2 being object st v1 <> v & v2 <> v & e DJoins v1,v2,G1 holds
e DJoins v1,v2,G2 ) ) ) )

not e Joins v,v,G2 by A1, GLIB_000:13;
hence not e Joins v,v,G1 by GLIB_006:87; :: thesis: for v1 being object holds
( ( not v1 in {} implies not e Joins v1,v,G1 ) & ( for v2 being object st v1 <> v & v2 <> v & e DJoins v1,v2,G1 holds
e DJoins v1,v2,G2 ) )

let v1 be object ; :: thesis: ( ( not v1 in {} implies not e Joins v1,v,G1 ) & ( for v2 being object st v1 <> v & v2 <> v & e DJoins v1,v2,G1 holds
e DJoins v1,v2,G2 ) )

hereby :: thesis: for v2 being object st v1 <> v & v2 <> v & e DJoins v1,v2,G1 holds
e DJoins v1,v2,G2
assume not v1 in {} ; :: thesis: not e Joins v1,v,G1
not e Joins v1,v,G2 by A1, GLIB_000:13;
hence not e Joins v1,v,G1 by GLIB_006:87; :: thesis: verum
end;
let v2 be object ; :: thesis: ( v1 <> v & v2 <> v & e DJoins v1,v2,G1 implies e DJoins v1,v2,G2 )
assume ( v1 <> v & v2 <> v & e DJoins v1,v2,G1 ) ; :: thesis: e DJoins v1,v2,G2
hence e DJoins v1,v2,G2 by GLIB_006:85; :: thesis: verum
end;
take E = {} ; :: thesis: ( card {} = card E & E misses the_Edges_of G2 & the_Edges_of G1 = (the_Edges_of G2) \/ E & ( for v1 being object st v1 in {} holds
ex e1 being object st
( e1 in E & e1 Joins v1,v,G1 & ( for e2 being object st e2 Joins v1,v,G1 holds
e1 = e2 ) ) ) )

thus card {} = card E ; :: thesis: ( E misses the_Edges_of G2 & the_Edges_of G1 = (the_Edges_of G2) \/ E & ( for v1 being object st v1 in {} holds
ex e1 being object st
( e1 in E & e1 Joins v1,v,G1 & ( for e2 being object st e2 Joins v1,v,G1 holds
e1 = e2 ) ) ) )

thus E misses the_Edges_of G2 by XBOOLE_1:65; :: thesis: ( the_Edges_of G1 = (the_Edges_of G2) \/ E & ( for v1 being object st v1 in {} holds
ex e1 being object st
( e1 in E & e1 Joins v1,v,G1 & ( for e2 being object st e2 Joins v1,v,G1 holds
e1 = e2 ) ) ) )

thus the_Edges_of G1 = (the_Edges_of G2) \/ E by GLIB_006:def 10; :: thesis: for v1 being object st v1 in {} holds
ex e1 being object st
( e1 in E & e1 Joins v1,v,G1 & ( for e2 being object st e2 Joins v1,v,G1 holds
e1 = e2 ) )

let v1 be object ; :: thesis: ( v1 in {} implies ex e1 being object st
( e1 in E & e1 Joins v1,v,G1 & ( for e2 being object st e2 Joins v1,v,G1 holds
e1 = e2 ) ) )

assume v1 in {} ; :: thesis: ex e1 being object st
( e1 in E & e1 Joins v1,v,G1 & ( for e2 being object st e2 Joins v1,v,G1 holds
e1 = e2 ) )

hence ex e1 being object st
( e1 in E & e1 Joins v1,v,G1 & ( for e2 being object st e2 Joins v1,v,G1 holds
e1 = e2 ) ) ; :: thesis: verum
end;
hence G1 is addAdjVertexAll of G2,v, {} by A1, A2, GLIB_007:def 4; :: thesis: verum
end;
suppose A3: v in the_Vertices_of G2 ; :: thesis: G1 is addAdjVertexAll of G2,v, {}
end;
end;