:: {O}n {B}ag of 1. {P}art {I}
:: by Yasushige Watase
::
:: Received March 31, 2023
:: Copyright (c) 2023-2024 Association of Mizar Users


theorem Th1: :: POLYALGX:1
for R being non degenerated comRing
for f being sequence of R holds
( Support f = {} iff f = 0_. R )
proof end;

theorem Th2: :: POLYALGX:2
for R being non degenerated comRing
for f being sequence of R st Support f is finite holds
f is finite-Support sequence of R
proof end;

theorem Th3: :: POLYALGX:3
for R being non degenerated comRing
for f being sequence of R st f is finite-Support sequence of R holds
Support f is finite
proof end;

Lm1: for X being non empty set
for n1, n2 being Nat st X --> n1 = X --> n2 holds
n1 = n2

proof end;

:: WP: Translation Bags 1 notation to NAT.
theorem Th4: :: POLYALGX:4
for b being bag of 1 holds
( dom b = {0} & rng b = {(b . 0)} )
proof end;

theorem Th5: :: POLYALGX:5
for b being bag of 1 holds b = 1 --> (b . 0)
proof end;

theorem :: POLYALGX:6
for b1, b2 being bag of 1 holds b1 + b2 = 1 --> ((b1 . 0) + (b2 . 0))
proof end;

theorem Th7: :: POLYALGX:7
for b1, b2 being bag of 1 holds b1 -' b2 = 1 --> ((b1 . 0) -' (b2 . 0))
proof end;

:::Order of Bags 1
theorem Th8: :: POLYALGX:8
for b1, b2 being bag of 1 holds
( b1 . 0 <= b2 . 0 iff b1 divides b2 )
proof end;

theorem Th9: :: POLYALGX:9
for n being Ordinal holds BagOrder n linearly_orders Bags n
proof end;

:: WP: NBag1 is avvriv. for function NAT to Bags 1
definition
func NBag1 -> Function of NAT,(Bags 1) means :Def1: :: POLYALGX:def 1
for m being Element of NAT holds it . m = 1 --> m;
existence
ex b1 being Function of NAT,(Bags 1) st
for m being Element of NAT holds b1 . m = 1 --> m
proof end;
uniqueness
for b1, b2 being Function of NAT,(Bags 1) st ( for m being Element of NAT holds b1 . m = 1 --> m ) & ( for m being Element of NAT holds b2 . m = 1 --> m ) holds
b1 = b2
proof end;
end;

:: deftheorem Def1 defines NBag1 POLYALGX:def 1 :
for b1 being Function of NAT,(Bags 1) holds
( b1 = NBag1 iff for m being Element of NAT holds b1 . m = 1 --> m );

