Article POLYNOM7, MML version 4.99.1005

:: POLYNOM7:exreg 1
registration
  cluster non empty non trivial ZeroStr;
end;

:: POLYNOM7:condreg 1
registration
  cluster non trivial -> non empty (ZeroStr);
end;

:: POLYNOM7:exreg 2
registration
  cluster non empty non trivial right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive left_zeroed domRing-like doubleLoopStr;
end;

:: POLYNOM7:exreg 3
registration
  let a1 be non trivial ZeroStr;
  cluster non-zero Element of the carrier of a1;
end;

:: POLYNOM7:attrnot 1 => POLYNOM7:attr 1
definition
  let a1 be set;
  let a2 be non empty ZeroStr;
  let a3 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
  attr a3 is non-zero means
    a3 <> 0_(a1,a2);
end;

:: POLYNOM7:dfs 1
definiens
  let a1 be set;
  let a2 be non empty ZeroStr;
  let a3 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
To prove
     a3 is non-zero
it is sufficient to prove
  thus a3 <> 0_(a1,a2);

:: POLYNOM7:def 2
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
      b3 is non-zero(b1, b2)
   iff
      b3 <> 0_(b1,b2);

:: POLYNOM7:exreg 4
registration
  let a1 be set;
  let a2 be non trivial ZeroStr;
  cluster Relation-like Function-like quasi_total non-zero Relation of Bags a1,the carrier of a2;
end;

:: POLYNOM7:exreg 5
registration
  let a1 be ordinal set;
  let a2 be non trivial ZeroStr;
  cluster Relation-like Function-like quasi_total finite-Support non-zero Relation of Bags a1,the carrier of a2;
end;

:: POLYNOM7:th 1
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
      b3 = 0_(b1,b2)
   iff
      Support b3 = {};

:: POLYNOM7:th 2
theorem
for b1 being set
for b2 being non empty ZeroStr holds
      b2 is not trivial
   iff
      ex b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 st
         Support b3 <> {};

:: POLYNOM7:attrnot 2 => POLYNOM7:attr 2
definition
  let a1 be set;
  let a2 be natural-valued finite-support ManySortedSet of a1;
  attr a2 is univariate means
    ex b1 being Element of a1 st
       support a2 = {b1};
end;

:: POLYNOM7:dfs 2
definiens
  let a1 be set;
  let a2 be natural-valued finite-support ManySortedSet of a1;
To prove
     a2 is univariate
it is sufficient to prove
  thus ex b1 being Element of a1 st
       support a2 = {b1};

:: POLYNOM7:def 3
theorem
for b1 being set
for b2 being natural-valued finite-support ManySortedSet of b1 holds
      b2 is univariate(b1)
   iff
      ex b3 being Element of b1 st
         support b2 = {b3};

:: POLYNOM7:exreg 6
registration
  let a1 be non empty set;
  cluster Relation-like Function-like natural-valued finite-support univariate ManySortedSet of a1;
end;

:: POLYNOM7:condreg 2
registration
  let a1 be non empty set;
  cluster natural-valued finite-support univariate -> non empty (ManySortedSet of a1);
end;

:: POLYNOM7:th 3
theorem
for b1 being natural-valued finite-support ManySortedSet of {} holds
   b1 = EmptyBag {};

:: POLYNOM7:th 4
theorem
for b1 being non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total finite-Support Relation of Bags {},the carrier of b1
for b3 being Function-like quasi_total Relation of {},the carrier of b1 holds
   eval(b2,b3) = b2 . EmptyBag {};

:: POLYNOM7:th 5
theorem
for b1 being non trivial right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
   Polynom-Ring({},b1) is_ringisomorph_to b1;

:: POLYNOM7:attrnot 3 => POLYNOM7:attr 3
definition
  let a1 be set;
  let a2 be non empty ZeroStr;
  let a3 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
  attr a3 is monomial-like means
    ex b1 being natural-valued finite-support ManySortedSet of a1 st
       for b2 being natural-valued finite-support ManySortedSet of a1
             st b2 <> b1
          holds a3 . b2 = 0. a2;
