Article POLYNOM5, MML version 4.99.1005

:: POLYNOM5:th 1
theorem
for b1, b2 being Element of NAT
      st b1 <> 0 & b2 <> 0
   holds 0 <= (((b1 * b2) - b1) - b2) + 1;

:: POLYNOM5:th 2
theorem
for b1, b2 being real set
      st 0 < b2
   holds (min(b1,b2)) / max(b1,b2) <= 1;

:: POLYNOM5:th 3
theorem
for b1, b2 being real set
      st for b3 being real set
              st 0 < b3 & b3 < 1
           holds b2 <= b3 * b1
   holds b2 <= 0;

:: POLYNOM5:th 4
theorem
for b1 being FinSequence of REAL
   st for b2 being Element of NAT
           st b2 in dom b1
        holds 0 <= b1 . b2
for b2 being Element of NAT
      st b2 in dom b1
   holds b1 . b2 <= Sum b1;

:: POLYNOM5:th 5
theorem
for b1, b2 being Element of REAL holds
- [**b1,b2**] = [**- b1,- b2**];

:: POLYNOM5:th 6
theorem
for b1, b2, b3, b4 being Element of REAL holds
[**b1,b2**] - [**b3,b4**] = [**b1 - b3,b2 - b4**];

:: POLYNOM5:th 8
theorem
for b1 being Element of the carrier of F_Complex
   st b1 <> 0. F_Complex
for b2 being Element of NAT holds
   |.(power F_Complex) .(b1,b2).| = |.b1.| to_power b2;

:: POLYNOM5:funcnot 1 => POLYNOM5:func 1
definition
  let a1 be FinSequence of the carrier of F_Complex;
  func |.A1.| -> FinSequence of REAL means
    len it = len a1 &
     (for b1 being Element of NAT
           st b1 in dom a1
        holds it /. b1 = |.a1 /. b1.|);
end;

:: POLYNOM5:def 1
theorem
for b1 being FinSequence of the carrier of F_Complex
for b2 being FinSequence of REAL holds
      b2 = |.b1.|
   iff
      len b2 = len b1 &
       (for b3 being Element of NAT
             st b3 in dom b1
          holds b2 /. b3 = |.b1 /. b3.|);

:: POLYNOM5:th 9
theorem
|.<*> the carrier of F_Complex.| = <*> REAL;

:: POLYNOM5:th 10
theorem
for b1 being Element of the carrier of F_Complex holds
   |.<*b1*>.| = <*|.b1.|*>;

:: POLYNOM5:th 11
theorem
for b1, b2 being Element of the carrier of F_Complex holds
|.<*b1,b2*>.| = <*|.b1.|,|.b2.|*>;

:: POLYNOM5:th 12
theorem
for b1, b2, b3 being Element of the carrier of F_Complex holds
|.<*b1,b2,b3*>.| = <*|.b1.|,|.b2.|,|.b3.|*>;

:: POLYNOM5:th 13
theorem
for b1, b2 being FinSequence of the carrier of F_Complex holds
|.b1 ^ b2.| = |.b1.| ^ |.b2.|;

:: POLYNOM5:th 14
theorem
for b1 being FinSequence of the carrier of F_Complex
for b2 being Element of the carrier of F_Complex holds
   |.b1 ^ <*b2*>.| = |.b1.| ^ <*|.b2.|*> &
    |.<*b2*> ^ b1.| = <*|.b2.|*> ^ |.b1.|;

:: POLYNOM5:th 15
theorem
for b1 being FinSequence of the carrier of F_Complex holds
   |.Sum b1.| <= Sum |.b1.|;

