let L be Field; :: thesis: for p being Polynomial of L
for m being Element of NAT st m > 0 & len p <= m holds
for x being Element of L
for i being Element of NAT st i < m holds
(DFT p,x,m) . i = ((VM x,m) * (mConv p,m)) * (i + 1),1
let p be Polynomial of L; :: thesis: for m being Element of NAT st m > 0 & len p <= m holds
for x being Element of L
for i being Element of NAT st i < m holds
(DFT p,x,m) . i = ((VM x,m) * (mConv p,m)) * (i + 1),1
let m be Element of NAT ; :: thesis: ( m > 0 & len p <= m implies for x being Element of L
for i being Element of NAT st i < m holds
(DFT p,x,m) . i = ((VM x,m) * (mConv p,m)) * (i + 1),1 )
assume A1:
( m > 0 & len p <= m )
; :: thesis: for x being Element of L
for i being Element of NAT st i < m holds
(DFT p,x,m) . i = ((VM x,m) * (mConv p,m)) * (i + 1),1
let x be Element of L; :: thesis: for i being Element of NAT st i < m holds
(DFT p,x,m) . i = ((VM x,m) * (mConv p,m)) * (i + 1),1
set v = VM x,m;
for i being Element of NAT st i < m holds
(DFT p,x,m) . i = ((VM x,m) * (mConv p,m)) * (i + 1),1
proof
let i be
Element of
NAT ;
:: thesis: ( i < m implies (DFT p,x,m) . i = ((VM x,m) * (mConv p,m)) * (i + 1),1 )
assume A2:
i < m
;
:: thesis: (DFT p,x,m) . i = ((VM x,m) * (mConv p,m)) * (i + 1),1
((VM x,m) * (mConv p,m)) * (i + 1),1
= eval p,
(x |^ i)
proof
A3:
[(i + 1),1] in Indices ((VM x,m) * (mConv p,m))
proof
A4:
width (VM x,m) =
m
by MATRIX_1:25
.=
len (mConv p,m)
by A1, Th28
;
(VM x,m) * (mConv p,m) is
Matrix of
m,1,
L
proof
A5:
len ((VM x,m) * (mConv p,m)) =
len (VM x,m)
by A4, MATRIX_3:def 4
.=
m
by MATRIX_1:25
;
width ((VM x,m) * (mConv p,m)) =
width (mConv p,m)
by A4, MATRIX_3:def 4
.=
1
by A1, Th28
;
hence
(VM x,m) * (mConv p,m) is
Matrix of
m,1,
L
by A1, A5, MATRIX_1:20;
:: thesis: verum
end;
then A6:
Indices ((VM x,m) * (mConv p,m)) = [:(Seg m),(Seg (width ((VM x,m) * (mConv p,m)))):]
by MATRIX_1:26;
A7:
1
<= i + 1
by NAT_1:11;
i + 1
<= m
by A2, NAT_1:13;
then A8:
i + 1
in Seg m
by A7;
width ((VM x,m) * (mConv p,m)) =
width (mConv p,m)
by A4, MATRIX_3:def 4
.=
1
by A1, Th28
;
then
1
in Seg (width ((VM x,m) * (mConv p,m)))
;
hence
[(i + 1),1] in Indices ((VM x,m) * (mConv p,m))
by A6, A8, ZFMISC_1:def 2;
:: thesis: verum
end;
A9:
len (mConv p,m) =
m
by A1, Th28
.=
width (VM x,m)
by MATRIX_1:25
;
A10:
(Line (VM x,m),(i + 1)) "*" (Col (mConv p,m),1) = Sum (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1))
by FVSUM_1:def 10;
Sum (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) = eval p,
(x |^ i)
proof
A11:
for
k being
Nat st
k < m holds
(Line (VM x,m),(i + 1)) . (k + 1) = (VM x,m) * (i + 1),
(k + 1)
proof
let k be
Nat;
:: thesis: ( k < m implies (Line (VM x,m),(i + 1)) . (k + 1) = (VM x,m) * (i + 1),(k + 1) )
assume A12:
k < m
;
:: thesis: (Line (VM x,m),(i + 1)) . (k + 1) = (VM x,m) * (i + 1),(k + 1)
k + 1
in Seg m
then
k + 1
in Seg (width (VM x,m))
by MATRIX_1:25;
hence
(Line (VM x,m),(i + 1)) . (k + 1) = (VM x,m) * (i + 1),
(k + 1)
by MATRIX_1:def 8;
:: thesis: verum
end;
A14:
for
k being
Nat st
k < m holds
(Line (VM x,m),(i + 1)) . (k + 1) = pow x,
(i * k)
proof
let k be
Nat;
:: thesis: ( k < m implies (Line (VM x,m),(i + 1)) . (k + 1) = pow x,(i * k) )
assume A15:
k < m
;
:: thesis: (Line (VM x,m),(i + 1)) . (k + 1) = pow x,(i * k)
A16:
( 1
<= i + 1 &
i + 1
<= m )
by A2, NAT_1:11, NAT_1:13;
A17:
( 1
<= k + 1 &
k + 1
<= m )
by A15, NAT_1:11, NAT_1:13;
(Line (VM x,m),(i + 1)) . (k + 1) =
(VM x,m) * (i + 1),
(k + 1)
by A11, A15
.=
pow x,
(((i + 1) - 1) * ((k + 1) - 1))
by A16, A17, Def8
.=
pow x,
(i * k)
;
hence
(Line (VM x,m),(i + 1)) . (k + 1) = pow x,
(i * k)
;
:: thesis: verum
end;
A18:
for
k being
Nat st
k < m holds
(Col (mConv p,m),1) . (k + 1) = p . k
proof
let k be
Nat;
:: thesis: ( k < m implies (Col (mConv p,m),1) . (k + 1) = p . k )
assume A19:
k < m
;
:: thesis: (Col (mConv p,m),1) . (k + 1) = p . k
(Col (mConv p,m),1) . (k + 1) = (mConv p,m) * (k + 1),1
hence
(Col (mConv p,m),1) . (k + 1) = p . k
by A19, Th28;
:: thesis: verum
end;
A21:
for
k being
Nat for
a,
b,
c being
Element of
L st
a = (Line (VM x,m),(i + 1)) . (k + 1) &
b = (Col (mConv p,m),1) . (k + 1) &
c = p . k &
k < m holds
a * b = (pow x,(i * k)) * c
proof
let k be
Nat;
:: thesis: for a, b, c being Element of L st a = (Line (VM x,m),(i + 1)) . (k + 1) & b = (Col (mConv p,m),1) . (k + 1) & c = p . k & k < m holds
a * b = (pow x,(i * k)) * clet a,
b,
c be
Element of
L;
:: thesis: ( a = (Line (VM x,m),(i + 1)) . (k + 1) & b = (Col (mConv p,m),1) . (k + 1) & c = p . k & k < m implies a * b = (pow x,(i * k)) * c )
assume A22:
(
a = (Line (VM x,m),(i + 1)) . (k + 1) &
b = (Col (mConv p,m),1) . (k + 1) &
c = p . k &
k < m )
;
:: thesis: a * b = (pow x,(i * k)) * c
then
a = pow x,
(i * k)
by A14;
hence
a * b = (pow x,(i * k)) * c
by A18, A22;
:: thesis: verum
end;
A23:
for
k being
Element of
NAT st 1
<= k &
k <= m holds
(mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = (p . (k -' 1)) * ((power L) . (x |^ i),(k -' 1))
proof
let k be
Element of
NAT ;
:: thesis: ( 1 <= k & k <= m implies (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = (p . (k -' 1)) * ((power L) . (x |^ i),(k -' 1)) )
assume A24:
( 1
<= k &
k <= m )
;
:: thesis: (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = (p . (k -' 1)) * ((power L) . (x |^ i),(k -' 1))
k in Seg (width (VM x,m))
then A25:
(Line (VM x,m),(i + 1)) . k = (VM x,m) * (i + 1),
k
by MATRIX_1:def 8;
A26:
len (mConv p,m) = m
by A1, Th28;
k in Seg m
by A24;
then
k in dom (mConv p,m)
by A26, FINSEQ_1:def 3;
then A27:
(Col (mConv p,m),1) . k = (mConv p,m) * k,1
by MATRIX_1:def 9;
A28:
dom p = NAT
by FUNCT_2:def 1;
0 < k
by A24;
then
k - 1 is
Element of
NAT
by NAT_1:20;
then
p . (k - 1) = p /. (k - 1)
by A28, PARTFUN1:def 8;
then reconsider a =
(Line (VM x,m),(i + 1)) . k,
b =
(Col (mConv p,m),1) . k,
c =
p . (k - 1) as
Element of
L by A25, A27;
A29:
a * b = (pow x,(i * (k - 1))) * c
A34:
(mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = a * b
proof
k in dom (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1))
proof
len (Line (VM x,m),(i + 1)) =
width (VM x,m)
by MATRIX_1:def 8
.=
m
by MATRIX_1:25
.=
len (mConv p,m)
by A1, Th28
.=
len (Col (mConv p,m),1)
by MATRIX_1:def 9
;
then len (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) =
len (Line (VM x,m),(i + 1))
by MATRIX_3:8
.=
width (VM x,m)
by MATRIX_1:def 8
.=
m
by MATRIX_1:25
;
then
dom (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) = Seg m
by FINSEQ_1:def 3;
hence
k in dom (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1))
by A24;
:: thesis: verum
end;
hence
(mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = a * b
by FVSUM_1:73;
:: thesis: verum
end;
A35:
k - 1
>= 0
by A24, NAT_1:20;
reconsider d =
pow x,
(i * (k - 1)) as
Element of
L ;
d =
pow (x |^ i),
(k - 1)
by A24, Th27
.=
(power L) . (x |^ i),
(k - 1)
by A35, Def3
.=
(power L) . (x |^ i),
(k -' 1)
by A35, XREAL_0:def 2
;
hence
(mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = (p . (k -' 1)) * ((power L) . (x |^ i),(k -' 1))
by A29, A34, A35, XREAL_0:def 2;
:: thesis: verum
end;
Sum (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) = eval p,
(x |^ i)
proof
consider F being
FinSequence of
L such that A36:
(
eval p,
(x |^ i) = Sum F &
len F = len p & ( for
k being
Element of
NAT st
k in dom F holds
F . k = (p . (k -' 1)) * ((power L) . (x |^ i),(k -' 1)) ) )
by POLYNOM4:def 2;
A37:
for
k being
Element of
NAT st 1
<= k &
k <= len p holds
F . k = (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k
proof
let k be
Element of
NAT ;
:: thesis: ( 1 <= k & k <= len p implies F . k = (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k )
assume A38:
( 1
<= k &
k <= len p )
;
:: thesis: F . k = (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k
dom F = Seg (len p)
by A36, FINSEQ_1:def 3;
then A39:
k in dom F
by A38;
A40:
( 1
<= k &
k <= m )
by A1, A38, XXREAL_0:2;
F . k =
(p . (k -' 1)) * ((power L) . (x |^ i),(k -' 1))
by A36, A39
.=
(mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k
by A23, A40
;
hence
F . k = (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k
;
:: thesis: verum
end;
A41:
for
k being
Nat st
len p < k &
k <= m holds
(mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = 0. L
proof
let k be
Nat;
:: thesis: ( len p < k & k <= m implies (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = 0. L )
assume A42:
(
len p < k &
k <= m )
;
:: thesis: (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = 0. L
A43:
( 1
<= k &
k <= m )
A45:
k -' 1
>= len p
k in NAT
by ORDINAL1:def 13;
then (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k =
(p . (k -' 1)) * ((power L) . (x |^ i),(k -' 1))
by A23, A43
.=
(0. L) * ((power L) . (x |^ i),(k -' 1))
by A45, ALGSEQ_1:22
.=
0. L
by VECTSP_1:39
;
hence
(mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = 0. L
;
:: thesis: verum
end;
(len p) - (len p) <= m - (len p)
by A1, XREAL_1:11;
then reconsider lengthG =
m - (len p) as
Element of
NAT by INT_1:16;
ex
G being
FinSequence of
L st
(
dom G = Seg lengthG & ( for
k being
Nat st
k in Seg lengthG holds
G . k = 0. L ) )
then consider G being
FinSequence of
L such that A48:
(
dom G = Seg lengthG & ( for
k being
Nat st
k in Seg lengthG holds
G . k = 0. L ) )
;
A49:
for
k being
Element of
NAT st
k in Seg lengthG holds
G . k = 0. L
by A48;
A50:
(
len G = m - (len p) & ( for
k being
Element of
NAT st
k in dom G holds
G . k = 0. L ) )
by A48, FINSEQ_1:def 3;
mlt (Line (VM x,m),(i + 1)),
(Col (mConv p,m),1) = F ^ G
proof
A51:
dom (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) = dom (F ^ G)
proof
len (Line (VM x,m),(i + 1)) =
width (VM x,m)
by MATRIX_1:def 8
.=
m
by MATRIX_1:25
.=
len (mConv p,m)
by A1, Th28
.=
len (Col (mConv p,m),1)
by MATRIX_1:def 9
;
then A52:
len (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) =
len (Line (VM x,m),(i + 1))
by MATRIX_3:8
.=
width (VM x,m)
by MATRIX_1:def 8
.=
m
by MATRIX_1:25
;
(len F) + (len G) = m
by A36, A50;
then
dom (F ^ G) = Seg m
by FINSEQ_1:def 7;
hence
dom (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) = dom (F ^ G)
by A52, FINSEQ_1:def 3;
:: thesis: verum
end;
for
k being
Nat st
k in dom (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) holds
(mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = (F ^ G) . k
proof
let k be
Nat;
:: thesis: ( k in dom (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) implies (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = (F ^ G) . k )
assume A53:
k in dom (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1))
;
:: thesis: (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = (F ^ G) . k
(len F) + (len G) = m
by A36, A50;
then A54:
dom (F ^ G) = Seg m
by FINSEQ_1:def 7;
per cases
( ( 1 <= k & k <= len F ) or ( len F < k & k <= m ) )
by A51, A53, A54, FINSEQ_1:3;
suppose A55:
( 1
<= k &
k <= len F )
;
:: thesis: (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = (F ^ G) . kthen
k in dom F
by FINSEQ_3:27;
then (F ^ G) . k =
F . k
by FINSEQ_1:def 7
.=
(mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k
by A36, A37, A53, A55
;
hence
(mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = (F ^ G) . k
;
:: thesis: verum end; suppose A56:
(
len F < k &
k <= m )
;
:: thesis: (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = (F ^ G) . k
(len F) + (len G) = m
by A36, A50;
then
dom (F ^ G) = Seg m
by FINSEQ_1:def 7;
then A57:
len (F ^ G) = m
by FINSEQ_1:def 3;
(len F) + 1
<= k
by A56, NAT_1:13;
then
((len F) + 1) - (len F) <= k - (len F)
by XREAL_1:11;
then reconsider l =
k - (len F) as
Element of
NAT by INT_1:16;
(len p) - m <= m - m
by A1, XREAL_1:11;
then
(len p) - m <= - 0
;
then
- ((len p) - m) >= 0
;
then reconsider lengthG =
m - (len p) as
Element of
NAT by INT_1:16;
(len F) + 1
<= k
by A56, NAT_1:13;
then
((len F) + 1) - (len F) <= k - (len F)
by XREAL_1:11;
then
( 1
<= l &
l <= lengthG )
by A36, A56, XREAL_1:11;
then A58:
l in dom G
by A48;
(F ^ G) . k =
G . (k - (len F))
by A56, A57, FINSEQ_1:37
.=
0. L
by A48, A58
.=
(mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k
by A36, A41, A56
;
hence
(mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) . k = (F ^ G) . k
;
:: thesis: verum end; end;
end;
hence
mlt (Line (VM x,m),(i + 1)),
(Col (mConv p,m),1) = F ^ G
by A51, FINSEQ_1:17;
:: thesis: verum
end;
then Sum (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) =
(Sum F) + (Sum G)
by RLVECT_1:58
.=
(Sum F) + (0. L)
by A48, A49, POLYNOM3:1
.=
eval p,
(x |^ i)
by A36, RLVECT_1:def 7
;
hence
Sum (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) = eval p,
(x |^ i)
;
:: thesis: verum
end;
hence
Sum (mlt (Line (VM x,m),(i + 1)),(Col (mConv p,m),1)) = eval p,
(x |^ i)
;
:: thesis: verum
end;
hence
((VM x,m) * (mConv p,m)) * (i + 1),1
= eval p,
(x |^ i)
by A3, A9, A10, MATRIX_3:def 4;
:: thesis: verum
end;
hence
(DFT p,x,m) . i = ((VM x,m) * (mConv p,m)) * (i + 1),1
by A2, Def7;
:: thesis: verum
end;
hence
for i being Element of NAT st i < m holds
(DFT p,x,m) . i = ((VM x,m) * (mConv p,m)) * (i + 1),1
; :: thesis: verum