Article POLYNOM1, MML version 4.99.1005
:: POLYNOM1:th 2
theorem
for b1 being set
for b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2
for b5 being Element of b2 holds
proj1 (b3 [:](b4,b5)) = b1;
:: POLYNOM1:th 3
theorem
for b1, b2, b3 being natural set holds
(b1 -' b2) -' b3 = b1 -' (b2 + b3);
:: POLYNOM1:th 4
theorem
for b1 being set
for b2 being Relation-like set
st field b2 c= b1
holds b2 is Relation of b1,b1;
:: POLYNOM1:th 5
theorem
for b1 being non empty addLoopStr
for b2, b3 being FinSequence of the carrier of b1
st dom b2 = dom b3
holds dom (b2 + b3) = dom b2;
:: POLYNOM1:th 6
theorem
for b1 being Relation-like Function-like set
for b2, b3 being set holds
proj2 (b1 +*(b2,b3)) c= (proj2 b1) \/ {b3};
:: POLYNOM1:funcnot 1 => POLYNOM1:func 1
definition
let a1, a2 be set;
let a3 be Function-like quasi_total Relation of a1,a2;
let a4 be set;
let a5 be Element of a2;
redefine func a3 +*(a4,a5) -> Function-like quasi_total Relation of a1,a2;
end;
:: POLYNOM1:funcnot 2 => POLYNOM1:func 2
definition
let a1 be set;
let a2 be ManySortedSet of a1;
let a3, a4 be set;
redefine func a2 +*(a3,a4) -> ManySortedSet of a1;
end;
:: POLYNOM1:th 7
theorem
for b1 being Relation-like Function-like one-to-one set holds
Card b1 = Card proj2 b1;
:: POLYNOM1:funcreg 1
registration
let a1 be non empty set;
let a2, a3 be Function-like quasi_total Relation of [:a1,a1:],a1;
let a4, a5 be Element of a1;
cluster doubleLoopStr(#a1,a2,a3,a4,a5#) -> non empty strict;
end;
:: POLYNOM1:funcnot 3 => POLYNOM1:func 3
definition
let a1, a2 be set;
let a3 be non empty FinSequenceSet of a1;
let a4 be Function-like Relation of a2,a3;
let a5 be set;
redefine func a4 /. a5 -> Element of a3;
end;
:: POLYNOM1:exreg 1
registration
let a1 be set;
cluster Relation-like total well-ordering reflexive antisymmetric transitive being_linear-order Relation of a1,a1;
end;
:: POLYNOM1:th 8
theorem
for b1 being non empty set
for b2 being non empty finite Element of bool b1
for b3 being total reflexive antisymmetric transitive Relation of b1,b1
for b4 being Element of b1
st b4 in b2 &
b3 linearly_orders b2 &
(for b5 being Element of b1
st b5 in b2
holds [b4,b5] in b3)
holds (SgmX(b3,b2)) /. 1 = b4;
:: POLYNOM1:th 9
theorem
for b1 being non empty set
for b2 being non empty finite Element of bool b1
for b3 being total reflexive antisymmetric transitive Relation of b1,b1
for b4 being Element of b1
st b4 in b2 &
b3 linearly_orders b2 &
(for b5 being Element of b1
st b5 in b2
holds [b5,b4] in b3)
holds (SgmX(b3,b2)) /. len SgmX(b3,b2) = b4;
:: POLYNOM1:funcreg 2
registration
let a1 be non empty set;
let a2 be non empty finite Element of bool a1;
let a3 be total reflexive antisymmetric transitive being_linear-order Relation of a1,a1;
cluster SgmX(a3,a2) -> one-to-one non empty;
end;
:: POLYNOM1:funcreg 3
registration
cluster {} -> FinSequence-yielding;
end;
:: POLYNOM1:exreg 2
registration
cluster Relation-like Function-like finite FinSequence-like FinSequence-yielding set;
end;
:: POLYNOM1:funcnot 4 => POLYNOM1:func 4
definition
let a1, a2 be Relation-like Function-like FinSequence-like FinSequence-yielding set;
redefine func a1 ^^ a2 -> Relation-like Function-like FinSequence-like FinSequence-yielding set;
end;
:: POLYNOM1:funcreg 4
registration
let a1 be Element of NAT;
let a2 be Relation-like Function-like FinSequence-like set;
cluster a1 |-> a2 -> Relation-like Function-like FinSequence-like FinSequence-yielding;
end;
:: POLYNOM1:funcreg 5
registration
let a1 be Relation-like Function-like FinSequence-like FinSequence-yielding set;
let a2 be set;
cluster a1 . a2 -> FinSequence-like;
end;
:: POLYNOM1:funcreg 6
registration
let a1 be Relation-like Function-like FinSequence-like set;
cluster Card a1 -> Relation-like Function-like Cardinal-yielding FinSequence-like;
end;
:: POLYNOM1:exreg 3
registration
cluster Relation-like Function-like finite Cardinal-yielding FinSequence-like set;
end;
:: POLYNOM1:th 10
theorem
for b1 being Relation-like Function-like set holds
b1 is Cardinal-yielding
iff
for b2 being set
st b2 in proj2 b1
holds b2 is cardinal set;
:: POLYNOM1:funcreg 7
registration
let a1, a2 be Relation-like Function-like Cardinal-yielding FinSequence-like set;
cluster a1 ^ a2 -> Relation-like Function-like Cardinal-yielding FinSequence-like;
end;
:: POLYNOM1:condreg 1
registration
cluster -> Cardinal-yielding (FinSequence of NAT);
end;
:: POLYNOM1:exreg 4
registration
cluster Relation-like Function-like finite Cardinal-yielding FinSequence-like complex-valued ext-real-valued real-valued rational-valued integer-valued natural-valued FinSequence of NAT;
end;
:: POLYNOM1:funcnot 5 => POLYNOM1:func 5
definition
let a1 be set;
let a2 be FinSequence of a1 *;
redefine func Card a2 -> Cardinal-yielding FinSequence of NAT;
end;
:: POLYNOM1:funcreg 8
registration
let a1 be FinSequence of NAT;
let a2 be Element of NAT;
cluster a1 | a2 -> Relation-like Function-like Cardinal-yielding FinSequence-like;
end;
:: POLYNOM1:th 11
theorem
for b1 being Relation-like Function-like set
for b2 being set holds
Card (b1 | b2) = (Card b1) | b2;
:: POLYNOM1:funcreg 9
registration
let a1 be Relation-like Function-like empty set;
cluster Card a1 -> Relation-like Function-like empty Cardinal-yielding;
end;
:: POLYNOM1:th 12
theorem
for b1 being set holds
Card <*b1*> = <*Card b1*>;
:: POLYNOM1:th 13
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set holds
Card (b1 ^ b2) = (Card b1) ^ Card b2;
:: POLYNOM1:funcreg 10
registration
let a1 be set;
cluster <*> a1 -> FinSequence-yielding;
end;
:: POLYNOM1:funcreg 11
registration
let a1 be Relation-like Function-like FinSequence-like set;
cluster <*a1*> -> FinSequence-yielding;
end;
:: POLYNOM1:th 14
theorem
for b1 being Relation-like Function-like set holds
b1 is FinSequence-yielding
iff
for b2 being set
st b2 in proj2 b1
holds b2 is Relation-like Function-like FinSequence-like set;
:: POLYNOM1:funcreg 12
registration
let a1, a2 be Relation-like Function-like FinSequence-like FinSequence-yielding set;
cluster a1 ^ a2 -> Relation-like Function-like FinSequence-like FinSequence-yielding;
end;
:: POLYNOM1:th 15
theorem
for b1 being non empty addLoopStr
for b2 being FinSequence of (the carrier of b1) * holds
dom Sum b2 = dom b2;
:: POLYNOM1:th 16
theorem
for b1 being non empty addLoopStr
for b2 being FinSequence of (the carrier of b1) * holds
Sum <*> ((the carrier of b1) *) = <*> the carrier of b1;
:: POLYNOM1:th 17
theorem
for b1 being non empty addLoopStr
for b2 being Element of (the carrier of b1) * holds
<*Sum b2*> = Sum <*b2*>;
:: POLYNOM1:th 18
theorem
for b1 being non empty addLoopStr
for b2, b3 being FinSequence of (the carrier of b1) * holds
Sum (b2 ^ b3) = (Sum b2) ^ Sum b3;
:: POLYNOM1:funcnot 6 => POLYNOM1:func 6
definition
let a1 be non empty multMagma;
let a2 be FinSequence of the carrier of a1;
let a3 be Element of the carrier of a1;
redefine func A3 * A2 -> FinSequence of the carrier of a1 means
dom it = dom a2 &
(for b1 being set
st b1 in dom a2
holds it /. b1 = a3 * (a2 /. b1));
end;
:: POLYNOM1:def 2
theorem
for b1 being non empty multMagma
for b2 being FinSequence of the carrier of b1
for b3 being Element of the carrier of b1
for b4 being FinSequence of the carrier of b1 holds
b4 = b3 * b2
iff
dom b4 = dom b2 &
(for b5 being set
st b5 in dom b2
holds b4 /. b5 = b3 * (b2 /. b5));
:: POLYNOM1:funcnot 7 => POLYNOM1:func 7
definition
let a1 be non empty multMagma;
let a2 be FinSequence of the carrier of a1;
let a3 be Element of the carrier of a1;
func A2 * A3 -> FinSequence of the carrier of a1 means
dom it = dom a2 &
(for b1 being set
st b1 in dom a2
holds it /. b1 = (a2 /. b1) * a3);
end;
:: POLYNOM1:def 3
theorem
for b1 being non empty multMagma
for b2 being FinSequence of the carrier of b1
for b3 being Element of the carrier of b1
for b4 being FinSequence of the carrier of b1 holds
b4 = b2 * b3
iff
dom b4 = dom b2 &
(for b5 being set
st b5 in dom b2
holds b4 /. b5 = (b2 /. b5) * b3);
:: POLYNOM1:th 19
theorem
for b1 being non empty multMagma
for b2 being Element of the carrier of b1 holds
b2 * <*> the carrier of b1 = <*> the carrier of b1;
:: POLYNOM1:th 20
theorem
for b1 being non empty multMagma
for b2 being Element of the carrier of b1 holds
(<*> the carrier of b1) * b2 = <*> the carrier of b1;
:: POLYNOM1:th 21
theorem
for b1 being non empty multMagma
for b2, b3 being Element of the carrier of b1 holds
b2 * <*b3*> = <*b2 * b3*>;
:: POLYNOM1:th 22
theorem
for b1 being non empty multMagma
for b2, b3 being Element of the carrier of b1 holds
<*b3*> * b2 = <*b3 * b2*>;
:: POLYNOM1:th 23
theorem
for b1 being non empty multMagma
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the carrier of b1 holds
b2 * (b3 ^ b4) = (b2 * b3) ^ (b2 * b4);
:: POLYNOM1:th 24
theorem
for b1 being non empty multMagma
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the carrier of b1 holds
(b3 ^ b4) * b2 = (b3 * b2) ^ (b4 * b2);
:: POLYNOM1:condreg 2
registration
cluster non empty non degenerated -> non trivial (multLoopStr_0);
end;
:: POLYNOM1:exreg 5
registration
cluster non empty strict right_unital multLoopStr_0;
end;
:: POLYNOM1:exreg 6
registration
cluster non empty non trivial right_complementable almost_left_invertible strict associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
end;
:: POLYNOM1:th 27
theorem
for b1 being non empty right_complementable right-distributive right_unital add-associative right_zeroed doubleLoopStr
st 0. b1 = 1. b1
holds b1 is trivial;
:: POLYNOM1:th 28
theorem
for b1 being non empty right_complementable right_unital distributive add-associative right_zeroed doubleLoopStr
for b2 being Element of the carrier of b1
for b3 being FinSequence of the carrier of b1 holds
Sum (b2 * b3) = b2 * Sum b3;
:: POLYNOM1:th 29
theorem
for b1 being non empty right_complementable right_unital distributive add-associative right_zeroed doubleLoopStr
for b2 being Element of the carrier of b1
for b3 being FinSequence of the carrier of b1 holds
Sum (b3 * b2) = (Sum b3) * b2;
:: POLYNOM1:funcreg 13
registration
let a1 be set;
let a2 be empty FinSequence of a1 *;
cluster FlattenSeq a2 -> empty;
end;
:: POLYNOM1:th 30
theorem
for b1 being set
for b2 being FinSequence of b1 * holds
len FlattenSeq b2 = Sum Card b2;
:: POLYNOM1:th 31
theorem
for b1, b2 being set
for b3 being FinSequence of b1 *
for b4 being FinSequence of b2 *
st Card b3 = Card b4
holds len FlattenSeq b3 = len FlattenSeq b4;
:: POLYNOM1:th 32
theorem
for b1 being set
for b2 being FinSequence of b1 *
for b3 being set
st b3 in dom FlattenSeq b2
holds ex b4, b5 being Element of NAT st
b4 in dom b2 &
b5 in dom (b2 . b4) &
b3 = (Sum Card (b2 | (b4 -' 1))) + b5 &
(b2 . b4) . b5 = (FlattenSeq b2) . b3;
:: POLYNOM1:th 33
theorem
for b1 being set
for b2 being FinSequence of b1 *
for b3, b4 being Element of NAT
st b3 in dom b2 & b4 in dom (b2 . b3)
holds (Sum Card (b2 | (b3 -' 1))) + b4 in dom FlattenSeq b2 &
(b2 . b3) . b4 = (FlattenSeq b2) . ((Sum Card (b2 | (b3 -' 1))) + b4);
:: POLYNOM1:th 34
theorem
for b1 being non empty right_complementable add-associative right_zeroed addLoopStr
for b2 being FinSequence of (the carrier of b1) * holds
Sum FlattenSeq b2 = Sum Sum b2;
:: POLYNOM1:th 35
theorem
for b1, b2 being non empty set
for b3 being FinSequence of b1 *
for b4 being Function-like quasi_total Relation of b1,b2 holds
((dom b3) --> b4) ** b3 is FinSequence of b2 *;
:: POLYNOM1:th 36
theorem
for b1, b2 being non empty set
for b3 being FinSequence of b1 *
for b4 being Function-like quasi_total Relation of b1,b2 holds
ex b5 being FinSequence of b2 * st
b5 = ((dom b3) --> b4) ** b3 & b4 * FlattenSeq b3 = FlattenSeq b5;
:: POLYNOM1:funcreg 14
registration
let a1 be Relation-like Function-like natural-valued set;
let a2 be set;
let a3 be Element of NAT;
cluster a1 +*(a2,a3) -> Relation-like Function-like natural-valued;
end;
:: POLYNOM1:funcreg 15
registration
let a1 be Relation-like Function-like real-valued set;
let a2 be set;
let a3 be Element of NAT;
cluster a1 +*(a2,a3) -> Relation-like Function-like real-valued;
end;
:: POLYNOM1:exreg 7
registration
let a1 be set;
cluster Relation-like Function-like natural-valued ManySortedSet of a1;
end;
:: POLYNOM1:exreg 8
registration
let a1 be set;
cluster Relation-like Function-like real-valued ManySortedSet of a1;
end;
:: POLYNOM1:exreg 9
registration
let a1 be set;
cluster Relation-like Function-like real-valued ManySortedSet of a1;
end;
:: POLYNOM1:funcnot 8 => POLYNOM1:func 8
definition
let a1 be set;
let a2, a3 be complex-valued ManySortedSet of a1;
redefine func A2 + A3 -> ManySortedSet of a1 means
for b1 being set holds
it . b1 = (a2 . b1) + (a3 . b1);
commutativity;
:: for a1 being set
:: for a2, a3 being complex-valued ManySortedSet of a1 holds
:: a2 + a3 = a3 + a2;
end;
:: POLYNOM1:def 5
theorem
for b1 being set
for b2, b3 being complex-valued ManySortedSet of b1
for b4 being ManySortedSet of b1 holds
b4 = b2 + b3
iff
for b5 being set holds
b4 . b5 = (b2 . b5) + (b3 . b5);
:: POLYNOM1:funcnot 9 => POLYNOM1:func 9
definition
let a1 be set;
let a2, a3 be natural-valued ManySortedSet of a1;
func A2 -' A3 -> ManySortedSet of a1 means
for b1 being set holds
it . b1 = (a2 . b1) -' (a3 . b1);
end;
:: POLYNOM1:def 6
theorem
for b1 being set
for b2, b3 being natural-valued ManySortedSet of b1
for b4 being ManySortedSet of b1 holds
b4 = b2 -' b3
iff
for b5 being set holds
b4 . b5 = (b2 . b5) -' (b3 . b5);
:: POLYNOM1:th 37
theorem
for b1 being set
for b2, b3, b4 being real-valued ManySortedSet of b1
st for b5 being set
st b5 in b1
holds b2 . b5 = (b3 . b5) + (b4 . b5)
holds b2 = b3 + b4;
:: POLYNOM1:th 38
theorem
for b1 being set
for b2, b3, b4 being natural-valued ManySortedSet of b1
st for b5 being set
st b5 in b1
holds b2 . b5 = (b3 . b5) -' (b4 . b5)
holds b2 = b3 -' b4;
:: POLYNOM1:funcreg 16
registration
let a1 be set;
let a2, a3 be natural-valued ManySortedSet of a1;
cluster a2 + a3 -> Relation-like Function-like natural-valued;
end;
:: POLYNOM1:funcreg 17
registration
let a1 be set;
let a2, a3 be natural-valued ManySortedSet of a1;
cluster a2 -' a3 -> natural-valued;
end;
:: POLYNOM1:th 39
theorem
for b1 being set
for b2, b3, b4 being real-valued ManySortedSet of b1 holds
(b2 + b3) + b4 = b2 + (b3 + b4);
:: POLYNOM1:th 40
theorem
for b1 being set
for b2, b3, b4 being natural-valued ManySortedSet of b1 holds
(b2 -' b3) -' b4 = b2 -' (b3 + b4);
:: POLYNOM1:funcnot 10 => POLYNOM1:func 10
definition
let a1 be Relation-like Function-like set;
func support A1 -> set means
for b1 being set holds
b1 in it
iff
a1 . b1 <> 0;
end;
:: POLYNOM1:def 7
theorem
for b1 being Relation-like Function-like set
for b2 being set holds
b2 = support b1
iff
for b3 being set holds
b3 in b2
iff
b1 . b3 <> 0;
:: POLYNOM1:th 41
theorem
for b1 being Relation-like Function-like set holds
support b1 c= proj1 b1;
:: POLYNOM1:attrnot 1 => POLYNOM1:attr 1
definition
let a1 be Relation-like Function-like set;
attr a1 is finite-support means
support a1 is finite;
end;
:: POLYNOM1:dfs 6
definiens
let a1 be Relation-like Function-like set;
To prove
a1 is finite-support
it is sufficient to prove
thus support a1 is finite;
:: POLYNOM1:def 8
theorem
for b1 being Relation-like Function-like set holds
b1 is finite-support
iff
support b1 is finite;
:: POLYNOM1:prednot 1 => POLYNOM1:attr 1
notation
let a1 be Relation-like Function-like set;
synonym a1 has_finite-support for finite-support;
end;
:: POLYNOM1:funcreg 18
registration
cluster {} -> finite-support;
end;
:: POLYNOM1:condreg 3
registration
cluster Relation-like Function-like finite -> finite-support (set);
end;
:: POLYNOM1:exreg 10
registration
cluster Relation-like Function-like non empty natural-valued finite-support set;
end;
:: POLYNOM1:funcreg 19
registration
let a1 be Relation-like Function-like finite-support set;
cluster support a1 -> finite;
end;
:: POLYNOM1:exreg 11
registration
let a1 be set;
cluster Relation-like Function-like quasi_total complex-valued ext-real-valued real-valued rational-valued integer-valued natural-valued finite-support Relation of a1,NAT;
end;
:: POLYNOM1:funcreg 20
registration
let a1 be Relation-like Function-like finite-support set;
let a2, a3 be set;
cluster a1 +*(a2,a3) -> Relation-like Function-like finite-support;
end;
:: POLYNOM1:exreg 12
registration
let a1 be set;
cluster Relation-like Function-like natural-valued finite-support ManySortedSet of a1;
end;
:: POLYNOM1:th 42
theorem
for b1 being set
for b2, b3 being natural-valued ManySortedSet of b1 holds
support (b2 + b3) = (support b2) \/ support b3;
:: POLYNOM1:th 43
theorem
for b1 being set
for b2, b3 being natural-valued ManySortedSet of b1 holds
support (b2 -' b3) c= support b2;
:: POLYNOM1:funcnot 11 => POLYNOM1:func 11
definition
let a1 be non empty set;
let a2 be ZeroStr;
let a3 be Function-like quasi_total Relation of a1,the carrier of a2;
func Support A3 -> Element of bool a1 means
for b1 being Element of a1 holds
b1 in it
iff
a3 . b1 <> 0. a2;
end;
:: POLYNOM1:def 9
theorem
for b1 being non empty set
for b2 being ZeroStr
for b3 being Function-like quasi_total Relation of b1,the carrier of b2
for b4 being Element of bool b1 holds
b4 = Support b3
iff
for b5 being Element of b1 holds
b5 in b4
iff
b3 . b5 <> 0. b2;
:: POLYNOM1:attrnot 2 => POLYNOM1:attr 2
definition
let a1 be non empty set;
let a2 be ZeroStr;
let a3 be Function-like quasi_total Relation of a1,the carrier of a2;
attr a3 is finite-Support means
Support a3 is finite;
end;
:: POLYNOM1:dfs 8
definiens
let a1 be non empty set;
let a2 be ZeroStr;
let a3 be Function-like quasi_total Relation of a1,the carrier of a2;
To prove
a3 is finite-Support
it is sufficient to prove
thus Support a3 is finite;
:: POLYNOM1:def 10
theorem
for b1 being non empty set
for b2 being ZeroStr
for b3 being Function-like quasi_total Relation of b1,the carrier of b2 holds
b3 is finite-Support(b1, b2)
iff
Support b3 is finite;
:: POLYNOM1:prednot 2 => POLYNOM1:attr 2
notation
let a1 be non empty set;
let a2 be ZeroStr;
let a3 be Function-like quasi_total Relation of a1,the carrier of a2;
synonym a3 has_finite-Support for finite-Support;
end;
:: POLYNOM1:modenot 1
definition
let a1 be set;
mode bag of a1 is natural-valued finite-support ManySortedSet of a1;
end;
:: POLYNOM1:condreg 4
registration
let a1 be finite set;
cluster -> finite-support (ManySortedSet of a1);
end;
:: POLYNOM1:funcreg 21
registration
let a1 be set;
let a2, a3 be natural-valued finite-support ManySortedSet of a1;
cluster a2 + a3 -> Relation-like Function-like finite-support;
end;
:: POLYNOM1:funcreg 22
registration
let a1 be set;
let a2, a3 be natural-valued finite-support ManySortedSet of a1;
cluster a2 -' a3 -> finite-support;
end;
:: POLYNOM1:th 44
theorem
for b1 being set holds
b1 --> 0 is natural-valued finite-support ManySortedSet of b1;
:: POLYNOM1:prednot 3 => POLYNOM1:pred 1
definition
let a1 be ordinal set;
let a2, a3 be natural-valued finite-support ManySortedSet of a1;
pred A2 < A3 means
ex b1 being ordinal set st
a2 . b1 < a3 . b1 &
(for b2 being ordinal set
st b2 in b1
holds a2 . b2 = a3 . b2);
asymmetry;
:: for a1 being ordinal set
:: for a2, a3 being natural-valued finite-support ManySortedSet of a1
:: st a2 < a3
:: holds not a3 < a2;
end;
:: POLYNOM1:dfs 9
definiens
let a1 be ordinal set;
let a2, a3 be natural-valued finite-support ManySortedSet of a1;
To prove
a2 < a3
it is sufficient to prove
thus ex b1 being ordinal set st
a2 . b1 < a3 . b1 &
(for b2 being ordinal set
st b2 in b1
holds a2 . b2 = a3 . b2);
:: POLYNOM1:def 11
theorem
for b1 being ordinal set
for b2, b3 being natural-valued finite-support ManySortedSet of b1 holds
b2 < b3
iff
ex b4 being ordinal set st
b2 . b4 < b3 . b4 &
(for b5 being ordinal set
st b5 in b4
holds b2 . b5 = b3 . b5);
:: POLYNOM1:th 45
theorem
for b1 being ordinal set
for b2, b3, b4 being natural-valued finite-support ManySortedSet of b1
st b2 < b3 & b3 < b4
holds b2 < b4;
:: POLYNOM1:prednot 4 => POLYNOM1:pred 2
definition
let a1 be ordinal set;
let a2, a3 be natural-valued finite-support ManySortedSet of a1;
pred A2 <=' A3 means
(not a2 < a3) implies a2 = a3;
reflexivity;
:: for a1 being ordinal set
:: for a2 being natural-valued finite-support ManySortedSet of a1 holds
:: a2 <=' a2;
end;
:: POLYNOM1:dfs 10
definiens
let a1 be ordinal set;
let a2, a3 be natural-valued finite-support ManySortedSet of a1;
To prove
a2 <=' a3
it is sufficient to prove
thus (not a2 < a3) implies a2 = a3;
:: POLYNOM1:def 12
theorem
for b1 being ordinal set
for b2, b3 being natural-valued finite-support ManySortedSet of b1 holds
b2 <=' b3
iff
(b2 < b3 or b2 = b3);
:: POLYNOM1:th 46
theorem
for b1 being ordinal set
for b2, b3, b4 being natural-valued finite-support ManySortedSet of b1
st b2 <=' b3 & b3 <=' b4
holds b2 <=' b4;
:: POLYNOM1:th 47
theorem
for b1 being ordinal set
for b2, b3, b4 being natural-valued finite-support ManySortedSet of b1
st b2 < b3 & b3 <=' b4
holds b2 < b4;
:: POLYNOM1:th 48
theorem
for b1 being ordinal set
for b2, b3, b4 being natural-valued finite-support ManySortedSet of b1
st b2 <=' b3 & b3 < b4
holds b2 < b4;
:: POLYNOM1:th 49
theorem
for b1 being ordinal set
for b2, b3 being natural-valued finite-support ManySortedSet of b1
st not b2 <=' b3
holds b3 <=' b2;
:: POLYNOM1:prednot 5 => POLYNOM1:pred 3
definition
let a1 be set;
let a2, a3 be natural-valued finite-support ManySortedSet of a1;
pred A2 divides A3 means
for b1 being set holds
a2 . b1 <= a3 . b1;
reflexivity;
:: for a1 being set
:: for a2 being natural-valued finite-support ManySortedSet of a1 holds
:: a2 divides a2;
end;
:: POLYNOM1:dfs 11
definiens
let a1 be set;
let a2, a3 be natural-valued finite-support ManySortedSet of a1;
To prove
a2 divides a3
it is sufficient to prove
thus for b1 being set holds
a2 . b1 <= a3 . b1;
:: POLYNOM1:def 13
theorem
for b1 being set
for b2, b3 being natural-valued finite-support ManySortedSet of b1 holds
b2 divides b3
iff
for b4 being set holds
b2 . b4 <= b3 . b4;
:: POLYNOM1:th 50
theorem
for b1 being set
for b2, b3 being natural-valued finite-support ManySortedSet of b1
st for b4 being set
st b4 in b1
holds b2 . b4 <= b3 . b4
holds b2 divides b3;
:: POLYNOM1:th 51
theorem
for b1 being ordinal set
for b2, b3 being natural-valued finite-support ManySortedSet of b1
st b2 divides b3
holds (b3 -' b2) + b2 = b3;
:: POLYNOM1:th 52
theorem
for b1 being set
for b2, b3 being natural-valued finite-support ManySortedSet of b1 holds
(b3 + b2) -' b2 = b3;
:: POLYNOM1:th 53
theorem
for b1 being ordinal set
for b2, b3 being natural-valued finite-support ManySortedSet of b1
st b2 divides b3
holds b2 <=' b3;
:: POLYNOM1:th 54
theorem
for b1 being set
for b2, b3, b4 being natural-valued finite-support ManySortedSet of b1
st b2 = b3 + b4
holds b3 divides b2;
:: POLYNOM1:funcnot 12 => POLYNOM1:func 12
definition
let a1 be set;
func Bags A1 -> set means
for b1 being set holds
b1 in it
iff
b1 is natural-valued finite-support ManySortedSet of a1;
end;
:: POLYNOM1:def 14
theorem
for b1, b2 being set holds
b2 = Bags b1
iff
for b3 being set holds
b3 in b2
iff
b3 is natural-valued finite-support ManySortedSet of b1;
:: POLYNOM1:funcnot 13 => POLYNOM1:func 13
definition
let a1 be set;
redefine func Bags a1 -> Element of bool Bags a1;
end;
:: POLYNOM1:th 55
theorem
Bags {} = {{}};
:: POLYNOM1:funcreg 23
registration
let a1 be set;
cluster Bags a1 -> non empty;
end;
:: POLYNOM1:modenot 2 => POLYNOM1:mode 1
definition
let a1 be set;
let a2 be non empty Element of bool Bags a1;
redefine mode Element of a2 -> natural-valued finite-support ManySortedSet of a1;
end;
:: POLYNOM1:funcnot 14 => POLYNOM1:func 14
definition
let a1 be set;
let a2 be non empty 1-sorted;
let a3 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
let a4 be natural-valued finite-support ManySortedSet of a1;
redefine func a3 . a4 -> Element of the carrier of a2;
end;
:: POLYNOM1:funcnot 15 => POLYNOM1:func 15
definition
let a1 be set;
func EmptyBag A1 -> Element of Bags a1 equals
a1 --> 0;
end;
:: POLYNOM1:def 15
theorem
for b1 being set holds
EmptyBag b1 = b1 --> 0;
:: POLYNOM1:th 56
theorem
for b1, b2 being set holds
(EmptyBag b1) . b2 = 0;
:: POLYNOM1:th 57
theorem
for b1 being set
for b2 being natural-valued finite-support ManySortedSet of b1 holds
b2 + EmptyBag b1 = b2;
:: POLYNOM1:th 58
theorem
for b1 being set
for b2 being natural-valued finite-support ManySortedSet of b1 holds
b2 -' EmptyBag b1 = b2;
:: POLYNOM1:th 59
theorem
for b1 being set
for b2 being natural-valued finite-support ManySortedSet of b1 holds
(EmptyBag b1) -' b2 = EmptyBag b1;
:: POLYNOM1:th 60
theorem
for b1 being set
for b2 being natural-valued finite-support ManySortedSet of b1 holds
b2 -' b2 = EmptyBag b1;
:: POLYNOM1:th 61
theorem
for b1 being set
for b2, b3 being natural-valued finite-support ManySortedSet of b1
st b2 divides b3 & b3 -' b2 = EmptyBag b1
holds b3 = b2;
:: POLYNOM1:th 62
theorem
for b1 being set
for b2 being natural-valued finite-support ManySortedSet of b1
st b2 divides EmptyBag b1
holds EmptyBag b1 = b2;
:: POLYNOM1:th 63
theorem
for b1 being set
for b2 being natural-valued finite-support ManySortedSet of b1 holds
EmptyBag b1 divides b2;
:: POLYNOM1:th 64
theorem
for b1 being ordinal set
for b2 being natural-valued finite-support ManySortedSet of b1 holds
EmptyBag b1 <=' b2;
:: POLYNOM1:funcnot 16 => POLYNOM1:func 16
definition
let a1 be ordinal set;
func BagOrder A1 -> total reflexive antisymmetric transitive Relation of Bags a1,Bags a1 means
for b1, b2 being natural-valued finite-support ManySortedSet of a1 holds
[b1,b2] in it
iff
b1 <=' b2;
end;
:: POLYNOM1:def 16
theorem
for b1 being ordinal set
for b2 being total reflexive antisymmetric transitive Relation of Bags b1,Bags b1 holds
b2 = BagOrder b1
iff
for b3, b4 being natural-valued finite-support ManySortedSet of b1 holds
[b3,b4] in b2
iff
b3 <=' b4;
:: POLYNOM1:funcreg 24
registration
let a1 be ordinal set;
cluster BagOrder a1 -> total reflexive antisymmetric transitive being_linear-order;
end;
:: POLYNOM1:funcnot 17 => POLYNOM1:func 17
definition
let a1 be set;
let a2 be Function-like quasi_total Relation of a1,NAT;
func NatMinor A2 -> Element of bool Funcs(a1,NAT) means
for b1 being natural-valued ManySortedSet of a1 holds
b1 in it
iff
for b2 being set
st b2 in a1
holds b1 . b2 <= a2 . b2;
end;
:: POLYNOM1:def 17
theorem
for b1 being set
for b2 being Function-like quasi_total Relation of b1,NAT
for b3 being Element of bool Funcs(b1,NAT) holds
b3 = NatMinor b2
iff
for b4 being natural-valued ManySortedSet of b1 holds
b4 in b3
iff
for b5 being set
st b5 in b1
holds b4 . b5 <= b2 . b5;
:: POLYNOM1:th 65
theorem
for b1 being set
for b2 being Function-like quasi_total Relation of b1,NAT holds
b2 in NatMinor b2;
:: POLYNOM1:funcreg 25
registration
let a1 be set;
let a2 be Function-like quasi_total Relation of a1,NAT;
cluster NatMinor a2 -> non empty functional;
end;
:: POLYNOM1:condreg 5
registration
let a1 be set;
let a2 be Function-like quasi_total Relation of a1,NAT;
cluster -> natural-valued (Element of NatMinor a2);
end;
:: POLYNOM1:th 66
theorem
for b1 being set
for b2 being Function-like quasi_total finite-support Relation of b1,NAT holds
NatMinor b2 c= Bags b1;
:: POLYNOM1:funcnot 18 => POLYNOM1:func 18
definition
let a1 be set;
let a2 be Function-like quasi_total finite-support Relation of a1,NAT;
redefine func support a2 -> Element of Fin a1;
end;
:: POLYNOM1:th 67
theorem
for b1 being non empty set
for b2 being Function-like quasi_total finite-support Relation of b1,NAT holds
Card NatMinor b2 = multnat $$(support b2,addnat [:](b2,1));
:: POLYNOM1:funcreg 26
registration
let a1 be set;
let a2 be Function-like quasi_total finite-support Relation of a1,NAT;
cluster NatMinor a2 -> finite;
end;
:: POLYNOM1:funcnot 19 => POLYNOM1:func 19
definition
let a1 be ordinal set;
let a2 be natural-valued finite-support ManySortedSet of a1;
func divisors A2 -> FinSequence of Bags a1 means
ex b1 being non empty finite Element of bool Bags a1 st
it = SgmX(BagOrder a1,b1) &
(for b2 being natural-valued finite-support ManySortedSet of a1 holds
b2 in b1
iff
b2 divides a2);
end;
:: POLYNOM1:def 18
theorem
for b1 being ordinal set
for b2 being natural-valued finite-support ManySortedSet of b1
for b3 being FinSequence of Bags b1 holds
b3 = divisors b2
iff
ex b4 being non empty finite Element of bool Bags b1 st
b3 = SgmX(BagOrder b1,b4) &
(for b5 being natural-valued finite-support ManySortedSet of b1 holds
b5 in b4
iff
b5 divides b2);
:: POLYNOM1:funcreg 27
registration
let a1 be ordinal set;
let a2 be natural-valued finite-support ManySortedSet of a1;
cluster divisors a2 -> one-to-one non empty;
end;
:: POLYNOM1:th 68
theorem
for b1 being ordinal set
for b2 being Element of NAT
for b3 being natural-valued finite-support ManySortedSet of b1
st b2 in dom divisors b3
holds (divisors b3) /. b2 divides b3;
:: POLYNOM1:th 69
theorem
for b1 being ordinal set
for b2 being natural-valued finite-support ManySortedSet of b1 holds
(divisors b2) /. 1 = EmptyBag b1 & (divisors b2) /. len divisors b2 = b2;
:: POLYNOM1:th 70
theorem
for b1 being ordinal set
for b2 being natural set
for b3, b4, b5 being natural-valued finite-support ManySortedSet of b1
st 1 < b2 & b2 < len divisors b3
holds (divisors b3) /. b2 <> EmptyBag b1 & (divisors b3) /. b2 <> b3;
:: POLYNOM1:th 71
theorem
for b1 being ordinal set holds
divisors EmptyBag b1 = <*EmptyBag b1*>;
:: POLYNOM1:funcnot 20 => POLYNOM1:func 20
definition
let a1 be ordinal set;
let a2 be natural-valued finite-support ManySortedSet of a1;
func decomp A2 -> FinSequence of 2 -tuples_on Bags a1 means
dom it = dom divisors a2 &
(for b1 being Element of NAT
for b2 being natural-valued finite-support ManySortedSet of a1
st b1 in dom it & b2 = (divisors a2) /. b1
holds it /. b1 = <*b2,a2 -' b2*>);
end;
:: POLYNOM1:def 19
theorem
for b1 being ordinal set
for b2 being natural-valued finite-support ManySortedSet of b1
for b3 being FinSequence of 2 -tuples_on Bags b1 holds
b3 = decomp b2
iff
dom b3 = dom divisors b2 &
(for b4 being Element of NAT
for b5 being natural-valued finite-support ManySortedSet of b1
st b4 in dom b3 & b5 = (divisors b2) /. b4
holds b3 /. b4 = <*b5,b2 -' b5*>);
:: POLYNOM1:th 72
theorem
for b1 being ordinal set
for b2 being Element of NAT
for b3 being natural-valued finite-support ManySortedSet of b1
st b2 in dom decomp b3
holds ex b4, b5 being natural-valued finite-support ManySortedSet of b1 st
(decomp b3) /. b2 = <*b4,b5*> & b3 = b4 + b5;
:: POLYNOM1:th 73
theorem
for b1 being ordinal set
for b2, b3, b4 being natural-valued finite-support ManySortedSet of b1
st b2 = b3 + b4
holds ex b5 being Element of NAT st
b5 in dom decomp b2 & (decomp b2) /. b5 = <*b3,b4*>;
:: POLYNOM1:th 74
theorem
for b1 being ordinal set
for b2 being Element of NAT
for b3, b4, b5 being natural-valued finite-support ManySortedSet of b1
st b2 in dom decomp b3 & (decomp b3) /. b2 = <*b4,b5*>
holds b4 = (divisors b3) /. b2;
:: POLYNOM1:funcreg 28
registration
let a1 be ordinal set;
let a2 be natural-valued finite-support ManySortedSet of a1;
cluster decomp a2 -> one-to-one non empty FinSequence-yielding;
end;
:: POLYNOM1:funcreg 29
registration
let a1 be ordinal set;
let a2 be Element of Bags a1;
cluster decomp a2 -> one-to-one non empty FinSequence-yielding;
end;
:: POLYNOM1:th 75
theorem
for b1 being ordinal set
for b2 being natural-valued finite-support ManySortedSet of b1 holds
(decomp b2) /. 1 = <*EmptyBag b1,b2*> &
(decomp b2) /. len decomp b2 = <*b2,EmptyBag b1*>;
:: POLYNOM1:th 76
theorem
for b1 being ordinal set
for b2 being natural set
for b3, b4, b5 being natural-valued finite-support ManySortedSet of b1
st 1 < b2 & b2 < len decomp b3 & (decomp b3) /. b2 = <*b4,b5*>
holds b4 <> EmptyBag b1 & b5 <> EmptyBag b1;
:: POLYNOM1:th 77
theorem
for b1 being ordinal set holds
decomp EmptyBag b1 = <*<*EmptyBag b1,EmptyBag b1*>*>;
:: POLYNOM1:th 78
theorem
for b1 being ordinal set
for b2 being natural-valued finite-support ManySortedSet of b1
for b3, b4 being FinSequence of (3 -tuples_on Bags b1) *
st dom b3 = dom decomp b2 &
dom b4 = dom decomp b2 &
(for b5 being natural set
st b5 in dom b3
holds b3 . b5 = (decomp (((decomp b2) /. b5) /. 1)) ^^ ((len decomp (((decomp b2) /. b5) /. 1)) |-> <*((decomp b2) /. b5) /. 2*>)) &
(for b5 being natural set
st b5 in dom b4
holds b4 . b5 = ((len decomp (((decomp b2) /. b5) /. 2)) |-> <*((decomp b2) /. b5) /. 1*>) ^^ decomp (((decomp b2) /. b5) /. 2))
holds ex b5 being Function-like quasi_total bijective Relation of dom FlattenSeq b3,dom FlattenSeq b3 st
FlattenSeq b4 = (FlattenSeq b3) * b5;
:: POLYNOM1:modenot 3
definition
let a1 be set;
let a2 be 1-sorted;
mode Series of a1,a2 is Function-like quasi_total Relation of Bags a1,the carrier of a2;
end;
:: POLYNOM1:funcnot 21 => POLYNOM1:func 21
definition
let a1 be set;
let a2 be non empty addLoopStr;
let a3, a4 be Function-like quasi_total Relation of Bags a1,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 . b1);
end;
:: POLYNOM1:def 21
theorem
for b1 being set
for b2 being non empty addLoopStr
for b3, b4, 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 . b6);
:: POLYNOM1:th 79
theorem
for b1 being set
for b2 being non empty right_zeroed addLoopStr
for b3, b4 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
Support (b3 + b4) c= (Support b3) \/ Support b4;
:: POLYNOM1:funcnot 22 => POLYNOM1:func 22
definition
let a1 be set;
let a2 be non empty Abelian right_zeroed addLoopStr;
let a3, a4 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
redefine func a3 + a4 -> Function-like quasi_total Relation of Bags a1,the carrier of a2;
commutativity;
:: for a1 being set
:: for a2 being non empty Abelian right_zeroed addLoopStr
:: for a3, a4 being Function-like quasi_total Relation of Bags a1,the carrier of a2 holds
:: a3 + a4 = a4 + a3;
end;
:: POLYNOM1:th 80
theorem
for b1 being set
for b2 being non empty add-associative right_zeroed doubleLoopStr
for b3, b4, b5 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
(b3 + b4) + b5 = b3 + (b4 + b5);
:: POLYNOM1:funcnot 23 => POLYNOM1:func 23
definition
let a1 be set;
let a2 be non empty right_complementable add-associative right_zeroed addLoopStr;
let a3 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
func - 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 = - (a3 . b1);
involutiveness;
:: for a1 being set
:: for a2 being non empty right_complementable add-associative right_zeroed addLoopStr
:: for a3 being Function-like quasi_total Relation of Bags a1,the carrier of a2 holds
:: - - a3 = a3;
end;
:: POLYNOM1:def 22
theorem
for b1 being set
for b2 being non empty right_complementable add-associative right_zeroed addLoopStr
for b3, b4 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
b4 = - b3
iff
for b5 being natural-valued finite-support ManySortedSet of b1 holds
b4 . b5 = - (b3 . b5);
:: POLYNOM1:funcnot 24 => POLYNOM1:func 24
definition
let a1 be set;
let a2 be non empty right_complementable add-associative right_zeroed addLoopStr;
let a3, a4 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
func A3 - A4 -> Function-like quasi_total Relation of Bags a1,the carrier of a2 equals
a3 + - a4;
end;
:: POLYNOM1:def 23
theorem
for b1 being set
for b2 being non empty right_complementable add-associative right_zeroed addLoopStr
for b3, b4 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
b3 - b4 = b3 + - b4;
:: POLYNOM1:funcnot 25 => POLYNOM1:func 25
definition
let a1 be set;
let a2 be non empty ZeroStr;
func 0_(A1,A2) -> Function-like quasi_total Relation of Bags a1,the carrier of a2 equals
(Bags a1) --> 0. a2;
end;
:: POLYNOM1:def 24
theorem
for b1 being set
for b2 being non empty ZeroStr holds
0_(b1,b2) = (Bags b1) --> 0. b2;
:: POLYNOM1:th 81
theorem
for b1 being set
for b2 being non empty ZeroStr
for b3 being natural-valued finite-support ManySortedSet of b1 holds
(0_(b1,b2)) . b3 = 0. b2;
:: POLYNOM1:th 82
theorem
for b1 being set
for b2 being non empty right_zeroed addLoopStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
b3 + 0_(b1,b2) = b3;
:: POLYNOM1:funcnot 26 => POLYNOM1:func 26
definition
let a1 be set;
let a2 be non empty right_unital multLoopStr_0;
func 1_(A1,A2) -> Function-like quasi_total Relation of Bags a1,the carrier of a2 equals
(0_(a1,a2)) +*(EmptyBag a1,1. a2);
end;
:: POLYNOM1:def 25
theorem
for b1 being set
for b2 being non empty right_unital multLoopStr_0 holds
1_(b1,b2) = (0_(b1,b2)) +*(EmptyBag b1,1. b2);
:: POLYNOM1:th 83
theorem
for b1 being set
for b2 being non empty right_complementable add-associative right_zeroed addLoopStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
b3 - b3 = 0_(b1,b2);
:: POLYNOM1:th 84
theorem
for b1 being set
for b2 being non empty right_unital multLoopStr_0 holds
(1_(b1,b2)) . EmptyBag b1 = 1. b2 &
(for b3 being natural-valued finite-support ManySortedSet of b1
st b3 <> EmptyBag b1
holds (1_(b1,b2)) . b3 = 0. b2);
:: POLYNOM1:funcnot 27 => POLYNOM1:func 27
definition
let a1 be ordinal set;
let a2 be non empty right_complementable add-associative right_zeroed doubleLoopStr;
let a3, a4 be Function-like quasi_total Relation of Bags a1,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
ex b2 being FinSequence of the carrier of a2 st
it . b1 = Sum b2 &
len b2 = len decomp b1 &
(for b3 being Element of NAT
st b3 in dom b2
holds ex b4, b5 being natural-valued finite-support ManySortedSet of a1 st
(decomp b1) /. b3 = <*b4,b5*> &
b2 /. b3 = (a3 . b4) * (a4 . b5));
end;
:: POLYNOM1:def 26
theorem
for b1 being ordinal set
for b2 being non empty right_complementable add-associative right_zeroed doubleLoopStr
for b3, b4, 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
ex b7 being FinSequence of the carrier of b2 st
b5 . b6 = Sum b7 &
len b7 = len decomp b6 &
(for b8 being Element of NAT
st b8 in dom b7
holds ex b9, b10 being natural-valued finite-support ManySortedSet of b1 st
(decomp b6) /. b8 = <*b9,b10*> &
b7 /. b8 = (b3 . b9) * (b4 . b10));
:: POLYNOM1:th 85
theorem
for b1 being ordinal set
for b2 being non empty right_complementable associative distributive Abelian add-associative right_zeroed doubleLoopStr
for b3, b4, b5 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
b3 *' (b4 + b5) = (b3 *' b4) + (b3 *' b5);
:: POLYNOM1:th 86
theorem
for b1 being ordinal set
for b2 being non empty right_complementable associative right_unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b3, b4, b5 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
(b3 *' b4) *' b5 = b3 *' (b4 *' b5);
:: POLYNOM1:funcnot 28 => POLYNOM1:func 28
definition
let a1 be ordinal set;
let a2 be non empty right_complementable commutative Abelian add-associative right_zeroed doubleLoopStr;
let a3, a4 be Function-like quasi_total Relation of Bags a1,the carrier of a2;
redefine func a3 *' a4 -> Function-like quasi_total Relation of Bags a1,the carrier of a2;
commutativity;
:: for a1 being ordinal set
:: for a2 being non empty right_complementable commutative Abelian add-associative right_zeroed doubleLoopStr
:: for a3, a4 being Function-like quasi_total Relation of Bags a1,the carrier of a2 holds
:: a3 *' a4 = a4 *' a3;
end;
:: POLYNOM1:th 87
theorem
for b1 being ordinal set
for b2 being non empty right_complementable right_unital distributive add-associative right_zeroed doubleLoopStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
b3 *' 0_(b1,b2) = 0_(b1,b2);
:: POLYNOM1:th 88
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable right_unital distributive add-associative right_zeroed doubleLoopStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
b3 *' 1_(b1,b2) = b3;
:: POLYNOM1:th 89
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable well-unital distributive add-associative right_zeroed doubleLoopStr
for b3 being Function-like quasi_total Relation of Bags b1,the carrier of b2 holds
(1_(b1,b2)) *' b3 = b3;
:: POLYNOM1:exreg 13
registration
let a1 be set;
let a2 be non empty ZeroStr;
cluster Relation-like Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2;
end;
:: POLYNOM1:modenot 4
definition
let a1 be ordinal set;
let a2 be non empty ZeroStr;
mode Polynomial of a1,a2 is Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2;
end;
:: POLYNOM1:funcreg 30
registration
let a1 be ordinal set;
let a2 be non empty right_zeroed addLoopStr;
let a3, a4 be Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2;
cluster a3 + a4 -> Function-like quasi_total finite-Support;
end;
:: POLYNOM1:funcreg 31
registration
let a1 be ordinal set;
let a2 be non empty right_complementable add-associative right_zeroed addLoopStr;
let a3 be Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2;
cluster - a3 -> Function-like quasi_total finite-Support;
end;
:: POLYNOM1:funcreg 32
registration
let a1 be Element of NAT;
let a2 be non empty right_complementable add-associative right_zeroed addLoopStr;
let a3, a4 be Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2;
cluster a3 - a4 -> Function-like quasi_total finite-Support;
end;
:: POLYNOM1:funcreg 33
registration
let a1 be ordinal set;
let a2 be non empty ZeroStr;
cluster 0_(a1,a2) -> Function-like quasi_total finite-Support;
end;
:: POLYNOM1:funcreg 34
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable right-distributive right_unital add-associative right_zeroed doubleLoopStr;
cluster 1_(a1,a2) -> Function-like quasi_total finite-Support;
end;
:: POLYNOM1:funcreg 35
registration
let a1 be ordinal set;
let a2 be non empty right_complementable right_unital distributive add-associative right_zeroed doubleLoopStr;
let a3, a4 be Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2;
cluster a3 *' a4 -> Function-like quasi_total finite-Support;
end;
:: POLYNOM1:funcnot 29 => POLYNOM1:func 29
definition
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable right_unital distributive add-associative right_zeroed doubleLoopStr;
func Polynom-Ring(A1,A2) -> non empty strict doubleLoopStr means
(for b1 being set holds
b1 in the carrier of it
iff
b1 is Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2) &
(for b1, b2 being Element of the carrier of it
for b3, b4 being Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2
st b1 = b3 & b2 = b4
holds b1 + b2 = b3 + b4) &
(for b1, b2 being Element of the carrier of it
for b3, b4 being Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2
st b1 = b3 & b2 = b4
holds b1 * b2 = b3 *' b4) &
0. it = 0_(a1,a2) &
1. it = 1_(a1,a2);
end;
:: POLYNOM1:def 27
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable right_unital distributive add-associative right_zeroed doubleLoopStr
for b3 being non empty strict doubleLoopStr holds
b3 = Polynom-Ring(b1,b2)
iff
(for b4 being set holds
b4 in the carrier of b3
iff
b4 is Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2) &
(for b4, b5 being Element of the carrier of b3
for b6, b7 being Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2
st b4 = b6 & b5 = b7
holds b4 + b5 = b6 + b7) &
(for b4, b5 being Element of the carrier of b3
for b6, b7 being Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2
st b4 = b6 & b5 = b7
holds b4 * b5 = b6 *' b7) &
0. b3 = 0_(b1,b2) &
1. b3 = 1_(b1,b2);
:: POLYNOM1:funcreg 36
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable right_unital distributive Abelian add-associative right_zeroed doubleLoopStr;
cluster Polynom-Ring(a1,a2) -> non empty strict Abelian;
end;
:: POLYNOM1:funcreg 37
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable right_unital distributive add-associative right_zeroed doubleLoopStr;
cluster Polynom-Ring(a1,a2) -> non empty strict add-associative;
end;
:: POLYNOM1:funcreg 38
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable right_unital distributive add-associative right_zeroed doubleLoopStr;
cluster Polynom-Ring(a1,a2) -> non empty strict right_zeroed;
end;
:: POLYNOM1:funcreg 39
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable right_unital distributive add-associative right_zeroed doubleLoopStr;
cluster Polynom-Ring(a1,a2) -> non empty right_complementable strict;
end;
:: POLYNOM1:funcreg 40
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable commutative right_unital distributive Abelian add-associative right_zeroed doubleLoopStr;
cluster Polynom-Ring(a1,a2) -> non empty strict commutative;
end;
:: POLYNOM1:funcreg 41
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable associative right_unital distributive Abelian add-associative right_zeroed doubleLoopStr;
cluster Polynom-Ring(a1,a2) -> non empty strict associative;
end;
:: POLYNOM1:funcreg 42
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
cluster Polynom-Ring(a1,a2) -> non empty strict right-distributive well-unital;
end;
:: POLYNOM1:th 90
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable associative right_unital distributive Abelian add-associative right_zeroed doubleLoopStr holds
1. Polynom-Ring(b1,b2) = 1_(b1,b2);
:: POLYNOM1:th 91
theorem
for b1 being set
for b2, b3 being real-valued ManySortedSet of b1 holds
support (b2 + b3) c= (support b2) \/ support b3;