reserve G, G2 for _Graph, V, E for set,
  v for object;

theorem Th6:
  for G2 being _trivial _Graph, E being set, G1 being _Graph
  holds G1 == G2 iff G1 is reverseEdgeDirections of G2, E
proof
  let G2 be _trivial _Graph, E be set, G1 be _Graph;
  per cases;
  suppose A1: E c= the_Edges_of G2;
    consider v being Vertex of G2 such that
      the_Vertices_of G2 = {v} and
      A2: the_Source_of G2 = the_Edges_of G2 --> v &
        the_Target_of G2 = the_Edges_of G2 --> v by GLIB_000:106;
    A3: the_Source_of G2 +* ((the_Target_of G2)|E) = the_Edges_of G2 --> v
      by A2, FUNCT_4:75;
    hereby
      assume G1 == G2;
      then the_Vertices_of G1 = the_Vertices_of G2 &
        the_Edges_of G1 = the_Edges_of G2 &
        the_Source_of G1 = the_Source_of G2 &
        the_Target_of G1 = the_Target_of G2 by GLIB_000:def 34;
      hence G1 is reverseEdgeDirections of G2, E by A1, A2, A3, Def1;
    end;
    assume G1 is reverseEdgeDirections of G2, E;
    then the_Vertices_of G1 = the_Vertices_of G2 &
      the_Edges_of G1 = the_Edges_of G2 &
      the_Source_of G1 = the_Source_of G2 +* ((the_Target_of G2)|E) &
      the_Target_of G1 = the_Target_of G2 +* ((the_Source_of G2)|E)
      by A1, Def1;
    hence G1 == G2 by A2, A3, GLIB_000:def 34;
  end;
  suppose not E c= the_Edges_of G2;
    hence thesis by Def1;
  end;
end;