:: POLYNOM5:funcnot 2 => POLYNOM5:func 2
definition
  let a1 be non empty right_complementable Abelian add-associative right_zeroed commutative right_unital distributive doubleLoopStr;
  let a2 be Function-like quasi_total finite-Support Relation of NAT,the carrier of a1;
  let a3 be Element of NAT;
  func A2 `^ A3 -> Function-like quasi_total Relation of NAT,the carrier of a1 equals
    (power Polynom-Ring a1) .(a2,a3);
end;

:: POLYNOM5:def 2
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed commutative right_unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
for b3 being Element of NAT holds
   b2 `^ b3 = (power Polynom-Ring b1) .(b2,b3);

:: POLYNOM5:funcreg 1
registration
  let a1 be non empty right_complementable Abelian add-associative right_zeroed commutative right_unital distributive doubleLoopStr;
  let a2 be Function-like quasi_total finite-Support Relation of NAT,the carrier of a1;
  let a3 be Element of NAT;
  cluster a2 `^ a3 -> Function-like quasi_total finite-Support;
end;

:: POLYNOM5:th 16
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1 holds
   b2 `^ 0 = 1_. b1;

:: POLYNOM5:th 17
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1 holds
   b2 `^ 1 = b2;

:: POLYNOM5:th 18
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1 holds
   b2 `^ 2 = b2 *' b2;

:: POLYNOM5:th 19
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1 holds
   b2 `^ 3 = (b2 *' b2) *' b2;

:: POLYNOM5:th 20
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
for b3 being Element of NAT holds
   b2 `^ (b3 + 1) = (b2 `^ b3) *' b2;

:: POLYNOM5:th 21
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed commutative well-unital distributive doubleLoopStr
for b2 being Element of NAT holds
   (0_. b1) `^ (b2 + 1) = 0_. b1;

:: POLYNOM5:th 22
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed commutative well-unital distributive doubleLoopStr
for b2 being Element of NAT holds
   (1_. b1) `^ b2 = 1_. b1;

:: POLYNOM5:th 23
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
for b3 being Element of the carrier of b1
for b4 being Element of NAT holds
   eval(b2 `^ b4,b3) = (power b1) .(eval(b2,b3),b4);

:: POLYNOM5:th 24
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
   st len b2 <> 0
