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

theorem Th2:
  for G, G2, E for G1 being reverseEdgeDirections of G, E
  st G1 == G2 holds G2 is reverseEdgeDirections of G, E
proof
  let G, G2, E;
  let G1 be reverseEdgeDirections of G, E;
  assume A1: G1 == G2;
  per cases;
  suppose A2: E c= the_Edges_of G;
    then the_Vertices_of G1 = the_Vertices_of G &
      the_Edges_of G1 = the_Edges_of G &
      the_Source_of G1 = the_Source_of G +* ((the_Target_of G) | E) &
      the_Target_of G1 = the_Target_of G +* ((the_Source_of G) | E) by Def1;
    then the_Vertices_of G2 = the_Vertices_of G &
      the_Edges_of G2 = the_Edges_of G &
      the_Source_of G2 = the_Source_of G +* ((the_Target_of G) | E) &
      the_Target_of G2 = the_Target_of G +* ((the_Source_of G) | E)
      by A1, GLIB_000:def 34;
    hence thesis by A2, Def1;
  end;
  suppose A3: not E c= the_Edges_of G;
    then G == G1 by Def1;
    then G == G2 by A1, GLIB_000:85;
    hence thesis by A3, Def1;
  end;
end;
