reserve x,y for object,
        D,D1,D2 for non empty set,
        i,j,k,m,n for Nat,
        f,g for FinSequence of D*,
        f1 for FinSequence of D1*,
        f2 for FinSequence of D2*;
reserve f for complex-valued Function,
        g,h for complex-valued FinSequence;

theorem Th33:
  for D be set
    for f1,f2 be double-one-to-one FinSequence of D* st
      Values f1 misses Values f2
    holds
      f1^f2 is double-one-to-one
proof
  let D be set;
  let f1,f2 be double-one-to-one FinSequence of D* such that
      A1:Values f1 misses Values f2;
  set F=f1^f2;
  let x1,x2,y1,y2 be object such that
  A2:x1 in dom F & y1 in dom (F.x1) &
  x2 in dom F & y2 in dom (F.x2) & F_(x1,y1)=F_(x2,y2);
  reconsider x1,x2 as Nat by A2;
  per cases;
  suppose A3:x1 in dom f1 & x2 in dom f1;
    then A4:F.x1 = f1.x1 & F.x2 = f1.x2 by FINSEQ_1:def 7;
    then f1_(x1,y1)=f1_(x2,y2) by A2;
    hence thesis by A2,A3,Def6,A4;
  end;
  suppose A5:x1 in dom f1 & not x2 in dom f1;
    then consider n  such that
    A6:n in dom f2 & x2= len f1+n by A2,FINSEQ_1:25;
    F.x2=f2.n & F.x1=f1.x1 by A5,A6,FINSEQ_1:def 7;
    then F.x2.y2 in Values f2 & F.x2.y2 in Values f1 by A2,A5,A6,Th1;
    hence thesis by A1,XBOOLE_0:3;
  end;
  suppose A7:not x1 in dom f1 & x2 in dom f1;
    then consider n such that
    A8:n in dom f2 & x1= len f1+n by A2,FINSEQ_1:25;
    F.x1=f2.n & F.x2=f1.x2 by A7,A8,FINSEQ_1:def 7;
    then F.x2.y2 in Values f1 & F.x2.y2 in Values f2
      by A2,A7,A8,Th1;
    hence thesis by A1,XBOOLE_0:3;
  end;
  suppose A9:not x1 in dom f1 & not x2 in dom f1;
    then consider n  such that
    A10:n in dom f2 & x1= len f1+n by A2,FINSEQ_1:25;
    consider k  such that
    A11:k in dom f2 & x2= len f1+k by A2,A9,FINSEQ_1:25;
    A12:F.x1 = f2.n & F.x2 = f2.k by A10,A11,FINSEQ_1:def 7;
    then f2_(n,y1)=f2_(k,y2) by A2;
    hence thesis by A2,A10,A11,Def6,A12;
  end;
end;
