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

theorem Th59:
  for f being Function of Q,Q st f in Mlt (Nucl Q) holds
  ex u,v st u in Nucl Q & v in Nucl Q & for x holds f.x = u * (x * v)
proof
  set H = Nucl Q;
  defpred P[Function of Q,Q] means
  ex u,v st u in Nucl Q & v in Nucl Q & for x holds $1.x = u * (x * v);
  A1: for u being Element of Q st u in H holds
  for f being Function of Q,Q st for x being Element of Q holds f.x = x * u
    holds P[f]
  proof
    let u such that  A2: u in H;
    let f be Function of Q,Q such that A3: for x holds f.x = x * u;
    take 1.Q,u;
    thus thesis by A3,A2,Th20;
  end;
  A4: for u being Element of Q st u in H holds
  for f being Function of Q,Q st for x being Element of Q holds f.x = u * x
    holds P[f]
  proof
    let u such that A5: u in H;
    let f be Function of Q,Q such that A6: for x holds f.x = u * x;
    take u, 1.Q;
    thus thesis by A6,A5,Th20;
  end;
  A7: for g,h being Permutation of the carrier of Q st P[g] & P[h] holds P[g*h]
  proof
    let g,h be Permutation of the carrier of Q;
    assume A8: P[g] & P[h];
    consider u,v such that
    A9: u in H & v in H & for x holds g.x = u * (x * v) by A8;
    consider z,w such that
    A10: z in H & w in H & for x holds h.x = z * (x * w) by A8;
    take u * z, w * v;
    u in [#] (lp (Nucl Q)) & z in [#] (lp (Nucl Q)) by Th24,A9,A10;
    then u * z in [#] (lp (Nucl Q)) by Th37;
    hence u * z in H by Th24;
    w in [#] (lp (Nucl Q)) & v in [#] (lp (Nucl Q)) by Th24,A9,A10;
    then A11: w * v in [#] (lp (Nucl Q)) by Th37;
    then A12: w * v in Nucl Q by Th24;
    thus w * v in H by A11,Th24;
    A13: u in Nucl_l Q by A9,Th12;
    A14: v in Nucl_r Q by A9,Th12;
    A15: w in Nucl_r Q by A10,Th12;
    A16: w * v in Nucl_r Q by A12,Th12;
    let x;
    (g*h).x = g.(h.x) by FUNCT_2:15
    .= g.(z * (x * w)) by A10
    .= u * ((z * (x * w)) * v) by A9
    .= (u * (z * (x * w))) * v by A13,Def22
    .= ((u * z) * (x * w)) * v by A13,Def22
    .= (((u * z) * x) * w) * v by A15,Def24
    .= ((u * z) * x) * (w * v) by A14,Def24
    .= (u * z) * (x * (w * v)) by A16,Def24;
    hence thesis;
  end;
  A17: for g being Permutation of Q st P[g] holds P[g"]
  proof
    let g be Permutation of Q;
    assume P[g];
    then consider u,v such that
    A18: u in H & v in H & for x holds g.x = u * (x * v);
    A19: u in Nucl_m Q by A18,Th12;
    A20: v in Nucl_m Q & v in Nucl_r Q by A18,Th12;
    take 1.Q / u,v \ 1.Q;
    1.Q in Nucl Q by Th20;
    then A21: 1.Q in [#] (lp (Nucl Q)) by Th24;
    u in [#] (lp (Nucl Q)) by Th24,A18;
    then 1.Q / u in [#] (lp (Nucl Q)) by Th41,A21;
    hence 1.Q / u in Nucl Q by Th24;
    v in [#] (lp (Nucl Q)) by Th24,A18;
    then v \ 1.Q in [#] (lp (Nucl Q)) by Th39,A21;
    hence v \ 1.Q in Nucl Q by Th24;
    let x;
    reconsider k = (curry (the multF of Q)).(1.Q / u) as Permutation of Q
    by Th30;
    reconsider h = (curry' (the multF of Q)).(v \ 1.Q) as Permutation of Q
    by Th31;
    (k*h)*g = id Q
    proof
      for y holds ((k*h)*g).y = (id Q).y
      proof
        let y;
        ((k*h)*g).y = (k*h).(g.y) by FUNCT_2:15
        .= (k*h).(u * (y * v)) by A18
        .= k.(h.(u * (y * v))) by FUNCT_2:15
        .= k.((u * (y * v)) * (v \ 1.Q)) by FUNCT_5:70
        .= k.(((u * y) * v) * (v \ 1.Q)) by Def24,A20
        .= k.((u * y) * (v * (v \ 1.Q))) by Def23,A20
        .= (1.Q / u) * (u * y) by FUNCT_5:69
        .= ((1.Q / u) * u) * y by Def23,A19
        .= y;
        hence thesis;
      end;
      hence thesis by FUNCT_2:def 8;
    end;
    then (g").x = (k*h).x by FUNCT_2:60
    .= k.(h.x) by FUNCT_2:15
    .= k.(x * (v \ 1.Q)) by FUNCT_5:70
    .= (1.Q / u) * (x * (v \ 1.Q)) by FUNCT_5:69;
    hence thesis;
  end;
  for f being Function of Q,Q st f in Mlt H holds P[f]
    from MltInd(A1,A4,A7,A17);
  hence thesis;
end;
