
theorem Th1:
  for X be AbGroup holds
  ex I being Homomorphism of X,product <*X*>
  st I is bijective & (for x be Element of X holds I.x = <*x*>)
proof
  let X be AbGroup;
  set CarrX = the carrier of X;
  consider I be Function of CarrX,product <*CarrX*> such that
A1: I is one-to-one & I is onto & (for x be object st x in CarrX holds
  I.x = <*x*>) by PRVECT_3:4;
  len carr <*X*> = len <*X*> by PRVECT_1:def 11;
  then
A2: len carr <*X*> = 1 by FINSEQ_1:40;
A3: dom <*X*> = {1} by FINSEQ_1:2,def 8;
A4: <*X*>.1 = X;
  1 in {1} by TARSKI:def 1;
  then (carr <*X*>).1 = the carrier of X by A3,A4,PRVECT_1:def 11;
  then
A5: carr <*X*> = <* CarrX *> by A2,FINSEQ_1:40;
  then reconsider I as Function of X,product <*X*>;
  for v,w be Element of X holds I.(v+w) = I.v + I.w
  proof
    let v,w be Element of X;
A6: I.v = <*v*> & I.w = <*w*> & I.(v+w) = <*v+w*> by A1;
    reconsider Iv = I.v, Iw = I.w as Element of product carr <*X*>;
    1 in {1} by TARSKI:def 1;
    then reconsider j1 = 1 as Element of dom carr <*X*> by A2,FINSEQ_1:2,def 3;
A8: (addop <*X*>).j1 = the addF of (<*X*>.j1) by PRVECT_1:def 12;
A9: ([:addop <*X*>:].(Iv,Iw)).j1 = ((addop <*X*>).j1).(Iv.j1,Iw.j1)
    by PRVECT_1:def 8
      .= v+w by A8,A6;
    consider Ivw be Function such that
A10: I.v + I.w = Ivw & dom Ivw = dom carr <*X*> & (for i be object st
    i in dom carr <*X*> holds Ivw.i in carr (<*X*>).i) by CARD_3:def 5;
A11: dom Ivw = Seg 1 by A2,A10,FINSEQ_1:def 3;
    then reconsider Ivw as FinSequence by FINSEQ_1:def 2;
    len Ivw = 1 by A11,FINSEQ_1:def 3;
    hence thesis by A6,A10,A9,FINSEQ_1:40;
  end;
  then reconsider I as Homomorphism of X,product <*X*> by VECTSP_1:def 20;
  take I;
  thus thesis by A1,A5;
end;
