let G1, G2, G3, G4 be _Graph; :: thesis: for F being PGraphMapping of G1,G2 st ex E1, E2 being set st
( G3 is reverseEdgeDirections of G1,E1 & G4 is reverseEdgeDirections of G2,E2 ) holds
F is PGraphMapping of G3,G4

let F be PGraphMapping of G1,G2; :: thesis: ( ex E1, E2 being set st
( G3 is reverseEdgeDirections of G1,E1 & G4 is reverseEdgeDirections of G2,E2 ) implies F is PGraphMapping of G3,G4 )

given E1, E2 being set such that A1: ( G3 is reverseEdgeDirections of G1,E1 & G4 is reverseEdgeDirections of G2,E2 ) ; :: thesis: F is PGraphMapping of G3,G4
A2: ( the_Vertices_of G1 = the_Vertices_of G3 & the_Edges_of G1 = the_Edges_of G3 & the_Vertices_of G2 = the_Vertices_of G4 & the_Edges_of G2 = the_Edges_of G4 ) by ;
then reconsider f = F _V as PartFunc of (),() ;
reconsider g = F _E as PartFunc of (),() by A2;
now :: thesis: ( ( for e being object st e in dom g holds
( () . e in dom f & () . 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,G3 holds
g . e Joins f . v,f . w,G4 ) )
hereby :: thesis: for e, v, w being object st e in dom g & v in dom f & w in dom f & e Joins v,w,G3 holds
g . e Joins f . v,f . w,G4
let e be object ; :: thesis: ( e in dom g implies ( () . b1 in dom f & () . b1 in dom f ) )
assume A3: e in dom g ; :: thesis: ( () . b1 in dom f & () . b1 in dom f )
then A4: ( (the_Source_of G1) . e in dom f & () . e in dom f ) by Th5;
e in the_Edges_of G1 by A2, A3;
then A5: e DJoins () . e,() . e,G1 by GLIB_000:def 14;
per cases ( E1 c= the_Edges_of G1 or not E1 c= the_Edges_of G1 ) ;
suppose A6: E1 c= the_Edges_of G1 ; :: thesis: ( () . b1 in dom f & () . b1 in dom f )
per cases ( e in E1 or not e in E1 ) ;
suppose e in E1 ; :: thesis: ( () . b1 in dom f & () . b1 in dom f )
then e DJoins () . e,() . e,G3 by ;
hence ( (the_Source_of G3) . e in dom f & () . e in dom f ) by ; :: thesis: verum
end;
suppose not e in E1 ; :: thesis: ( () . b1 in dom f & () . b1 in dom f )
then e DJoins () . e,() . e,G3 by ;
hence ( (the_Source_of G3) . e in dom f & () . e in dom f ) by ; :: thesis: verum
end;
end;
end;
suppose not E1 c= the_Edges_of G1 ; :: thesis: ( () . b1 in dom f & () . b1 in dom f )
then G1 == G3 by ;
hence ( (the_Source_of G3) . e in dom f & () . e in dom f ) by ; :: thesis: verum
end;
end;
end;
let e, v, w be object ; :: thesis: ( e in dom g & v in dom f & w in dom f & e Joins v,w,G3 implies g . e Joins f . v,f . w,G4 )
assume ( e in dom g & v in dom f & w in dom f ) ; :: thesis: ( e Joins v,w,G3 implies g . e Joins f . v,f . w,G4 )
then ( e Joins v,w,G1 implies g . e Joins f . v,f . w,G2 ) by Th4;
hence ( e Joins v,w,G3 implies g . e Joins f . v,f . w,G4 ) by ; :: thesis: verum
end;
then [f,g] is PGraphMapping of G3,G4 by Th8;
hence F is PGraphMapping of G3,G4 ; :: thesis: verum