reserve x, y for set;
reserve D for non empty set;
reserve UN for Universe;
reserve C for Category;
reserve O for non empty Subset of the carrier of C;
reserve G,H for AddGroup;

theorem
  dom ID(G) = G & cod ID(G) = G & (for f being strict
  GroupMorphism st cod f = G holds (ID G)*f = f) & for g being strict
  GroupMorphism st dom g = G holds g*(ID G) = g
proof
  set i = ID G;
  thus dom i = G;
  thus cod i = G;
  thus for f being strict GroupMorphism st cod f = G holds i*f = f
  proof
    let f be strict GroupMorphism such that
A1: cod f = G;
    set H = dom(f);
    reconsider f9 = f as Morphism of H,G by A1,Def12;
    consider m being Function of H,G such that
A2: f9 = GroupMorphismStr(# H,G,m#) by Th13;
    dom(i) = G & (id G)*m = m by FUNCT_2:17;
    hence thesis by A1,A2,Def14;
  end;
  thus for g being strict GroupMorphism st dom g = G holds g*(ID G) = g
  proof
    let f be strict GroupMorphism such that
A3: dom f = G;
    set H = cod(f);
    reconsider f9 = f as Morphism of G,H by A3,Def12;
    consider m being Function of G,H such that
A4: f9 = GroupMorphismStr(# G,H,m#) by Th13;
    cod(i) = G & m*(id G) = m by FUNCT_2:17;
    hence thesis by A3,A4,Def14;
  end;
end;
