reserve x,y,X for set,
  i,j,k,m,n for Nat,
  p for FinSequence of X,
  ii for Integer;
reserve G for Graph,
  pe,qe for FinSequence of the carrier' of G,
  p,q for oriented Chain of G,
  W for Function,
  U,V,e,ee for set,
  v1,v2,v3,v4 for Vertex of G;
reserve G for finite Graph,
  P,Q for oriented Chain of G,
  v1,v2,v3 for Vertex of G;
reserve G for finite oriented Graph,
  P,Q for oriented Chain of G,
  W for Function of (the carrier' of G), Real>=0,
  v1,v2,v3,v4 for Vertex of G;
reserve f,g,h for Element of REAL*,
  r for Real;
reserve G for oriented Graph,
  v1,v2 for Vertex of G,
  W for Function of (the carrier' of G), Real>=0;

theorem
  for G being Graph,vs1,vs2 be FinSequence,p being oriented Chain of G
  st p is_oriented_edge_seq_of vs1 & p is_oriented_edge_seq_of vs2 & len p >= 1
  holds vs1=vs2
proof
  let G be Graph,vs1,vs2 be FinSequence,p be oriented Chain of G;
  assume that
A1: p is_oriented_edge_seq_of vs1 and
A2: p is_oriented_edge_seq_of vs2 and
A3: len p >= 1;
A4: now
    let k be Nat;
    assume that
A5: 1<=k and
A6: k <= len vs1;
    per cases;
    suppose
      k = len vs1;
      then
A7:   k = len p + 1 by A1;
      hence vs1.k=(the Target of G).(p.len p) by A1,A3
        .=vs2.k by A2,A3,A7;
    end;
    suppose
      k <> len vs1;
      then k < len vs1 by A6,XXREAL_0:1;
      then k+1 <= len vs1 by INT_1:7;
      then k+1 <= len p+1 by A1;
      then
A8:   k <= len p by XREAL_1:6;
      hence vs1.k=(the Source of G).(p.k) by A1,A5
        .=vs2.k by A2,A5,A8;
    end;
  end;
  len vs1 = len p+1 by A1
    .= len vs2 by A2;
  hence thesis by A4,FINSEQ_1:14;
end;
