reserve G,G1,G2 for _Graph;
reserve W,W1,W2 for Walk of G;
reserve e,x,y,z for set;
reserve v for Vertex of G;
reserve n,m for Element of NAT;

theorem Th73:
  e Joins W.last(),x,G implies W.addEdge(e).vertexSeq() = W
  .vertexSeq() ^ <*x*>
proof
  set W2 = W.addEdge(e), W3 = W.vertexSeq() ^ <*x*>;
  assume
A1: e Joins W.last(),x,G;
  then len W2 = len W + 2 by Lm37;
  then
A2: len W + 2 + 1 = 2 * len W2.vertexSeq() by Def14;
  len W3 = len W.vertexSeq() + len <*x*> by FINSEQ_1:22;
  then len W3 = len W.vertexSeq() + 1 by FINSEQ_1:39;
  then 2*len W3 = 2*len W.vertexSeq()+2*1;
  then
A3: 2*len W3 = len W + 1 + 2 by Def14
    .= 2* len W2.vertexSeq() by A2;
  now
    let k be Nat;
    assume that
A4: 1 <= k and
A5: k <= len W2.vertexSeq();
A6: W2.vertexSeq().k = W2.(2*k-1) by A4,A5,Def14;
A7: k in dom W3 by A3,A4,A5,FINSEQ_3:25;
    now
      per cases by A7,FINSEQ_1:25;
      suppose
A8:     k in dom W.vertexSeq();
        then
A9:     2*k-1 in dom W by Th71;
A10:    1 <= k by A8,FINSEQ_3:25;
A11:    k <= len W.vertexSeq() by A8,FINSEQ_3:25;
        W3.k = W.vertexSeq().k by A8,FINSEQ_1:def 7;
        then W3.k = W.(2*k-1) by A10,A11,Def14;
        hence W2.vertexSeq().k = W3.k by A1,A6,A9,Lm38;
      end;
      suppose
        ex n being Nat st n in dom <*x*> & k=len W.vertexSeq()+n;
        then consider n being Nat such that
A12:    n in dom <*x*> and
A13:    k = len W.vertexSeq() + n;
        n in Seg 1 by A12,FINSEQ_1:38;
        then
A14:    n = 1 by FINSEQ_1:2,TARSKI:def 1;
        then
A15:    2*k = 2*len W.vertexSeq() + 2*1 by A13
          .= len W + 1 + 2 by Def14
          .= len W + 2 + 1;
        W3.k = <*x*>.1 by A12,A13,A14,FINSEQ_1:def 7
          .= x;
        hence W2.vertexSeq().k = W3.k by A1,A6,A15,Lm38;
      end;
    end;
    hence W2.vertexSeq().k = W3.k;
  end;
  hence thesis by A3,FINSEQ_1:14;
end;
