let G1, G2 be _Graph; for F0 being PGraphMapping of G1,G2 st F0 _E is one-to-one holds
ex E being Subset of (the_Edges_of G2) st
for G3 being reverseEdgeDirections of G2,E ex F being PGraphMapping of G1,G3 st
( F = F0 & F is directed & ( not F0 is empty implies not F is empty ) & ( F0 is total implies F is total ) & ( F0 is one-to-one implies F is one-to-one ) & ( F0 is onto implies F is onto ) & ( F0 is semi-continuous implies F is semi-continuous ) & ( F0 is continuous implies F is continuous ) )
let F0 be PGraphMapping of G1,G2; ( F0 _E is one-to-one implies ex E being Subset of (the_Edges_of G2) st
for G3 being reverseEdgeDirections of G2,E ex F being PGraphMapping of G1,G3 st
( F = F0 & F is directed & ( not F0 is empty implies not F is empty ) & ( F0 is total implies F is total ) & ( F0 is one-to-one implies F is one-to-one ) & ( F0 is onto implies F is onto ) & ( F0 is semi-continuous implies F is semi-continuous ) & ( F0 is continuous implies F is continuous ) ) )
assume A1:
F0 _E is one-to-one
; ex E being Subset of (the_Edges_of G2) st
for G3 being reverseEdgeDirections of G2,E ex F being PGraphMapping of G1,G3 st
( F = F0 & F is directed & ( not F0 is empty implies not F is empty ) & ( F0 is total implies F is total ) & ( F0 is one-to-one implies F is one-to-one ) & ( F0 is onto implies F is onto ) & ( F0 is semi-continuous implies F is semi-continuous ) & ( F0 is continuous implies F is continuous ) )
per cases
( the_Edges_of G2 <> {} or the_Edges_of G2 = {} )
;
suppose
the_Edges_of G2 <> {}
;
ex E being Subset of (the_Edges_of G2) st
for G3 being reverseEdgeDirections of G2,E ex F being PGraphMapping of G1,G3 st
( F = F0 & F is directed & ( not F0 is empty implies not F is empty ) & ( F0 is total implies F is total ) & ( F0 is one-to-one implies F is one-to-one ) & ( F0 is onto implies F is onto ) & ( F0 is semi-continuous implies F is semi-continuous ) & ( F0 is continuous implies F is continuous ) )set E =
{ e9 where e9 is Element of the_Edges_of G2 : ( e9 in rng (F0 _E) & ( for e being object st e in dom (F0 _E) & (F0 _E) . e = e9 holds
e9 DJoins (F0 _V) . ((the_Target_of G1) . e),(F0 _V) . ((the_Source_of G1) . e),G2 ) ) } ;
then reconsider E =
{ e9 where e9 is Element of the_Edges_of G2 : ( e9 in rng (F0 _E) & ( for e being object st e in dom (F0 _E) & (F0 _E) . e = e9 holds
e9 DJoins (F0 _V) . ((the_Target_of G1) . e),(F0 _V) . ((the_Source_of G1) . e),G2 ) ) } as
Subset of
(the_Edges_of G2) by TARSKI:def 3;
take
E
;
for G3 being reverseEdgeDirections of G2,E ex F being PGraphMapping of G1,G3 st
( F = F0 & F is directed & ( not F0 is empty implies not F is empty ) & ( F0 is total implies F is total ) & ( F0 is one-to-one implies F is one-to-one ) & ( F0 is onto implies F is onto ) & ( F0 is semi-continuous implies F is semi-continuous ) & ( F0 is continuous implies F is continuous ) )let G3 be
reverseEdgeDirections of
G2,
E;
ex F being PGraphMapping of G1,G3 st
( F = F0 & F is directed & ( not F0 is empty implies not F is empty ) & ( F0 is total implies F is total ) & ( F0 is one-to-one implies F is one-to-one ) & ( F0 is onto implies F is onto ) & ( F0 is semi-continuous implies F is semi-continuous ) & ( F0 is continuous implies F is continuous ) )consider F9 being
PGraphMapping of
G2,
G3 such that A4:
(
F9 = id G2 &
F9 is
isomorphism )
by Th83;
take
F9 * F0
;
( F9 * F0 = F0 & F9 * F0 is directed & ( not F0 is empty implies not F9 * F0 is empty ) & ( F0 is total implies F9 * F0 is total ) & ( F0 is one-to-one implies F9 * F0 is one-to-one ) & ( F0 is onto implies F9 * F0 is onto ) & ( F0 is semi-continuous implies F9 * F0 is semi-continuous ) & ( F0 is continuous implies F9 * F0 is continuous ) )thus A5:
F9 * F0 =
(id G2) * F0
by A4
.=
F0
by GLIB_010:116
;
( F9 * F0 is directed & ( not F0 is empty implies not F9 * F0 is empty ) & ( F0 is total implies F9 * F0 is total ) & ( F0 is one-to-one implies F9 * F0 is one-to-one ) & ( F0 is onto implies F9 * F0 is onto ) & ( F0 is semi-continuous implies F9 * F0 is semi-continuous ) & ( F0 is continuous implies F9 * F0 is continuous ) )now for e, v, w being object st e in dom ((F9 * F0) _E) & v in dom ((F9 * F0) _V) & w in dom ((F9 * F0) _V) & e DJoins v,w,G1 holds
((F9 * F0) _E) . e DJoins ((F9 * F0) _V) . v,((F9 * F0) _V) . w,G3let e,
v,
w be
object ;
( e in dom ((F9 * F0) _E) & v in dom ((F9 * F0) _V) & w in dom ((F9 * F0) _V) & e DJoins v,w,G1 implies ((F9 * F0) _E) . b1 DJoins ((F9 * F0) _V) . b2,((F9 * F0) _V) . b3,G3 )assume
(
e in dom ((F9 * F0) _E) &
v in dom ((F9 * F0) _V) &
w in dom ((F9 * F0) _V) )
;
( e DJoins v,w,G1 implies ((F9 * F0) _E) . b1 DJoins ((F9 * F0) _V) . b2,((F9 * F0) _V) . b3,G3 )then A6:
(
e in dom (F0 _E) &
v in dom (F0 _V) &
w in dom (F0 _V) )
by A5;
assume A7:
e DJoins v,
w,
G1
;
((F9 * F0) _E) . b1 DJoins ((F9 * F0) _V) . b2,((F9 * F0) _V) . b3,G3A8:
(F0 _E) . e in rng (F0 _E)
by A6, FUNCT_1:3;
then reconsider e9 =
(F0 _E) . e as
Element of
the_Edges_of G2 ;
per cases
( e9 in E or not e9 in E )
;
suppose A11:
e9 in E
;
((F9 * F0) _E) . b1 DJoins ((F9 * F0) _V) . b2,((F9 * F0) _V) . b3,G3then consider e8 being
Element of
the_Edges_of G2 such that A12:
(
e8 = e9 &
e8 in rng (F0 _E) )
and A13:
for
e0 being
object st
e0 in dom (F0 _E) &
(F0 _E) . e0 = e8 holds
e8 DJoins (F0 _V) . ((the_Target_of G1) . e0),
(F0 _V) . ((the_Source_of G1) . e0),
G2
;
A14:
e9 DJoins (F0 _V) . ((the_Target_of G1) . e),
(F0 _V) . ((the_Source_of G1) . e),
G2
by A6, A12, A13;
(
(the_Source_of G1) . e = v &
(the_Target_of G1) . e = w )
by A7, GLIB_000:def 14;
then
(F0 _E) . e DJoins (F0 _V) . v,
(F0 _V) . w,
G3
by A11, A14, GLIB_007:7;
hence
((F9 * F0) _E) . e DJoins ((F9 * F0) _V) . v,
((F9 * F0) _V) . w,
G3
by A5;
verum end; suppose A15:
not
e9 in E
;
((F9 * F0) _E) . b1 DJoins ((F9 * F0) _V) . b2,((F9 * F0) _V) . b3,G3
e Joins v,
w,
G1
by A7, GLIB_000:16;
then A16:
(F0 _E) . e Joins (F0 _V) . v,
(F0 _V) . w,
G2
by A6, GLIB_010:4;
not
(F0 _E) . e DJoins (F0 _V) . w,
(F0 _V) . v,
G2
then
(F0 _E) . e DJoins (F0 _V) . v,
(F0 _V) . w,
G2
by A16, GLIB_000:16;
then
(F0 _E) . e DJoins (F0 _V) . v,
(F0 _V) . w,
G3
by A15, GLIB_007:8;
hence
((F9 * F0) _E) . e DJoins ((F9 * F0) _V) . v,
((F9 * F0) _V) . w,
G3
by A5;
verum end; end; end; hence
F9 * F0 is
directed
by GLIB_010:def 14;
( ( not F0 is empty implies not F9 * F0 is empty ) & ( F0 is total implies F9 * F0 is total ) & ( F0 is one-to-one implies F9 * F0 is one-to-one ) & ( F0 is onto implies F9 * F0 is onto ) & ( F0 is semi-continuous implies F9 * F0 is semi-continuous ) & ( F0 is continuous implies F9 * F0 is continuous ) )thus
( not
F0 is
empty implies not
F9 * F0 is
empty )
by A5;
( ( F0 is total implies F9 * F0 is total ) & ( F0 is one-to-one implies F9 * F0 is one-to-one ) & ( F0 is onto implies F9 * F0 is onto ) & ( F0 is semi-continuous implies F9 * F0 is semi-continuous ) & ( F0 is continuous implies F9 * F0 is continuous ) )thus
( (
F0 is
total implies
F9 * F0 is
total ) & (
F0 is
one-to-one implies
F9 * F0 is
one-to-one ) & (
F0 is
onto implies
F9 * F0 is
onto ) & (
F0 is
semi-continuous implies
F9 * F0 is
semi-continuous ) & (
F0 is
continuous implies
F9 * F0 is
continuous ) )
by A4, GLIB_010:104, GLIB_010:106;
verum end; end;