reserve GS for GraphStruct;
reserve G,G1,G2,G3 for _Graph;
reserve e,x,x1,x2,y,y1,y2,E,V,X,Y for set;
reserve n,n1,n2 for Nat;
reserve v,v1,v2 for Vertex of G;

theorem Th79:
  for G1 being _Graph, G2 being Subgraph of G1, v1 being Vertex of
  G1, v2 being Vertex of G2 st v1 = v2 holds v2.edgesIn() = v1.edgesIn() /\ (
  the_Edges_of G2) & v2.edgesOut() = v1.edgesOut() /\ (the_Edges_of G2) & v2
  .edgesInOut() = v1.edgesInOut() /\ (the_Edges_of G2)
proof
  let G1 be _Graph, G2 be Subgraph of G1, v1 be Vertex of G1, v2 be Vertex of
  G2;
  assume
A1: v1 = v2;
  now
    let x be object;
    hereby
      assume
A2:   x in v2.edgesIn();
      v2.edgesIn() c= v1.edgesIn() by A1,Th78;
      hence x in v1.edgesIn()/\(the_Edges_of G2) by A2,XBOOLE_0:def 4;
    end;
    assume
A3: x in v1.edgesIn() /\ (the_Edges_of G2);
    then
A4: x in the_Edges_of G2 by XBOOLE_0:def 4;
    x in v1.edgesIn() by A3,XBOOLE_0:def 4;
    then (the_Target_of G1).x = v1 by Lm7;
    then (the_Target_of G2).x = v2 by A1,A4,Def32;
    hence x in v2.edgesIn() by A4,Lm7;
  end;
  hence
A5: v2.edgesIn() = v1.edgesIn() /\ (the_Edges_of G2) by TARSKI:2;
  now
    let x be object;
    hereby
      assume
A6:   x in v2.edgesOut();
      v2.edgesOut() c= v1.edgesOut() by A1,Th78;
      hence x in v1.edgesOut() /\ (the_Edges_of G2) by A6,XBOOLE_0:def 4;
    end;
    assume
A7: x in v1.edgesOut() /\ (the_Edges_of G2);
    then
A8: x in the_Edges_of G2 by XBOOLE_0:def 4;
    x in v1.edgesOut() by A7,XBOOLE_0:def 4;
    then (the_Source_of G1).x = v1 by Lm8;
    then (the_Source_of G2).x = v2 by A1,A8,Def32;
    hence x in v2.edgesOut() by A8,Lm8;
  end;
  hence
A9: v2.edgesOut() = v1.edgesOut() /\ (the_Edges_of G2) by TARSKI:2;
  now
    let x be object;
    hereby
      assume
A10:  x in v1.edgesInOut() /\ (the_Edges_of G2);
      then
A11:  x in the_Edges_of G2 by XBOOLE_0:def 4;
A12:  x in v1.edgesInOut() by A10,XBOOLE_0:def 4;
      now
        per cases by A12,XBOOLE_0:def 3;
        suppose
          x in v1.edgesIn();
          then x in v1.edgesIn()/\(the_Edges_of G2) by A11,XBOOLE_0:def 4;
          hence x in v2.edgesInOut() by A5,XBOOLE_0:def 3;
        end;
        suppose
          x in v1.edgesOut();
          then x in v1.edgesOut()/\(the_Edges_of G2) by A11,XBOOLE_0:def 4;
          hence x in v2.edgesInOut() by A9,XBOOLE_0:def 3;
        end;
      end;
      hence x in v2.edgesInOut();
    end;
    assume
A13: x in v2.edgesInOut();
    now
      per cases by A5,A9,A13,XBOOLE_0:def 3;
      suppose
A14:    x in v1.edgesIn() /\ (the_Edges_of G2);
        then x in v1.edgesIn() by XBOOLE_0:def 4;
        then
A15:    x in v1.edgesIn() \/ v1.edgesOut() by XBOOLE_0:def 3;
        x in the_Edges_of G2 by A14,XBOOLE_0:def 4;
        hence x in v1.edgesInOut() /\ (the_Edges_of G2) by A15,XBOOLE_0:def 4;
      end;
      suppose
A16:    x in v1.edgesOut() /\ (the_Edges_of G2);
        then x in v1.edgesOut() by XBOOLE_0:def 4;
        then
A17:    x in v1.edgesIn() \/ v1.edgesOut() by XBOOLE_0:def 3;
        x in (the_Edges_of G2) by A16,XBOOLE_0:def 4;
        hence x in v1.edgesInOut() /\ (the_Edges_of G2) by A17,XBOOLE_0:def 4;
      end;
    end;
    hence x in v1.edgesInOut() /\ (the_Edges_of G2);
  end;
  hence thesis by TARSKI:2;
end;
