 reserve I for non empty set;
 reserve i for Element of I;
 reserve F for Group-Family of I;
 reserve G for Group;
reserve S for Subgroup-Family of F;
reserve f for Homomorphism-Family of G, F;

theorem
  for f being Homomorphism-Family of G, F
  for phi1, phi2 being Homomorphism of G, product F
  st (for i being Element of I holds f.i = (proj (F,i)) * phi1)
     & (for i being Element of I holds f.i = (proj (F,i)) * phi2)
  holds phi1 = phi2
proof
  let f be Homomorphism-Family of G, F;
  let phi1, phi2 be Homomorphism of G, product F;
  assume A1: for i being Element of I holds f.i = (proj (F,i)) * phi1;
  assume A2: for i being Element of I holds f.i = (proj (F,i)) * phi2;
  for g being Element of G holds phi1.g = phi2.g
  proof
    let g be Element of G;
    phi1.g is Element of product (Carrier F)
    & phi2.g is Element of product (Carrier F) by GROUP_7:def 2;
    then B1: dom (phi1.g) = I & dom (phi2.g) = I by PARTFUN1:def 2;
    for j being Element of I holds (phi1.g).j = (phi2.g).j
    proof
      let j be Element of I;
      C2: (f.j).g = ((proj (F, j)) * phi1).g by A1
                 .= (proj (F, j)) . (phi1.g) by FUNCT_2:15
                 .= (phi1.g).j by Def13;
      (f.j).g = ((proj (F, j)) * phi2).g by A2
             .= (proj (F, j)) . (phi2.g) by FUNCT_2:15
             .= (phi2.g).j by Def13;
      hence (phi1.g).j = (phi2.g).j by C2;
    end;
    hence phi1.g = phi2.g by B1;
  end;
  hence phi1 = phi2 by FUNCT_2:def 8;
end;
