let G3, G4 be _Graph; for v1, v3 being Vertex of G3
for v2, v4 being Vertex of G4
for e1, e2 being object
for G1 being addEdge of G3,v1,e1,v3
for G2 being addEdge of G4,v2,e2,v4
for F0 being PGraphMapping of G3,G4 st not e1 in the_Edges_of G3 & not e2 in the_Edges_of G4 & v1 in dom (F0 _V) & v3 in dom (F0 _V) & ( ( (F0 _V) . v1 = v2 & (F0 _V) . v3 = v4 ) or ( (F0 _V) . v1 = v4 & (F0 _V) . v3 = v2 ) ) holds
ex F being PGraphMapping of G1,G2 st
( F = [(F0 _V),((F0 _E) +* (e1 .--> e2))] & ( F0 is total implies F is total ) & ( F0 is onto implies F is onto ) & ( F0 is one-to-one implies F is one-to-one ) )
let v1, v3 be Vertex of G3; for v2, v4 being Vertex of G4
for e1, e2 being object
for G1 being addEdge of G3,v1,e1,v3
for G2 being addEdge of G4,v2,e2,v4
for F0 being PGraphMapping of G3,G4 st not e1 in the_Edges_of G3 & not e2 in the_Edges_of G4 & v1 in dom (F0 _V) & v3 in dom (F0 _V) & ( ( (F0 _V) . v1 = v2 & (F0 _V) . v3 = v4 ) or ( (F0 _V) . v1 = v4 & (F0 _V) . v3 = v2 ) ) holds
ex F being PGraphMapping of G1,G2 st
( F = [(F0 _V),((F0 _E) +* (e1 .--> e2))] & ( F0 is total implies F is total ) & ( F0 is onto implies F is onto ) & ( F0 is one-to-one implies F is one-to-one ) )
let v2, v4 be Vertex of G4; for e1, e2 being object
for G1 being addEdge of G3,v1,e1,v3
for G2 being addEdge of G4,v2,e2,v4
for F0 being PGraphMapping of G3,G4 st not e1 in the_Edges_of G3 & not e2 in the_Edges_of G4 & v1 in dom (F0 _V) & v3 in dom (F0 _V) & ( ( (F0 _V) . v1 = v2 & (F0 _V) . v3 = v4 ) or ( (F0 _V) . v1 = v4 & (F0 _V) . v3 = v2 ) ) holds
ex F being PGraphMapping of G1,G2 st
( F = [(F0 _V),((F0 _E) +* (e1 .--> e2))] & ( F0 is total implies F is total ) & ( F0 is onto implies F is onto ) & ( F0 is one-to-one implies F is one-to-one ) )
let e1, e2 be object ; for G1 being addEdge of G3,v1,e1,v3
for G2 being addEdge of G4,v2,e2,v4
for F0 being PGraphMapping of G3,G4 st not e1 in the_Edges_of G3 & not e2 in the_Edges_of G4 & v1 in dom (F0 _V) & v3 in dom (F0 _V) & ( ( (F0 _V) . v1 = v2 & (F0 _V) . v3 = v4 ) or ( (F0 _V) . v1 = v4 & (F0 _V) . v3 = v2 ) ) holds
ex F being PGraphMapping of G1,G2 st
( F = [(F0 _V),((F0 _E) +* (e1 .--> e2))] & ( F0 is total implies F is total ) & ( F0 is onto implies F is onto ) & ( F0 is one-to-one implies F is one-to-one ) )
let G1 be addEdge of G3,v1,e1,v3; for G2 being addEdge of G4,v2,e2,v4
for F0 being PGraphMapping of G3,G4 st not e1 in the_Edges_of G3 & not e2 in the_Edges_of G4 & v1 in dom (F0 _V) & v3 in dom (F0 _V) & ( ( (F0 _V) . v1 = v2 & (F0 _V) . v3 = v4 ) or ( (F0 _V) . v1 = v4 & (F0 _V) . v3 = v2 ) ) holds
ex F being PGraphMapping of G1,G2 st
( F = [(F0 _V),((F0 _E) +* (e1 .--> e2))] & ( F0 is total implies F is total ) & ( F0 is onto implies F is onto ) & ( F0 is one-to-one implies F is one-to-one ) )
let G2 be addEdge of G4,v2,e2,v4; for F0 being PGraphMapping of G3,G4 st not e1 in the_Edges_of G3 & not e2 in the_Edges_of G4 & v1 in dom (F0 _V) & v3 in dom (F0 _V) & ( ( (F0 _V) . v1 = v2 & (F0 _V) . v3 = v4 ) or ( (F0 _V) . v1 = v4 & (F0 _V) . v3 = v2 ) ) holds
ex F being PGraphMapping of G1,G2 st
( F = [(F0 _V),((F0 _E) +* (e1 .--> e2))] & ( F0 is total implies F is total ) & ( F0 is onto implies F is onto ) & ( F0 is one-to-one implies F is one-to-one ) )
let F0 be PGraphMapping of G3,G4; ( not e1 in the_Edges_of G3 & not e2 in the_Edges_of G4 & v1 in dom (F0 _V) & v3 in dom (F0 _V) & ( ( (F0 _V) . v1 = v2 & (F0 _V) . v3 = v4 ) or ( (F0 _V) . v1 = v4 & (F0 _V) . v3 = v2 ) ) implies ex F being PGraphMapping of G1,G2 st
( F = [(F0 _V),((F0 _E) +* (e1 .--> e2))] & ( F0 is total implies F is total ) & ( F0 is onto implies F is onto ) & ( F0 is one-to-one implies F is one-to-one ) ) )
A1:
( e1 is set & e2 is set )
by TARSKI:1;
assume that
A2:
( not e1 in the_Edges_of G3 & not e2 in the_Edges_of G4 )
and
A3:
( v1 in dom (F0 _V) & v3 in dom (F0 _V) )
and
A4:
( ( (F0 _V) . v1 = v2 & (F0 _V) . v3 = v4 ) or ( (F0 _V) . v1 = v4 & (F0 _V) . v3 = v2 ) )
; ex F being PGraphMapping of G1,G2 st
( F = [(F0 _V),((F0 _E) +* (e1 .--> e2))] & ( F0 is total implies F is total ) & ( F0 is onto implies F is onto ) & ( F0 is one-to-one implies F is one-to-one ) )
( the_Vertices_of G1 = the_Vertices_of G3 & the_Vertices_of G2 = the_Vertices_of G4 )
by GLIB_006:102;
then reconsider f = F0 _V as PartFunc of (the_Vertices_of G1),(the_Vertices_of G2) ;
set g = (F0 _E) +* (e1 .--> e2);
A5: dom ((F0 _E) +* (e1 .--> e2)) =
(dom (F0 _E)) \/ (dom (e1 .--> e2))
by FUNCT_4:def 1
.=
(dom (F0 _E)) \/ (dom ({e1} --> e2))
by FUNCOP_1:def 9
.=
(dom (F0 _E)) \/ {e1}
;
not e1 in dom (F0 _E)
by A2;
then
dom (F0 _E) misses {e1}
by ZFMISC_1:50;
then
dom (F0 _E) misses dom ({e1} --> e2)
;
then A6:
dom (F0 _E) misses dom (e1 .--> e2)
by FUNCOP_1:def 9;
dom ((F0 _E) +* (e1 .--> e2)) c= (the_Edges_of G3) \/ {e1}
by A5, XBOOLE_1:9;
then A7:
dom ((F0 _E) +* (e1 .--> e2)) c= the_Edges_of G1
by A2, GLIB_006:def 11;
not e2 in rng (F0 _E)
by A2;
then
rng (F0 _E) misses {e2}
by ZFMISC_1:50;
then A8:
rng (F0 _E) misses rng (e1 .--> e2)
by A1, FUNCOP_1:88;
A9: rng ((F0 _E) +* (e1 .--> e2)) =
(rng (F0 _E)) \/ (rng (e1 .--> e2))
by A6, NECKLACE:6
.=
(rng (F0 _E)) \/ {e2}
by A1, FUNCOP_1:88
;
rng ((F0 _E) +* (e1 .--> e2)) c= (the_Edges_of G4) \/ {e2}
by A9, XBOOLE_1:9;
then
rng ((F0 _E) +* (e1 .--> e2)) c= the_Edges_of G2
by A2, GLIB_006:def 11;
then reconsider g = (F0 _E) +* (e1 .--> e2) as PartFunc of (the_Edges_of G1),(the_Edges_of G2) by A7, RELSET_1:4;
A10: (dom g) /\ (the_Edges_of G3) =
((dom (F0 _E)) /\ (the_Edges_of G3)) \/ ({e1} /\ (the_Edges_of G3))
by A5, XBOOLE_1:23
.=
(dom (F0 _E)) \/ ({e1} /\ (the_Edges_of G3))
by XBOOLE_1:28
.=
(dom (F0 _E)) \/ {}
by A2, ZFMISC_1:50, XBOOLE_0:def 7
;
now ( ( for e being object st e in dom g holds
( (the_Source_of G1) . e in dom f & (the_Target_of G1) . e in dom f ) ) & ( for e, v, w being object st e in dom g & v in dom f & w in dom f & e Joins v,w,G1 holds
g . e Joins f . v,f . w,G2 ) )let e,
v,
w be
object ;
( e in dom g & v in dom f & w in dom f & e Joins v,w,G1 implies g . b1 Joins f . b2,f . b3,G2 )assume A17:
(
e in dom g &
v in dom f &
w in dom f )
;
( e Joins v,w,G1 implies g . b1 Joins f . b2,f . b3,G2 )assume A18:
e Joins v,
w,
G1
;
g . b1 Joins f . b2,f . b3,G2per cases then
( e Joins v,w,G3 or not e in the_Edges_of G3 )
by GLIB_006:72;
suppose A21:
not
e in the_Edges_of G3
;
g . b1 Joins f . b2,f . b3,G2then A22:
e = e1
by A2, A18, GLIB_006:106;
then
e in {e1}
by TARSKI:def 1;
then
e in dom ({e1} --> e2)
;
then A23:
e in dom (e1 .--> e2)
by FUNCOP_1:def 9;
A24:
e2 =
(e1 .--> e2) . e
by A22, FUNCOP_1:72
.=
g . e
by A23, FUNCT_4:13
;
e2 DJoins v2,
v4,
G2
by A2, GLIB_006:105;
then
g . e Joins v2,
v4,
G2
by A24, GLIB_000:16;
then A25:
g . e Joins (F0 _V) . v1,
(F0 _V) . v3,
G2
by A4, GLIB_000:14;
( (
v = v1 &
w = v3 ) or (
v = v3 &
w = v1 ) )
by A2, A18, A21, GLIB_006:107;
hence
g . e Joins f . v,
f . w,
G2
by A25, GLIB_000:14;
verum end; end; end;
then reconsider F = [f,g] as PGraphMapping of G1,G2 by Th8;
take
F
; ( F = [(F0 _V),((F0 _E) +* (e1 .--> e2))] & ( F0 is total implies F is total ) & ( F0 is onto implies F is onto ) & ( F0 is one-to-one implies F is one-to-one ) )
thus
F = [(F0 _V),((F0 _E) +* (e1 .--> e2))]
; ( ( F0 is total implies F is total ) & ( F0 is onto implies F is onto ) & ( F0 is one-to-one implies F is one-to-one ) )
thus
( F0 is total implies F is total )
by A2, A5, GLIB_006:def 11; ( ( F0 is onto implies F is onto ) & ( F0 is one-to-one implies F is one-to-one ) )
thus
( F0 is onto implies F is onto )
by A2, A9, GLIB_006:def 11; ( F0 is one-to-one implies F is one-to-one )
thus
( F0 is one-to-one implies F is one-to-one )
by A8, FUNCT_4:92; verum