
theorem lemred:
for F being non 2-characteristic Field
for a being non zero Element of F,
    b,c being Element of F
for w being Element of F st w^2 = b^2 - 4 '*' a * c
for r1,r2 being Element of F
  st r1 = (-b + w) * (2 '*' a)" & r2 = (-b - w) * (2 '*' a)"
holds <%c,b,a%> = a * (X-r1) *' (X-r2)
proof
let F be non 2-characteristic Field;
let a be non zero Element of F, b,c being Element of F;
let w be Element of F;
assume AS1: w^2 = b^2 - 4 '*' a * c;
let r1,r2 be Element of F;
assume AS2: r1 = (-b+w) * (2'*'a)" & r2 = (-b-w) * (2'*'a)";
   rpoly(1,r1) *' rpoly(1,r2) = <%r1*r2,-(r1+r2),1.F%> by lemred3z; then
A: <%a*(r1*r2),a*(-(r1+r2)),a*1.F%> = a * rpoly(1,r1)*'rpoly(1,r2) by qua6;
Char F <> 2 by RING_3:def 6; then
I: 2 '*' 1.F <> 0.F by REALALG2:24;
L: now assume 4 '*' a = 0.F;
   then 0.F = (2 * 2) '*' a
           .= 2 '*' (2 '*' (1.F * a)) by RING_3:65
           .= 2 '*' ((2 '*' 1.F) * a) by REALALG2:5
           .= 2 '*' (a * (2 '*' 1.F)) by GROUP_1:def 12
           .= (2 '*' a) * (2 '*' 1.F) by REALALG2:5;
   then 2 '*' a = 0.F by I,VECTSP_2:def 1;
   hence contradiction by ch2;
   end; then
M: 2 '*' a <> 0.F & 4 '*' a <> 0.F & a <> 0.F by ch2;
B: a*(r1*r2) = c
   proof
   ((-b+w) * (2'*'a)") * ((-b-w) * (2'*'a)")
      = ((2'*'a)" * (-b+w)) * ((-b-w) * (2'*'a)") by GROUP_1:def 12
     .= (2'*'a)" * ((-b+w) * ((-b-w) * (2'*'a)")) by GROUP_1:def 3
     .= (2'*'a)" * (((-b+w) * (-b-w)) * (2'*'a)") by GROUP_1:def 3
     .= (2'*'a)" * ((2'*'a)" * ((-b+w) * (-b-w))) by GROUP_1:def 12
     .= ((2'*'a)" * (2'*'a)") * ((-b+w) * (-b-w)) by GROUP_1:def 3
     .= ((2'*'a) * (2'*'a))" * ((-b+w) * (-b-w)) by M,VECTSP_2:11
     .= (2'*'(a * (2'*'a)))" * ((-b+w) * (-b-w)) by REALALG2:5
     .= (2'*'((2'*'a)*a))" * ((-b+w) * (-b-w)) by GROUP_1:def 12
     .= (2'*'(2 '*' (a*a)))" * ((-b+w) * (-b-w)) by REALALG2:5
     .= ((2*2) '*' (a*a))" * ((-b+w) * (-b-w)) by RING_3:65
     .= (4 '*' (a*a))" * ((-b)^2 - (b^2 - 4 '*' a * c)) by AS1,REALALG2:9
     .= (4 '*' (a*a))" * ((-b)*(-b) - (b^2 - 4 '*' a * c)) by O_RING_1:def 1
     .= (4 '*' (a*a))" * (b*b - (b^2 - 4 '*' a * c)) by VECTSP_1:10
     .= (4 '*' (a*a))" * (b^2 - (b^2 - 4 '*' a * c)) by O_RING_1:def 1
     .= (4 '*' (a*a))" * ((b^2 - b^2) + 4 '*' a * c) by RLVECT_1:29
     .= (4 '*' (a*a))" * (0.F + 4 '*' a * c) by RLVECT_1:15
     .= ((4 '*' a)*a)" * (4 '*' a * c) by REALALG2:5
     .= (a" * (4 '*' a)") * ((4 '*' a) * c) by L,VECTSP_2:11
     .= a" * ((4 '*' a)" * ((4 '*' a) * c)) by GROUP_1:def 3
     .= a" * (((4 '*' a)" * (4 '*' a)) * c) by GROUP_1:def 3
     .= a" * (1.F * c) by L,VECTSP_1:def 10;
   hence a*(r1*r2) = (a * a") * c by AS2,GROUP_1:def 3
                  .= (a" * a) * c by GROUP_1:def 12
                  .= 1.F * c by I,VECTSP_1:def 10
                  .= c;
   end;
   a*(-(r1+r2)) = b
   proof
   per cases;
   suppose C0: b = 0.F;
   ((-b+w) * (2'*'a)") + ((-b-w) * (2'*'a)")
      = (w + -w) * (2'*'a)" by C0,VECTSP_1:def 3
     .= 0.F * ((2'*'a)") by RLVECT_1:5;
   hence thesis by C0,AS2;
   end;
   suppose C1: b <> 0.F;
    0.F = - 0.F; then
   -b <> 0.F by C1; then
   C: 2 '*' (-b) <> 0.F by ch2;
   ((-b+w) * (2'*'a)") + ((-b-w) * (2'*'a)")
      = ((-b+w) + (-b-w)) * ((2'*'a)") by VECTSP_1:def 3
     .= (-b + (w + (-b + -w))) * ((2'*'a)") by RLVECT_1:def 3
     .= (-b + ((w + -w) + -b)) * ((2'*'a)") by RLVECT_1:def 3
     .= (-b + (0.F + -b)) * ((2'*'a)") by RLVECT_1:5
     .= (2 '*' (-b)) * ((2'*'a)") by RING_5:2
     .= (-b) * a" by M,C,ch0a;
   then -(r1+r2) = (--b) * a" by AS2,VECTSP_1:9;
   hence a*(-(r1+r2)) = a * (a" * b) by GROUP_1:def 12
                     .= (a * a") * b by GROUP_1:def 3
                     .= (a" * a) * b by GROUP_1:def 12
                     .= 1.F * b by I,VECTSP_1:def 10
                     .= b;
   end;
   end;
hence thesis by A,B;
end;
