reserve a,b for Complex;
reserve z for Complex;
reserve n0 for non zero Nat;
reserve a0,a1,a2,s1,s2 for Complex;
reserve a3,x,q,r,s,s3 for Complex;
reserve a4,p,s4 for Complex;

theorem Th27:
  (1_root_of_quartic(a0,a1,a2,a3)*2_root_of_quartic(a0,a1,a2,a3)+
  1_root_of_quartic(a0,a1,a2,a3)*3_root_of_quartic(a0,a1,a2,a3)+
  1_root_of_quartic(a0,a1,a2,a3)*4_root_of_quartic(a0,a1,a2,a3))+
  2_root_of_quartic(a0,a1,a2,a3)*3_root_of_quartic(a0,a1,a2,a3)+
  2_root_of_quartic(a0,a1,a2,a3)*4_root_of_quartic(a0,a1,a2,a3)+
  3_root_of_quartic(a0,a1,a2,a3)*4_root_of_quartic(a0,a1,a2,a3) = a2
proof
  per cases;
  suppose
A1: 8*a1 -4*a2*a3 + a3|^3 = 0;
    set p = (8*a2-3*a3|^2)/32, r = (256*a0 -64*a3*a1 +16*a3|^2*a2 -3*a3|^4)/
    1024, s1 = 2-root(p|^2-r);
    set t1 = 2-root(-2*(p-s1)), t2 = 2-root(-2*(p+s1));
A2: ( ex p,r,s1 st p = (8*a2-3*a3|^2)/32 & r = (256*a0 -64*a3*a1 +16*a3|^2
*a2 -3*a3 |^4)/1024 & s1 = 2-root(p|^2-r) & 3_root_of_quartic(a0,a1,a2,a3) = 2
-root(-2*(p +s1))-a3/4)& ex p,r,s1 st p = (8*a2-3*a3|^2)/32 & r = (256*a0 -64*
a3*a1 +16*a3 |^2*a2 -3*a3|^4)/1024 & s1 = 2-root(p|^2-r) & 4_root_of_quartic(a0
    ,a1,a2,a3) = -2-root(-2*(p+s1))-a3/4 by A1,Def7,Def8;
    ( ex p,r,s1 st p = (8*a2-3*a3|^2)/32 & r = (256*a0 -64*a3*a1 +16*a3|^2
*a2 -3*a3 |^4)/1024 & s1 = 2-root(p|^2-r) & 1_root_of_quartic(a0,a1,a2,a3) = 2
-root(-2*(p -s1))-a3/4)& ex p,r,s1 st p = (8*a2-3*a3|^2)/32 & r = (256*a0 -64*
a3*a1 +16*a3 |^2*a2 -3*a3|^4)/1024 & s1 = 2-root(p|^2-r) & 2_root_of_quartic(a0
    ,a1,a2,a3) = -2-root(-2*(p-s1))-a3/4 by A1,Def5,Def6;
    hence (1_root_of_quartic(a0,a1,a2,a3)*2_root_of_quartic(a0,a1,a2,a3)+
    1_root_of_quartic(a0,a1,a2,a3)*3_root_of_quartic(a0,a1,a2,a3)+
    1_root_of_quartic(a0,a1,a2,a3)*4_root_of_quartic(a0,a1,a2,a3))+
    2_root_of_quartic(a0,a1,a2,a3)*3_root_of_quartic(a0,a1,a2,a3)+
    2_root_of_quartic(a0,a1,a2,a3)*4_root_of_quartic(a0,a1,a2,a3)+
3_root_of_quartic(a0,a1,a2,a3)*4_root_of_quartic(a0,a1,a2,a3) = (4+1+1)*a3*a3/
    16-t1*t1-t2*t2 by A2
      .= 3*a3*a3/8-t1|^2-t2*t2 by Th1
      .= 3*a3*a3/8-(-2*(p-s1))-t2*t2 by Th7
      .= 3*a3*a3/8+2*(p-s1)-t2|^2 by Th1
      .= 3*a3*a3/8+2*(p-s1)-(-2*(p+s1)) by Th7
      .= 3*a3*a3/8+(8*a2-3*a3|^2)/8
      .= 3*a3*a3/8+(8*a2-3*(a3*a3))/8 by Th1
      .= a2;
  end;
  suppose
A3: 8*a1 -4*a2*a3 + a3|^3 <> 0;
    then
