
theorem Th66:
  for G1 being _Graph, v being set, G2 being removeLoops of G1
  for G3 being removeVertex of G1, v, G4 being removeVertex of G2, v
  holds G4 is removeLoops of G3
proof
  let G1 be _Graph, v be set, G2 be removeLoops of G1;
  let G3 be removeVertex of G1, v, G4 be removeVertex of G2, v;
  A1: the_Vertices_of G2 = the_Vertices_of G1 &
    the_Edges_of G2 = the_Edges_of G1 \ G1.loops() by GLIB_000:53;
  per cases;
  suppose A2: G1 is non _trivial & v in the_Vertices_of G1;
    then reconsider v1 = v as Vertex of G1;
    reconsider v2 = v1 as Vertex of G2 by GLIB_000:53;
    A3: the_Vertices_of G3 = the_Vertices_of G1 \ {v1} & the_Edges_of G3
      = G1.edgesBetween(the_Vertices_of G1 \ {v1}) by A2, GLIB_000:47;
    A4: the_Vertices_of G4 = the_Vertices_of G2 \ {v2} & the_Edges_of G4
      = G2.edgesBetween(the_Vertices_of G2 \ {v2}) by A2, GLIB_000:47;
    then A5: the_Vertices_of G4 = the_Vertices_of G3 by A3, GLIB_000:53;
    A6: the_Edges_of G1 \ v1.edgesInOut()
       = G1.edgesBetween(the_Vertices_of G1) \ v1.edgesInOut() by GLIB_000:34
      .= the_Edges_of G3 by A3, GLIB_000:107;
    A7: the_Edges_of G4 = G2.edgesBetween(the_Vertices_of G2)
        \ v2.edgesInOut() by A4, GLIB_000:107
      .= the_Edges_of G2 \ v2.edgesInOut() by GLIB_000:34
      .= (the_Edges_of G1 \ G1.loops()) \ v2.edgesInOut() by GLIB_000:53
      .= (the_Edges_of G1 \ G1.loops())
        \ (v1.edgesInOut() /\ the_Edges_of G2) by GLIB_000:79
      .= the_Edges_of G1 \ (G1.loops()
          \/ (v1.edgesInOut() /\ the_Edges_of G2)) by XBOOLE_1:41
      .= (the_Edges_of G1 \ (v1.edgesInOut() /\ the_Edges_of G2))
        \ G1.loops() by XBOOLE_1:41
      .= ((the_Edges_of G1 \ v1.edgesInOut()) \/ (the_Edges_of G1
          \ the_Edges_of G2)) \ G1.loops() by XBOOLE_1:54
      .= (the_Edges_of G3 \/ G1.loops()) \ G1.loops() by A1, A6, Th1
      .= the_Edges_of G3 \ G1.loops() by XBOOLE_1:40;
    now
      let e be object;
      hereby
        assume e in the_Edges_of G3 \ G3.loops();
        then A8: e in the_Edges_of G3 & not e in G3.loops() by XBOOLE_0:def 5;
        not e in G1.loops()
        proof
          assume e in G1.loops();
          then consider v being object such that
            A9: e Joins v,v,G1 by Def2;
          e is set & v is set by TARSKI:1;
          then e Joins v,v,G3 by A8, A9, GLIB_000:73;
          hence contradiction by A8, Def2;
        end;
        hence e in the_Edges_of G3 \ G1.loops() by A8, XBOOLE_0:def 5;
      end;
      assume A10: e in the_Edges_of G3 \ G1.loops();
      G3.loops() c= G1.loops() by Th48;
      hence e in the_Edges_of G3 \ G3.loops() by A10
, XBOOLE_1:34, TARSKI:def 3;
    end;
    then A11: the_Edges_of G4 = the_Edges_of G3 \ G3.loops() by A7, TARSKI:2;
    G4 is Subgraph of G1 by GLIB_000:43;
    then A12: G4 is Subgraph of G3 by A5, A11, XBOOLE_1:36, GLIB_000:44;
    the_Edges_of G3 \ G3.loops() c= the_Edges_of G3 by XBOOLE_1:36;
    then A13: the_Edges_of G3\G3.loops() c= G3.edgesBetween(the_Vertices_of G3)
      by GLIB_000:34;
    the_Vertices_of G3 c= the_Vertices_of G3;
    hence thesis by A5, A11, A12, A13, GLIB_000:def 37;
  end;
  suppose A14: G1 is _trivial or not v in the_Vertices_of G1;
    then A15: G1 == G3 by GLIB_000:114;
    G2 == G4 by A1, A14, GLIB_000:114;
    then G4 is removeLoops of G1 by Th59;
    hence thesis by A15, Th60;
  end;
end;