end;

:: POLYNOM7:dfs 3
definiens
  let a1 be set;
  let a2 be non empty ZeroStr;
  let a3 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
To prove
     a3 is monomial-like
it is sufficient to prove
  thus ex b1 being natural-valued finite-support ManySortedSet of a1 st
       for b2 being natural-valued finite-support ManySortedSet of a1
             st b2 <> b1
          holds a3 . b2 = 0. a2;

:: POLYNOM7:def 4
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
      b3 is monomial-like(b1, b2)
   iff
      ex b4 being natural-valued finite-support ManySortedSet of b1 st
         for b5 being natural-valued finite-support ManySortedSet of b1
               st b5 <> b4
            holds b3 . b5 = 0. b2;

:: POLYNOM7:exreg 7
registration
  let a1 be set;
  let a2 be non empty ZeroStr;
  cluster Relation-like Function-like quasi_total monomial-like Relation of Bags a1,the carrier of a2;
end;

:: POLYNOM7:modenot 1
definition
  let a1 be set;
  let a2 be non empty ZeroStr;
  mode Monomial of a1,a2 is Function-like quasi_total monomial-like Relation of Bags a1,the carrier of a2;
end;

:: POLYNOM7:condreg 3
registration
  let a1 be set;
  let a2 be non empty ZeroStr;
  cluster Function-like quasi_total monomial-like -> finite-Support (Relation of Bags a1,the carrier of a2);
end;

:: POLYNOM7:th 6
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
      b3 is Function-like quasi_total monomial-like Relation of Bags b1,the carrier of b2
   iff
      (Support b3 <> {} implies ex b4 being natural-valued finite-support ManySortedSet of b1 st
         Support b3 = {b4});

:: POLYNOM7:funcnot 1 => POLYNOM7:func 1
definition
  let a1 be set;
  let a2 be non empty ZeroStr;
  let a3 be Element of the carrier of a2;
  let a4 be natural-valued finite-support ManySortedSet of a1;
  func Monom(A3,A4) -> Function-like quasi_total monomial-like Relation of Bags a1,the carrier of a2 equals
    (0_(a1,a2)) +*(a4,a3);
end;

:: POLYNOM7:def 5
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Element of the carrier of b2
for b4 being natural-valued finite-support ManySortedSet of b1 holds
   Monom(b3,b4) = (0_(b1,b2)) +*(b4,b3);

:: POLYNOM7:funcnot 2 => POLYNOM7:func 2
definition
  let a1 be set;
  let a2 be non empty ZeroStr;
  let a3 be Function-like quasi_total monomial-like Relation of Bags a1,the carrier of a2;
  func term A3 -> natural-valued finite-support ManySortedSet of a1 means
    (a3 . it = 0. a2) implies Support a3 = {} & it = EmptyBag a1;
end;

:: POLYNOM7:def 6
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total monomial-like Relation of Bags b1,the carrier of b2
for b4 being natural-valued finite-support ManySortedSet of b1 holds
      b4 = term b3
   iff
      (b3 . b4 = 0. b2 implies Support b3 = {} & b4 = EmptyBag b1);

:: POLYNOM7:funcnot 3 => POLYNOM7:func 3
definition
  let a1 be set;
  let a2 be non empty ZeroStr;
  let a3 be Function-like quasi_total monomial-like Relation of Bags a1,the carrier of a2;
  func coefficient A3 -> Element of the carrier of a2 equals
    a3 . term a3;
end;

:: POLYNOM7:def 7
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total monomial-like Relation of Bags b1,the carrier of b2 holds
   coefficient b3 = b3 . term b3;

:: POLYNOM7:th 7
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total monomial-like Relation of Bags b1,the carrier of b2
      st Support b3 <> {}
   holds Support b3 = {term b3};

:: POLYNOM7:th 8
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being natural-valued finite-support ManySortedSet of b1 holds
   coefficient Monom(0. b2,b3) = 0. b2 & term Monom(0. b2,b3) = EmptyBag b1;

