
theorem Th4:
  for X be addLoopStr, A,B be Subset of X holds
  ex F be Function of A+B,[:A,B:] st F is one-to-one
  proof
    let X be addLoopStr, A,B be Subset of X;
    set D = A+B;
    defpred P[object,object] means
    ex a,b be Point of X st $1 = a+b & a in A & b in B & $2 = [a,b];
    A2: for x being object st x in D
        ex y being object st y in [:A,B:] & P[x,y]
    proof
      let x be object;
      assume x in D; then
      x in {a+b where a,b is Element of X : a in A & b in B}
      by IDEAL_1:def 19; then
      consider a,b be Element of X such that
      A3: x = a+b & a in A & b in B;
      take y = [a,b];
      thus y in [:A,B:] by A3,ZFMISC_1:87;
      thus P[x,y] by A3;
    end;
    consider F be Function of D,[:A,B:] such that
    A4: for x be object st x in D holds P[x,F.x] from FUNCT_2:sch 1(A2);
    take F;
    for x1,x2 be object st x1 in dom F & x2 in dom F & F.x1 = F.x2
    holds x1 = x2
    proof
      let x1,x2 be object;
      assume
      A5: x1 in dom F & x2 in dom F & F.x1 = F.x2; then
      A6: ex a1,b1 be Point of X
          st x1 = a1+b1 & a1 in A & b1 in B & F.x1 = [a1,b1] by A4;
      ex a2,b2 be Point of X
      st x2 = a2+b2 & a2 in A & b2 in B & F.x2 = [a2,b2] by A4,A5;
      hence x1 = x2 by A5,A6;
    end;
    hence F is one-to-one;
  end;
