
theorem Th9:
for m,n1,n2,k be non zero Nat, X be non-empty m-element FinSequence
 st k <= n1 & n1 <= n2 & n2 <= m holds
 (Pt2FinSeq SubFin(X,n1)).k = (Pt2FinSeq SubFin(X,n2)).k
proof
    let m,n1,n2,k be non zero Nat, X be non-empty m-element FinSequence;
    assume that
A1: k <= n1 and
A2: n1 <= n2 and
A3: n2 <= m;

    set X1 = SubFin(X,n1), X2 = SubFin(X,n2);

    defpred P[Nat] means 1 <= $1 & $1 <= n1 implies
     ex i be non zero Nat st i = $1 & (Pt2FinSeq X1).i = (Pt2FinSeq X2).i;
A4: P[0];
A5: for i be Nat st P[i] holds P[i+1]
    proof
     let i be Nat;
     assume
A6:  P[i];
     assume
A7:  1 <= i+1 & i+1 <= n1;
     reconsider i1 = i+1 as non zero Nat;
     take i1;
     thus i1 = i+1;
     thus (Pt2FinSeq X1).i1 = (Pt2FinSeq X2).i1
     proof
      per cases;
      suppose
A8:    i = 0;
       consider id1 be Function of CarProduct SubFin(X1,1),product SubFin(X1,1)
        such that
A9:    (Pt2FinSeq X1).1 = id1 & id1 is bijective
     & for x be object st x in CarProduct SubFin(X1,1) holds id1.x = <*x*>
         by Def5;
       consider id2 be Function of CarProduct SubFin(X2,1),product SubFin(X2,1)
        such that
A10:    (Pt2FinSeq X2).1 = id2 & id2 is bijective
     & for x be object st x in CarProduct SubFin(X2,1) holds id2.x = <*x*>
         by Def5;
A11:    dom id1 = CarProduct SubFin(X1,1) & dom id2 = CarProduct SubFin(X2,1)
         by FUNCT_2:def 1;

       1 <= n1 by NAT_1:14; then
A12:    SubFin(X1,1) = SubFin(X2,1) by A2,A3,Th8;

       for x be object st x in dom id1 holds id1.x = id2.x
       proof
        let x be object;
        assume
A13:    x in dom id1; then
        id1.x = <*x*> by A9;
        hence id1.x = id2.x by A12,A10,A13;
       end;
       hence (Pt2FinSeq X1).i1 = (Pt2FinSeq X2).i1 by A8,A12,A9,A10,A11
,FUNCT_1:2;
      end;
      suppose i <> 0; then
       consider i0 be non zero Nat such that
A14:   i0 = i & (Pt2FinSeq X1).i0 = (Pt2FinSeq X2).i0
         by A6,A7,NAT_1:13,14;

A15:   i < n1 by A7,NAT_1:13; then
       consider F1 be Function of
         CarProduct SubFin(X1,i0),product SubFin(X1,i0),
        I1 be Function of [:CarProduct SubFin(X1,i0),ElmFin(X1,i0+1):],
                product SubFin(X1,i0+1) such that
A16:   F1 = (Pt2FinSeq X1).i0 & I1 = (Pt2FinSeq X1).(i0+1)
     & F1 is bijective & I1 is bijective
     & for x,y be object st
        x in CarProduct SubFin(X1,i0) & y in ElmFin(X1,i0+1)
         ex s be FinSequence st F1.x = s & I1.(x,y) = s^ <*y*>
           by A14,Def5;

       i < n2 by A15,A2,XXREAL_0:2; then
       consider F2 be Function of
         CarProduct SubFin(X2,i0),product SubFin(X2,i0),
        I2 be Function of [:CarProduct SubFin(X2,i0),ElmFin(X2,i0+1):],
                product SubFin(X2,i0+1) such that
A17:   F2 = (Pt2FinSeq X2).i0 & I2 = (Pt2FinSeq X2).(i0+1)
     & F2 is bijective & I2 is bijective
     & for x,y be object st
        x in CarProduct SubFin(X2,i0) & y in ElmFin(X2,i0+1)
         ex s be FinSequence st F2.x = s & I2.(x,y) = s^ <*y*>
           by A14,Def5;

A18:   SubFin(X1,i0) = SubFin(X2,i0) & ElmFin(X1,i0+1) = ElmFin(X2,i0+1)
         by A7,A15,A14,A2,A3,Th8;
A19:   dom I1 = [:CarProduct SubFin(X1,i0),ElmFin(X1,i0+1):]
     & dom I2 = [:CarProduct SubFin(X2,i0),ElmFin(X2,i0+1):]
         by FUNCT_2:def 1;

       for z be object st z in dom I1 holds I1.z = I2.z
       proof
        let z be object;
        assume z in dom I1; then
        consider x,y be object such that
A20:    x in CarProduct SubFin(X1,i0) & y in ElmFin(X1,i0+1) & z = [x,y]
          by ZFMISC_1:84;
A21:    ex s1 be FinSequence st F1.x = s1 & I1.(x,y) = s1^<*y*> by A16,A20;
        ex s2 be FinSequence st F2.x = s2 & I2.(x,y) = s2^<*y*> by A18,A20,A17;
        hence I1.z = I2.z by A14,A16,A17,A20,A21;
       end; then
       I1 = I2 by A18,A19;
       hence (Pt2FinSeq X1).i1 = (Pt2FinSeq X2).i1 by A14,A16,A17;
      end;
     end;
    end;
A22: for i be Nat holds P[i] from NAT_1:sch 2(A4,A5);
    1 <= k by NAT_1:14; then
    ex i be non zero Nat st i = k & (Pt2FinSeq X1).i = (Pt2FinSeq X2).i
      by A1,A22;
    hence thesis;
end;