:: POLYNOM7:th 9
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Element of the carrier of b2
for b4 being natural-valued finite-support ManySortedSet of b1 holds
   coefficient Monom(b3,b4) = b3;

:: POLYNOM7:th 10
theorem
for b1 being set
for b2 being non trivial ZeroStr
for b3 being non-zero Element of the carrier of b2
for b4 being natural-valued finite-support ManySortedSet of b1 holds
   term Monom(b3,b4) = b4;

:: POLYNOM7:th 11
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total monomial-like Relation of Bags b1,the carrier of b2 holds
   Monom(coefficient b3,term b3) = b3;

:: POLYNOM7:th 12
theorem
for b1 being ordinal set
for b2 being non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total monomial-like Relation of Bags b1,the carrier of b2
for b4 being Function-like quasi_total Relation of b1,the carrier of b2 holds
   eval(b3,b4) = (coefficient b3) * eval(term b3,b4);

:: POLYNOM7:th 13
theorem
for b1 being ordinal set
for b2 being non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Element of the carrier of b2
for b4 being natural-valued finite-support ManySortedSet of b1
for b5 being Function-like quasi_total Relation of b1,the carrier of b2 holds
   eval(Monom(b3,b4),b5) = b3 * eval(b4,b5);

:: POLYNOM7:attrnot 4 => POLYNOM7:attr 4
definition
  let a1 be set;
  let a2 be non empty ZeroStr;
  let a3 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
  attr a3 is Constant means
    for b1 being natural-valued finite-support ManySortedSet of a1
          st b1 <> EmptyBag a1
       holds a3 . b1 = 0. a2;
end;

:: POLYNOM7:dfs 7
definiens
  let a1 be set;
  let a2 be non empty ZeroStr;
  let a3 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
To prove
     a3 is Constant
it is sufficient to prove
  thus for b1 being natural-valued finite-support ManySortedSet of a1
          st b1 <> EmptyBag a1
       holds a3 . b1 = 0. a2;

:: POLYNOM7:def 8
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
      b3 is Constant(b1, b2)
   iff
      for b4 being natural-valued finite-support ManySortedSet of b1
            st b4 <> EmptyBag b1
         holds b3 . b4 = 0. b2;

:: POLYNOM7:exreg 8
registration
  let a1 be set;
  let a2 be non empty ZeroStr;
  cluster Relation-like Function-like quasi_total Constant Relation of Bags a1,the carrier of a2;
end;

:: POLYNOM7:modenot 2
definition
  let a1 be set;
  let a2 be non empty ZeroStr;
  mode ConstPoly of a1,a2 is Function-like quasi_total Constant Relation of Bags a1,the carrier of a2;
end;

:: POLYNOM7:condreg 4
registration
  let a1 be set;
  let a2 be non empty ZeroStr;
  cluster Function-like quasi_total Constant -> monomial-like (Relation of Bags a1,the carrier of a2);
end;

:: POLYNOM7:th 14
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
      b3 is Function-like quasi_total Constant Relation of Bags b1,the carrier of b2
   iff
      (b3 = 0_(b1,b2) or Support b3 = {EmptyBag b1});

:: POLYNOM7:funcreg 1
registration
  let a1 be set;
  let a2 be non empty ZeroStr;
  cluster 0_(a1,a2) -> Function-like quasi_total Constant;
end;

:: POLYNOM7:funcreg 2
registration
  let a1 be set;
  let a2 be non empty well-unital doubleLoopStr;
  cluster 1_(a1,a2) -> Function-like quasi_total Constant;
end;

:: POLYNOM7:th 15
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total Constant Relation of Bags b1,the carrier of b2
      st Support b3 <> {}
   holds Support b3 = {EmptyBag b1};

:: POLYNOM7:th 16
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total Constant Relation of Bags b1,the carrier of b2 holds
   term b3 = EmptyBag b1 & coefficient b3 = b3 . EmptyBag b1;

:: POLYNOM7:funcnot 4 => POLYNOM7:func 4
definition
  let a1 be set;
  let a2 be non empty ZeroStr;
  let a3 be Element of the carrier of a2;
  func A3 |(A1,A2) -> Function-like quasi_total Relation of Bags a1,the carrier of a2 equals
    (0_(a1,a2)) +*(EmptyBag a1,a3);
