reserve G for _Graph;
reserve G2 for _Graph, G1 for Supergraph of G2;
reserve V for set;
reserve v for object;

theorem Th151:
  for G2 for v1, e, v2 being object
  for G1 being addAdjVertex of G2,v1,e,v2, T being Trail of G1
  st not e in the_Edges_of G2 & T.first() in the_Vertices_of G2 &
    T.last() in the_Vertices_of G2
  holds not e in T.edges()
proof
  let G2;
  let v1,e,v2 be object;
  let G1 be addAdjVertex of G2,v1,e,v2;
  let T be Trail of G1;
  assume that
    A1: not e in the_Edges_of G2 and
    A2: T.first() in the_Vertices_of G2 & T.last() in the_Vertices_of G2;
  per cases;
  suppose A3: v1 in the_Vertices_of G2 & not v2 in the_Vertices_of G2;
    per cases;
    suppose A4: v2 in T.vertices();
      reconsider w=v2 as Vertex of G1 by A1, A3, Th133;
      w is endvertex by A1, A3, Th145;
      hence thesis by A2, A3, A4, GLIB_001:143;
    end;
    suppose not v2 in T.vertices();
      then reconsider W=T as Walk of G2 by A1, A3, Th149;
      not e in W.edges() by A1;
      hence thesis by GLIB_001:110;
    end;
  end;
  suppose A6: not v1 in the_Vertices_of G2 & v2 in the_Vertices_of G2;
    per cases;
    suppose A7: v1 in T.vertices();
      reconsider w=v1 as Vertex of G1 by A1, A6, Th134;
      w is endvertex by A1, A6, Th146;
      hence thesis by A2, A6, A7, GLIB_001:143;
    end;
    suppose not v1 in T.vertices();
      then reconsider W=T as Walk of G2 by A1, A6, Th150;
      not e in W.edges() by A1;
      hence thesis by GLIB_001:110;
    end;
  end;
  suppose not (v1 in the_Vertices_of G2 & not v2 in the_Vertices_of G2) &
      not (not v1 in the_Vertices_of G2 & v2 in the_Vertices_of G2);
    then G1 == G2 by Def12;
    then not e in the_Edges_of G1 by A1, GLIB_000:def 34;
    hence not e in T.edges();
  end;
end;
