:: POLYNOM3  semantic presentation
theorem Th1: :: POLYNOM3:1
theorem Th2: :: POLYNOM3:2
theorem Th3: :: POLYNOM3:3
theorem Th4: :: POLYNOM3:4
:: deftheorem Def1   defines < POLYNOM3:def 1 : 
:: deftheorem Def2   defines <= POLYNOM3:def 2 : 
theorem Th5: :: POLYNOM3:5
for 
b1 being  
Nat for 
b2, 
b3, 
b4 being   
Element of 
b1 -tuples_on NAT  holds 
 ( ( 
b2 < b3 & 
b3 < b4 implies 
b2 < b4 ) & ( ( ( 
b2 < b3 & 
b3 <= b4 ) or ( 
b2 <= b3 & 
b3 < b4 ) or ( 
b2 <= b3 & 
b3 <= b4 ) ) implies 
b2 <= b4 ) )
theorem Th6: :: POLYNOM3:6
theorem Th7: :: POLYNOM3:7
:: deftheorem Def3   defines TuplesOrder POLYNOM3:def 3 : 
:: deftheorem Def4   defines Decomp POLYNOM3:def 4 : 
theorem Th8: :: POLYNOM3:8
theorem Th9: :: POLYNOM3:9
theorem Th10: :: POLYNOM3:10
theorem Th11: :: POLYNOM3:11
theorem Th12: :: POLYNOM3:12
theorem Th13: :: POLYNOM3:13
theorem Th14: :: POLYNOM3:14
:: deftheorem Def5   defines prodTuples POLYNOM3:def 5 : 
theorem Th15: :: POLYNOM3:15
theorem Th16: :: POLYNOM3:16
theorem Th17: :: POLYNOM3:17
theorem Th18: :: POLYNOM3:18
theorem Th19: :: POLYNOM3:19
theorem Th20: :: POLYNOM3:20
theorem Th21: :: POLYNOM3:21
theorem Th22: :: POLYNOM3:22
theorem Th23: :: POLYNOM3:23
:: deftheorem Def6   defines + POLYNOM3:def 6 : 
theorem Th24: :: POLYNOM3:24
theorem Th25: :: POLYNOM3:25
theorem Th26: :: POLYNOM3:26
:: deftheorem Def7   defines - POLYNOM3:def 7 : 
:: deftheorem Def8   defines - POLYNOM3:def 8 : 
theorem Th27: :: POLYNOM3:27
:: deftheorem Def9   defines 0_. POLYNOM3:def 9 : 
theorem Th28: :: POLYNOM3:28
theorem Th29: :: POLYNOM3:29
theorem Th30: :: POLYNOM3:30
:: deftheorem Def10   defines 1_. POLYNOM3:def 10 : 
theorem Th31: :: POLYNOM3:31
:: deftheorem Def11   defines *' POLYNOM3:def 11 : 
theorem Th32: :: POLYNOM3:32
theorem Th33: :: POLYNOM3:33
theorem Th34: :: POLYNOM3:34
theorem Th35: :: POLYNOM3:35
theorem Th36: :: POLYNOM3:36
definition
let c1 be  non 
empty add-associative right_zeroed right_complementable distributive  doubleLoopStr ;
func  Polynom-Ring c1 ->  non 
empty strict  doubleLoopStr  means :
Def12: 
:: POLYNOM3:def 12
( ( for 
b1 being   
set  holds 
 ( 
b1 in the 
carrier of 
a2 iff 
b1 is   
Polynomial of 
a1 ) ) & ( for 
b1, 
b2 being  
Element of 
a2 for 
b3, 
b4 being  
sequence of 
a1  st 
b1 = b3 & 
b2 = b4 holds 
b1 + b2 = b3 + b4 ) & ( for 
b1, 
b2 being  
Element of 
a2 for 
b3, 
b4 being  
sequence of 
a1  st 
b1 = b3 & 
b2 = b4 holds 
b1 * b2 = b3 *' b4 ) &  
0. a2 =  0_. a1 &  
1_ a2 =  1_. a1 );
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 ) ) & ( for b2, b3 being  Element of b1
 for b4, b5 being  sequence of c1  st b2 = b4 & b3 = b5 holds 
b2 + b3 = b4 + b5 ) & ( for b2, b3 being  Element of b1
 for b4, b5 being  sequence of c1  st b2 = b4 & b3 = b5 holds 
b2 * b3 = b4 *' b5 ) &  0. b1 =  0_. c1 &  1_ b1 =  1_. c1 )
 
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 ) ) & ( for b3, b4 being  Element of b1
 for b5, b6 being  sequence of c1  st b3 = b5 & b4 = b6 holds 
b3 + b4 = b5 + b6 ) & ( for b3, b4 being  Element of b1
 for b5, b6 being  sequence of c1  st b3 = b5 & b4 = b6 holds 
b3 * b4 = b5 *' b6 ) &  0. b1 =  0_. c1 &  1_ b1 =  1_. c1 & ( for b3 being   set  holds 
 ( b3 in the carrier of b2 iff b3 is   Polynomial of c1 ) ) & ( for b3, b4 being  Element of b2
 for b5, b6 being  sequence of c1  st b3 = b5 & b4 = b6 holds 
b3 + b4 = b5 + b6 ) & ( for b3, b4 being  Element of b2
 for b5, b6 being  sequence of c1  st b3 = b5 & b4 = b6 holds 
b3 * b4 = b5 *' b6 ) &  0. b2 =  0_. c1 &  1_ b2 =  1_. c1 holds 
b1 = b2
 
 
end;
 
:: deftheorem Def12   defines Polynom-Ring POLYNOM3:def 12 : 
theorem Th37: :: POLYNOM3:37