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 Th21:
  for G being non _trivial _Graph holds ex v1, v2 being Vertex of G st v1 <> v2
proof
  let G be non _trivial _Graph;
  set VG = the_Vertices_of G;
  take v1 = the Element of VG;
  set VG2 = VG \ {v1};
  now
    assume
A1: VG2 = {};
    card (VG2 \/ {v1}) = card VG2 +` card {v1} by CARD_2:35,XBOOLE_1:79
      .= 0 +` 1 by A1,CARD_1:30
      .= card (0 +^ 1) by CARD_2:def 1
      .= card (0+1) by CARD_2:36
      .= 1;
    then card VG = 1 by XBOOLE_1:45;
    hence contradiction by Def19;
  end;
  then reconsider VG2 as non empty set;
  set v2 = the Element of VG2;
A2: not v2 in {v1} by XBOOLE_0:def 5;
  reconsider v2 as Vertex of G by XBOOLE_0:def 5;
  take v2;
  thus thesis by A2,TARSKI:def 1;
end;
