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
  W.reverse().edgeSeq() = Rev (W.edgeSeq())
proof
  set W1 = W.reverse().edgeSeq(), W2 = Rev (W.edgeSeq());
A1: len W = len W.reverse() by FINSEQ_5:def 3;
  len W = 2 * len W.edgeSeq() + 1 by Def15;
  then
A2: 2 * len W.edgeSeq() + 1 = 2 * len W1 + 1 by A1,Def15;
A3: now
    let n be Nat;
    assume that
A4: 1 <= n and
A5: n <= len W1;
A6: W1.n = W.reverse().(2*n) by A4,A5,Def15;
    set rn = len W.edgeSeq() - n + 1;
    reconsider rn as Element of NAT by A2,A5,FINSEQ_5:1;
A7: n in Seg len W.edgeSeq() by A2,A4,A5,FINSEQ_1:1;
    then
A8: rn in Seg len W.edgeSeq() by FINSEQ_5:2;
    then
A9: 1 <= rn by FINSEQ_1:1;
A10: n in dom W.edgeSeq() by A7,FINSEQ_1:def 3;
    then
A11: 2*n in dom W by Lm41;
    then
A12: 1 <= 2*n by FINSEQ_3:25;
A13: rn <= len W.edgeSeq() by A8,FINSEQ_1:1;
A14: len W - 2*n + 1 = 2*len W.edgeSeq() + 1 - 2*n + 1 by Def15
      .= 2*rn;
    2*n <= len W.reverse() by A1,A11,FINSEQ_3:25;
    then
A15: 2*n in dom W.reverse() by A12,FINSEQ_3:25;
    W2.n = W.edgeSeq().rn by A10,FINSEQ_5:58
      .= W.(2*rn) by A9,A13,Def15;
    hence W1.n = W2.n by A15,A6,A14,Lm8;
  end;
  len W1 = len W2 by A2,FINSEQ_5:def 3;
  hence thesis by A3,FINSEQ_1:14;
end;
