reserve f for Function;
reserve p,q for FinSequence;
reserve A,B,C for set,x,x1,x2,y,z for object;
reserve k,l,m,n for Nat;
reserve a for Nat;
reserve D for non empty set;
reserve d,d1,d2,d3 for Element of D;
reserve L,M for Element of NAT;

theorem
  rng p = rng q & len p = len q & q is one-to-one implies p is one-to-one
proof
  assume that
A1: rng p = rng q and
A2: len p = len q and
A3: q is one-to-one;
A4: rng p = dom(q") by A1,A3,FUNCT_1:33;
  then
A5: dom (q" * p) = dom p by RELAT_1:27
    .= Seg(len p) by FINSEQ_1:def 3;
  then reconsider r = q" * p as FinSequence by FINSEQ_1:def 2;
  rng r = rng(q") by A4,RELAT_1:28
    .= dom q by A3,FUNCT_1:33
    .= Seg(len q) by FINSEQ_1:def 3;
  then r is one-to-one by A2,A5,Th60;
  hence thesis by A4,FUNCT_1:26;
end;
