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

theorem Th61:
  x * lp (Nucl Q) = y * lp (Nucl Q) iff
    ex u,v st u in Nucl Q & v in Nucl Q & y = u * (x * v)
proof
  thus x * lp (Nucl Q) = y * lp (Nucl Q) implies
    ex u,v st u in Nucl Q & v in Nucl Q & y = u * (x * v)
  proof
    assume A1: x * lp (Nucl Q) = y * lp (Nucl Q);
    A2: 1.Q in Nucl Q by Th20;
    y = 1.Q * (y * 1.Q);
    hence ex u,v st u in Nucl Q & v in Nucl Q & y = u * (x * v)
      by Th60,A1,A2;
  end;
  given u,v such that
  A3: u in Nucl Q & v in Nucl Q & y = u * (x * v);
  A4: u in Nucl_l Q & u in Nucl_m Q by A3,Th12;
  A5: v in Nucl_m Q & v in Nucl_r Q by A3,Th12;
  for w holds w in x * lp (Nucl Q) iff w in y * lp (Nucl Q)
  proof
    let w;
    thus w in x * lp (Nucl Q) implies w in y * lp (Nucl Q)
    proof
      assume w in x * lp (Nucl Q);
      then consider u1,v1 being Element of Q such that
      A6: u1 in Nucl Q & v1 in Nucl Q & w = u1 * (x * v1) by Th60;
      ex u2,v2 being Element of Q st u2 in Nucl Q & v2 in Nucl Q &
      w = u2 * (y * v2)
      proof
        take u1 / u,v \ v1;
        u in [#] (lp (Nucl Q)) & u1 in [#] (lp (Nucl Q))
        by A3,A6,Th24;
        then u1 / u in [#] (lp (Nucl Q)) by Th41;
        hence (u1 / u) in Nucl Q by Th24;
        v in [#] (lp (Nucl Q)) & v1 in [#] (lp (Nucl Q))
        by A3,A6,Th24;
        then v \ v1 in [#] (lp (Nucl Q)) by Th39;
        hence (v \ v1) in Nucl Q by Th24;
        w  = u1 * (x * (v * (v \ v1))) by A6
        .= ((u1 / u) * u) * ((x * v) * (v \ v1)) by Def23,A5
        .= (u1 / u) * (u * ((x * v) * (v \ v1))) by Def23,A4
        .= (u1 / u) * (y * (v \ v1)) by A3,Def22,A4;
        hence thesis;
      end;
      hence thesis by Th60;
    end;
    thus w in y * lp (Nucl Q) implies w in x * lp (Nucl Q)
    proof
      assume w in y * lp (Nucl Q);
      then consider u1,v1 being Element of Q such that
      A7: u1 in Nucl Q & v1 in Nucl Q & w = u1 * (y * v1) by Th60;
      ex u2,v2 being Element of Q st u2 in Nucl Q & v2 in Nucl Q &
      w = u2 * (x * v2)
      proof
        take u1 * u,v * v1;
        u in [#] (lp (Nucl Q)) & u1 in [#] (lp (Nucl Q))
        by A3,A7,Th24;
        then u1 * u in [#] (lp (Nucl Q)) by Th37;
        hence (u1 * u) in Nucl Q by Th24;
        v in [#] (lp (Nucl Q)) & v1 in [#] (lp (Nucl Q))
        by A3,A7,Th24;
        then v * v1 in [#] (lp (Nucl Q)) by Th37;
        hence (v * v1) in Nucl Q by Th24;
        w = u1 * (((u * x) * v) * v1) by A3,A7,Def24,A5
        .= u1 * ((u * x) * (v * v1)) by Def23,A5
        .= u1 * (u * (x * (v * v1))) by Def22,A4
        .= (u1 * u) * (x * (v * v1)) by Def23,A4;
        hence thesis;
      end;
      hence thesis by Th60;
    end;
  end;
  hence x * lp (Nucl Q) = y * lp (Nucl Q) by SUBSET_1:3;
end;
