Article POLYNOM2, MML version 4.99.1005
:: POLYNOM2:sch 1
scheme POLYNOM2:sch 1
{F1 -> non empty set,
F2 -> Element of NAT}:
ex b1 being FinSequence of F1() st
dom b1 = Seg F2() &
(for b2 being Element of NAT
st b2 in Seg F2()
holds P1[b2, b1 /. b2])
provided
for b1 being Element of NAT
st b1 in Seg F2()
holds ex b2 being Element of F1() st
P1[b1, b2];
:: POLYNOM2:sch 2
scheme POLYNOM2:sch 2
{F1 -> non empty set,
F2 -> Element of F1(),
F3 -> Element of NAT}:
ex b1 being FinSequence of F1() st
len b1 = F3() &
(b1 /. 1 = F2() or F3() = 0) &
(for b2 being Element of NAT
st 1 <= b2 & b2 <= F3() - 1
holds P1[b2, b1 /. b2, b1 /. (b2 + 1)])
provided
for b1 being Element of NAT
st 1 <= b1 & b1 <= F3() - 1
for b2 being Element of F1() holds
ex b3 being Element of F1() st
P1[b1, b2, b3];
:: POLYNOM2:sch 3
scheme POLYNOM2:sch 3
{F1 -> set,
F2 -> Element of F1(),
F3 -> Element of NAT,
F4 -> FinSequence of F1(),
F5 -> FinSequence of F1()}:
F4() = F5()
provided
for b1 being Element of NAT
st 1 <= b1 & b1 <= F3() - 1
for b2, b3, b4 being Element of F1()
st P1[b1, b2, b3] & P1[b1, b2, b4]
holds b3 = b4
and
len F4() = F3() &
(F4() /. 1 = F2() or F3() = 0) &
(for b1 being Element of NAT
st 1 <= b1 & b1 <= F3() - 1
holds P1[b1, F4() /. b1, F4() /. (b1 + 1)])
and
len F5() = F3() &
(F5() /. 1 = F2() or F3() = 0) &
(for b1 being Element of NAT
st 1 <= b1 & b1 <= F3() - 1
holds P1[b1, F5() /. b1, F5() /. (b1 + 1)]);
:: POLYNOM2:sch 4
scheme POLYNOM2:sch 4
{F1 -> Element of NAT,
F2 -> Element of NAT}:
for b1 being Element of NAT
st F1() <= b1 & b1 <= F2()
holds P1[b1]
provided
P1[F1()]
and
for b1 being Element of NAT
st F1() <= b1 & b1 < F2() & P1[b1]
holds P1[b1 + 1];
:: POLYNOM2:sch 5
scheme POLYNOM2:sch 5
{F1 -> Element of NAT,
F2 -> Element of NAT}:
for b1 being Element of NAT
st F1() <= b1 & b1 <= F2()
holds P1[b1]
provided
P1[F1()]
and
for b1 being Element of NAT
st F1() <= b1 &
b1 < F2() &
(for b2 being Element of NAT
st F1() <= b2 & b2 <= b1
holds P1[b2])
holds P1[b1 + 1];
:: POLYNOM2:sch 6
scheme POLYNOM2:sch 6
{F1 -> set,
F2 -> FinSequence of F1()}:
for b1 being Element of NAT
st 1 <= b1 & b1 <= len F2()
holds P1[F2() . b1]
provided
P1[F2() . 1]
and
for b1 being Element of NAT
st 1 <= b1 & b1 < len F2() & P1[F2() . b1]
holds P1[F2() . (b1 + 1)];
:: POLYNOM2:th 2
theorem
for b1 being non empty unital associative multMagma
for b2 being Element of the carrier of b1
for b3, b4 being Element of NAT holds
(power b1) .(b2,b3 + b4) = ((power b1) .(b2,b3)) * ((power b1) .(b2,b4));
:: POLYNOM2:exreg 1
registration
cluster non empty non trivial right_complementable associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
end;
:: POLYNOM2:th 4
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being Element of NAT
st b2 in dom b1
for b3 being Element of NAT
st 1 <= b3 & b3 <= b2
holds b3 in dom b1;
:: POLYNOM2:th 5
theorem
for b1 being non empty right_zeroed left_zeroed addLoopStr
for b2 being FinSequence of the carrier of b1
for b3 being Element of NAT
st b3 in dom b2 &
(for b4 being Element of NAT
st b4 in dom b2 & b4 <> b3
holds b2 /. b4 = 0. b1)
holds Sum b2 = b2 /. b3;
:: POLYNOM2:th 6
theorem
for b1 being non empty right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b2 being FinSequence of the carrier of b1
st ex b3 being Element of NAT st
b3 in dom b2 & b2 /. b3 = 0. b1
holds Product b2 = 0. b1;
:: POLYNOM2:th 7
theorem
for b1 being non empty Abelian add-associative addLoopStr
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the carrier of b1
st len b3 = len b4 &
(ex b5 being Element of NAT st
b5 in dom b3 &
b4 /. b5 = b2 + (b3 /. b5) &
(for b6 being Element of NAT
st b6 in dom b3 & b6 <> b5
holds b4 /. b6 = b3 /. b6))
holds Sum b4 = b2 + Sum b3;
:: POLYNOM2:th 8
theorem
for b1 being non empty associative commutative doubleLoopStr
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the carrier of b1
st len b3 = len b4 &
(ex b5 being Element of NAT st
b5 in dom b3 &
b4 /. b5 = b2 * (b3 /. b5) &
(for b6 being Element of NAT
st b6 in dom b3 & b6 <> b5
holds b4 /. b6 = b3 /. b6))
holds Product b4 = b2 * Product b3;
:: POLYNOM2:th 9
theorem
for b1 being set
for b2 being empty Element of bool b1
for b3 being total reflexive antisymmetric transitive Relation of b1,b1
st b3 linearly_orders b2
holds SgmX(b3,b2) = {};
:: POLYNOM2:th 10
theorem
for b1 being set
for b2 being finite Element of bool b1
for b3 being total reflexive antisymmetric transitive Relation of b1,b1
st b3 linearly_orders b2
for b4, b5 being Element of NAT
st b4 in dom SgmX(b3,b2) &
b5 in dom SgmX(b3,b2) &
(SgmX(b3,b2)) /. b4 = (SgmX(b3,b2)) /. b5
holds b4 = b5;
:: POLYNOM2:th 11
theorem
for b1 being set
for b2 being finite Element of bool b1
for b3 being Element of b1
st not b3 in b2
for b4 being finite Element of bool b1
st b4 = {b3} \/ b2
for b5 being total reflexive antisymmetric transitive Relation of b1,b1
st b5 linearly_orders b4
for b6 being Element of NAT
st b6 in dom SgmX(b5,b4) & (SgmX(b5,b4)) /. b6 = b3
for b7 being Element of NAT
st 1 <= b7 & b7 <= b6 - 1
holds (SgmX(b5,b4)) /. b7 = (SgmX(b5,b2)) /. b7;
:: POLYNOM2:th 12
theorem
for b1 being set
for b2 being finite Element of bool b1
for b3 being Element of b1
st not b3 in b2
for b4 being finite Element of bool b1
st b4 = {b3} \/ b2
for b5 being total reflexive antisymmetric transitive Relation of b1,b1
st b5 linearly_orders b4
for b6 being Element of NAT
st b6 in dom SgmX(b5,b4) & (SgmX(b5,b4)) /. b6 = b3
for b7 being Element of NAT
st b6 <= b7 & b7 <= len SgmX(b5,b2)
holds (SgmX(b5,b4)) /. (b7 + 1) = (SgmX(b5,b2)) /. b7;
:: POLYNOM2:th 13
theorem
for b1 being non empty set
for b2 being finite Element of bool b1
for b3 being Element of b1
st not b3 in b2
for b4 being finite Element of bool b1
st b4 = {b3} \/ b2
for b5 being total reflexive antisymmetric transitive Relation of b1,b1
st b5 linearly_orders b4
for b6 being Element of NAT
st b6 + 1 in dom SgmX(b5,b4) & (SgmX(b5,b4)) /. (b6 + 1) = b3
holds SgmX(b5,b4) = Ins(SgmX(b5,b2),b6,b3);
:: POLYNOM2:th 14
theorem
for b1 being set
for b2 being natural-valued finite-support ManySortedSet of b1
st support b2 = {}
holds b2 = EmptyBag b1;
:: POLYNOM2:attrnot 1 => POLYNOM2:attr 1
definition
let a1 be set;
let a2 be natural-valued finite-support ManySortedSet of a1;
attr a2 is empty means
a2 = EmptyBag a1;
end;
:: POLYNOM2:dfs 1
definiens
let a1 be set;
let a2 be natural-valued finite-support ManySortedSet of a1;
To prove
a2 is empty
it is sufficient to prove
thus a2 = EmptyBag a1;
:: POLYNOM2:def 1
theorem
for b1 being set
for b2 being natural-valued finite-support ManySortedSet of b1 holds
b2 is empty(b1)
iff
b2 = EmptyBag b1;
:: POLYNOM2:exreg 2
registration
let a1 be non empty set;
cluster Relation-like Function-like complex-valued ext-real-valued real-valued rational-valued integer-valued natural-valued finite-support non empty ManySortedSet of a1;
end;
:: POLYNOM2:funcnot 1 => POLYNOM2:func 1
definition
let a1 be set;
let a2 be natural-valued finite-support ManySortedSet of a1;
redefine func support a2 -> finite Element of bool a1;
end;
:: POLYNOM2:th 15
theorem
for b1 being ordinal set
for b2 being natural-valued finite-support ManySortedSet of b1 holds
RelIncl b1 linearly_orders support b2;
:: POLYNOM2:funcnot 2 => POLYNOM2:func 2
definition
let a1 be set;
let a2 be FinSequence of a1;
let a3 be natural-valued finite-support ManySortedSet of a1;
redefine func a3 * a2 -> Function-like Relation of NAT,NAT;
end;
:: POLYNOM2:funcnot 3 => POLYNOM2:func 3
definition
let a1 be ordinal set;
let a2 be natural-valued finite-support ManySortedSet of a1;
let a3 be non empty non trivial well-unital doubleLoopStr;
let a4 be Function-like quasi_total Relation of a1,the carrier of a3;
func eval(A2,A4) -> Element of the carrier of a3 means
ex b1 being FinSequence of the carrier of a3 st
len b1 = len SgmX(RelIncl a1,support a2) &
it = Product b1 &
(for b2 being Element of NAT
st 1 <= b2 & b2 <= len b1
holds b1 /. b2 = (power a3) .((a4 * SgmX(RelIncl a1,support a2)) /. b2,(a2 * SgmX(RelIncl a1,support a2)) /. b2));
end;
:: POLYNOM2:def 2
theorem
for b1 being ordinal set
for b2 being natural-valued finite-support ManySortedSet of b1
for b3 being non empty non trivial well-unital doubleLoopStr
for b4 being Function-like quasi_total Relation of b1,the carrier of b3
for b5 being Element of the carrier of b3 holds
b5 = eval(b2,b4)
iff
ex b6 being FinSequence of the carrier of b3 st
len b6 = len SgmX(RelIncl b1,support b2) &
b5 = Product b6 &
(for b7 being Element of NAT
st 1 <= b7 & b7 <= len b6
holds b6 /. b7 = (power b3) .((b4 * SgmX(RelIncl b1,support b2)) /. b7,(b2 * SgmX(RelIncl b1,support b2)) /. b7));
:: POLYNOM2:th 16
theorem
for b1 being ordinal set
for b2 being non empty non trivial well-unital doubleLoopStr
for b3 being Function-like quasi_total Relation of b1,the carrier of b2 holds
eval(EmptyBag b1,b3) = 1. b2;
:: POLYNOM2:th 17
theorem
for b1 being ordinal set
for b2 being non empty non trivial well-unital doubleLoopStr
for b3 being set
for b4 being natural-valued finite-support ManySortedSet of b1
st support b4 = {b3}
for b5 being Function-like quasi_total Relation of b1,the carrier of b2 holds
eval(b4,b5) = (power b2) .(b5 . b3,b4 . b3);
:: POLYNOM2:th 18
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3, 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(b3 + b4,b5) = (eval(b3,b5)) * eval(b4,b5);
:: POLYNOM2:funcreg 1
registration
let a1 be ordinal set;
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;
:: POLYNOM2:th 19
theorem
for b1 being non empty non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b2 being ordinal set
for b3 being Function-like quasi_total finite-Support Relation of Bags b2,the carrier of b1
st Support b3 = {}
holds b3 = 0_(b2,b1);
:: POLYNOM2:funcreg 2
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr;
let a3 be Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2;
cluster Support a3 -> finite;
end;
:: POLYNOM2:th 20
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2 holds
BagOrder b1 linearly_orders Support b3;
:: POLYNOM2:funcnot 4 => POLYNOM2:func 4
definition
let a1 be ordinal set;
let a2 be Element of Bags a1;
func A2 @ -> natural-valued finite-support ManySortedSet of a1 equals
a2;
end;
:: POLYNOM2:def 3
theorem
for b1 being ordinal set
for b2 being Element of Bags b1 holds
b2 @ = b2;
:: POLYNOM2:funcnot 5 => POLYNOM2:func 5
definition
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr;
let a3 be Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2;
let a4 be Function-like quasi_total Relation of a1,the carrier of a2;
func eval(A3,A4) -> Element of the carrier of a2 means
ex b1 being FinSequence of the carrier of a2 st
len b1 = len SgmX(BagOrder a1,Support a3) &
it = Sum b1 &
(for b2 being Element of NAT
st 1 <= b2 & b2 <= len b1
holds b1 /. b2 = ((a3 * SgmX(BagOrder a1,Support a3)) /. b2) * eval(((SgmX(BagOrder a1,Support a3)) /. b2) @,a4));
end;
:: POLYNOM2:def 4
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2
for b4 being Function-like quasi_total Relation of b1,the carrier of b2
for b5 being Element of the carrier of b2 holds
b5 = eval(b3,b4)
iff
ex b6 being FinSequence of the carrier of b2 st
len b6 = len SgmX(BagOrder b1,Support b3) &
b5 = Sum b6 &
(for b7 being Element of NAT
st 1 <= b7 & b7 <= len b6
holds b6 /. b7 = ((b3 * SgmX(BagOrder b1,Support b3)) /. b7) * eval(((SgmX(BagOrder b1,Support b3)) /. b7) @,b4));
:: POLYNOM2:th 21
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2
for b4 being natural-valued finite-support ManySortedSet of b1
st Support b3 = {b4}
for b5 being Function-like quasi_total Relation of b1,the carrier of b2 holds
eval(b3,b5) = (b3 . b4) * eval(b4,b5);
:: POLYNOM2:th 22
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total Relation of b1,the carrier of b2 holds
eval(0_(b1,b2),b3) = 0. b2;
:: POLYNOM2:th 23
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total Relation of b1,the carrier of b2 holds
eval(1_(b1,b2),b3) = 1. b2;
:: POLYNOM2:th 24
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total finite-Support 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) = - eval(b3,b4);
:: POLYNOM2:th 25
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3, b4 being Function-like quasi_total finite-Support Relation of Bags b1,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)) + eval(b4,b5);
:: POLYNOM2:th 26
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3, b4 being Function-like quasi_total finite-Support Relation of Bags b1,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)) - eval(b4,b5);
:: POLYNOM2:th 27
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3, b4 being Function-like quasi_total finite-Support Relation of Bags b1,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)) * eval(b4,b5);
:: POLYNOM2:funcnot 6 => POLYNOM2:func 6
definition
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr;
let a3 be Function-like quasi_total Relation of a1,the carrier of a2;
func Polynom-Evaluation(A1,A2,A3) -> Function-like quasi_total Relation of the carrier of Polynom-Ring(a1,a2),the carrier of a2 means
for b1 being Function-like quasi_total finite-Support Relation of Bags a1,the carrier of a2 holds
it . b1 = eval(b1,a3);
end;
:: POLYNOM2:def 5
theorem
for b1 being ordinal set
for b2 being non empty non trivial right_complementable add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total Relation of b1,the carrier of b2
for b4 being Function-like quasi_total Relation of the carrier of Polynom-Ring(b1,b2),the carrier of b2 holds
b4 = Polynom-Evaluation(b1,b2,b3)
iff
for b5 being Function-like quasi_total finite-Support Relation of Bags b1,the carrier of b2 holds
b4 . b5 = eval(b5,b3);
:: POLYNOM2:funcreg 3
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable associative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
cluster Polynom-Ring(a1,a2) -> non empty strict well-unital;
end;
:: POLYNOM2:funcreg 4
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable associative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
let a3 be Function-like quasi_total Relation of a1,the carrier of a2;
cluster Polynom-Evaluation(a1,a2,a3) -> Function-like quasi_total unity-preserving;
end;
:: POLYNOM2:funcreg 5
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
let a3 be Function-like quasi_total Relation of a1,the carrier of a2;
cluster Polynom-Evaluation(a1,a2,a3) -> Function-like quasi_total additive;
end;
:: POLYNOM2:funcreg 6
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
let a3 be Function-like quasi_total Relation of a1,the carrier of a2;
cluster Polynom-Evaluation(a1,a2,a3) -> Function-like quasi_total multiplicative;
end;
:: POLYNOM2:funcreg 7
registration
let a1 be ordinal set;
let a2 be non empty non trivial right_complementable associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
let a3 be Function-like quasi_total Relation of a1,the carrier of a2;
cluster Polynom-Evaluation(a1,a2,a3) -> Function-like quasi_total RingHomomorphism;
end;