end;

:: POLYNOM7:def 9
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Element of the carrier of b2 holds
   b3 |(b1,b2) = (0_(b1,b2)) +*(EmptyBag b1,b3);

:: POLYNOM7:funcreg 3
registration
  let a1 be set;
  let a2 be non empty ZeroStr;
  let a3 be Element of the carrier of a2;
  cluster a3 |(a1,a2) -> Function-like quasi_total Constant;
end;

:: POLYNOM7:th 17
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
      b3 is Function-like quasi_total Constant Relation of Bags b1,the carrier of b2
   iff
      ex b4 being Element of the carrier of b2 st
         b3 = b4 |(b1,b2);

:: POLYNOM7:th 18
theorem
for b1 being set
for b2 being non empty multLoopStr_0
for b3 being Element of the carrier of b2 holds
   (b3 |(b1,b2)) . EmptyBag b1 = b3 &
    (for b4 being natural-valued finite-support ManySortedSet of b1
          st b4 <> EmptyBag b1
       holds (b3 |(b1,b2)) . b4 = 0. b2);

:: POLYNOM7:th 19
theorem
for b1 being set
for b2 being non empty ZeroStr holds
   (0. b2) |(b1,b2) = 0_(b1,b2);

:: POLYNOM7:th 20
theorem
for b1 being set
for b2 being non empty well-unital multLoopStr_0 holds
   (1. b2) |(b1,b2) = 1_(b1,b2);

:: POLYNOM7:th 21
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3, b4 being Element of the carrier of b2 holds
   b3 |(b1,b2) = b4 |(b1,b2)
iff
   b3 = b4;

:: POLYNOM7:th 22
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Element of the carrier of b2
      st Support (b3 |(b1,b2)) <> {}
   holds Support (b3 |(b1,b2)) = {EmptyBag b1};

:: POLYNOM7:th 23
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being Element of the carrier of b2 holds
   term (b3 |(b1,b2)) = EmptyBag b1 & coefficient (b3 |(b1,b2)) = b3;

:: POLYNOM7:th 24
theorem
for b1 being ordinal set
for b2 being non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total Constant Relation of Bags b1,the carrier of b2
for b4 being Function-like quasi_total Relation of b1,the carrier of b2 holds
   eval(b3,b4) = coefficient b3;

:: POLYNOM7:th 25
theorem
for b1 being ordinal set
for b2 being non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Element of the carrier of b2
for b4 being Function-like quasi_total Relation of b1,the carrier of b2 holds
   eval(b3 |(b1,b2),b4) = b3;

:: POLYNOM7:funcnot 5 => POLYNOM7:func 5
definition
  let a1 be set;
  let a2 be non empty multLoopStr_0;
  let a3 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
  let a4 be Element of the carrier of a2;
  func A4 * A3 -> Function-like quasi_total Relation of Bags a1,the carrier of a2 means
    for b1 being natural-valued finite-support ManySortedSet of a1 holds
       it . b1 = a4 * (a3 . b1);
end;

:: POLYNOM7:def 10
theorem
for b1 being set
for b2 being non empty multLoopStr_0
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2
for b4 being Element of the carrier of b2
for b5 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
      b5 = b4 * b3
   iff
      for b6 being natural-valued finite-support ManySortedSet of b1 holds
         b5 . b6 = b4 * (b3 . b6);

:: POLYNOM7:funcnot 6 => POLYNOM7:func 6
definition
  let a1 be set;
  let a2 be non empty multLoopStr_0;
  let a3 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
  let a4 be Element of the carrier of a2;
  func A3 * A4 -> Function-like quasi_total Relation of Bags a1,the carrier of a2 means
    for b1 being natural-valued finite-support ManySortedSet of a1 holds
       it . b1 = (a3 . b1) * a4;
end;

