
theorem Th18:
  for I being non degenerated domRing-like commutative Ring for u
being Element of Quot.I st u <> q0.I holds qmult(u,qmultinv(u)) = q1.I & qmult(
  qmultinv(u),u) = q1.I
proof
  let I be non degenerated domRing-like commutative Ring;
  let u be Element of Quot.I;
  assume
A1: u <> q0.I;
  consider x being Element of Q.I such that
A2: qmultinv(u) = QClass.x by Def5;
  consider y being Element of Q.I such that
A3: u = QClass.y by Def5;
  x`2 <> 0.I & y`2 <> 0.I by Th2;
  then
A4: x`2 * y`2 <> 0.I by VECTSP_2:def 1;
  then reconsider t = [x`1 * y`1, x`2 * y`2] as Element of Q.I by Def1;
  x in qmultinv(u) by A2,Th5;
  then consider a being Element of Q.I such that
A5: a in u and
A6: x`1 * a`1 = x`2 * a`2 by A1,Def11;
  y in u by A3,Th5;
  then
A7: y`1 * a`2 = a`1 * y`2 by A5,Th7;
A8: a`1 <> 0.I
  proof
    assume a`1 = 0.I;
    then a in q0.I by Def8;
    then a in q0.I /\ u by A5,XBOOLE_0:def 4;
    then q0.I meets u;
    hence contradiction by A1,Th8;
  end;
A9: a`2 <> 0.I by Th2;
A10: for z being Element of Q.I holds z in q1.I implies z in QClass.t
  proof
    let z be Element of Q.I;
    assume z in q1.I;
    then z`1 = z`2 by Def9;
    then
A11: (z`1 * t`2) * (a`1 * a`2) = (z`2 * (x`2 * y`2)) * (a`1 * a`2)
      .= z`2 * ((x`2 * y`2) * (a`1 * a`2)) by GROUP_1:def 3
      .= z`2 * (x`2 * (y`2 * (a`1 * a`2))) by GROUP_1:def 3
      .= z`2 * (x`2 * ((y`1 * a`2) * a`2)) by A7,GROUP_1:def 3
      .= z`2 * ((x`1 * a`1) * (y`1 * a`2)) by A6,GROUP_1:def 3
      .= z`2 * (x`1 * (a`1 * (y`1 * a`2))) by GROUP_1:def 3
      .= z`2 * (x`1 * (y`1 * (a`1 * a`2))) by GROUP_1:def 3
      .= z`2 * ((x`1 * y`1) * (a`1 * a`2)) by GROUP_1:def 3
      .= (z`2 * (x`1 * y`1)) * (a`1 * a`2) by GROUP_1:def 3
      .= (z`2 * t`1) * (a`1 * a`2);
    a`1 * a`2 <> 0.I by A8,A9,VECTSP_2:def 1;
    then z`1 * t`2 = z`2 * t`1 by A11,GCD_1:1;
    hence thesis by Def4;
  end;
A12: for z being Element of Q.I holds z in QClass.t implies z in q1.I
  proof
    let z be Element of Q.I;
    assume z in QClass.t;
    then
A13: z`1 * t`2 = z`2 * t`1 by Def4;
    a`2 * a`1 <> 0.I by A8,A9,VECTSP_2:def 1;
    then
A14: (x`2 * y`2) * (a`2 * a`1) <> 0.I by A4,VECTSP_2:def 1;
    z`1 * ((x`2 * y`2) * (a`1 * a`2)) = (z`1 * (x`2 * y`2)) * (a`1 * a`2)
    by GROUP_1:def 3
      .= (z`2 * t`1) * (a`1 * a`2) by A13
      .= (z`2 * (x`1 * y`1)) * (a`1 * a`2)
      .= z`2 * ((x`1 * y`1) * (a`1 * a`2)) by GROUP_1:def 3
      .= z`2 * (((y`1 * x`1) * a`1) * a`2) by GROUP_1:def 3
      .= z`2 * ((y`1 * (x`2 * a`2)) * a`2) by A6,GROUP_1:def 3
      .= z`2 * ((x`2 * a`2) * (a`1 * y`2)) by A7,GROUP_1:def 3
      .= z`2 * (x`2 * (a`2 * (a`1 * y`2))) by GROUP_1:def 3
      .= z`2 * (x`2 * (y`2 * (a`2 * a`1))) by GROUP_1:def 3
      .= z`2 * ((x`2 * y`2) * (a`2 * a`1)) by GROUP_1:def 3;
    then z`1 = z`2 by A14,GCD_1:1;
    hence thesis by Def9;
  end;
  qmult(u,qmultinv(u)) = QClass.(pmult(y,x)) & qmult(qmultinv(u),u) =
  QClass.( pmult(x,y)) by A2,A3,Th10;
  hence thesis by A12,A10,SUBSET_1:3;
end;
