reserve Q,Q1,Q2 for multLoop;
reserve x,y,z,w,u,v for Element of Q;

theorem Th17:
  for Q1 being satisfying_aa1 satisfying_aa2 satisfying_aa3 satisfying_Ka
    multLoop holds
  for Q2 be multLoop holds
  for f being homomorphic Function of Q1,Q2 st
  (for y be Element of Q2 holds ex x being Element of Q1 st f.x = y)
  &
  Cent Q1 c= Ker f
  holds
  Q2 is multGroup
proof
  let Q1 be satisfying_aa1 satisfying_aa2 satisfying_aa3 satisfying_Ka
    multLoop;
  let Q2 be multLoop;
  let f be homomorphic Function of Q1,Q2;
  assume that A1: for y be Element of Q2 holds ex x being Element of Q1 st
    f.x = y
  and A2: Cent Q1 c= Ker f;
  now
    let x1,y1,z1 be Element of Q1;
    a_op(x1,y1,z1) in Cent Q1
    proof
      now
        let u be Element of Q1;
        K_op(a_op(x1,y1,z1),u) = 1.Q1 by Def18;
        hence a_op(x1,y1,z1) * u = u * a_op(x1,y1,z1) by Th10;
      end;
      then A3: a_op(x1,y1,z1) in Comm Q1 by Def25;
      now
        let u,w be Element of Q1;
        a_op(a_op(x1,y1,z1),u,w) = 1.Q1 by Def15;
        hence (a_op(x1,y1,z1) * u) * w = a_op(x1,y1,z1) * (u * w) by Th9;
      end;
      then A4: a_op(x1,y1,z1) in Nucl_l Q1 by Def22;
      now
        let u,w be Element of Q1;
        a_op(u,a_op(x1,y1,z1),w) = 1.Q1 by Def16;
        hence (u * a_op(x1,y1,z1)) * w = u * (a_op(x1,y1,z1) * w) by Th9;
      end;
      then A5: a_op(x1,y1,z1) in Nucl_m Q1 by Def23;
      now
        let u,w be Element of Q1;
        a_op(u,w,a_op(x1,y1,z1)) = 1.Q1 by Def17;
        hence (u * w) * a_op(x1,y1,z1) = u * (w * a_op(x1,y1,z1)) by Th9;
      end;
      then a_op(x1,y1,z1) in Nucl_r Q1 by Def24;
      then a_op(x1,y1,z1) in Nucl Q1 by A4,A5,Th12;
      hence thesis by A3,XBOOLE_0:def 4;
    end;
    hence a_op(x1,y1,z1) in Ker f by A2;
  end;
  hence thesis by Th15,A1;
end;
