
theorem Th3:
  for X,Y be Group-Sequence holds
  ex I be Homomorphism of [:product X,product Y:],product (X^Y)
  st I is bijective &
  (for x be Element of product X, y be Element of product Y holds
  ex x1,y1 be FinSequence st x = x1 & y = y1 & I.(x,y) = x1^y1)
proof
  let X,Y be Group-Sequence;
  reconsider CX = carr X, CY = carr Y as non-empty FinSequence;
A1: len CX = len X & len CY = len Y & len carr (X^Y) = len (X^Y)
  by PRVECT_1:def 11;
  consider I be Function of [:product CX,product CY:],product (CX^CY)
  such that
A2: I is one-to-one & I is onto & (for x,y be FinSequence st x in product CX &
  y in product CY holds I.(x,y) = x^y) by PRVECT_3:6;
  set PX = product X;
  set PY = product Y;
  len carr (X^Y) = len X + len Y & len (CX^CY) =len X + len Y
  by A1,FINSEQ_1:22;
  then
A3: dom carr (X^Y) = dom (CX^CY) by FINSEQ_3:29;
A4: for k be Nat st k in dom carr (X^Y) holds carr (X^Y).k = (CX^CY).k
  proof
    let k be Nat;
    assume
A5: k in dom carr (X^Y);
    then reconsider k1 = k as Element of dom (X^Y) by A1,FINSEQ_3:29;
A6: carr (X^Y).k = the carrier of ((X^Y).k1) by PRVECT_1:def 11;
A7: k in dom (X^Y) by A1,A5,FINSEQ_3:29;
    per cases by A7,FINSEQ_1:25;
    suppose
A8:   k in dom X;
      then
A9:   k in dom CX by A1,FINSEQ_3:29;
      reconsider k2 = k1 as Element of dom X by A8;
      thus carr (X^Y).k = the carrier of (X.k2) by A6,FINSEQ_1:def 7
        .= CX.k by PRVECT_1:def 11
        .= (CX^CY).k by A9,FINSEQ_1:def 7;
    end;
    suppose ex n be Nat st n in dom Y & k=len X + n;
      then consider n be Nat such that
A10:  n in dom Y & k = len X + n;
A11:  n in dom CY by A1,A10,FINSEQ_3:29;
      reconsider n1 = n as Element of dom Y by A10;
      thus carr (X^Y).k = the carrier of (Y.n1) by A6,A10,FINSEQ_1:def 7
        .= CY.n by PRVECT_1:def 11
        .= (CX^CY).k by A11,A10,A1,FINSEQ_1:def 7;
    end;
  end;
  then
A12: carr (X^Y) = CX^CY by A3,FINSEQ_1:13;
  reconsider I as Function of [:PX,PY:],product (X^Y) by A3,A4,FINSEQ_1:13;
A13: for x be Element of product X, y be Element of product Y holds ex x1,y1
  be FinSequence st x=x1 & y=y1 & I.(x,y) = x1^y1
  proof
    let x be Element of PX, y be Element of PY;
    reconsider x1=x, y1=y as FinSequence by NDIFF_5:9;
    I.(x,y) = x1^y1 by A2;
    hence thesis;
  end;
  for v,w be Element of [:PX,PY:] holds I.(v+w) = I.v + I.w
  proof
    let v,w be Element of [:PX,PY:];
    consider x1 be Element of PX, y1 be Element of PY such that
A14: v = [x1,y1] by SUBSET_1:43;
    consider x2 be Element of PX, y2 be Element of PY such that
A15: w = [x2,y2] by SUBSET_1:43;
    reconsider xx1=x1, xx2=x2 as FinSequence by NDIFF_5:9;
    reconsider yy1=y1, yy2=y2 as FinSequence by NDIFF_5:9;
    reconsider xx12=x1+x2, yy12=y1+y2 as FinSequence by NDIFF_5:9;
A16: dom xx1 = dom CX & dom xx2 = dom CX & dom xx12 = dom CX & dom yy1 =
    dom CY & dom yy2 = dom CY & dom yy12 = dom CY by CARD_3:9;
    I.v = I.(x1,y1) & I.w = I.(x2,y2) by A14,A15;
    then
A17: I.v = xx1^yy1 & I.w = xx2^yy2 by A2;
    I.(v+w) = I.(x1+x2,y1+y2) by A14,A15,PRVECT_3:def 1;
    then
A18: I.(v+w) = xx12^yy12 by A2;
    then
A19: dom (xx12^yy12) = dom carr (X^Y) by CARD_3:9;
    reconsider Iv = I.v, Iw = I.w as Element of product carr (X^Y);
    reconsider Ivw = I.v + I.w as FinSequence by NDIFF_5:9;
    for j0 be Nat st j0 in dom Ivw holds Ivw.j0 = (xx12^yy12).j0
    proof
      let j0 be Nat;
      assume j0 in dom Ivw;
      then reconsider j=j0 as Element of dom carr (X^Y) by CARD_3:9;
A20:  Ivw.j0 = ((addop (X^Y)).j).(Iv.j,Iw.j) by PRVECT_1:def 8
        .= (the addF of (X^Y).j).(Iv.j,Iw.j) by PRVECT_1:def 12;
      per cases by A20,A3,FINSEQ_1:25;
      suppose
A21:    j0 in dom CX;
        then j0 in dom X by A1,FINSEQ_3:29;
        then
A22:    (X^Y).j = X.j0 by FINSEQ_1:def 7;
A23:    Iv.j = xx1.j & Iw.j = xx2.j by A21,A16,A17,FINSEQ_1:def 7;
A24:    (xx12^yy12).j0 = xx12.j0 by A21,A16,FINSEQ_1:def 7;
        reconsider j1=j0 as Element of dom carr X by A21;
        (the addF of (X^Y).j).(Iv.j,Iw.j) = ((addop X ).j1).(xx1.j1,xx2.j1)
        by A22,A23,PRVECT_1:def 12
          .= (xx12^yy12).j0 by A24,PRVECT_1:def 8;
        hence Ivw.j0 = (xx12^yy12).j0 by A20;
      end;
      suppose ex n be Nat st n in dom CY & j0=len CX + n;
        then consider n be Nat such that
A25:    n in dom CY & j0 = len CX + n;
A26:    len CX = len xx1 & len CX = len xx2 & len CX = len xx12
        by A16,FINSEQ_3:29;
        n in dom Y by A1,A25,FINSEQ_3:29;
        then
A27:    (X^Y).j = Y.n by A25,A1,FINSEQ_1:def 7;
A28:    Iv.j = yy1.n & Iw.j = yy2.n by A16,A17,A25,A26,FINSEQ_1:def 7;
A29:    (xx12^yy12).j0 = yy12.n by A25,A26,A16,FINSEQ_1:def 7;
        reconsider j1=n as Element of dom carr Y by A25;
        (the addF of (X^Y).j).(Iv.j,Iw.j) = ((addop Y).j1).(yy1.j1,yy2.j1)
        by A27,A28,PRVECT_1:def 12
          .= (xx12^yy12).j0 by A29,PRVECT_1:def 8;
        hence Ivw.j0 = (xx12^yy12).j0 by A20;
      end;
    end;
    hence thesis by A18,A19,CARD_3:9,FINSEQ_1:13;
  end;
  then reconsider I as Homomorphism of [:product X,product Y:], product (X^Y)
  by VECTSP_1:def 20;
  take I;
  thus thesis by A13,A2,A12;
end;
