let n, k be Nat; ( 1 <= k & k <= n implies for z being FinSequence of INT.Ring st z = idseq n holds
( eval ((LagIPoly (z,k)),(In (k,INT.Ring))) = (((- 1) |^ (n -' k)) * ((n -' k) !)) * ((k -' 1) !) & ( for i being Nat st 1 <= i & i <= n & i <> k holds
In (i,INT.Ring) is_a_root_of LagIPoly (z,k) ) ) )
assume A1:
( 1 <= k & k <= n )
; for z being FinSequence of INT.Ring st z = idseq n holds
( eval ((LagIPoly (z,k)),(In (k,INT.Ring))) = (((- 1) |^ (n -' k)) * ((n -' k) !)) * ((k -' 1) !) & ( for i being Nat st 1 <= i & i <= n & i <> k holds
In (i,INT.Ring) is_a_root_of LagIPoly (z,k) ) )
let z be FinSequence of INT.Ring; ( z = idseq n implies ( eval ((LagIPoly (z,k)),(In (k,INT.Ring))) = (((- 1) |^ (n -' k)) * ((n -' k) !)) * ((k -' 1) !) & ( for i being Nat st 1 <= i & i <= n & i <> k holds
In (i,INT.Ring) is_a_root_of LagIPoly (z,k) ) ) )
assume A2:
z = idseq n
; ( eval ((LagIPoly (z,k)),(In (k,INT.Ring))) = (((- 1) |^ (n -' k)) * ((n -' k) !)) * ((k -' 1) !) & ( for i being Nat st 1 <= i & i <= n & i <> k holds
In (i,INT.Ring) is_a_root_of LagIPoly (z,k) ) )
set D = Del (z,k);
A3:
len z = n
by A2;
then A4:
k in dom z
by A1, FINSEQ_3:25;
then A5:
(len (Del (z,k))) + 1 = n
by A3, WSIERP_1:def 1;
A6:
len ((len (Del (z,k))) |-> 1) = len (Del (z,k))
;
eval ((LagIPoly (z,k)),(In (k,INT.Ring))) = eval ((~ (Product (rpoly (((len (Del (z,k))) |-> 1),(Del (z,k)))))),(In (k,INT.Ring)))
;
then consider e being FinSequence of the carrier of INT.Ring such that
A7:
eval ((LagIPoly (z,k)),(In (k,INT.Ring))) = Product e
and
A8:
len e = len ((len (Del (z,k))) |-> 1)
and
A9:
for i being Nat st 1 <= i & i <= len e holds
e . i = eval ((rpoly ((((len (Del (z,k))) |-> 1) /. i),((Del (z,k)) /. i))),(In (k,INT.Ring)))
by Th50;
defpred S1[ Nat] means ( $1 < k implies Product (e | $1) = ((k -' 1) !) / (((k -' 1) -' $1) !) );
e | 0 = <*> the carrier of INT.Ring
;
then A10:
Product (e | 0) = 1_ INT.Ring
by GROUP_4:8;
A11:
k -' 1 = k - 1
by A1, XREAL_1:233;
(k -' 1) -' 0 = (k -' 1) - 0
;
then A12:
S1[ 0 ]
by A10, XCMPLX_1:60;
A13:
for i being Nat st S1[i] holds
S1[i + 1]
proof
let i be
Nat;
( S1[i] implies S1[i + 1] )
assume A14:
S1[
i]
;
S1[i + 1]
set i1 =
i + 1;
assume A15:
i + 1
< k
;
Product (e | (i + 1)) = ((k -' 1) !) / (((k -' 1) -' (i + 1)) !)
then A16:
i + 1
< n
by A1, XXREAL_0:2;
then A17:
i + 1
<= len (Del (z,k))
by A5, NAT_1:13;
A18:
i + 1
<= len e
by A16, A8, A5, NAT_1:13;
A19:
1
<= i + 1
by NAT_1:11;
then A20:
(
i + 1
in dom ((len (Del (z,k))) |-> 1) &
i + 1
in dom (Del (z,k)) &
i + 1
in Seg (len (Del (z,k))) )
by A17, A6, FINSEQ_3:25;
then A21:
(
((len (Del (z,k))) |-> 1) /. (i + 1) = ((len (Del (z,k))) |-> 1) . (i + 1) &
((len (Del (z,k))) |-> 1) . (i + 1) = 1 &
(Del (z,k)) /. (i + 1) = (Del (z,k)) . (i + 1) )
by PARTFUN1:def 6, FINSEQ_2:57;
A22:
i + 1
in Seg n
by A19, A16;
(Del (z,k)) . (i + 1) = z . (i + 1)
by A4, A15, WSIERP_1:def 1;
then A23:
(Del (z,k)) . (i + 1) = i + 1
by A2, A22, FINSEQ_2:49;
A24:
e . (i + 1) =
eval (
(rpoly ((((len (Del (z,k))) |-> 1) /. (i + 1)),((Del (z,k)) /. (i + 1)))),
(In (k,INT.Ring)))
by NAT_1:11, A17, A8, A9
.=
(In (k,INT.Ring)) - ((Del (z,k)) /. (i + 1))
by A21, HURWITZ:29
;
k = (k -' 1) + 1
by A11;
then A25:
i + 1
<= k -' 1
by A15, NAT_1:13;
then
i < k -' 1
by NAT_1:13;
then A26:
(k -' 1) -' i = (k -' 1) - i
by XREAL_1:233;
A27:
k - (i + 1) <> 0
by A15;
(k -' 1) -' (i + 1) = (k -' 1) - (i + 1)
by A25, XREAL_1:233;
then
((k -' 1) -' (i + 1)) + 1
= (k -' 1) -' i
by A26;
then A28:
((k -' 1) -' i) ! = (((k -' 1) -' (i + 1)) !) * (k - (i + 1))
by A26, A11, NEWTON:15;
i + 1
in dom e
by A18, NAT_1:11, FINSEQ_3:25;
then
e | (i + 1) = (e | i) ^ <*(e . (i + 1))*>
by FINSEQ_5:10;
hence Product (e | (i + 1)) =
(Product (e | i)) * ((In (k,INT.Ring)) - ((Del (z,k)) /. (i + 1)))
by A24, GROUP_4:6
.=
(((k -' 1) !) / (((k -' 1) -' i) !)) * (k - (i + 1))
by A15, NAT_1:13, A14, A23, A20, PARTFUN1:def 6
.=
((k -' 1) !) / (((k -' 1) -' (i + 1)) !)
by A28, A27, XCMPLX_1:92
;
verum
end;
A29:
for i being Nat holds S1[i]
from NAT_1:sch 2(A12, A13);
k = (k -' 1) + 1
by A11;
then A30:
k -' 1 < k
by NAT_1:13;
A31:
Product (e | (k -' 1)) = ((k -' 1) !) / (((k -' 1) -' (k -' 1)) !)
by A29, A30;
A32:
((k -' 1) -' (k -' 1)) ! = 1
by NEWTON:12, XREAL_1:232;
then A33:
Product (e | (k -' 1)) = (k -' 1) !
by A31;
defpred S2[ Nat] means ( k <= $1 & $1 < n implies Product (e | $1) = (((- 1) |^ (($1 + 1) -' k)) * ((($1 + 1) -' k) !)) * ((k -' 1) !) );
A34:
S2[ 0 ]
by A1;
A35:
for i being Nat st S2[i] holds
S2[i + 1]
proof
let i be
Nat;
( S2[i] implies S2[i + 1] )
assume A36:
S2[
i]
;
S2[i + 1]
set i1 =
i + 1;
assume A37:
(
k <= i + 1 &
i + 1
< n )
;
Product (e | (i + 1)) = (((- 1) |^ (((i + 1) + 1) -' k)) * ((((i + 1) + 1) -' k) !)) * ((k -' 1) !)
then A38:
i + 1
<= len (Del (z,k))
by A5, NAT_1:13;
A39:
i + 1
<= len e
by A8, A37, A5, NAT_1:13;
1
<= i + 1
by NAT_1:11;
then
(
i + 1
in dom ((len (Del (z,k))) |-> 1) &
i + 1
in dom (Del (z,k)) &
i + 1
in Seg (len (Del (z,k))) )
by A38, A6, FINSEQ_3:25;
then A40:
(
((len (Del (z,k))) |-> 1) /. (i + 1) = ((len (Del (z,k))) |-> 1) . (i + 1) &
((len (Del (z,k))) |-> 1) . (i + 1) = 1 &
(Del (z,k)) /. (i + 1) = (Del (z,k)) . (i + 1) )
by PARTFUN1:def 6, FINSEQ_2:57;
( 1
<= (i + 1) + 1 &
(i + 1) + 1
<= n )
by A37, NAT_1:11, NAT_1:13;
then A41:
(i + 1) + 1
in Seg n
;
A42:
(Del (z,k)) . (i + 1) = z . ((i + 1) + 1)
by A4, A37, WSIERP_1:def 1;
A43:
e . (i + 1) =
eval (
(rpoly ((((len (Del (z,k))) |-> 1) /. (i + 1)),((Del (z,k)) /. (i + 1)))),
(In (k,INT.Ring)))
by NAT_1:11, A38, A8, A9
.=
(In (k,INT.Ring)) - ((Del (z,k)) /. (i + 1))
by A40, HURWITZ:29
;
i + 1
in dom e
by A38, A8, NAT_1:11, FINSEQ_3:25;
then
e | (i + 1) = (e | i) ^ <*(e . (i + 1))*>
by FINSEQ_5:10;
then A44:
Product (e | (i + 1)) = (Product (e | i)) * ((In (k,INT.Ring)) - ((Del (z,k)) /. (i + 1)))
by A43, GROUP_4:6;
per cases
( i + 1 = k or k < i + 1 )
by A37, XXREAL_0:1;
suppose A45:
i + 1
= k
;
Product (e | (i + 1)) = (((- 1) |^ (((i + 1) + 1) -' k)) * ((((i + 1) + 1) -' k) !)) * ((k -' 1) !)(In (k,INT.Ring)) - ((Del (z,k)) /. (i + 1)) =
k - ((i + 1) + 1)
by A42, A2, A41, FINSEQ_2:49, A40
.=
((- 1) |^ (((i + 1) + 1) -' k)) * ((((i + 1) + 1) -' k) !)
by A45, NEWTON:13
;
hence
Product (e | (i + 1)) = (((- 1) |^ (((i + 1) + 1) -' k)) * ((((i + 1) + 1) -' k) !)) * ((k -' 1) !)
by A44, A32, A45, A31;
verum end; suppose A46:
k < i + 1
;
Product (e | (i + 1)) = (((- 1) |^ (((i + 1) + 1) -' k)) * ((((i + 1) + 1) -' k) !)) * ((k -' 1) !)
k < (i + 1) + 1
by A46, NAT_1:13;
then A47:
(
((i + 1) + 1) -' k = ((i + 1) + 1) - k &
(i + 1) -' k = (i + 1) - k )
by A46, XREAL_1:233;
then
((i + 1) + 1) -' k = ((i + 1) -' k) + 1
;
then A48:
(((i + 1) -' k) !) * (((i + 1) + 1) -' k) = (((i + 1) + 1) -' k) !
by NEWTON:15;
A49:
(In (k,INT.Ring)) - ((Del (z,k)) /. (i + 1)) =
k - ((i + 1) + 1)
by A42, A2, A41, FINSEQ_2:49, A40
.=
- (((i + 1) + 1) -' k)
by A47
;
i + 1
in dom e
by A39, NAT_1:11, FINSEQ_3:25;
then
e | (i + 1) = (e | i) ^ <*(e . (i + 1))*>
by FINSEQ_5:10;
then A50:
Product (e | (i + 1)) = (Product (e | i)) * ((In (k,INT.Ring)) - ((Del (z,k)) /. (i + 1)))
by A43, GROUP_4:6;
A51:
- ((- 1) |^ ((i + 1) -' k)) =
(- 1) * ((- 1) |^ ((i + 1) -' k))
.=
(- 1) |^ (((i + 1) -' k) + 1)
by NEWTON:6
.=
(- 1) |^ (((i + 1) + 1) -' k)
by A47
;
Product (e | (i + 1)) = (((- 1) |^ (((i + 1) + 1) -' k)) * ((((i + 1) + 1) -' k) !)) * ((k -' 1) !)
by A51, A48, A50, A36, A46, A37, NAT_1:13, A49;
hence
Product (e | (i + 1)) = (((- 1) |^ (((i + 1) + 1) -' k)) * ((((i + 1) + 1) -' k) !)) * ((k -' 1) !)
;
verum end; end;
end;
A52:
for i being Nat holds S2[i]
from NAT_1:sch 2(A34, A35);
thus
eval ((LagIPoly (z,k)),(In (k,INT.Ring))) = (((- 1) |^ (n -' k)) * ((n -' k) !)) * ((k -' 1) !)
for i being Nat st 1 <= i & i <= n & i <> k holds
In (i,INT.Ring) is_a_root_of LagIPoly (z,k)
let i be Nat; ( 1 <= i & i <= n & i <> k implies In (i,INT.Ring) is_a_root_of LagIPoly (z,k) )
assume A54:
( 1 <= i & i <= n & i <> k )
; In (i,INT.Ring) is_a_root_of LagIPoly (z,k)
per cases
( i < k or i >= k )
;
suppose A55:
i < k
;
In (i,INT.Ring) is_a_root_of LagIPoly (z,k)then
i < n
by A1, A54, XXREAL_0:1;
then
i <= len (Del (z,k))
by A5, NAT_1:13;
then A56:
(
i in dom (Del (z,k)) &
i in dom ((len (Del (z,k))) |-> 1) &
i in Seg (len (Del (z,k))) &
i in Seg n )
by A6, A54, FINSEQ_3:25;
then
((len (Del (z,k))) |-> 1) . i = 1
by FINSEQ_2:57;
then A57:
(
(Del (z,k)) . i = (Del (z,k)) /. i &
(Del (z,k)) /. i is_a_root_of ~ (Product (rpoly (((len (Del (z,k))) |-> 1),(Del (z,k))))) )
by A56, Th51, PARTFUN1:def 6;
(Del (z,k)) . i =
z . i
by A4, A55, WSIERP_1:def 1
.=
In (
i,
INT.Ring)
by A2, A56, FINSEQ_2:49
;
hence
In (
i,
INT.Ring)
is_a_root_of LagIPoly (
z,
k)
by A57;
verum end; suppose A58:
i >= k
;
In (i,INT.Ring) is_a_root_of LagIPoly (z,k)then reconsider i1 =
i - 1 as
Nat by A1;
i1 + 1
> k
by A54, A58, XXREAL_0:1;
then A59:
i1 >= k
by NAT_1:13;
then A60:
i1 >= 1
by A1, XXREAL_0:2;
i1 <= n - 1
by A54, XREAL_1:9;
then A61:
(
i1 in dom (Del (z,k)) &
i1 in dom ((len (Del (z,k))) |-> 1) &
i1 in Seg (len (Del (z,k))) &
i in Seg n )
by A5, A60, A6, A54, FINSEQ_3:25;
then
((len (Del (z,k))) |-> 1) . i1 = 1
by FINSEQ_2:57;
then A62:
(
(Del (z,k)) . i1 = (Del (z,k)) /. i1 &
(Del (z,k)) /. i1 is_a_root_of ~ (Product (rpoly (((len (Del (z,k))) |-> 1),(Del (z,k))))) )
by A61, Th51, PARTFUN1:def 6;
(Del (z,k)) . i1 =
z . (i1 + 1)
by A59, A4, WSIERP_1:def 1
.=
In (
i,
INT.Ring)
by A2, A61, FINSEQ_2:49
;
hence
In (
i,
INT.Ring)
is_a_root_of LagIPoly (
z,
k)
by A62;
verum end; end;