set cPRFC = the carrier of (Polynom-Ring F_Complex);
let n be non empty Element of NAT ; :: thesis: ex f being FinSequence of the carrier of (Polynom-Ring F_Complex) ex p being Polynomial of F_Complex st
( p = Product f & dom f = Seg n & ( for i being non empty Element of NAT st i in Seg n holds
( ( ( not i divides n or i = n ) implies f . i = <%(1_ F_Complex)%> ) & ( i divides n & i <> n implies f . i = cyclotomic_poly i ) ) ) & unital_poly (F_Complex,n) = (cyclotomic_poly n) *' p )

defpred S1[ set , set ] means ex i being non empty Element of NAT st
( i = $1 & ( not i divides n implies $2 = <%(1_ F_Complex)%> ) & ( i divides n implies $2 = cyclotomic_poly i ) );
consider m being Nat such that
A1: n = m + 1 by NAT_1:6;
A2: for k being Element of NAT st k in Seg n holds
ex x being Element of the carrier of (Polynom-Ring F_Complex) st S1[k,x]
proof
let k be Element of NAT ; :: thesis: ( k in Seg n implies ex x being Element of the carrier of (Polynom-Ring F_Complex) st S1[k,x] )
assume k in Seg n ; :: thesis: ex x being Element of the carrier of (Polynom-Ring F_Complex) st S1[k,x]
then reconsider i = k as non empty Element of NAT by FINSEQ_1:3;
per cases ( not i divides n or i divides n ) ;
suppose A3: not i divides n ; :: thesis: ex x being Element of the carrier of (Polynom-Ring F_Complex) st S1[k,x]
reconsider FC1 = <%(1_ F_Complex)%> as Element of the carrier of (Polynom-Ring F_Complex) by POLYNOM3:def 12;
take FC1 ; :: thesis: S1[k,FC1]
take i ; :: thesis: ( i = k & ( not i divides n implies FC1 = <%(1_ F_Complex)%> ) & ( i divides n implies FC1 = cyclotomic_poly i ) )
thus i = k ; :: thesis: ( ( not i divides n implies FC1 = <%(1_ F_Complex)%> ) & ( i divides n implies FC1 = cyclotomic_poly i ) )
thus ( ( not i divides n implies FC1 = <%(1_ F_Complex)%> ) & ( i divides n implies FC1 = cyclotomic_poly i ) ) by A3; :: thesis: verum
end;
suppose A4: i divides n ; :: thesis: ex x being Element of the carrier of (Polynom-Ring F_Complex) st S1[k,x]
reconsider FC1 = cyclotomic_poly i as Element of the carrier of (Polynom-Ring F_Complex) by POLYNOM3:def 12;
take FC1 ; :: thesis: S1[k,FC1]
take i ; :: thesis: ( i = k & ( not i divides n implies FC1 = <%(1_ F_Complex)%> ) & ( i divides n implies FC1 = cyclotomic_poly i ) )
thus i = k ; :: thesis: ( ( not i divides n implies FC1 = <%(1_ F_Complex)%> ) & ( i divides n implies FC1 = cyclotomic_poly i ) )
thus ( ( not i divides n implies FC1 = <%(1_ F_Complex)%> ) & ( i divides n implies FC1 = cyclotomic_poly i ) ) by A4; :: thesis: verum
end;
end;
end;
consider f being FinSequence of the carrier of (Polynom-Ring F_Complex) such that
A5: dom f = Seg n and
A6: for k being Element of NAT st k in Seg n holds
S1[k,f /. k] from RECDEF_1:sch 17(A2);
reconsider fm = f | (Seg m) as FinSequence of the carrier of (Polynom-Ring F_Complex) by FINSEQ_1:23;
A7: len f = n by A5, FINSEQ_1:def 3;
A8: now
let i be non empty Element of NAT ; :: thesis: ( i in dom f implies ( ( not i divides n implies f . i = <%(1_ F_Complex)%> ) & ( i divides n implies f . i = cyclotomic_poly i ) ) )
assume A9: i in dom f ; :: thesis: ( ( not i divides n implies f . i = <%(1_ F_Complex)%> ) & ( i divides n implies f . i = cyclotomic_poly i ) )
then A10: i <= n by A5, FINSEQ_1:3;
( ex j being non empty Element of NAT st
( j = i & ( not j divides n implies f /. i = <%(1_ F_Complex)%> ) & ( j divides n implies f /. i = cyclotomic_poly j ) ) & 1 <= i ) by A5, A6, A9, FINSEQ_1:3;
hence ( ( not i divides n implies f . i = <%(1_ F_Complex)%> ) & ( i divides n implies f . i = cyclotomic_poly i ) ) by A7, A10, FINSEQ_4:24; :: thesis: verum
end;
reconsider FC1 = <%(1_ F_Complex)%> as Element of the carrier of (Polynom-Ring F_Complex) by POLYNOM3:def 12;
<*FC1*> is FinSequence of the carrier of (Polynom-Ring F_Complex) ;
then reconsider h = fm ^ <*<%(1_ F_Complex)%>*> as FinSequence of the carrier of (Polynom-Ring F_Complex) by FINSEQ_1:96;
reconsider p = Product h as Polynomial of F_Complex by POLYNOM3:def 12;
take h ; :: thesis: ex p being Polynomial of F_Complex st
( p = Product h & dom h = Seg n & ( for i being non empty Element of NAT st i in Seg n holds
( ( ( not i divides n or i = n ) implies h . i = <%(1_ F_Complex)%> ) & ( i divides n & i <> n implies h . i = cyclotomic_poly i ) ) ) & unital_poly (F_Complex,n) = (cyclotomic_poly n) *' p )

take p ; :: thesis: ( p = Product h & dom h = Seg n & ( for i being non empty Element of NAT st i in Seg n holds
( ( ( not i divides n or i = n ) implies h . i = <%(1_ F_Complex)%> ) & ( i divides n & i <> n implies h . i = cyclotomic_poly i ) ) ) & unital_poly (F_Complex,n) = (cyclotomic_poly n) *' p )

thus p = Product h ; :: thesis: ( dom h = Seg n & ( for i being non empty Element of NAT st i in Seg n holds
( ( ( not i divides n or i = n ) implies h . i = <%(1_ F_Complex)%> ) & ( i divides n & i <> n implies h . i = cyclotomic_poly i ) ) ) & unital_poly (F_Complex,n) = (cyclotomic_poly n) *' p )

A11: m <= n by A1, NAT_1:13;
then A12: len fm = m by A7, FINSEQ_1:21;
reconsider cpn = cyclotomic_poly n as Element of the carrier of (Polynom-Ring F_Complex) by POLYNOM3:def 12;
reconsider fn = f | (Seg n) as FinSequence of the carrier of (Polynom-Ring F_Complex) by FINSEQ_1:23;
1 <= n by NAT_1:54;
then A13: n in Seg n by FINSEQ_1:3;
then A14: f . n = cyclotomic_poly n by A5, A8;
len <*<%(1_ F_Complex)%>*> = 1 by FINSEQ_1:57;
hence dom h = Seg n by A1, A12, FINSEQ_1:def 7; :: thesis: ( ( for i being non empty Element of NAT st i in Seg n holds
( ( ( not i divides n or i = n ) implies h . i = <%(1_ F_Complex)%> ) & ( i divides n & i <> n implies h . i = cyclotomic_poly i ) ) ) & unital_poly (F_Complex,n) = (cyclotomic_poly n) *' p )

A15: dom fm = Seg m by A7, A11, FINSEQ_1:21;
thus for i being non empty Element of NAT st i in Seg n holds
( ( ( not i divides n or i = n ) implies h . i = <%(1_ F_Complex)%> ) & ( i divides n & i <> n implies h . i = cyclotomic_poly i ) ) :: thesis: unital_poly (F_Complex,n) = (cyclotomic_poly n) *' p
proof
let i be non empty Element of NAT ; :: thesis: ( i in Seg n implies ( ( ( not i divides n or i = n ) implies h . i = <%(1_ F_Complex)%> ) & ( i divides n & i <> n implies h . i = cyclotomic_poly i ) ) )
assume A16: i in Seg n ; :: thesis: ( ( ( not i divides n or i = n ) implies h . i = <%(1_ F_Complex)%> ) & ( i divides n & i <> n implies h . i = cyclotomic_poly i ) )
per cases ( i in Seg m or not i in Seg m ) ;
suppose A17: i in Seg m ; :: thesis: ( ( ( not i divides n or i = n ) implies h . i = <%(1_ F_Complex)%> ) & ( i divides n & i <> n implies h . i = cyclotomic_poly i ) )
then A18: ( fm . i = f . i & i <= m ) by FINSEQ_1:3, FUNCT_1:72;
h . i = fm . i by A15, A17, FINSEQ_1:def 7;
hence ( ( ( not i divides n or i = n ) implies h . i = <%(1_ F_Complex)%> ) & ( i divides n & i <> n implies h . i = cyclotomic_poly i ) ) by A5, A1, A8, A16, A18, NAT_1:13; :: thesis: verum
end;
suppose not i in Seg m ; :: thesis: ( ( ( not i divides n or i = n ) implies h . i = <%(1_ F_Complex)%> ) & ( i divides n & i <> n implies h . i = cyclotomic_poly i ) )
end;
end;
end;
reconsider p1 = <%(1_ F_Complex)%> as Element of the carrier of (Polynom-Ring F_Complex) by POLYNOM3:def 12;
reconsider Pfm = Product fm as Polynomial of F_Complex by POLYNOM3:def 12;
A21: Product h = (Product fm) * p1 by GROUP_4:9
.= Pfm *' <%(1_ F_Complex)%> by POLYNOM3:def 12
.= Product fm by UPROOTS:34 ;
f = fn by A7, FINSEQ_2:23
.= fm ^ <*(cyclotomic_poly n)*> by A5, A1, A13, A14, FINSEQ_5:11 ;
then A22: Product f = (Product fm) * cpn by GROUP_4:9;
unital_poly (F_Complex,n) = Product f by A7, A8, Th53;
hence unital_poly (F_Complex,n) = (cyclotomic_poly n) *' p by A21, A22, POLYNOM3:def 12; :: thesis: verum