definition
func BagN1 -> Function of (Bags 1),NAT means :Def2: :: POLYALGX:def 2
for b being Element of Bags 1 holds it . b = b . 0;
existence
ex b1 being Function of (Bags 1),NAT st
for b being Element of Bags 1 holds b1 . b = b . 0
proof end;
uniqueness
for b1, b2 being Function of (Bags 1),NAT st ( for b being Element of Bags 1 holds b1 . b = b . 0 ) & ( for b being Element of Bags 1 holds b2 . b = b . 0 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines BagN1 POLYALGX:def 2 :
for b1 being Function of (Bags 1),NAT holds
( b1 = BagN1 iff for b being Element of Bags 1 holds b1 . b = b . 0 );

theorem Th10: :: POLYALGX:10
BagN1 * NBag1 = id NAT
proof end;

theorem Th11: :: POLYALGX:11
NBag1 * BagN1 = id (Bags 1)
proof end;

registration
cluster NBag1 -> one-to-one onto ;
coherence
( NBag1 is one-to-one & NBag1 is onto )
by FUNCT_2:23, Th11, Th10;
cluster BagN1 -> one-to-one onto ;
coherence
( BagN1 is one-to-one & BagN1 is onto )
by FUNCT_2:23, Th11, Th10;
end;

theorem Th12: :: POLYALGX:12
for b1, b2 being bag of 1 holds
( ( b2 in rng (divisors b1) implies b2 . 0 <= b1 . 0 ) & ( b2 . 0 <= b1 . 0 implies b2 in rng (divisors b1) ) & ( b2 in rng (divisors b1) implies b2 divides b1 ) & ( b2 divides b1 implies b2 in rng (divisors b1) ) )
proof end;

theorem Th13: :: POLYALGX:13
for b being bag of 1 holds rng (divisors b) = { x where x is bag of 1 : x . 0 <= b . 0 }
proof end;

theorem Th14: :: POLYALGX:14
for b being bag of 1 holds rng (NBag1 | (Segm ((b . 0) + 1))) = { x where x is bag of 1 : x . 0 <= b . 0 }
proof end;

theorem Th15: :: POLYALGX:15
for b being bag of 1 holds len (divisors b) = (b . 0) + 1
proof end;

:: Construct mutlivariable Formal Series
:: same manner as POLYALG1:def 2
definition
let n be Ordinal;
let L be non degenerated comRing;
func Formal-Series (n,L) -> non empty strict AlgebraStr over L means :Def3: :: POLYALGX:def 3
( ( for x being set holds
( x in the carrier of it iff x is Series of n,L ) ) & ( for x, y being Element of it
for p, q being Series of n,L st x = p & y = q holds
x + y = p + q ) & ( for x, y being Element of it
for p, q being Series of n,L st x = p & y = q holds
x * y = p *' q ) & ( for a being Element of L
for x being Element of it
for p being Series of n,L st x = p holds
a * x = a * p ) & 0. it = 0_ (n,L) & 1. it = 1_ (n,L) );
existence
ex b1 being non empty strict AlgebraStr over L st
( ( for x being set holds
( x in the carrier of b1 iff x is Series of n,L ) ) & ( for x, y being Element of b1
for p, q being Series of n,L st x = p & y = q holds
x + y = p + q ) & ( for x, y being Element of b1
for p, q being Series of n,L st x = p & y = q holds
x * y = p *' q ) & ( for a being Element of L
for x being Element of b1
for p being Series of n,L st x = p holds
a * x = a * p ) & 0. b1 = 0_ (n,L) & 1. b1 = 1_ (n,L) )
proof end;
uniqueness
for b1, b2 being non empty strict AlgebraStr over L st ( for x being set holds
( x in the carrier of b1 iff x is Series of n,L ) ) & ( for x, y being Element of b1
for p, q being Series of n,L st x = p & y = q holds
x + y = p + q ) & ( for x, y being Element of b1
for p, q being Series of n,L st x = p & y = q holds
x * y = p *' q ) & ( for a being Element of L
for x being Element of b1
for p being Series of n,L st x = p holds
a * x = a * p ) & 0. b1 = 0_ (n,L) & 1. b1 = 1_ (n,L) & ( for x being set holds
( x in the carrier of b2 iff x is Series of n,L ) ) & ( for x, y being Element of b2
for p, q being Series of n,L st x = p & y = q holds
x + y = p + q ) & ( for x, y being Element of b2
for p, q being Series of n,L st x = p & y = q holds
x * y = p *' q ) & ( for a being Element of L
for x being Element of b2
for p being Series of n,L st x = p holds
a * x = a * p ) & 0. b2 = 0_ (n,L) & 1. b2 = 1_ (n,L) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines Formal-Series POLYALGX:def 3 :
for n being Ordinal
for L being non degenerated comRing
for b3 being non empty strict AlgebraStr over L holds
( b3 = Formal-Series (n,L) iff ( ( for x being set holds
( x in the carrier of b3 iff x is Series of n,L ) ) & ( for x, y being Element of b3
for p, q being Series of n,L st x = p & y = q holds
x + y = p + q ) & ( for x, y being Element of b3
for p, q being Series of n,L st x = p & y = q holds
x * y = p *' q ) & ( for a being Element of L
for x being Element of b3
for p being Series of n,L st x = p holds
a * x = a * p ) & 0. b3 = 0_ (n,L) & 1. b3 = 1_ (n,L) ) );

registration
let n be Ordinal;
let L be non degenerated comRing;
cluster Formal-Series (n,L) -> non empty Abelian strict ;
coherence
Formal-Series (n,L) is Abelian
proof end;
cluster Formal-Series (n,L) -> non empty add-associative strict ;
coherence
Formal-Series (n,L) is add-associative
proof end;
cluster Formal-Series (n,L) -> non empty right_zeroed strict ;
coherence
Formal-Series (n,L) is right_zeroed
proof end;
cluster Formal-Series (n,L) -> non empty right_complementable strict ;
coherence
Formal-Series (n,L) is right_complementable
proof end;
cluster Formal-Series (n,L) -> non empty commutative strict ;
coherence
Formal-Series (n,L) is commutative
proof end;
cluster Formal-Series (n,L) -> non empty associative strict ;
coherence
Formal-Series (n,L) is associative
proof end;
end;

registration
cluster non empty right_complementable add-associative right_zeroed associative well-unital distributive left_zeroed for doubleLoopStr ;
existence
ex b1 being non empty doubleLoopStr st
( b1 is add-associative & b1 is associative & b1 is right_zeroed & b1 is left_zeroed & b1 is well-unital & b1 is right_complementable & b1 is distributive )
proof end;
end;

Lm2: now :: thesis: for n being Ordinal
for L being non degenerated comRing
for x, e being Element of (Formal-Series (n,L)) st e = 1_ (n,L) holds
( x * e = x & e * x = x )
let n be Ordinal; :: thesis: for L being non degenerated comRing
for x, e being Element of (Formal-Series (n,L)) st e = 1_ (n,L) holds
( x * e = x & e * x = x )

let L be non degenerated comRing; :: thesis: for x, e being Element of (Formal-Series (n,L)) st e = 1_ (n,L) holds
( x * e = x & e * x = x )

set F = Formal-Series (n,L);
let x, e be Element of (Formal-Series (n,L)); :: thesis: ( e = 1_ (n,L) implies ( x * e = x & e * x = x ) )
reconsider a = x, b = e as Series of n,L by Def3;
assume A1: e = 1_ (n,L) ; :: thesis: ( x * e = x & e * x = x )
thus x * e = a *' b by Def3
.= x by A1, POLYNOM1:29 ; :: thesis: e * x = x
thus e * x = b *' a by Def3
.= x by A1, POLYNOM1:30 ; :: thesis: verum
end;

registration
let n be Ordinal;
let L be non degenerated comRing;
cluster Formal-Series (n,L) -> non empty well-unital strict ;
coherence
Formal-Series (n,L) is well-unital
proof end;
cluster Formal-Series (n,L) -> non empty right-distributive strict ;
coherence
Formal-Series (n,L) is right-distributive
proof end;
cluster Formal-Series (n,L) -> non empty left-distributive strict ;
coherence
Formal-Series (n,L) is left-distributive
;
end;

theorem Th16: :: POLYALGX:16
for n being Ordinal
for L being non degenerated comRing
for a being Element of L
for p, q being Series of n,L holds a * (p + q) = (a * p) + (a * q)
proof end;

theorem Th17: :: POLYALGX:17
for n being Ordinal
for L being non degenerated comRing
for a, b being Element of L
for p being Series of n,L holds (a + b) * p = (a * p) + (b * p)
proof end;

theorem Th18: :: POLYALGX:18
for n being Ordinal
for L being non degenerated comRing
for a, b being Element of L
for p being Series of n,L holds (a * b) * p = a * (b * p)
proof end;

theorem Th19: :: POLYALGX:19
for n being Ordinal
for L being non degenerated comRing
for p being Series of n,L holds (1. L) * p = p
proof end;

registration
let n be Ordinal;
let L be non degenerated comRing;
cluster Formal-Series (n,L) -> non empty vector-distributive scalar-distributive scalar-associative scalar-unital strict ;
coherence
( Formal-Series (n,L) is vector-distributive & Formal-Series (n,L) is scalar-distributive & Formal-Series (n,L) is scalar-associative & Formal-Series (n,L) is scalar-unital )
proof end;
end;

theorem Th20: :: POLYALGX:20
for n being Ordinal
for L being non degenerated comRing holds Formal-Series (n,L) is mix-associative
proof end;

registration
let n be Ordinal;
let L be non degenerated comRing;
cluster Formal-Series (n,L) -> non empty strict mix-associative ;
coherence
Formal-Series (n,L) is mix-associative
by Th20;
end;

theorem Th21: :: POLYALGX:21
for n being Ordinal
for R being non degenerated comRing holds Polynom-Ring (n,R) is Subring of Formal-Series (n,R)
proof end;

Lm3: for V being Ring
for V1 being Subring of V holds
( ( for v1, w1 being Element of V1
for v, w being Element of V st v1 = v & w1 = w holds
v1 + w1 = v + w ) & ( for v1, w1 being Element of V1
for v, w being Element of V st v1 = v & w1 = w holds
v1 * w1 = v * w ) & 1_ V1 = 1_ V & 0. V1 = 0. V )

proof end;

theorem :: POLYALGX:22
for R being non degenerated comRing holds (0_ (1,R)) * NBag1 = 0_. R
proof end;

theorem Th23: :: POLYALGX:23
for R being non degenerated comRing holds ((0_ (1,R)) +* ((EmptyBag 1),(1. R))) * NBag1 = (0_. R) +* (0,(1. R))
proof end;

theorem :: POLYALGX:24
for R being non degenerated comRing holds ((0_ (1,R)) +* ((1 --> 1),(1. R))) * NBag1 = (0_. R) +* (1,(1. R))
proof end;

theorem Th25: :: POLYALGX:25
for b being bag of 1 holds
( SgmX ((BagOrder 1),(rng (divisors b))) = XFS2FS (NBag1 | (Segm ((b . 0) + 1))) & divisors b = XFS2FS (NBag1 | (Segm ((b . 0) + 1))) )
proof end;

definition
let R be non degenerated comRing;
func BSFSeri R -> Function of (Formal-Series (1,R)),(Formal-Series R) means :Def4: :: POLYALGX:def 4
for x being object st x in the carrier of (Formal-Series (1,R)) holds
ex x1 being Series of 1,R st
( x1 = x & it . x = x1 * NBag1 );
existence
ex b1 being Function of (Formal-Series (1,R)),(Formal-Series R) st
for x being object st x in the carrier of (Formal-Series (1,R)) holds
ex x1 being Series of 1,R st
( x1 = x & b1 . x = x1 * NBag1 )
proof end;
uniqueness
for b1, b2 being Function of (Formal-Series (1,R)),(Formal-Series R) st ( for x being object st x in the carrier of (Formal-Series (1,R)) holds
ex x1 being Series of 1,R st
( x1 = x & b1 . x = x1 * NBag1 ) ) & ( for x being object st x in the carrier of (Formal-Series (1,R)) holds
ex x1 being Series of 1,R st
( x1 = x & b2 . x = x1 * NBag1 ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines BSFSeri POLYALGX:def 4 :
for R being non degenerated comRing
for b2 being Function of (Formal-Series (1,R)),(Formal-Series R) holds
( b2 = BSFSeri R iff for x being object st x in the carrier of (Formal-Series (1,R)) holds
ex x1 being Series of 1,R st
( x1 = x & b2 . x = x1 * NBag1 ) );

Lm4: for R being non degenerated comRing holds
( BSFSeri R is one-to-one & BSFSeri R is onto )

proof end;

registration
let R be non degenerated comRing;
cluster BSFSeri R -> one-to-one onto ;
coherence
( BSFSeri R is one-to-one & BSFSeri R is onto )
by Lm4;
end;

theorem Th26: :: POLYALGX:26
for R being Ring
for f, g being Series of 1,R holds (f + g) * NBag1 = (f * NBag1) + (g * NBag1)
proof end;

theorem Th27: :: POLYALGX:27
for R being non degenerated comRing
for f, g being Element of (Formal-Series (1,R)) holds (BSFSeri R) . (f + g) = ((BSFSeri R) . f) + ((BSFSeri R) . g)
proof end;

theorem Th28: :: POLYALGX:28
for R being non degenerated comRing
for f, g being Series of 1,R holds (f *' g) * NBag1 = (f * NBag1) *' (g * NBag1)
proof end;

theorem Th29: :: POLYALGX:29
for R being non degenerated comRing
for f, g being Element of (Formal-Series (1,R)) holds (BSFSeri R) . (f * g) = ((BSFSeri R) . f) * ((BSFSeri R) . g)
proof end;

theorem Th30: :: POLYALGX:30
for R being non degenerated comRing holds (BSFSeri R) . (1. (Formal-Series (1,R))) = 1. (Formal-Series R)
proof end;

registration
let R be non degenerated comRing;
cluster BSFSeri R -> unity-preserving additive multiplicative ;
coherence
( BSFSeri R is additive & BSFSeri R is multiplicative & BSFSeri R is unity-preserving )
by Th27, Th29, Th30;
end;

theorem :: POLYALGX:31
for R being non degenerated comRing holds
( BSFSeri R is RingIsomorphism & Formal-Series R is Formal-Series (1,R) -isomorphic )
proof end;

registration
let R be non degenerated comRing;
cluster Formal-Series R -> Formal-Series (1,R) -homomorphic Formal-Series (1,R) -monomorphic Formal-Series (1,R) -isomorphic ;
coherence
( Formal-Series R is Formal-Series (1,R) -homomorphic & Formal-Series R is Formal-Series (1,R) -monomorphic & Formal-Series R is Formal-Series (1,R) -isomorphic )
proof end;
end;

definition
let R be non degenerated comRing;
func SBFSeri R -> Function of (Formal-Series R),(Formal-Series (1,R)) means :Def5: :: POLYALGX:def 5
for x being object st x in the carrier of (Formal-Series R) holds
ex x1 being sequence of R st
( x1 = x & it . x = x1 * BagN1 );
existence
ex b1 being Function of (Formal-Series R),(Formal-Series (1,R)) st
for x being object st x in the carrier of (Formal-Series R) holds
ex x1 being sequence of R st
( x1 = x & b1 . x = x1 * BagN1 )
proof end;
uniqueness
for b1, b2 being Function of (Formal-Series R),(Formal-Series (1,R)) st ( for x being object st x in the carrier of (Formal-Series R) holds
ex x1 being sequence of R st
( x1 = x & b1 . x = x1 * BagN1 ) ) & ( for x being object st x in the carrier of (Formal-Series R) holds
ex x1 being sequence of R st
( x1 = x & b2 . x = x1 * BagN1 ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines SBFSeri POLYALGX:def 5 :
for R being non degenerated comRing
for b2 being Function of (Formal-Series R),(Formal-Series (1,R)) holds
( b2 = SBFSeri R iff for x being object st x in the carrier of (Formal-Series R) holds
ex x1 being sequence of R st
( x1 = x & b2 . x = x1 * BagN1 ) );

theorem Th32: :: POLYALGX:32
for R being non degenerated comRing holds (BSFSeri R) " = SBFSeri R
proof end;

Lm5: for R being non degenerated comRing holds SBFSeri R is one-to-one
proof end;

Lm6: for R being non degenerated comRing holds SBFSeri R is onto
proof end;

registration
let R be non degenerated comRing;
cluster SBFSeri R -> one-to-one onto ;
coherence
( SBFSeri R is one-to-one & SBFSeri R is onto )
by Lm5, Lm6;
end;

theorem Th33: :: POLYALGX:33
for R being non degenerated comRing holds SBFSeri R is RingHomomorphism
proof end;

registration
let R be non degenerated comRing;
cluster SBFSeri R -> unity-preserving additive multiplicative ;
coherence
( SBFSeri R is additive & SBFSeri R is multiplicative & SBFSeri R is unity-preserving )
proof end;
end;

theorem :: POLYALGX:34
for R being non degenerated comRing holds
( SBFSeri R is RingIsomorphism & Formal-Series (1,R) is Formal-Series R -isomorphic )
proof end;

registration
let R be non degenerated comRing;
cluster Formal-Series (1,R) -> non empty strict Formal-Series R -homomorphic Formal-Series R -monomorphic Formal-Series R -isomorphic ;
coherence
( Formal-Series (1,R) is Formal-Series R -homomorphic & Formal-Series (1,R) is Formal-Series R -monomorphic & Formal-Series (1,R) is Formal-Series R -isomorphic )
proof end;
end;

theorem Th35: :: POLYALGX:35
for R being non degenerated comRing holds Polynom-Ring R is Subring of Formal-Series R
proof end;

theorem :: POLYALGX:36
for R being non degenerated comRing
for f1, g1 being sequence of R holds (f1 + g1) * BagN1 = (f1 * BagN1) + (g1 * BagN1)
proof end;

theorem Th37: :: POLYALGX:37
for R being non degenerated comRing
for f being sequence of the carrier of R holds f = (f * BagN1) * NBag1
proof end;

theorem Th38: :: POLYALGX:38
for R being non degenerated comRing
for f being Series of 1,R holds f = (f * NBag1) * BagN1
proof end;

theorem Th39: :: POLYALGX:39
for R being non degenerated comRing
for f being sequence of R holds NBag1 .: (Support f) = Support (f * BagN1)
proof end;

theorem Th40: :: POLYALGX:40
for B being Subset of NAT holds card B = card (NBag1 .: B)
proof end;

theorem Th41: :: POLYALGX:41
for R being non degenerated comRing
for f being sequence of R holds card (Support f) = card (Support (f * BagN1))
proof end;

theorem Th42: :: POLYALGX:42
for R being non degenerated comRing
for f being Series of 1,R holds BagN1 .: (Support f) = Support (f * NBag1)
proof end;

theorem Th43: :: POLYALGX:43
for B being Subset of (Bags 1) holds card B = card (BagN1 .: B)
proof end;

theorem Th44: :: POLYALGX:44
for R being non degenerated comRing
for f being Series of 1,R holds card (Support f) = card (Support (f * NBag1))
proof end;

Lm7: for R being non degenerated comRing holds the carrier of (Polynom-Ring (1,R)) c= the carrier of (Formal-Series (1,R))
proof end;

definition
let R be non degenerated comRing;
func BSPoly R -> Function of (Polynom-Ring (1,R)),(Polynom-Ring R) equals :: POLYALGX:def 6
(BSFSeri R) | ([#] (Polynom-Ring (1,R)));
coherence
(BSFSeri R) | ([#] (Polynom-Ring (1,R))) is Function of (Polynom-Ring (1,R)),(Polynom-Ring R)
proof end;
end;

:: deftheorem defines BSPoly POLYALGX:def 6 :
for R being non degenerated comRing holds BSPoly R = (BSFSeri R) | ([#] (Polynom-Ring (1,R)));

theorem Th45: :: POLYALGX:45
for R being non degenerated comRing holds
( BSPoly R is one-to-one & BSPoly R is onto )
proof end;

registration
let R be non degenerated comRing;
cluster BSPoly R -> one-to-one onto ;
coherence
( BSPoly R is one-to-one & BSPoly R is onto )
by Th45;
end;

theorem Th46: :: POLYALGX:46
for R being non degenerated comRing
for p, q being Element of (Polynom-Ring (1,R))
for f, g being Element of (Formal-Series (1,R)) st p = f & q = g holds
p + q = f + g
proof end;

theorem Th47: :: POLYALGX:47
for R being non degenerated comRing
for p, q being Element of (Polynom-Ring (1,R))
for f, g being Element of (Formal-Series (1,R)) st p = f & q = g holds
p * q = f * g
proof end;

theorem Th48: :: POLYALGX:48
for R being non degenerated comRing
for f, g being Element of (Polynom-Ring (1,R)) holds (BSPoly R) . (f + g) = ((BSPoly R) . f) + ((BSPoly R) . g)
proof end;

theorem Th49: :: POLYALGX:49
for R being non degenerated comRing
for f, g being Element of (Polynom-Ring (1,R)) holds (BSPoly R) . (f * g) = ((BSPoly R) . f) * ((BSPoly R) . g)
proof end;

theorem Th50: :: POLYALGX:50
for R being non degenerated comRing holds (BSPoly R) . (1. (Polynom-Ring (1,R))) = 1. (Polynom-Ring R)
proof end;

registration
let R be non degenerated comRing;
cluster BSPoly R -> unity-preserving additive multiplicative ;
coherence
( BSPoly R is additive & BSPoly R is multiplicative & BSPoly R is unity-preserving )
by Th48, Th49, Th50;
end;

theorem :: POLYALGX:51
for R being non degenerated comRing holds
( BSPoly R is RingIsomorphism & Polynom-Ring R is Polynom-Ring (1,R) -isomorphic )
proof end;

registration
let R be non degenerated comRing;
cluster Polynom-Ring R -> Polynom-Ring (1,R) -homomorphic Polynom-Ring (1,R) -monomorphic Polynom-Ring (1,R) -isomorphic ;
coherence
( Polynom-Ring R is Polynom-Ring (1,R) -homomorphic & Polynom-Ring R is Polynom-Ring (1,R) -monomorphic & Polynom-Ring R is Polynom-Ring (1,R) -isomorphic )
proof end;
end;