:: Multivariate polynomials with arbitrary number of variables
:: by Piotr Rudnicki and Andrzej Trybulec
::
:: Received September 22, 1999
:: Copyright (c) 1999 Association of Mizar Users
theorem :: POLYNOM1:1
canceled;
theorem :: POLYNOM1:2
canceled;
theorem :: POLYNOM1:3
canceled;
theorem Th4: :: POLYNOM1:4
theorem Th5: :: POLYNOM1:5
theorem :: POLYNOM1:6
canceled;
theorem Th7: :: POLYNOM1:7
theorem Th8: :: POLYNOM1:8
theorem Th9: :: POLYNOM1:9
theorem Th10: :: POLYNOM1:10
theorem Th11: :: POLYNOM1:11
theorem Th12: :: POLYNOM1:12
theorem Th13: :: POLYNOM1:13
theorem Th14: :: POLYNOM1:14
theorem Th15: :: POLYNOM1:15
theorem Th16: :: POLYNOM1:16
theorem Th17: :: POLYNOM1:17
theorem Th18: :: POLYNOM1:18
:: deftheorem POLYNOM1:def 1 :
canceled;
:: deftheorem Def2 defines * POLYNOM1:def 2 :
:: deftheorem Def3 defines * POLYNOM1:def 3 :
theorem Th19: :: POLYNOM1:19
theorem Th20: :: POLYNOM1:20
theorem Th21: :: POLYNOM1:21
theorem Th22: :: POLYNOM1:22
theorem Th23: :: POLYNOM1:23
theorem Th24: :: POLYNOM1:24
theorem :: POLYNOM1:25
canceled;
theorem :: POLYNOM1:26
canceled;
theorem Th27: :: POLYNOM1:27
theorem Th28: :: POLYNOM1:28
theorem Th29: :: POLYNOM1:29
theorem Th30: :: POLYNOM1:30
theorem Th31: :: POLYNOM1:31
theorem Th32: :: POLYNOM1:32
theorem Th33: :: POLYNOM1:33
theorem Th34: :: POLYNOM1:34
theorem Th35: :: POLYNOM1:35
theorem Th36: :: POLYNOM1:36
:: deftheorem POLYNOM1:def 4 :
canceled;
:: deftheorem Def5 defines + POLYNOM1:def 5 :
:: deftheorem Def6 defines -' POLYNOM1:def 6 :
theorem :: POLYNOM1:37
theorem Th38: :: POLYNOM1:38
theorem Th39: :: POLYNOM1:39
theorem :: POLYNOM1:40
:: deftheorem Def7 defines support POLYNOM1:def 7 :
theorem Th41: :: POLYNOM1:41
:: deftheorem Def8 defines finite-support POLYNOM1:def 8 :
theorem Th42: :: POLYNOM1:42
theorem Th43: :: POLYNOM1:43
:: deftheorem Def9 defines Support POLYNOM1:def 9 :
:: deftheorem Def10 defines finite-Support POLYNOM1:def 10 :
theorem Th44: :: POLYNOM1:44
:: deftheorem Def11 defines < POLYNOM1:def 11 :
theorem Th45: :: POLYNOM1:45
for
n being
Ordinal for
p,
q,
r being
bag of
n st
p < q &
q < r holds
p < r
:: deftheorem Def12 defines <=' POLYNOM1:def 12 :
for
n being
Ordinal for
p,
q being
bag of
n holds
(
p <=' q iff (
p < q or
p = q ) );
theorem Th46: :: POLYNOM1:46
theorem :: POLYNOM1:47
for
n being
Ordinal for
p,
q,
r being
bag of
n st
p < q &
q <=' r holds
p < r
theorem :: POLYNOM1:48
for
n being
Ordinal for
p,
q,
r being
bag of
n st
p <=' q &
q < r holds
p < r
theorem Th49: :: POLYNOM1:49
:: deftheorem Def13 defines divides POLYNOM1:def 13 :
for
X being
set for
d,
b being
bag of
X holds
(
d divides b iff for
k being
set holds
d . k <= b . k );
theorem Th50: :: POLYNOM1:50
for
n being
set for
d,
b being
bag of
n st ( for
k being
set st
k in n holds
d . k <= b . k ) holds
d divides b
theorem Th51: :: POLYNOM1:51
theorem Th52: :: POLYNOM1:52
for
X being
set for
b1,
b2 being
bag of
X holds
(b2 + b1) -' b1 = b2
theorem Th53: :: POLYNOM1:53
theorem Th54: :: POLYNOM1:54
for
n being
set for
b,
b1,
b2 being
bag of
n st
b = b1 + b2 holds
b1 divides b
:: deftheorem Def14 defines Bags POLYNOM1:def 14 :
for
X being
set for
b2 being
set holds
(
b2 = Bags X iff for
x being
set holds
(
x in b2 iff
x is
bag of
X ) );
theorem :: POLYNOM1:55
:: deftheorem defines EmptyBag POLYNOM1:def 15 :
theorem Th56: :: POLYNOM1:56
theorem :: POLYNOM1:57
theorem Th58: :: POLYNOM1:58
theorem :: POLYNOM1:59
theorem Th60: :: POLYNOM1:60
theorem Th61: :: POLYNOM1:61
theorem Th62: :: POLYNOM1:62
theorem Th63: :: POLYNOM1:63
theorem :: POLYNOM1:64
:: deftheorem Def16 defines BagOrder POLYNOM1:def 16 :
Lm1:
for n being Ordinal holds BagOrder n is_reflexive_in Bags n
Lm2:
for n being Ordinal holds BagOrder n is_antisymmetric_in Bags n
Lm3:
for n being Ordinal holds BagOrder n is_transitive_in Bags n
Lm4:
for n being Ordinal holds BagOrder n linearly_orders Bags n
:: deftheorem Def17 defines NatMinor POLYNOM1:def 17 :
theorem Th65: :: POLYNOM1:65
theorem Th66: :: POLYNOM1:66
theorem Th67: :: POLYNOM1:67
:: deftheorem Def18 defines divisors POLYNOM1:def 18 :
theorem Th68: :: POLYNOM1:68
theorem Th69: :: POLYNOM1:69
theorem Th70: :: POLYNOM1:70
theorem Th71: :: POLYNOM1:71
:: deftheorem Def19 defines decomp POLYNOM1:def 19 :
theorem Th72: :: POLYNOM1:72
theorem Th73: :: POLYNOM1:73
theorem Th74: :: POLYNOM1:74
theorem Th75: :: POLYNOM1:75
theorem Th76: :: POLYNOM1:76
theorem Th77: :: POLYNOM1:77
theorem Th78: :: POLYNOM1:78
:: deftheorem POLYNOM1:def 20 :
canceled;
:: deftheorem Def21 defines + POLYNOM1:def 21 :
theorem Th79: :: POLYNOM1:79
theorem Th80: :: POLYNOM1:80
:: deftheorem Def22 defines - POLYNOM1:def 22 :
:: deftheorem defines - POLYNOM1:def 23 :
:: deftheorem defines 0_ POLYNOM1:def 24 :
theorem Th81: :: POLYNOM1:81
theorem Th82: :: POLYNOM1:82
:: deftheorem defines 1_ POLYNOM1:def 25 :
theorem Th83: :: POLYNOM1:83
theorem Th84: :: POLYNOM1:84
definition
let n be
Ordinal;
let L be non
empty right_complementable add-associative right_zeroed doubleLoopStr ;
let p,
q be
Series of
n,
L;
func p *' q -> Series of
n,
L means :
Def26:
:: POLYNOM1:def 26
for
b being
bag of
n ex
s being
FinSequence of the
carrier of
L st
(
it . b = Sum s &
len s = len (decomp b) & ( for
k being
Element of
NAT st
k in dom s holds
ex
b1,
b2 being
bag of
n st
(
(decomp b) /. k = <*b1,b2*> &
s /. k = (p . b1) * (q . b2) ) ) );
existence
ex b1 being Series of n,L st
for b being bag of n ex s being FinSequence of the carrier of L st
( b1 . b = Sum s & len s = len (decomp b) & ( for k being Element of NAT st k in dom s holds
ex b1, b2 being bag of n st
( (decomp b) /. k = <*b1,b2*> & s /. k = (p . b1) * (q . b2) ) ) )
uniqueness
for b1, b2 being Series of n,L st ( for b being bag of n ex s being FinSequence of the carrier of L st
( b1 . b = Sum s & len s = len (decomp b) & ( for k being Element of NAT st k in dom s holds
ex b1, b2 being bag of n st
( (decomp b) /. k = <*b1,b2*> & s /. k = (p . b1) * (q . b2) ) ) ) ) & ( for b being bag of n ex s being FinSequence of the carrier of L st
( b2 . b = Sum s & len s = len (decomp b) & ( for k being Element of NAT st k in dom s holds
ex b1, b2 being bag of n st
( (decomp b) /. k = <*b1,b2*> & s /. k = (p . b1) * (q . b2) ) ) ) ) holds
b1 = b2
end;
:: deftheorem Def26 defines *' POLYNOM1:def 26 :
theorem Th85: :: POLYNOM1:85
theorem Th86: :: POLYNOM1:86
theorem :: POLYNOM1:87
theorem Th88: :: POLYNOM1:88
theorem Th89: :: POLYNOM1:89
definition
let n be
Ordinal;
let L be non
empty non
trivial right_complementable right_unital distributive add-associative right_zeroed doubleLoopStr ;
func Polynom-Ring n,
L -> non
empty strict doubleLoopStr means :
Def27:
:: POLYNOM1:def 27
( ( for
x being
set holds
(
x in the
carrier of
it iff
x is
Polynomial of
n,
L ) ) & ( for
x,
y being
Element of
it for
p,
q being
Polynomial of
n,
L st
x = p &
y = q holds
x + y = p + q ) & ( for
x,
y being
Element of
it for
p,
q being
Polynomial of
n,
L st
x = p &
y = q holds
x * y = p *' q ) &
0. it = 0_ n,
L &
1. it = 1_ n,
L );
existence
ex b1 being non empty strict doubleLoopStr st
( ( for x being set holds
( x in the carrier of b1 iff x is Polynomial of n,L ) ) & ( for x, y being Element of b1
for p, q being Polynomial of n,L st x = p & y = q holds
x + y = p + q ) & ( for x, y being Element of b1
for p, q being Polynomial of n,L st x = p & y = q holds
x * y = p *' q ) & 0. b1 = 0_ n,L & 1. b1 = 1_ n,L )
uniqueness
for b1, b2 being non empty strict doubleLoopStr st ( for x being set holds
( x in the carrier of b1 iff x is Polynomial of n,L ) ) & ( for x, y being Element of b1
for p, q being Polynomial of n,L st x = p & y = q holds
x + y = p + q ) & ( for x, y being Element of b1
for p, q being Polynomial of n,L st x = p & y = q holds
x * y = p *' q ) & 0. b1 = 0_ n,L & 1. b1 = 1_ n,L & ( for x being set holds
( x in the carrier of b2 iff x is Polynomial of n,L ) ) & ( for x, y being Element of b2
for p, q being Polynomial of n,L st x = p & y = q holds
x + y = p + q ) & ( for x, y being Element of b2
for p, q being Polynomial of n,L st x = p & y = q holds
x * y = p *' q ) & 0. b2 = 0_ n,L & 1. b2 = 1_ n,L holds
b1 = b2
end;
:: deftheorem Def27 defines Polynom-Ring POLYNOM1:def 27 :
for
n being
Ordinal for
L 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 n,
L iff ( ( for
x being
set holds
(
x in the
carrier of
b3 iff
x is
Polynomial of
n,
L ) ) & ( for
x,
y being
Element of
b3 for
p,
q being
Polynomial of
n,
L st
x = p &
y = q holds
x + y = p + q ) & ( for
x,
y being
Element of
b3 for
p,
q being
Polynomial of
n,
L st
x = p &
y = q holds
x * y = p *' q ) &
0. b3 = 0_ n,
L &
1. b3 = 1_ n,
L ) );
Lm5:
now
let n be
Ordinal;
:: thesis: for L being non empty non trivial right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for x, e being Element of (Polynom-Ring n,L) st e = 1. (Polynom-Ring n,L) holds
( x * e = x & e * x = x )let L be non
empty non
trivial right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr ;
:: thesis: for x, e being Element of (Polynom-Ring n,L) st e = 1. (Polynom-Ring n,L) holds
( x * e = x & e * x = x )set Pm =
Polynom-Ring n,
L;
let x,
e be
Element of
(Polynom-Ring n,L);
:: thesis: ( e = 1. (Polynom-Ring n,L) implies ( x * e = x & e * x = x ) )assume A1:
e = 1. (Polynom-Ring n,L)
;
:: thesis: ( x * e = x & e * x = x )reconsider p =
x as
Polynomial of
n,
L by Def27;
A2:
1. (Polynom-Ring n,L) = 1_ n,
L
by Def27;
hence x * e =
p *' (1_ n,L)
by A1, Def27
.=
x
by Th88
;
:: thesis: e * x = xthus e * x =
(1_ n,L) *' p
by A1, A2, Def27
.=
x
by Th89
;
:: thesis: verum
end;
theorem :: POLYNOM1:90
theorem :: POLYNOM1:91