
theorem
  for G3 being _Graph, E being set, G4 being reverseEdgeDirections of G3, E
  for G1 being Supergraph of G3, G2 being reverseEdgeDirections of G1, E
  st E c= the_Edges_of G3 holds G2 is Supergraph of G4
proof
  let G3 be _Graph, E be set, G4 be reverseEdgeDirections of G3, E;
  let G1 be Supergraph of G3, G2 be reverseEdgeDirections of G1, E;
  assume A1: E c= the_Edges_of G3;
  the_Edges_of G3 c= the_Edges_of G1 by GLIB_006:def 9;
  then A2: E c= the_Edges_of G1 by A1, XBOOLE_1:1;
  now
    the_Vertices_of G2 = the_Vertices_of G1 &
      the_Vertices_of G3 = the_Vertices_of G4 by GLIB_007:4;
    hence the_Vertices_of G4 c= the_Vertices_of G2 by GLIB_006:def 9;
    the_Edges_of G4 = the_Edges_of G3 & the_Edges_of G2 = the_Edges_of G1
      by GLIB_007:4;
    hence the_Edges_of G4 c= the_Edges_of G2 by GLIB_006:def 9;
    let e be set;
    assume A3: e in the_Edges_of G4;
    set v4 = (the_Source_of G4).e, w4 = (the_Target_of G4).e;
    per cases;
    suppose A4: e in E;
      e DJoins v4,w4,G4 by A3, GLIB_000:def 14;
      then e DJoins w4,v4,G3 by A1, A4, GLIB_007:7;
      then e DJoins w4,v4,G1 by GLIB_006:70;
      then e DJoins v4,w4,G2 by A2, A4, GLIB_007:7;
      hence (the_Source_of G4).e = (the_Source_of G2).e &
        (the_Target_of G4).e = (the_Target_of G2).e by GLIB_000:def 14;
    end;
    suppose A5: not e in E;
      e DJoins v4,w4,G4 by A3, GLIB_000:def 14;
      then e DJoins v4,w4,G3 by A1, A5, GLIB_007:8;
      then e DJoins v4,w4,G1 by GLIB_006:70;
      then e DJoins v4,w4,G2 by A2, A5, GLIB_007:8;
      hence (the_Source_of G4).e = (the_Source_of G2).e &
        (the_Target_of G4).e = (the_Target_of G2).e by GLIB_000:def 14;
    end;
  end;
  hence G2 is Supergraph of G4 by GLIB_006:def 9;
end;
