
theorem Th15:
  for I being non degenerated domRing-like commutative Ring for u,
v,w being Element of Quot.I holds qmult(qadd(u,v),w) = qadd(qmult(u,w),qmult(v,
  w))
proof
  let I be non degenerated domRing-like commutative Ring;
  let u,v,w be Element of Quot.I;
  consider x being Element of Q.I such that
A1: u = QClass.x by Def5;
  consider y being Element of Q.I such that
A2: v = QClass.y by Def5;
  consider z being Element of Q.I such that
A3: w = QClass.z by Def5;
A4: qmult(qadd(u,v),w) = qmult(QClass.(padd(x,y)),QClass.z) by A1,A2,A3,Th9
    .= QClass.(pmult(padd(x,y),z)) by Th10;
A5: z`2 <> 0.I by Th2;
A6: y`2 <> 0.I by Th2;
  then
A7: y`2 * z`2 <> 0.I by A5,VECTSP_2:def 1;
  then reconsider s2 = [y`1 * z`1, y`2 * z`2] as Element of Q.I by Def1;
A8: x`2 <> 0.I by Th2;
  then
A9: x`2 * y`2 <> 0.I by A6,VECTSP_2:def 1;
  then reconsider s = [x`1 * y`2 + y`1 * x`2, x`2 * y`2] as Element of Q.I by
Def1;
A10: x`2 * z`2 <> 0.I by A8,A5,VECTSP_2:def 1;
  then reconsider s1 = [x`1 * z`1, x`2 * z`2] as Element of Q.I by Def1;
  (x`2 * z`2) * (y`2 * z`2) <> 0.I by A7,A10,VECTSP_2:def 1;
  then reconsider
  s3 = [(x`1 * z`1) * (y`2 * z`2) + (y`1 * z`1) * (x`2 * z`2), (x`2
  * z`2) * (y`2 * z`2)] as Element of Q.I by Def1;
  (x`2 * y`2) * z`2 <> 0.I by A5,A9,VECTSP_2:def 1;
  then reconsider
  r = [(x`1 * y`2 + y`1 * x`2) * z`1, (x`2 * y`2) * z`2] as Element
  of Q.I by Def1;
A11: for t being Element of Q.I holds t in QClass.(padd(pmult(x,z),pmult(y,z
  ))) implies t in QClass.(pmult(padd(x,y),z))
  proof
    let t be Element of Q.I;
    assume t in QClass.(padd(pmult(x,z),pmult(y,z)));
    then t`1 * s3`2 = t`2 * s3`1 by Def4;
    then t`1 * ((x`2 * z`2) * (y`2 * z`2)) = t`2 * s3`1;
    then
A12: t`1 * ((x`2 * z`2) * (y`2 * z`2)) = t`2 * ((x`1 * z`1) * (y`2 * z`2)
    + (y`1 * z`1) * (x`2 * z`2));
    (t`1 * ((x`2 * y`2) * z`2)) * z`2 = t`1 * (((x`2 * y`2) * z`2) * z`2)
    by GROUP_1:def 3
      .= t`1 * ((x`2 * (y`2 * z`2)) * z`2) by GROUP_1:def 3
      .= t`2 * ((x`1 * z`1) * (y`2 * z`2) + (y`1 * z`1) * (x`2 * z`2)) by A12,
GROUP_1:def 3
      .= t`2 * (((x`1 * z`1) * y`2) * z`2 + (y`1 * z`1) * (x`2 * z`2)) by
GROUP_1:def 3
      .= t`2 * (((x`1 * z`1) * y`2) * z`2 + ((y`1 * z`1) * x`2) * z`2) by
GROUP_1:def 3
      .= t`2 * ((((x`1 * z`1) * y`2) + ((y`1 * z`1) * x`2)) * z`2) by
VECTSP_1:def 3
      .= t`2 * (((z`1 * (x`1 * y`2)) + ((y`1 * z`1) * x`2)) * z`2) by
GROUP_1:def 3
      .= t`2 * (((z`1 * (x`1 * y`2)) + (z`1 * (y`1 * x`2))) * z`2) by
GROUP_1:def 3
      .= t`2 * ((z`1 * ((x`1 * y`2) + (y`1 * x`2))) * z`2) by VECTSP_1:def 2
      .= (t`2 * ((x`1 * y`2 + y`1 * x`2) * z`1)) * z`2 by GROUP_1:def 3;
    then t`1 * ((x`2 * y`2) * z`2) = t`2 * ((x`1 * y`2 + y`1 * x`2) * z`1) by
A5,GCD_1:1;
    then t`1 * r`2 = t`2 * ((x`1 * y`2 + y`1 * x`2) * z`1)
      .= t`2 * r`1;
    hence thesis by Def4;
  end;
A13: for t being Element of Q.I holds t in QClass.(pmult(padd(x,y),z))
  implies t in QClass.(padd(pmult(x,z),pmult(y,z)))
  proof
    let t be Element of Q.I;
    assume t in QClass.(pmult(padd(x,y),z));
    then t`1 * r`2 = t`2 * r`1 by Def4;
    then t`1 * ((x`2 * y`2) * z`2) = t`2 * r`1;
    then
A14: t`1 * ((x`2 * y`2) * z`2) = t`2 * ((x`1 * y`2 + y`1 * x`2) * z`1);
    t`1 * s3`2 = t`1 * ((x`2 * z`2) * (y`2 * z`2))
      .= t`1 * (((x`2 * z`2) * y`2) * z`2) by GROUP_1:def 3
      .= (t`1 * ((x`2 * z`2) * y`2)) * z`2 by GROUP_1:def 3
      .= (t`1 * ((x`2 * y`2) * z`2)) * z`2 by GROUP_1:def 3
      .= t`2 * (((x`1 * y`2 + y`1 * x`2) * z`1) * z`2) by A14,GROUP_1:def 3
      .= t`2 * (((x`1 * y`2) * z`1 + (y`1 * x`2) * z`1) * z`2) by
VECTSP_1:def 3
      .= t`2 * (((x`1 * y`2) * z`1) * z`2 + ((y`1 * x`2) * z`1) * z`2) by
VECTSP_1:def 3
      .= t`2 * ((y`2 * (x`1 * z`1)) * z`2 + ((y`1 * x`2) * z`1) * z`2) by
GROUP_1:def 3
      .= t`2 * ((x`1 * z`1) * (y`2 * z`2) + ((y`1 * x`2) * z`1) * z`2) by
GROUP_1:def 3
      .= t`2 * (((x`1 * z`1) * (y`2 * z`2)) + ((y`1 * z`1) * x`2) * z`2) by
GROUP_1:def 3
      .= t`2 * ((x`1 * z`1) * (y`2 * z`2) + (y`1 * z`1) * (x`2 * z`2)) by
GROUP_1:def 3
      .= t`2 * s3`1;
    hence thesis by Def4;
  end;
  qadd(qmult(u,w),qmult(v,w)) = qadd(QClass.(pmult(x,z)),qmult(QClass.y,
  QClass.z)) by A1,A2,A3,Th10
    .= qadd(QClass.(pmult(x,z)),QClass.(pmult(y,z))) by Th10
    .= QClass.(padd(pmult(x,z),pmult(y,z))) by Th9;
  hence thesis by A4,A13,A11,SUBSET_1:3;
end;
