
theorem
  for G1, G2 being _Graph, W1 being Walk of G1, W2 being Walk of G2
  st W1.vertexSeq() = W2.vertexSeq() & W1.edgeSeq() = W2.edgeSeq()
  holds W1 = W2
proof
  let G1, G2 be _Graph, W1 be Walk of G1, W2 be Walk of G2;
  assume A1: W1.vertexSeq() = W2.vertexSeq() & W1.edgeSeq() = W2.edgeSeq();
  A2: len W1 + 1 = 2 * len W2.vertexSeq() by A1, GLIB_001:def 14
    .= len W2 + 1 by GLIB_001:def 14;
  for n being Nat st 1 <= n & n <= len W1 holds W1.n = W2.n
  proof
    let n be Nat;
    assume A3: 1 <= n & n <= len W1;
    per cases;
    suppose n is odd;
      then reconsider m=n as odd Element of NAT by ORDINAL1:def 12;
      thus W1.n = W1.vertexAt(m) by A3, GLIB_001:def 8
        .= W1.vertexSeq().((m+1) div 2) by A3, GLIB_001:72
        .= W2.vertexAt(m) by A1, A2, A3, GLIB_001:72
        .= W2.n by A2, A3, GLIB_001:def 8;
    end;
    suppose n is even;
      then reconsider m=n as even Element of NAT by ORDINAL1:def 12;
      thus W1.n = W1.edgeSeq().(m div 2) by A3, GLIB_001:77
        .= W2.n by A1, A2, A3, GLIB_001:77;
    end;
  end;
  hence thesis by A2, FINSEQ_1:def 18;
end;