A4: ( ex p,q,r,s1,s2,s3 st p = (8*a2-3*a3|^2)/32 & q = (8*a1 -4*a2*a3 + a3
    |^3)/64 & r = (256*a0 -64*a3*a1 +16*a3|^2*a2 -3*a3|^4)/1024 & s1 = 2-root(
1_root_of_cubic (-q|^2,p|^2-r,2*p)) & s2 = 2-root(2_root_of_cubic(-q|^2,p|^2-r,
2*p)) & s3 = -q/ (s1*s2) & 3_root_of_quartic(a0,a1,a2,a3) = -s1+s2-s3-a3/4)& ex
p,q,r,s1,s2,s3 st p = (8*a2-3*a3|^2)/32 & q = (8*a1 -4*a2*a3 + a3|^3)/64 & r =
(256*a0 -64*a3* a1 +16*a3|^2*a2 -3*a3|^4)/1024 & s1 = 2-root(1_root_of_cubic(-q
|^2,p|^2-r,2*p)) & s2 = 2-root(2_root_of_cubic(-q|^2,p|^2-r,2*p)) & s3 = -q/(s1
    *s2) & 4_root_of_quartic(a0,a1,a2,a3) = s1-s2-s3-a3/4 by Def7,Def8;
    set p = (8*a2-3*a3|^2)/32, q = (8*a1 -4*a2*a3 + a3|^3)/64, r = (256*a0 -64
*a3*a1 +16*a3|^2*a2 -3*a3|^4)/1024, s1 = 2-root(1_root_of_cubic(-q|^2,p|^2-r,2*
    p)), s2 = 2-root(2_root_of_cubic(-q|^2,p|^2-r,2*p)), s3 = -q/(s1*s2);
A5: s2*s2 = s2|^2 by Th1
      .= 2_root_of_cubic(-q|^2,p|^2-r,2*p) by Th7;
A6: s1*s1 = s1|^2 by Th1
      .= 1_root_of_cubic(-q|^2,p|^2-r,2*p) by Th7;
    then
A7: (s1*s1)*(s2*s2)*3_root_of_cubic(-q|^2,p|^2-r,2*p) = -(-q|^2) by A5,Th19;
    q*q <> 0 by A3;
    then
A8: (s1*s1)*(s2*s2)<>0 by A7,Th1;
A9: s3*s3 = ((-q)/(s1*s2))*(-q/(s1*s2)) by XCMPLX_1:187
      .= ((-q)/(s1*s2))*((-q)/(s1*s2)) by XCMPLX_1:187
      .= (-q)*(-q)/((s1*s2)*(s1*s2)) by XCMPLX_1:76
      .= (q*q)/((s1*s1)*(s2*s2))
      .= 3_root_of_cubic(-q|^2,p|^2-r,2*p)*((s1*s1)*(s2*s2)) /((s1*s1)*(s2*
    s2)) by A7,Th1
      .= 3_root_of_cubic(-q|^2,p|^2-r,2*p) by A8,XCMPLX_1:89;
    ( ex p,q,r,s1,s2,s3 st p = (8*a2-3*a3|^2)/32 & q = (8*a1 -4*a2*a3 + a3
    |^3)/64 & r = (256*a0 -64*a3*a1 +16*a3|^2*a2 -3*a3|^4)/1024 & s1 = 2-root(
1_root_of_cubic (-q|^2,p|^2-r,2*p)) & s2 = 2-root(2_root_of_cubic(-q|^2,p|^2-r,
2*p)) & s3 = -q/ (s1*s2) & 1_root_of_quartic(a0,a1,a2,a3) = s1+s2+s3-a3/4)& ex
p,q,r,s1,s2,s3 st p = (8*a2-3*a3|^2)/32 & q = (8*a1 -4*a2*a3 + a3|^3)/64 & r =
(256*a0 -64*a3* a1 +16*a3|^2*a2 -3*a3|^4)/1024 & s1 = 2-root(1_root_of_cubic(-q
|^2,p|^2-r,2*p)) & s2 = 2-root(2_root_of_cubic(-q|^2,p|^2-r,2*p)) & s3 = -q/(s1
    *s2) & 2_root_of_quartic(a0,a1,a2,a3) = -s1-s2+s3-a3/4 by A3,Def5,Def6;
    hence (1_root_of_quartic(a0,a1,a2,a3)*2_root_of_quartic(a0,a1,a2,a3)+
    1_root_of_quartic(a0,a1,a2,a3)*3_root_of_quartic(a0,a1,a2,a3)+
    1_root_of_quartic(a0,a1,a2,a3)*4_root_of_quartic(a0,a1,a2,a3))+
    2_root_of_quartic(a0,a1,a2,a3)*3_root_of_quartic(a0,a1,a2,a3)+
    2_root_of_quartic(a0,a1,a2,a3)*4_root_of_quartic(a0,a1,a2,a3)+
3_root_of_quartic(a0,a1,a2,a3)*4_root_of_quartic(a0,a1,a2,a3) = -2*(s1*s1+s2*s2
    +s3*s3)+3*a3*a3/8 by A4
      .= -2*(-2*p)+3*a3*a3/8 by A6,A5,A9,Th17
      .= 4*(8*a2-3*a3|^2)/32+3*a3*a3/8
      .= 4*(8*a2-3*(a3*a3))/32+3*a3*a3/8 by Th1
      .= a2;
  end;
end;
