let G1, G2, G be _Graph; ( G1 tolerates G2 implies ( G is GraphUnion of G1,G2 iff ( the_Vertices_of G = (the_Vertices_of G1) \/ (the_Vertices_of G2) & the_Edges_of G = (the_Edges_of G1) \/ (the_Edges_of G2) & the_Source_of G = (the_Source_of G1) +* (the_Source_of G2) & the_Target_of G = (the_Target_of G1) +* (the_Target_of G2) ) ) )
assume A1:
G1 tolerates G2
; ( G is GraphUnion of G1,G2 iff ( the_Vertices_of G = (the_Vertices_of G1) \/ (the_Vertices_of G2) & the_Edges_of G = (the_Edges_of G1) \/ (the_Edges_of G2) & the_Source_of G = (the_Source_of G1) +* (the_Source_of G2) & the_Target_of G = (the_Target_of G1) +* (the_Target_of G2) ) )
hereby ( the_Vertices_of G = (the_Vertices_of G1) \/ (the_Vertices_of G2) & the_Edges_of G = (the_Edges_of G1) \/ (the_Edges_of G2) & the_Source_of G = (the_Source_of G1) +* (the_Source_of G2) & the_Target_of G = (the_Target_of G1) +* (the_Target_of G2) implies G is GraphUnion of G1,G2 )
assume
G is
GraphUnion of
G1,
G2
;
( the_Vertices_of G = (the_Vertices_of G1) \/ (the_Vertices_of G2) & the_Edges_of G = (the_Edges_of G1) \/ (the_Edges_of G2) & the_Source_of G = (the_Source_of G1) +* (the_Source_of G2) & the_Target_of G = (the_Target_of G1) +* (the_Target_of G2) )then consider S being
GraphUnionSet such that A2:
(
S = {G1,G2} &
G is
GraphUnion of
S )
by A1, Def26;
thus the_Vertices_of G =
union (the_Vertices_of {G1,G2})
by A2, Def25
.=
union {(the_Vertices_of G1),(the_Vertices_of G2)}
by Th6
.=
(the_Vertices_of G1) \/ (the_Vertices_of G2)
by ZFMISC_1:75
;
( the_Edges_of G = (the_Edges_of G1) \/ (the_Edges_of G2) & the_Source_of G = (the_Source_of G1) +* (the_Source_of G2) & the_Target_of G = (the_Target_of G1) +* (the_Target_of G2) )thus the_Edges_of G =
union (the_Edges_of {G1,G2})
by A2, Def25
.=
union {(the_Edges_of G1),(the_Edges_of G2)}
by Th6
.=
(the_Edges_of G1) \/ (the_Edges_of G2)
by ZFMISC_1:75
;
( the_Source_of G = (the_Source_of G1) +* (the_Source_of G2) & the_Target_of G = (the_Target_of G1) +* (the_Target_of G2) )thus the_Source_of G =
union (the_Source_of {G1,G2})
by A2, Def25
.=
union {(the_Source_of G1),(the_Source_of G2)}
by Th6
.=
(the_Source_of G1) \/ (the_Source_of G2)
by ZFMISC_1:75
.=
(the_Source_of G1) +* (the_Source_of G2)
by A1, FUNCT_4:30
;
the_Target_of G = (the_Target_of G1) +* (the_Target_of G2)thus the_Target_of G =
union (the_Target_of {G1,G2})
by A2, Def25
.=
union {(the_Target_of G1),(the_Target_of G2)}
by Th6
.=
(the_Target_of G1) \/ (the_Target_of G2)
by ZFMISC_1:75
.=
(the_Target_of G1) +* (the_Target_of G2)
by A1, FUNCT_4:30
;
verum
end;
assume A3:
( the_Vertices_of G = (the_Vertices_of G1) \/ (the_Vertices_of G2) & the_Edges_of G = (the_Edges_of G1) \/ (the_Edges_of G2) & the_Source_of G = (the_Source_of G1) +* (the_Source_of G2) & the_Target_of G = (the_Target_of G1) +* (the_Target_of G2) )
; G is GraphUnion of G1,G2
reconsider S = {G1,G2} as GraphUnionSet by A1, Th19;
A4:
the_Vertices_of G1 c= the_Vertices_of G
by A3, XBOOLE_1:7;
the_Source_of G = (the_Source_of G1) \/ (the_Source_of G2)
by A1, A3, FUNCT_4:30;
then A5:
the_Source_of G1 c= the_Source_of G
by XBOOLE_1:7;
the_Target_of G = (the_Target_of G1) \/ (the_Target_of G2)
by A1, A3, FUNCT_4:30;
then A6:
G is Supergraph of G1
by A4, A5, XBOOLE_1:7, GLIB_006:63;
A7: the_Vertices_of G =
union {(the_Vertices_of G1),(the_Vertices_of G2)}
by A3, ZFMISC_1:75
.=
union (the_Vertices_of S)
by Th6
;
A8: the_Edges_of G =
union {(the_Edges_of G1),(the_Edges_of G2)}
by A3, ZFMISC_1:75
.=
union (the_Edges_of S)
by Th6
;
A9: the_Source_of G =
(the_Source_of G1) \/ (the_Source_of G2)
by A1, A3, FUNCT_4:30
.=
union {(the_Source_of G1),(the_Source_of G2)}
by ZFMISC_1:75
.=
union (the_Source_of S)
by Th6
;
the_Target_of G =
(the_Target_of G1) \/ (the_Target_of G2)
by A1, A3, FUNCT_4:30
.=
union {(the_Target_of G1),(the_Target_of G2)}
by ZFMISC_1:75
.=
union (the_Target_of S)
by Th6
;
then
G is GraphUnion of S
by A7, A8, A9, Def25;
hence
G is GraphUnion of G1,G2
by A1, A6, Def26; verum