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

theorem
  for G, E for G1, G2 being reverseEdgeDirections of G, E holds G1 == G2
proof
  let G,E;
  let G1,G2 be reverseEdgeDirections of G, E;
  per cases;
  suppose A1: E c= the_Edges_of G;
    A2: 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 A1, Def1;
    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, Def1;
    hence thesis by A2, GLIB_000:def 34;
  end;
  suppose not E c= the_Edges_of G;
    then G1 == G & G2 == G by Def1;
    hence thesis by GLIB_000:85;
  end;
end;