:: POLYNOM7:def 11
theorem
for b1 being set
for b2 being non empty multLoopStr_0
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2
for b4 being Element of the carrier of b2
for b5 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
      b5 = b3 * b4
   iff
      for b6 being natural-valued finite-support ManySortedSet of b1 holds
         b5 . b6 = (b3 . b6) * b4;

:: POLYNOM7:funcreg 4
registration
  let a1 be set;
  let a2 be non empty add-cancelable right_zeroed distributive left_zeroed doubleLoopStr;
  let a3 be Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2;
  let a4 be Element of the carrier of a2;
  cluster a4 * a3 -> Function-like quasi_total finite-Support;
end;

:: POLYNOM7:funcreg 5
registration
  let a1 be set;
  let a2 be non empty add-cancelable right_zeroed distributive left_zeroed doubleLoopStr;
  let a3 be Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2;
  let a4 be Element of the carrier of a2;
  cluster a3 * a4 -> Function-like quasi_total finite-Support;
end;

:: POLYNOM7:th 26
theorem
for b1 being set
for b2 being non empty commutative multLoopStr_0
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2
for b4 being Element of the carrier of b2 holds
   b4 * b3 = b3 * b4;

:: POLYNOM7:th 27
theorem
for b1 being ordinal set
for b2 being non empty right_complementable add-associative right_zeroed left-distributive doubleLoopStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2
for b4 being Element of the carrier of b2 holds
   b4 * b3 = (b4 |(b1,b2)) *' b3;

:: POLYNOM7:th 28
theorem
for b1 being ordinal set
for b2 being non empty right_complementable add-associative right_zeroed right-distributive doubleLoopStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2
for b4 being Element of the carrier of b2 holds
   b3 * b4 = b3 *' (b4 |(b1,b2));

:: POLYNOM7:th 29
theorem
for b1 being ordinal set
for b2 being non trivial right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive left_zeroed doubleLoopStr
for b3 being Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2
for b4 being Element of the carrier of b2
for b5 being Function-like quasi_total Relation of b1,the carrier of b2 holds
   eval(b4 * b3,b5) = b4 * eval(b3,b5);

:: POLYNOM7:th 30
theorem
for b1 being ordinal set
for b2 being non trivial left_add-cancelable right_complementable add-associative right_zeroed associative well-unital distributive left_zeroed domRing-like doubleLoopStr
for b3 being Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2
for b4 being Element of the carrier of b2
for b5 being Function-like quasi_total Relation of b1,the carrier of b2 holds
   eval(b4 * b3,b5) = b4 * eval(b3,b5);

:: POLYNOM7:th 31
theorem
for b1 being ordinal set
for b2 being non trivial right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive left_zeroed doubleLoopStr
for b3 being Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2
for b4 being Element of the carrier of b2
for b5 being Function-like quasi_total Relation of b1,the carrier of b2 holds
   eval(b3 * b4,b5) = (eval(b3,b5)) * b4;

:: POLYNOM7:th 32
theorem
for b1 being ordinal set
for b2 being non trivial left_add-cancelable right_complementable add-associative right_zeroed associative commutative well-unital distributive left_zeroed domRing-like doubleLoopStr
for b3 being Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2
for b4 being Element of the carrier of b2
for b5 being Function-like quasi_total Relation of b1,the carrier of b2 holds
   eval(b3 * b4,b5) = (eval(b3,b5)) * b4;

:: POLYNOM7:th 33
theorem
for b1 being ordinal set
for b2 being non trivial right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive left_zeroed doubleLoopStr
for b3 being Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2
for b4 being Element of the carrier of b2
for b5 being Function-like quasi_total Relation of b1,the carrier of b2 holds
   eval((b4 |(b1,b2)) *' b3,b5) = b4 * eval(b3,b5);

:: POLYNOM7:th 34
theorem
for b1 being ordinal set
for b2 being non trivial right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive left_zeroed doubleLoopStr
for b3 being Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2
for b4 being Element of the carrier of b2
for b5 being Function-like quasi_total Relation of b1,the carrier of b2 holds
   eval(b3 *' (b4 |(b1,b2)),b5) = (eval(b3,b5)) * b4;