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 Th28:
  (1_root_of_quartic(a0,a1,a2,a3)*2_root_of_quartic(a0,a1,a2,a3)*
  3_root_of_quartic(a0,a1,a2,a3)+ 1_root_of_quartic(a0,a1,a2,a3)*
  2_root_of_quartic(a0,a1,a2,a3)* 4_root_of_quartic(a0,a1,a2,a3))+
  1_root_of_quartic(a0,a1,a2,a3)*3_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)* 4_root_of_quartic(a0,a1,a2,a3) = -a1
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)*
    3_root_of_quartic(a0,a1,a2,a3)+ 1_root_of_quartic(a0,a1,a2,a3)*
    2_root_of_quartic(a0,a1,a2,a3)* 4_root_of_quartic(a0,a1,a2,a3))+
    1_root_of_quartic(a0,a1,a2,a3)*3_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)* 4_root_of_quartic(a0,a1,a2,a3) = (-(t1*t1)+a3*
    a3/16)*(-a3/2)+(-(t2*t2)+a3*a3/16)*(-a3/2) by A2
      .= (-t1|^2+a3*a3/16)*(-a3/2)+(-(t2*t2)+a3*a3/16)*(-a3/2) by Th1
      .= (-t1|^2+a3*a3/16)*(-a3/2)+(-t2|^2+a3*a3/16)*(-a3/2) by Th1
      .= (-(-2*(p-s1))+a3*a3/16)*(-a3/2)+(-t2|^2+a3*a3/16)*(-a3/2) by Th7
      .= (-(-2*(p-s1))+a3*a3/16)*(-a3/2)+(-(-2*(p+s1))+a3*a3/16)*(-a3/2) by Th7
      .= (a2-3*a3|^2/8+a3*a3/8)*(-a3/2)
      .= (a2-3*(a3*a3)/8+a3*a3/8)*(-a3/2) by Th1
      .= a3*a3*a3/8-a2*a3/2
      .= a3|^3/8-4*a2*a3/8 by Th2
      .= -a1 by A1;
  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;
A8: q*q <> 0 by A3;
    then
A9: (s1*s1)*(s2*s2)<>0 by A7,Th1;
    (s1*s2)*(s1*s2)<>0 by A8,A7,Th1;
    then
A10: s1*s2<>0;
A11: 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 A9,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)*
    3_root_of_quartic(a0,a1,a2,a3)+ 1_root_of_quartic(a0,a1,a2,a3)*
    2_root_of_quartic(a0,a1,a2,a3)* 4_root_of_quartic(a0,a1,a2,a3))+
    1_root_of_quartic(a0,a1,a2,a3)*3_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)* 4_root_of_quartic(a0,a1,a2,a3) = (s1*s1+s2*s2+
    s3*s3)*a3-a3*a3*a3/16+8*s1*s2*s3 by A4
      .= (-2*p)*a3-a3*a3*a3/16+8*s1*s2*(-q/(s1*s2)) by A6,A5,A11,Th17
      .= -16*a2/32*a3+6*a3|^2/32*a3-a3*a3*a3/16-8*s1*s2*(q/(s1*s2))
      .= -a2/2*a3+6*(a3*a3)/32*a3-a3*a3*a3/16-8*s1*s2*(q/(s1*s2)) by Th1
      .= -a2*a3/2+2*a3*a3*a3/16-8*((s1*s2)*(q/(s1*s2)))
      .= -a2*a3/2+2*a3*a3*a3/16-8*(q/((s1*s2)/(s1*s2))) by XCMPLX_1:81
      .= -a2*a3/2+2*a3*a3*a3/16-8*(q/1) by A10,XCMPLX_1:60
      .= -a1+2*a3*a3*a3/16-8*a3|^3/64
      .= -a1+2*a3*a3*a3/16-8*(a3*a3*a3)/64 by Th2
      .= -a1;
  end;
end;