for b3 being Element of NAT holds
   len (b2 `^ b3) = ((b3 * len b2) - b3) + 1;

:: POLYNOM5:funcnot 3 => POLYNOM5:func 3
definition
  let a1 be non empty multMagma;
  let a2 be Function-like quasi_total Relation of NAT,the carrier of a1;
  let a3 be Element of the carrier of a1;
  func A3 * A2 -> Function-like quasi_total Relation of NAT,the carrier of a1 means
    for b1 being Element of NAT holds
       it . b1 = a3 * (a2 . b1);
end;

:: POLYNOM5:def 3
theorem
for b1 being non empty multMagma
for b2 being Function-like quasi_total Relation of NAT,the carrier of b1
for b3 being Element of the carrier of b1
for b4 being Function-like quasi_total Relation of NAT,the carrier of b1 holds
      b4 = b3 * b2
   iff
      for b5 being Element of NAT holds
         b4 . b5 = b3 * (b2 . b5);

:: POLYNOM5:funcreg 2
registration
  let a1 be non empty right_complementable add-associative right_zeroed right-distributive doubleLoopStr;
  let a2 be Function-like quasi_total finite-Support Relation of NAT,the carrier of a1;
  let a3 be Element of the carrier of a1;
  cluster a3 * a2 -> Function-like quasi_total finite-Support;
end;

:: POLYNOM5:th 25
theorem
for b1 being non empty right_complementable add-associative right_zeroed distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1 holds
   len ((0. b1) * b2) = 0;

:: POLYNOM5:th 26
theorem
for b1 being non empty right_complementable almost_left_invertible add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
for b3 being Element of the carrier of b1
      st b3 <> 0. b1
   holds len (b3 * b2) = len b2;

:: POLYNOM5:th 27
theorem
for b1 being non empty right_complementable add-associative right_zeroed left-distributive doubleLoopStr
for b2 being Function-like quasi_total Relation of NAT,the carrier of b1 holds
   (0. b1) * b2 = 0_. b1;

:: POLYNOM5:th 28
theorem
for b1 being non empty well-unital multLoopStr
for b2 being Function-like quasi_total Relation of NAT,the carrier of b1 holds
   (1. b1) * b2 = b2;

:: POLYNOM5:th 29
theorem
for b1 being non empty right_complementable add-associative right_zeroed right-distributive doubleLoopStr
for b2 being Element of the carrier of b1 holds
   b2 * 0_. b1 = 0_. b1;

:: POLYNOM5:th 30
theorem
for b1 being non empty right_complementable add-associative right_zeroed right-distributive well-unital doubleLoopStr
for b2 being Element of the carrier of b1 holds
   b2 * 1_. b1 = <%b2%>;

:: POLYNOM5:th 31
theorem
for b1 being non empty right_complementable almost_left_invertible add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
for b3, b4 being Element of the carrier of b1 holds
eval(b3 * b2,b4) = b3 * eval(b2,b4);

:: POLYNOM5:th 32
theorem
for b1 being non empty right_complementable add-associative right_zeroed unital right-distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1 holds
   eval(b2,0. b1) = b2 . 0;

:: POLYNOM5:funcnot 4 => POLYNOM5:func 4
definition
  let a1 be non empty ZeroStr;
  let a2, a3 be Element of the carrier of a1;
  func <%A2,A3%> -> Function-like quasi_total Relation of NAT,the carrier of a1 equals
    ((0_. a1) +*(0,a2)) +*(1,a3);
end;

:: POLYNOM5:def 4
theorem
for b1 being non empty ZeroStr
for b2, b3 being Element of the carrier of b1 holds
<%b2,b3%> = ((0_. b1) +*(0,b2)) +*(1,b3);

:: POLYNOM5:th 33
theorem
for b1 being non empty ZeroStr
for b2 being Element of the carrier of b1 holds
   <%b2%> . 0 = b2 &
    (for b3 being Element of NAT
          st 1 <= b3
       holds <%b2%> . b3 = 0. b1);

:: POLYNOM5:th 34
theorem
for b1 being non empty ZeroStr
for b2 being Element of the carrier of b1
      st b2 <> 0. b1
   holds len <%b2%> = 1;

:: POLYNOM5:th 35
theorem
for b1 being non empty ZeroStr holds
   <%0. b1%> = 0_. b1;

:: POLYNOM5:th 36
theorem
for b1 being non empty right_complementable add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of the carrier of b1 holds
<%b2%> *' <%b3%> = <%b2 * b3%>;

:: POLYNOM5:th 37
theorem
for b1 being non empty right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1
for b3 being Element of NAT holds
   <%b2%> `^ b3 = <%(power b1) .(b2,b3)%>;

:: POLYNOM5:th 38
theorem
for b1 being non empty right_complementable add-associative right_zeroed unital doubleLoopStr
for b2, b3 being Element of the carrier of b1 holds
eval(<%b2%>,b3) = b2;

:: POLYNOM5:th 39
theorem
for b1 being non empty ZeroStr
for b2, b3 being Element of the carrier of b1 holds
<%b2,b3%> . 0 = b2 &
 <%b2,b3%> . 1 = b3 &
 (for b4 being natural set
       st 2 <= b4
    holds <%b2,b3%> . b4 = 0. b1);

:: POLYNOM5:funcreg 3
registration
  let a1 be non empty ZeroStr;
  let a2, a3 be Element of the carrier of a1;
  cluster <%a2,a3%> -> Function-like quasi_total finite-Support;
end;

:: POLYNOM5:th 40
theorem
for b1 being non empty ZeroStr
for b2, b3 being Element of the carrier of b1 holds
len <%b2,b3%> <= 2;

:: POLYNOM5:th 41
theorem
for b1 being non empty ZeroStr
for b2, b3 being Element of the carrier of b1
      st b3 <> 0. b1
   holds len <%b2,b3%> = 2;

:: POLYNOM5:th 42
theorem
for b1 being non empty ZeroStr
for b2 being Element of the carrier of b1
      st b2 <> 0. b1
   holds len <%b2,0. b1%> = 1;

:: POLYNOM5:th 43
theorem
for b1 being non empty ZeroStr holds
   <%0. b1,0. b1%> = 0_. b1;

:: POLYNOM5:th 44
theorem
for b1 being non empty ZeroStr
for b2 being Element of the carrier of b1 holds
   <%b2,0. b1%> = <%b2%>;

:: POLYNOM5:th 45
theorem
for b1 being non empty right_complementable add-associative right_zeroed unital left-distributive doubleLoopStr
for b2, b3, b4 being Element of the carrier of b1 holds
eval(<%b2,b3%>,b4) = b2 + (b3 * b4);

:: POLYNOM5:th 46
theorem
for b1 being non empty right_complementable add-associative right_zeroed left-distributive well-unital doubleLoopStr
for b2, b3, b4 being Element of the carrier of b1 holds
eval(<%b2,0. b1%>,b4) = b2;

:: POLYNOM5:th 47
theorem
for b1 being non empty right_complementable add-associative right_zeroed unital left-distributive doubleLoopStr
for b2, b3, b4 being Element of the carrier of b1 holds
eval(<%0. b1,b3%>,b4) = b3 * b4;

:: POLYNOM5:th 48
theorem
for b1 being non empty right_complementable add-associative right_zeroed left-distributive well-unital doubleLoopStr
for b2, b3, b4 being Element of the carrier of b1 holds
eval(<%b2,1. b1%>,b4) = b2 + b4;

:: POLYNOM5:th 49
theorem
for b1 being non empty right_complementable add-associative right_zeroed left-distributive well-unital doubleLoopStr
for b2, b3, b4 being Element of the carrier of b1 holds
eval(<%0. b1,1. b1%>,b4) = b4;

:: POLYNOM5:funcnot 5 => POLYNOM5:func 5
definition
  let a1 be non empty right_complementable Abelian add-associative right_zeroed commutative well-unital distributive doubleLoopStr;
  let a2, a3 be Function-like quasi_total finite-Support Relation of NAT,the carrier of a1;
  func Subst(A2,A3) -> Function-like quasi_total finite-Support Relation of NAT,the carrier of a1 means
    ex b1 being FinSequence of the carrier of Polynom-Ring a1 st
       it = Sum b1 &
        len b1 = len a2 &
        (for b2 being Element of NAT
              st b2 in dom b1
           holds b1 . b2 = (a2 . (b2 -' 1)) * (a3 `^ (b2 -' 1)));
end;

:: POLYNOM5:def 5
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed commutative well-unital distributive doubleLoopStr
for b2, b3, b4 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1 holds
   b4 = Subst(b2,b3)
iff
   ex b5 being FinSequence of the carrier of Polynom-Ring b1 st
      b4 = Sum b5 &
       len b5 = len b2 &
       (for b6 being Element of NAT
             st b6 in dom b5
          holds b5 . b6 = (b2 . (b6 -' 1)) * (b3 `^ (b6 -' 1)));

:: POLYNOM5:th 50
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1 holds
   Subst(0_. b1,b2) = 0_. b1;

:: POLYNOM5:th 51
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1 holds
   Subst(b2,0_. b1) = <%b2 . 0%>;

:: POLYNOM5:th 52
theorem
for b1 being non empty right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
for b3 being Element of the carrier of b1 holds
   len Subst(b2,<%b3%>) <= 1;

:: POLYNOM5:th 53
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2, b3 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
      st len b2 <> 0 & 1 < len b3
   holds len Subst(b2,b3) = ((((len b2) * len b3) - len b2) - len b3) + 2;

:: POLYNOM5:th 54
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2, b3 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
for b4 being Element of the carrier of b1 holds
   eval(Subst(b2,b3),b4) = eval(b2,eval(b3,b4));

:: POLYNOM5:prednot 1 => POLYNOM5:pred 1
definition
  let a1 be non empty unital doubleLoopStr;
  let a2 be Function-like quasi_total finite-Support Relation of NAT,the carrier of a1;
  let a3 be Element of the carrier of a1;
  pred A3 is_a_root_of A2 means
    eval(a2,a3) = 0. a1;
end;

:: POLYNOM5:dfs 6
definiens
  let a1 be non empty unital doubleLoopStr;
  let a2 be Function-like quasi_total finite-Support Relation of NAT,the carrier of a1;
  let a3 be Element of the carrier of a1;
To prove
     a3 is_a_root_of a2
it is sufficient to prove
  thus eval(a2,a3) = 0. a1;

:: POLYNOM5:def 6
theorem
for b1 being non empty unital doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
for b3 being Element of the carrier of b1 holds
      b3 is_a_root_of b2
   iff
      eval(b2,b3) = 0. b1;

:: POLYNOM5:attrnot 1 => POLYNOM5:attr 1
definition
  let a1 be non empty unital doubleLoopStr;
  let a2 be Function-like quasi_total finite-Support Relation of NAT,the carrier of a1;
  attr a2 is with_roots means
    ex b1 being Element of the carrier of a1 st
       b1 is_a_root_of a2;
end;

:: POLYNOM5:dfs 7
definiens
  let a1 be non empty unital doubleLoopStr;
  let a2 be Function-like quasi_total finite-Support Relation of NAT,the carrier of a1;
To prove
     a2 is with_roots
it is sufficient to prove
  thus ex b1 being Element of the carrier of a1 st
       b1 is_a_root_of a2;

:: POLYNOM5:def 7
theorem
for b1 being non empty unital doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1 holds
      b2 is with_roots(b1)
   iff
      ex b3 being Element of the carrier of b1 st
         b3 is_a_root_of b2;

:: POLYNOM5:th 55
theorem
for b1 being non empty unital doubleLoopStr holds
   0_. b1 is with_roots(b1);

:: POLYNOM5:funcreg 4
registration
  let a1 be non empty unital doubleLoopStr;
  cluster 0_. a1 -> Function-like quasi_total with_roots;
end;

:: POLYNOM5:th 56
theorem
for b1 being non empty unital doubleLoopStr
for b2 being Element of the carrier of b1 holds
   b2 is_a_root_of 0_. b1;

:: POLYNOM5:exreg 1
registration
  let a1 be non empty unital doubleLoopStr;
  cluster Relation-like Function-like non empty quasi_total total finite-Support with_roots Relation of NAT,the carrier of a1;
end;

:: POLYNOM5:attrnot 2 => POLYNOM5:attr 2
definition
  let a1 be non empty unital doubleLoopStr;
  attr a1 is algebraic-closed means
    for b1 being Function-like quasi_total finite-Support Relation of NAT,the carrier of a1
          st 1 < len b1
       holds b1 is with_roots(a1);
end;

:: POLYNOM5:dfs 8
definiens
  let a1 be non empty unital doubleLoopStr;
To prove
     a1 is algebraic-closed
it is sufficient to prove
  thus for b1 being Function-like quasi_total finite-Support Relation of NAT,the carrier of a1
          st 1 < len b1
       holds b1 is with_roots(a1);

:: POLYNOM5:def 8
theorem
for b1 being non empty unital doubleLoopStr holds
      b1 is algebraic-closed
   iff
      for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
            st 1 < len b2
         holds b2 is with_roots(b1);

:: POLYNOM5:funcnot 6 => POLYNOM5:func 6
definition
  let a1 be non empty unital doubleLoopStr;
  let a2 be Function-like quasi_total finite-Support Relation of NAT,the carrier of a1;
  func Roots A2 -> Element of bool the carrier of a1 means
    for b1 being Element of the carrier of a1 holds
          b1 in it
       iff
          b1 is_a_root_of a2;
end;

:: POLYNOM5:def 9
theorem
for b1 being non empty unital doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b3 = Roots b2
   iff
      for b4 being Element of the carrier of b1 holds
            b4 in b3
         iff
            b4 is_a_root_of b2;

:: POLYNOM5:funcnot 7 => POLYNOM5:func 7
definition
  let a1 be non empty almost_left_invertible associative commutative well-unital distributive doubleLoopStr;
  let a2 be Function-like quasi_total finite-Support Relation of NAT,the carrier of a1;
  func NormPolynomial A2 -> Function-like quasi_total Relation of NAT,the carrier of a1 means
    for b1 being Element of NAT holds
       it . b1 = (a2 . b1) / (a2 . ((len a2) -' 1));
end;

:: POLYNOM5:def 10
theorem
for b1 being non empty almost_left_invertible associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
for b3 being Function-like quasi_total Relation of NAT,the carrier of b1 holds
      b3 = NormPolynomial b2
   iff
      for b4 being Element of NAT holds
         b3 . b4 = (b2 . b4) / (b2 . ((len b2) -' 1));

:: POLYNOM5:funcreg 5
registration
  let a1 be non empty right_complementable almost_left_invertible add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr;
  let a2 be Function-like quasi_total finite-Support Relation of NAT,the carrier of a1;
  cluster NormPolynomial a2 -> Function-like quasi_total finite-Support;
end;

:: POLYNOM5:th 57
theorem
for b1 being non empty almost_left_invertible associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
      st len b2 <> 0
   holds (NormPolynomial b2) . ((len b2) -' 1) = 1. b1;

:: POLYNOM5:th 58
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
      st len b2 <> 0
   holds len NormPolynomial b2 = len b2;

:: POLYNOM5:th 59
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
   st len b2 <> 0
for b3 being Element of the carrier of b1 holds
   eval(NormPolynomial b2,b3) = (eval(b2,b3)) / (b2 . ((len b2) -' 1));

:: POLYNOM5:th 60
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
   st len b2 <> 0
for b3 being Element of the carrier of b1 holds
      b3 is_a_root_of b2
   iff
      b3 is_a_root_of NormPolynomial b2;

:: POLYNOM5:th 61
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
      st len b2 <> 0
   holds    b2 is with_roots(b1)
   iff
      NormPolynomial b2 is with_roots(b1);

:: POLYNOM5:th 62
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
      st len b2 <> 0
   holds Roots b2 = Roots NormPolynomial b2;

:: POLYNOM5:th 63
theorem
id COMPLEX is_continuous_on COMPLEX;

:: POLYNOM5:th 64
theorem
for b1 being Element of COMPLEX holds
   COMPLEX --> b1 is_continuous_on COMPLEX;

:: POLYNOM5:funcnot 8 => POLYNOM5:func 8
definition
  let a1 be non empty unital multMagma;
  let a2 be Element of the carrier of a1;
  let a3 be Element of NAT;
  func FPower(A2,A3) -> Function-like quasi_total Relation of the carrier of a1,the carrier of a1 means
    for b1 being Element of the carrier of a1 holds
       it . b1 = a2 * ((power a1) .(b1,a3));
end;

:: POLYNOM5:def 11
theorem
for b1 being non empty unital multMagma
for b2 being Element of the carrier of b1
for b3 being Element of NAT
for b4 being Function-like quasi_total Relation of the carrier of b1,the carrier of b1 holds
      b4 = FPower(b2,b3)
   iff
      for b5 being Element of the carrier of b1 holds
         b4 . b5 = b2 * ((power b1) .(b5,b3));

:: POLYNOM5:th 65
theorem
for b1 being non empty unital multMagma holds
   FPower(1_ b1,1) = id the carrier of b1;

:: POLYNOM5:th 66
theorem
FPower(1_ F_Complex,2) = (id COMPLEX) (#) id COMPLEX;

:: POLYNOM5:th 67
theorem
for b1 being non empty unital multMagma
for b2 being Element of the carrier of b1 holds
   FPower(b2,0) = (the carrier of b1) --> b2;

:: POLYNOM5:th 68
theorem
for b1 being Element of the carrier of F_Complex holds
   ex b2 being Element of COMPLEX st
      b1 = b2 &
       FPower(b1,1) = b2 (#) id COMPLEX;

:: POLYNOM5:th 69
theorem
for b1 being Element of the carrier of F_Complex holds
   ex b2 being Element of COMPLEX st
      b1 = b2 &
       FPower(b1,2) = b2 (#) ((id COMPLEX) (#) id COMPLEX);

:: POLYNOM5:th 70
theorem
for b1 being Element of the carrier of F_Complex
for b2 being Element of NAT holds
   ex b3 being Function-like quasi_total Relation of COMPLEX,COMPLEX st
      b3 = FPower(b1,b2) &
       FPower(b1,b2 + 1) = b3 (#) id COMPLEX;

:: POLYNOM5:th 71
theorem
for b1 being Element of the carrier of F_Complex
for b2 being Element of NAT holds
   ex b3 being Function-like quasi_total Relation of COMPLEX,COMPLEX st
      b3 = FPower(b1,b2) & b3 is_continuous_on COMPLEX;

:: POLYNOM5:funcnot 9 => POLYNOM5:func 9
definition
  let a1 be non empty well-unital doubleLoopStr;
  let a2 be Function-like quasi_total finite-Support Relation of NAT,the carrier of a1;
  func Polynomial-Function(A1,A2) -> Function-like quasi_total Relation of the carrier of a1,the carrier of a1 means
    for b1 being Element of the carrier of a1 holds
       it . b1 = eval(a2,b1);
end;

:: POLYNOM5:def 12
theorem
for b1 being non empty well-unital doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of NAT,the carrier of b1
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b1 holds
      b3 = Polynomial-Function(b1,b2)
   iff
      for b4 being Element of the carrier of b1 holds
         b3 . b4 = eval(b2,b4);

:: POLYNOM5:th 72
theorem
for b1 being Function-like quasi_total finite-Support Relation of NAT,the carrier of F_Complex holds
   ex b2 being Function-like quasi_total Relation of COMPLEX,COMPLEX st
      b2 = Polynomial-Function(F_Complex,b1) & b2 is_continuous_on COMPLEX;

:: POLYNOM5:th 73
theorem
for b1 being Function-like quasi_total finite-Support Relation of NAT,the carrier of F_Complex
   st 2 < len b1 &
      |.b1 . ((len b1) -' 1).| = 1
for b2 being FinSequence of REAL
   st len b2 = len b1 &
      (for b3 being Element of NAT
            st b3 in dom b2
         holds b2 . b3 = |.b1 . (b3 -' 1).|)
for b3 being Element of the carrier of F_Complex
      st Sum b2 < |.b3.|
   holds |.b1 . 0.| + 1 < |.eval(b1,b3).|;

:: POLYNOM5:th 74
theorem
for b1 being Function-like quasi_total finite-Support Relation of NAT,the carrier of F_Complex
      st 2 < len b1
   holds ex b2 being Element of the carrier of F_Complex st
      for b3 being Element of the carrier of F_Complex holds
         |.eval(b1,b2).| <= |.eval(b1,b3).|;

:: POLYNOM5:th 75
theorem
for b1 being Function-like quasi_total finite-Support Relation of NAT,the carrier of F_Complex
      st 1 < len b1
   holds b1 is with_roots(F_Complex);

:: POLYNOM5:funcreg 6
registration
  cluster F_Complex -> strict algebraic-closed;
end;

:: POLYNOM5:exreg 2
registration
  cluster non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed unital associative commutative right_unital well-unital distributive left_unital algebraic-closed doubleLoopStr;
end;