
theorem Th92:
  for G1, G2 being _Graph, F0 being PGraphMapping of G1, G2
  st 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 &
    (F0 is non empty  implies F is non 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)
proof
  let G1, G2 be _Graph, F0 be PGraphMapping of G1, G2;
  assume A1: F0_E is one-to-one;
  per cases;
  suppose the_Edges_of G2 <> {};
    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};
    now
      let x be object;
      assume x in E;
      then consider e9 being Element of the_Edges_of G2 such that
        A2: x = e9 and
        A3: e9 in rng F0_E and
        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;
      e9 in the_Edges_of G2 by A3;
      hence x in the_Edges_of G2 by A2;
    end;
    then reconsider E as Subset of the_Edges_of G2 by TARSKI:def 3;
    take E;
    let G3 be reverseEdgeDirections of G2, E;
    consider F9 being PGraphMapping of G2, G3 such that
      A4: F9 = id G2 & F9 is isomorphism by Th83;
    take F9*F0;
    thus A5: F9 * F0 = (id G2) * F0 by A4 .= F0 by GLIB_010:116;
    now
      let e,v,w be object;
      assume e in dom (F9*F0)_E & v in dom (F9*F0)_V & w in dom (F9*F0)_V;
      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;
      A8: 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;
      suppose A11: e9 in E;
        then 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;
      end;
      suppose A15: not e9 in E;
        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
        proof
          assume A17: F0_E.e DJoins F0_V.w,F0_V.v,G2;
          for e0 being object st e0 in dom F0_E & F0_E.e0 = e9 holds e9 DJoins
            F0_V.((the_Target_of G1).e0), F0_V.((the_Source_of G1).e0), G2
          proof
            let e0 be object;
            assume e0 in dom F0_E & F0_E.e0 = e9;
            then e = e0 by A1, A6, FUNCT_1:def 4;
            then (the_Source_of G1).e0 = v & (the_Target_of G1).e0 = w
              by A7, GLIB_000:def 14;
            hence thesis by A17;
          end;
          hence contradiction by A8, A15;
        end;
        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;
      end;
    end;
    hence F9*F0 is directed by GLIB_010:def 14;
    thus F0 is non empty implies F9*F0 is non empty by A5;
    thus thesis by A4, GLIB_010:104, GLIB_010:106;
  end;
  suppose A18: the_Edges_of G2 = {};
    take E = {}the_Edges_of G2;
    let G3 be reverseEdgeDirections of G2, E;
    consider F9 being PGraphMapping of G2, G3 such that
      A19: F9 = id G2 & F9 is isomorphism by Th83;
    take F9*F0;
    thus A20: F9 * F0 = (id G2) * F0 by A19 .= F0 by GLIB_010:116;
    the_Edges_of G3 = {} by A18, GLIB_007:4;
    then G3 is edgeless;
    hence F9*F0 is directed;
    thus F0 is non empty implies F9*F0 is non empty by A20;
    thus thesis by A19, GLIB_010:104, GLIB_010:106;
  end;
end;
