:: POLYNOM1 semantic presentation
Lemma1:
for b1, b2 being Nat holds multnat . b1,b2 = b1 * b2
by BINOP_2:def 24;
theorem Th1: :: POLYNOM1:1
canceled;
theorem Th2: :: POLYNOM1:2
theorem Th3: :: POLYNOM1:3
for
b1,
b2,
b3 being
Nat holds
(b1 -' b2) -' b3 = b1 -' (b2 + b3)
theorem Th4: :: POLYNOM1:4
theorem Th5: :: POLYNOM1:5
theorem Th6: :: POLYNOM1:6
theorem Th7: :: POLYNOM1:7
registration
let c1 be non
empty set ;
let c2,
c3 be
BinOp of
c1;
let c4,
c5 be
Element of
c1;
cluster doubleLoopStr(#
a1,
a2,
a3,
a4,
a5 #)
-> non
empty ;
coherence
not doubleLoopStr(# c1,c2,c3,c4,c5 #) is empty
by STRUCT_0:def 1;
end;
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 Def1 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 Th25: :: POLYNOM1:25
canceled;
theorem Th26: :: 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 Def4 POLYNOM1:def 4 :
canceled;
:: deftheorem Def5 defines + POLYNOM1:def 5 :
:: deftheorem Def6 defines -' POLYNOM1:def 6 :
theorem Th37: :: POLYNOM1:37
theorem Th38: :: POLYNOM1:38
theorem Th39: :: POLYNOM1:39
theorem Th40: :: 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 :
for
b1 being
Ordinal for
b2,
b3 being
bag of
b1 holds
(
b2 < b3 iff ex
b4 being
Ordinal st
(
b2 . b4 < b3 . b4 & ( for
b5 being
Ordinal st
b5 in b4 holds
b2 . b5 = b3 . b5 ) ) );
theorem Th45: :: POLYNOM1:45
for
b1 being
Ordinal for
b2,
b3,
b4 being
bag of
b1 st
b2 < b3 &
b3 < b4 holds
b2 < b4
:: deftheorem Def12 defines <=' POLYNOM1:def 12 :
for
b1 being
Ordinal for
b2,
b3 being
bag of
b1 holds
(
b2 <=' b3 iff (
b2 < b3 or
b2 = b3 ) );
theorem Th46: :: POLYNOM1:46
theorem Th47: :: POLYNOM1:47
for
b1 being
Ordinal for
b2,
b3,
b4 being
bag of
b1 st
b2 < b3 &
b3 <=' b4 holds
b2 < b4
theorem Th48: :: POLYNOM1:48
for
b1 being
Ordinal for
b2,
b3,
b4 being
bag of
b1 st
b2 <=' b3 &
b3 < b4 holds
b2 < b4
theorem Th49: :: POLYNOM1:49
for
b1 being
Ordinal for
b2,
b3 being
bag of
b1 holds
(
b2 <=' b3 or
b3 <=' b2 )
:: deftheorem Def13 defines divides POLYNOM1:def 13 :
for
b1 being
set for
b2,
b3 being
bag of
b1 holds
(
b2 divides b3 iff for
b4 being
set holds
b2 . b4 <= b3 . b4 );
theorem Th50: :: POLYNOM1:50
for
b1 being
set for
b2,
b3 being
bag of
b1 st ( for
b4 being
set st
b4 in b1 holds
b2 . b4 <= b3 . b4 ) holds
b2 divides b3
theorem Th51: :: POLYNOM1:51
theorem Th52: :: POLYNOM1:52
for
b1 being
set for
b2,
b3 being
bag of
b1 holds
(b3 + b2) -' b2 = b3
theorem Th53: :: POLYNOM1:53
theorem Th54: :: POLYNOM1:54
for
b1 being
set for
b2,
b3,
b4 being
bag of
b1 st
b2 = b3 + b4 holds
b3 divides b2
:: deftheorem Def14 defines Bags POLYNOM1:def 14 :
for
b1 being
set for
b2 being
set holds
(
b2 = Bags b1 iff for
b3 being
set holds
(
b3 in b2 iff
b3 is
bag of
b1 ) );
theorem Th55: :: POLYNOM1:55
:: deftheorem Def15 defines EmptyBag POLYNOM1:def 15 :
theorem Th56: :: POLYNOM1:56
theorem Th57: :: POLYNOM1:57
theorem Th58: :: POLYNOM1:58
theorem Th59: :: POLYNOM1:59
theorem Th60: :: POLYNOM1:60
theorem Th61: :: POLYNOM1:61
theorem Th62: :: POLYNOM1:62
theorem Th63: :: POLYNOM1:63
theorem Th64: :: POLYNOM1:64
:: deftheorem Def16 defines BagOrder POLYNOM1:def 16 :
Lemma69:
for b1 being Ordinal holds BagOrder b1 is_reflexive_in Bags b1
Lemma70:
for b1 being Ordinal holds BagOrder b1 is_antisymmetric_in Bags b1
Lemma71:
for b1 being Ordinal holds BagOrder b1 is_transitive_in Bags b1
Lemma72:
for b1 being Ordinal holds BagOrder b1 linearly_orders Bags b1
:: 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 Def20 POLYNOM1:def 20 :
canceled;
:: deftheorem Def21 defines + POLYNOM1:def 21 :
for
b1 being
set for
b2 being non
empty LoopStr for
b3,
b4,
b5 being
Series of
b1,
b2 holds
(
b5 = b3 + b4 iff for
b6 being
bag of
b1 holds
b5 . b6 = (b3 . b6) + (b4 . b6) );
theorem Th79: :: POLYNOM1:79
theorem Th80: :: POLYNOM1:80
:: deftheorem Def22 defines - POLYNOM1:def 22 :
:: deftheorem Def23 defines - POLYNOM1:def 23 :
:: deftheorem Def24 defines 0_ POLYNOM1:def 24 :
theorem Th81: :: POLYNOM1:81
theorem Th82: :: POLYNOM1:82
:: deftheorem Def25 defines 1_ POLYNOM1:def 25 :
theorem Th83: :: POLYNOM1:83
theorem Th84: :: POLYNOM1:84
definition
let c1 be
Ordinal;
let c2 be non
empty add-associative right_zeroed right_complementable doubleLoopStr ;
let c3,
c4 be
Series of
c1,
c2;
func c3 *' c4 -> Series of
a1,
a2 means :
Def26:
:: POLYNOM1:def 26
for
b1 being
bag of
a1 ex
b2 being
FinSequence of the
carrier of
a2 st
(
a5 . b1 = Sum b2 &
len b2 = len (decomp b1) & ( for
b3 being
Nat st
b3 in dom b2 holds
ex
b4,
b5 being
bag of
a1 st
(
(decomp b1) /. b3 = <*b4,b5*> &
b2 /. b3 = (a3 . b4) * (a4 . b5) ) ) );
existence
ex b1 being Series of c1,c2 st
for b2 being bag of c1 ex b3 being FinSequence of the carrier of c2 st
( b1 . b2 = Sum b3 & len b3 = len (decomp b2) & ( for b4 being Nat st b4 in dom b3 holds
ex b5, b6 being bag of c1 st
( (decomp b2) /. b4 = <*b5,b6*> & b3 /. b4 = (c3 . b5) * (c4 . b6) ) ) )
uniqueness
for b1, b2 being Series of c1,c2 st ( for b3 being bag of c1 ex b4 being FinSequence of the carrier of c2 st
( b1 . b3 = Sum b4 & len b4 = len (decomp b3) & ( for b5 being Nat st b5 in dom b4 holds
ex b6, b7 being bag of c1 st
( (decomp b3) /. b5 = <*b6,b7*> & b4 /. b5 = (c3 . b6) * (c4 . b7) ) ) ) ) & ( for b3 being bag of c1 ex b4 being FinSequence of the carrier of c2 st
( b2 . b3 = Sum b4 & len b4 = len (decomp b3) & ( for b5 being Nat st b5 in dom b4 holds
ex b6, b7 being bag of c1 st
( (decomp b3) /. b5 = <*b6,b7*> & b4 /. b5 = (c3 . b6) * (c4 . b7) ) ) ) ) holds
b1 = b2
end;
:: deftheorem Def26 defines *' POLYNOM1:def 26 :
theorem Th85: :: POLYNOM1:85
theorem Th86: :: POLYNOM1:86
theorem Th87: :: POLYNOM1:87
theorem Th88: :: POLYNOM1:88
theorem Th89: :: POLYNOM1:89
definition
let c1 be
Ordinal;
let c2 be non
empty add-associative right_zeroed right_complementable unital distributive non
trivial doubleLoopStr ;
func Polynom-Ring c1,
c2 -> non
empty strict doubleLoopStr means :
Def27:
:: POLYNOM1:def 27
( ( for
b1 being
set holds
(
b1 in the
carrier of
a3 iff
b1 is
Polynomial of
a1,
a2 ) ) & ( for
b1,
b2 being
Element of
a3 for
b3,
b4 being
Polynomial of
a1,
a2 st
b1 = b3 &
b2 = b4 holds
b1 + b2 = b3 + b4 ) & ( for
b1,
b2 being
Element of
a3 for
b3,
b4 being
Polynomial of
a1,
a2 st
b1 = b3 &
b2 = b4 holds
b1 * b2 = b3 *' b4 ) &
0. a3 = 0_ a1,
a2 &
1_ a3 = 1_ a1,
a2 );
existence
ex b1 being non empty strict doubleLoopStr st
( ( for b2 being set holds
( b2 in the carrier of b1 iff b2 is Polynomial of c1,c2 ) ) & ( for b2, b3 being Element of b1
for b4, b5 being Polynomial of c1,c2 st b2 = b4 & b3 = b5 holds
b2 + b3 = b4 + b5 ) & ( for b2, b3 being Element of b1
for b4, b5 being Polynomial of c1,c2 st b2 = b4 & b3 = b5 holds
b2 * b3 = b4 *' b5 ) & 0. b1 = 0_ c1,c2 & 1_ b1 = 1_ c1,c2 )
uniqueness
for b1, b2 being non empty strict doubleLoopStr st ( for b3 being set holds
( b3 in the carrier of b1 iff b3 is Polynomial of c1,c2 ) ) & ( for b3, b4 being Element of b1
for b5, b6 being Polynomial of c1,c2 st b3 = b5 & b4 = b6 holds
b3 + b4 = b5 + b6 ) & ( for b3, b4 being Element of b1
for b5, b6 being Polynomial of c1,c2 st b3 = b5 & b4 = b6 holds
b3 * b4 = b5 *' b6 ) & 0. b1 = 0_ c1,c2 & 1_ b1 = 1_ c1,c2 & ( for b3 being set holds
( b3 in the carrier of b2 iff b3 is Polynomial of c1,c2 ) ) & ( for b3, b4 being Element of b2
for b5, b6 being Polynomial of c1,c2 st b3 = b5 & b4 = b6 holds
b3 + b4 = b5 + b6 ) & ( for b3, b4 being Element of b2
for b5, b6 being Polynomial of c1,c2 st b3 = b5 & b4 = b6 holds
b3 * b4 = b5 *' b6 ) & 0. b2 = 0_ c1,c2 & 1_ b2 = 1_ c1,c2 holds
b1 = b2
end;
:: deftheorem Def27 defines Polynom-Ring POLYNOM1:def 27 :
for
b1 being
Ordinal for
b2 being non
empty add-associative right_zeroed right_complementable unital distributive non
trivial 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
Polynomial of
b1,
b2 ) ) & ( for
b4,
b5 being
Element of
b3 for
b6,
b7 being
Polynomial of
b1,
b2 st
b4 = b6 &
b5 = b7 holds
b4 + b5 = b6 + b7 ) & ( for
b4,
b5 being
Element of
b3 for
b6,
b7 being
Polynomial of
b1,
b2 st
b4 = b6 &
b5 = b7 holds
b4 * b5 = b6 *' b7 ) &
0. b3 = 0_ b1,
b2 &
1_ b3 = 1_ b1,
b2 ) );
E104:
now
let c1 be
Ordinal;
let c2 be non
empty Abelian add-associative right_zeroed right_complementable unital associative distributive non
trivial doubleLoopStr ;
set c3 =
Polynom-Ring c1,
c2;
let c4,
c5 be
Element of
(Polynom-Ring c1,c2);
assume E105:
c5 = 1_ (Polynom-Ring c1,c2)
;
reconsider c6 =
c4 as
Polynomial of
c1,
c2 by Def27;
E106:
1_ (Polynom-Ring c1,c2) = 1_ c1,
c2
by Def27;
hence c4 * c5 =
c6 *' (1_ c1,c2)
by E105, Def27
.=
c4
by Th88
;
thus c5 * c4 =
(1_ c1,c2) *' c6
by E106, E105, Def27
.=
c4
by Th89
;
end;
theorem Th90: :: POLYNOM1:90
theorem Th91: :: POLYNOM1:91