 reserve a for non empty set;
 reserve b, x, o for object;

theorem Th13:
    for A, B be AbGroup, i be Homomorphism of A,B st
    i = id A holds A is SubAbGr of B
    proof
      let A, B be AbGroup, i be Homomorphism of A,B;
      assume
A1:   i = id A;
A2:   for o be object holds
      o in the carrier of A implies o in the carrier of B
      proof
        let o be object;
        assume
A3:     o in the carrier of A; then
        i.o = o by A1,FUNCT_1:18;
        hence thesis by FUNCT_2:5,A3;
      end;
A5:   the carrier of A c= the carrier of B by A2;
A6:   the addF of A = (the addF of B)||the carrier of A
      proof
        set aA = the addF of A,
        aB = (the addF of B) || the carrier of A;
A7:     dom aB = dom(the addF of B) /\ [:the carrier of A,the carrier of A:]
        by RELAT_1:61
        .= [:the carrier of B,the carrier of B:] /\
           [:the carrier of A,the carrier of A:] by FUNCT_2:def 1
        .= [:the carrier of A,the carrier of A:] by A5,ZFMISC_1:96,XBOOLE_1:28;
       for x be object st x in dom aA holds aA.x = aB.x
       proof
         let x be object;
         assume
A8:      x in dom aA; then
         consider a,b being object such that
A9:      a in the carrier of A & b in the carrier of A & x = [a,b]
           by ZFMISC_1:def 2;
     reconsider a,b as Element of A by A9;
     reconsider a1 = a, b1 = b as Element of B by A2;
A10:     i.a = a by A1;
A11:     i.b = b by A1;
         aA.x = i.(a+b) by A1,A9
         .= a1 + b1 by A10,A11,VECTSP_1:def 20
         .= aB.x by A8,A9,FUNCT_1:49;
         hence thesis;
       end;
       hence thesis by A7,FUNCT_2:def 1;
     end;
     0.B = i.0.A by MOD_4:40 .= 0.A by A1;
     hence thesis by A5,A6,Def6;
   end;
