let n be non empty Element of NAT ; :: thesis: for lk being Element of NAT
for Key1, Key2 being Matrix of lk,6, NAT
for r being Element of NAT
for m being FinSequence of NAT st lk >= r & (2 to_power n) + 1 is prime & len m >= 4 & m . 1 is_expressible_by n & m . 2 is_expressible_by n & m . 3 is_expressible_by n & m . 4 is_expressible_by n & ( for i being Element of NAT st i <= r holds
( Key1 * i,1 is_expressible_by n & Key1 * i,2 is_expressible_by n & Key1 * i,3 is_expressible_by n & Key1 * i,4 is_expressible_by n & Key1 * i,5 is_expressible_by n & Key1 * i,6 is_expressible_by n & Key2 * i,1 is_expressible_by n & Key2 * i,2 is_expressible_by n & Key2 * i,3 is_expressible_by n & Key2 * i,4 is_expressible_by n & Key2 * i,5 is_expressible_by n & Key2 * i,6 is_expressible_by n & Key2 * i,1 = INV_MOD (Key1 * i,1),n & Key2 * i,2 = NEG_MOD (Key1 * i,3),n & Key2 * i,3 = NEG_MOD (Key1 * i,2),n & Key2 * i,4 = INV_MOD (Key1 * i,4),n & Key1 * i,5 = Key2 * i,5 & Key1 * i,6 = Key2 * i,6 ) ) holds
(compose ((IDEA_P_F Key1,n,r) ^ (IDEA_Q_F Key2,n,r)),MESSAGES ) . m = m

let lk be Element of NAT ; :: thesis: for Key1, Key2 being Matrix of lk,6, NAT
for r being Element of NAT
for m being FinSequence of NAT st lk >= r & (2 to_power n) + 1 is prime & len m >= 4 & m . 1 is_expressible_by n & m . 2 is_expressible_by n & m . 3 is_expressible_by n & m . 4 is_expressible_by n & ( for i being Element of NAT st i <= r holds
( Key1 * i,1 is_expressible_by n & Key1 * i,2 is_expressible_by n & Key1 * i,3 is_expressible_by n & Key1 * i,4 is_expressible_by n & Key1 * i,5 is_expressible_by n & Key1 * i,6 is_expressible_by n & Key2 * i,1 is_expressible_by n & Key2 * i,2 is_expressible_by n & Key2 * i,3 is_expressible_by n & Key2 * i,4 is_expressible_by n & Key2 * i,5 is_expressible_by n & Key2 * i,6 is_expressible_by n & Key2 * i,1 = INV_MOD (Key1 * i,1),n & Key2 * i,2 = NEG_MOD (Key1 * i,3),n & Key2 * i,3 = NEG_MOD (Key1 * i,2),n & Key2 * i,4 = INV_MOD (Key1 * i,4),n & Key1 * i,5 = Key2 * i,5 & Key1 * i,6 = Key2 * i,6 ) ) holds
(compose ((IDEA_P_F Key1,n,r) ^ (IDEA_Q_F Key2,n,r)),MESSAGES ) . m = m

let Key1, Key2 be Matrix of lk,6, NAT ; :: thesis: for r being Element of NAT
for m being FinSequence of NAT st lk >= r & (2 to_power n) + 1 is prime & len m >= 4 & m . 1 is_expressible_by n & m . 2 is_expressible_by n & m . 3 is_expressible_by n & m . 4 is_expressible_by n & ( for i being Element of NAT st i <= r holds
( Key1 * i,1 is_expressible_by n & Key1 * i,2 is_expressible_by n & Key1 * i,3 is_expressible_by n & Key1 * i,4 is_expressible_by n & Key1 * i,5 is_expressible_by n & Key1 * i,6 is_expressible_by n & Key2 * i,1 is_expressible_by n & Key2 * i,2 is_expressible_by n & Key2 * i,3 is_expressible_by n & Key2 * i,4 is_expressible_by n & Key2 * i,5 is_expressible_by n & Key2 * i,6 is_expressible_by n & Key2 * i,1 = INV_MOD (Key1 * i,1),n & Key2 * i,2 = NEG_MOD (Key1 * i,3),n & Key2 * i,3 = NEG_MOD (Key1 * i,2),n & Key2 * i,4 = INV_MOD (Key1 * i,4),n & Key1 * i,5 = Key2 * i,5 & Key1 * i,6 = Key2 * i,6 ) ) holds
(compose ((IDEA_P_F Key1,n,r) ^ (IDEA_Q_F Key2,n,r)),MESSAGES ) . m = m

for m being FinSequence of NAT
for r being Element of NAT st lk >= r & (2 to_power n) + 1 is prime & len m >= 4 & m . 1 is_expressible_by n & m . 2 is_expressible_by n & m . 3 is_expressible_by n & m . 4 is_expressible_by n & ( for i being Element of NAT st i <= r holds
( Key1 * i,1 is_expressible_by n & Key1 * i,2 is_expressible_by n & Key1 * i,3 is_expressible_by n & Key1 * i,4 is_expressible_by n & Key1 * i,5 is_expressible_by n & Key1 * i,6 is_expressible_by n & Key2 * i,1 is_expressible_by n & Key2 * i,2 is_expressible_by n & Key2 * i,3 is_expressible_by n & Key2 * i,4 is_expressible_by n & Key2 * i,5 is_expressible_by n & Key2 * i,6 is_expressible_by n & Key2 * i,1 = INV_MOD (Key1 * i,1),n & Key2 * i,2 = NEG_MOD (Key1 * i,3),n & Key2 * i,3 = NEG_MOD (Key1 * i,2),n & Key2 * i,4 = INV_MOD (Key1 * i,4),n & Key1 * i,5 = Key2 * i,5 & Key1 * i,6 = Key2 * i,6 ) ) holds
(compose ((IDEA_P_F Key1,n,r) ^ (IDEA_Q_F Key2,n,r)),MESSAGES ) . m = m
proof
let m be FinSequence of NAT ; :: thesis: for r being Element of NAT st lk >= r & (2 to_power n) + 1 is prime & len m >= 4 & m . 1 is_expressible_by n & m . 2 is_expressible_by n & m . 3 is_expressible_by n & m . 4 is_expressible_by n & ( for i being Element of NAT st i <= r holds
( Key1 * i,1 is_expressible_by n & Key1 * i,2 is_expressible_by n & Key1 * i,3 is_expressible_by n & Key1 * i,4 is_expressible_by n & Key1 * i,5 is_expressible_by n & Key1 * i,6 is_expressible_by n & Key2 * i,1 is_expressible_by n & Key2 * i,2 is_expressible_by n & Key2 * i,3 is_expressible_by n & Key2 * i,4 is_expressible_by n & Key2 * i,5 is_expressible_by n & Key2 * i,6 is_expressible_by n & Key2 * i,1 = INV_MOD (Key1 * i,1),n & Key2 * i,2 = NEG_MOD (Key1 * i,3),n & Key2 * i,3 = NEG_MOD (Key1 * i,2),n & Key2 * i,4 = INV_MOD (Key1 * i,4),n & Key1 * i,5 = Key2 * i,5 & Key1 * i,6 = Key2 * i,6 ) ) holds
(compose ((IDEA_P_F Key1,n,r) ^ (IDEA_Q_F Key2,n,r)),MESSAGES ) . m = m

defpred S1[ Element of NAT ] means ( lk >= $1 & (2 to_power n) + 1 is prime & len m >= 4 & m . 1 is_expressible_by n & m . 2 is_expressible_by n & m . 3 is_expressible_by n & m . 4 is_expressible_by n & ( for i being Element of NAT st i <= $1 holds
( Key1 * i,1 is_expressible_by n & Key1 * i,2 is_expressible_by n & Key1 * i,3 is_expressible_by n & Key1 * i,4 is_expressible_by n & Key1 * i,5 is_expressible_by n & Key1 * i,6 is_expressible_by n & Key2 * i,1 is_expressible_by n & Key2 * i,2 is_expressible_by n & Key2 * i,3 is_expressible_by n & Key2 * i,4 is_expressible_by n & Key2 * i,5 is_expressible_by n & Key2 * i,6 is_expressible_by n & Key2 * i,1 = INV_MOD (Key1 * i,1),n & Key2 * i,2 = NEG_MOD (Key1 * i,3),n & Key2 * i,3 = NEG_MOD (Key1 * i,2),n & Key2 * i,4 = INV_MOD (Key1 * i,4),n & Key1 * i,5 = Key2 * i,5 & Key1 * i,6 = Key2 * i,6 ) ) implies (compose ((IDEA_P_F Key1,n,$1) ^ (IDEA_Q_F Key2,n,$1)),MESSAGES ) . m = m );
A1: len (IDEA_P_F Key1,n,0 ) = 0 by Def17;
A2: for k being Element of NAT st S1[k] holds
S1[k + 1]
proof
let k be Element of NAT ; :: thesis: ( S1[k] implies S1[k + 1] )
assume A3: S1[k] ; :: thesis: S1[k + 1]
consider k1 being Element of NAT such that
A4: k1 = k + 1 ;
A5: dom (compose (IDEA_P_F Key1,n,k),MESSAGES ) = MESSAGES by Th44;
A6: rng (compose (IDEA_P_F Key1,n,k),MESSAGES ) c= MESSAGES by Th44;
A7: m in MESSAGES by FINSEQ_1:def 11;
then (compose (IDEA_P_F Key1,n,k),MESSAGES ) . m in rng (compose (IDEA_P_F Key1,n,k),MESSAGES ) by A5, FUNCT_1:def 5;
then reconsider M = (compose (IDEA_P_F Key1,n,k),MESSAGES ) . m as FinSequence of NAT by A6, FINSEQ_1:def 11;
assume that
A8: lk >= k + 1 and
A9: (2 to_power n) + 1 is prime and
A10: ( len m >= 4 & m . 1 is_expressible_by n & m . 2 is_expressible_by n & m . 3 is_expressible_by n & m . 4 is_expressible_by n ) and
A11: for i being Element of NAT st i <= k + 1 holds
( Key1 * i,1 is_expressible_by n & Key1 * i,2 is_expressible_by n & Key1 * i,3 is_expressible_by n & Key1 * i,4 is_expressible_by n & Key1 * i,5 is_expressible_by n & Key1 * i,6 is_expressible_by n & Key2 * i,1 is_expressible_by n & Key2 * i,2 is_expressible_by n & Key2 * i,3 is_expressible_by n & Key2 * i,4 is_expressible_by n & Key2 * i,5 is_expressible_by n & Key2 * i,6 is_expressible_by n & Key2 * i,1 = INV_MOD (Key1 * i,1),n & Key2 * i,2 = NEG_MOD (Key1 * i,3),n & Key2 * i,3 = NEG_MOD (Key1 * i,2),n & Key2 * i,4 = INV_MOD (Key1 * i,4),n & Key1 * i,5 = Key2 * i,5 & Key1 * i,6 = Key2 * i,6 ) ; :: thesis: (compose ((IDEA_P_F Key1,n,(k + 1)) ^ (IDEA_Q_F Key2,n,(k + 1))),MESSAGES ) . m = m
A12: ( len M >= 4 & M . 1 is_expressible_by n ) by A10, Th47;
A13: width Key1 = 6 by A8, MATRIX_1:24;
then 1 in Seg (width Key1) by FINSEQ_1:3;
then A14: (Line Key1,(k + 1)) . 1 = Key1 * k1,1 by A4, MATRIX_1:def 8;
then A15: (Line Key1,(k + 1)) . 1 is_expressible_by n by A11, A4;
A16: width Key2 = 6 by A8, MATRIX_1:24;
then 5 in Seg (width Key2) by FINSEQ_1:3;
then A17: (Line Key2,(k + 1)) . 5 = Key2 * k1,5 by A4, MATRIX_1:def 8;
3 in Seg (width Key1) by A13, FINSEQ_1:3;
then A18: (Line Key1,(k + 1)) . 3 = Key1 * k1,3 by A4, MATRIX_1:def 8;
then A19: (Line Key1,(k + 1)) . 3 is_expressible_by n by A11, A4;
2 in Seg (width Key1) by A13, FINSEQ_1:3;
then A20: (Line Key1,(k + 1)) . 2 = Key1 * k1,2 by A4, MATRIX_1:def 8;
then A21: (Line Key1,(k + 1)) . 2 is_expressible_by n by A11, A4;
3 in Seg (width Key2) by A16, FINSEQ_1:3;
then (Line Key2,(k + 1)) . 3 = Key2 * k1,3 by A4, MATRIX_1:def 8;
then A22: (Line Key2,(k + 1)) . 3 = NEG_MOD ((Line Key1,(k + 1)) . 2),n by A11, A4, A20;
2 in Seg (width Key2) by A16, FINSEQ_1:3;
then (Line Key2,(k + 1)) . 2 = Key2 * k1,2 by A4, MATRIX_1:def 8;
then A23: (Line Key2,(k + 1)) . 2 = NEG_MOD ((Line Key1,(k + 1)) . 3),n by A11, A4, A18;
5 in Seg (width Key1) by A13, FINSEQ_1:3;
then (Line Key1,(k + 1)) . 5 = Key1 * k1,5 by A4, MATRIX_1:def 8;
then A24: (Line Key2,(k + 1)) . 5 = (Line Key1,(k + 1)) . 5 by A11, A4, A17;
A25: M . 4 is_expressible_by n by A10, Th47;
A26: ( M . 2 is_expressible_by n & M . 3 is_expressible_by n ) by A10, Th47;
4 in Seg (width Key1) by A13, FINSEQ_1:3;
then A27: (Line Key1,(k + 1)) . 4 = Key1 * k1,4 by A4, MATRIX_1:def 8;
then A28: (Line Key1,(k + 1)) . 4 is_expressible_by n by A11, A4;
4 in Seg (width Key2) by A16, FINSEQ_1:3;
then (Line Key2,(k + 1)) . 4 = Key2 * k1,4 by A4, MATRIX_1:def 8;
then A29: (Line Key2,(k + 1)) . 4 = INV_MOD ((Line Key1,(k + 1)) . 4),n by A11, A4, A27;
6 in Seg (width Key2) by A16, FINSEQ_1:3;
then A30: (Line Key2,(k + 1)) . 6 = Key2 * k1,6 by A4, MATRIX_1:def 8;
6 in Seg (width Key1) by A13, FINSEQ_1:3;
then (Line Key1,(k + 1)) . 6 = Key1 * k1,6 by A4, MATRIX_1:def 8;
then A31: (Line Key2,(k + 1)) . 6 = (Line Key1,(k + 1)) . 6 by A11, A4, A30;
dom ((IDEA_Q (Line Key2,(k + 1)),n) * (IDEA_P (Line Key1,(k + 1)),n)) = MESSAGES by FUNCT_2:def 1;
then A32: dom (((IDEA_Q (Line Key2,(k + 1)),n) * (IDEA_P (Line Key1,(k + 1)),n)) * (compose (IDEA_P_F Key1,n,k),MESSAGES )) = MESSAGES by A6, A5, RELAT_1:46;
rng (compose ((IDEA_P_F Key1,n,k) ^ (<*(IDEA_P (Line Key1,(k + 1)),n)*> ^ <*(IDEA_Q (Line Key2,(k + 1)),n)*>)),MESSAGES ) = rng (compose (((IDEA_P_F Key1,n,k) ^ <*(IDEA_P (Line Key1,(k + 1)),n)*>) ^ <*(IDEA_Q (Line Key2,(k + 1)),n)*>),MESSAGES ) by FINSEQ_1:45
.= rng ((IDEA_Q (Line Key2,(k + 1)),n) * (compose ((IDEA_P_F Key1,n,k) ^ <*(IDEA_P (Line Key1,(k + 1)),n)*>),MESSAGES )) by FUNCT_7:43 ;
then A33: rng (compose ((IDEA_P_F Key1,n,k) ^ (<*(IDEA_P (Line Key1,(k + 1)),n)*> ^ <*(IDEA_Q (Line Key2,(k + 1)),n)*>)),MESSAGES ) c= MESSAGES by RELAT_1:def 19;
1 in Seg (width Key2) by A16, FINSEQ_1:3;
then (Line Key2,(k + 1)) . 1 = Key2 * k1,1 by A4, MATRIX_1:def 8;
then A34: (Line Key2,(k + 1)) . 1 = INV_MOD ((Line Key1,(k + 1)) . 1),n by A11, A4, A14;
A35: k + 1 >= k by NAT_1:11;
A36: for i being Element of NAT st i <= k holds
( Key1 * i,1 is_expressible_by n & Key1 * i,2 is_expressible_by n & Key1 * i,3 is_expressible_by n & Key1 * i,4 is_expressible_by n & Key1 * i,5 is_expressible_by n & Key1 * i,6 is_expressible_by n & Key2 * i,1 is_expressible_by n & Key2 * i,2 is_expressible_by n & Key2 * i,3 is_expressible_by n & Key2 * i,4 is_expressible_by n & Key2 * i,5 is_expressible_by n & Key2 * i,6 is_expressible_by n & Key2 * i,1 = INV_MOD (Key1 * i,1),n & Key2 * i,2 = NEG_MOD (Key1 * i,3),n & Key2 * i,3 = NEG_MOD (Key1 * i,2),n & Key2 * i,4 = INV_MOD (Key1 * i,4),n & Key1 * i,5 = Key2 * i,5 & Key1 * i,6 = Key2 * i,6 )
proof
let i be Element of NAT ; :: thesis: ( i <= k implies ( Key1 * i,1 is_expressible_by n & Key1 * i,2 is_expressible_by n & Key1 * i,3 is_expressible_by n & Key1 * i,4 is_expressible_by n & Key1 * i,5 is_expressible_by n & Key1 * i,6 is_expressible_by n & Key2 * i,1 is_expressible_by n & Key2 * i,2 is_expressible_by n & Key2 * i,3 is_expressible_by n & Key2 * i,4 is_expressible_by n & Key2 * i,5 is_expressible_by n & Key2 * i,6 is_expressible_by n & Key2 * i,1 = INV_MOD (Key1 * i,1),n & Key2 * i,2 = NEG_MOD (Key1 * i,3),n & Key2 * i,3 = NEG_MOD (Key1 * i,2),n & Key2 * i,4 = INV_MOD (Key1 * i,4),n & Key1 * i,5 = Key2 * i,5 & Key1 * i,6 = Key2 * i,6 ) )
assume i <= k ; :: thesis: ( Key1 * i,1 is_expressible_by n & Key1 * i,2 is_expressible_by n & Key1 * i,3 is_expressible_by n & Key1 * i,4 is_expressible_by n & Key1 * i,5 is_expressible_by n & Key1 * i,6 is_expressible_by n & Key2 * i,1 is_expressible_by n & Key2 * i,2 is_expressible_by n & Key2 * i,3 is_expressible_by n & Key2 * i,4 is_expressible_by n & Key2 * i,5 is_expressible_by n & Key2 * i,6 is_expressible_by n & Key2 * i,1 = INV_MOD (Key1 * i,1),n & Key2 * i,2 = NEG_MOD (Key1 * i,3),n & Key2 * i,3 = NEG_MOD (Key1 * i,2),n & Key2 * i,4 = INV_MOD (Key1 * i,4),n & Key1 * i,5 = Key2 * i,5 & Key1 * i,6 = Key2 * i,6 )
then i <= k + 1 by A35, XXREAL_0:2;
hence ( Key1 * i,1 is_expressible_by n & Key1 * i,2 is_expressible_by n & Key1 * i,3 is_expressible_by n & Key1 * i,4 is_expressible_by n & Key1 * i,5 is_expressible_by n & Key1 * i,6 is_expressible_by n & Key2 * i,1 is_expressible_by n & Key2 * i,2 is_expressible_by n & Key2 * i,3 is_expressible_by n & Key2 * i,4 is_expressible_by n & Key2 * i,5 is_expressible_by n & Key2 * i,6 is_expressible_by n & Key2 * i,1 = INV_MOD (Key1 * i,1),n & Key2 * i,2 = NEG_MOD (Key1 * i,3),n & Key2 * i,3 = NEG_MOD (Key1 * i,2),n & Key2 * i,4 = INV_MOD (Key1 * i,4),n & Key1 * i,5 = Key2 * i,5 & Key1 * i,6 = Key2 * i,6 ) by A11; :: thesis: verum
end;
(compose ((IDEA_P_F Key1,n,(k + 1)) ^ (IDEA_Q_F Key2,n,(k + 1))),MESSAGES ) . m = (compose (((IDEA_P_F Key1,n,k) ^ <*(IDEA_P (Line Key1,(k + 1)),n)*>) ^ (IDEA_Q_F Key2,n,(k + 1))),MESSAGES ) . m by Th37
.= (compose (((IDEA_P_F Key1,n,k) ^ <*(IDEA_P (Line Key1,(k + 1)),n)*>) ^ (<*(IDEA_Q (Line Key2,(k + 1)),n)*> ^ (IDEA_Q_F Key2,n,k))),MESSAGES ) . m by Th38
.= (compose ((((IDEA_P_F Key1,n,k) ^ <*(IDEA_P (Line Key1,(k + 1)),n)*>) ^ <*(IDEA_Q (Line Key2,(k + 1)),n)*>) ^ (IDEA_Q_F Key2,n,k)),MESSAGES ) . m by FINSEQ_1:45
.= (compose (((IDEA_P_F Key1,n,k) ^ (<*(IDEA_P (Line Key1,(k + 1)),n)*> ^ <*(IDEA_Q (Line Key2,(k + 1)),n)*>)) ^ (IDEA_Q_F Key2,n,k)),MESSAGES ) . m by FINSEQ_1:45
.= ((compose (IDEA_Q_F Key2,n,k),MESSAGES ) * (compose ((IDEA_P_F Key1,n,k) ^ (<*(IDEA_P (Line Key1,(k + 1)),n)*> ^ <*(IDEA_Q (Line Key2,(k + 1)),n)*>)),MESSAGES )) . m by A33, FUNCT_7:50
.= ((compose (IDEA_Q_F Key2,n,k),MESSAGES ) * ((compose (<*(IDEA_P (Line Key1,(k + 1)),n)*> ^ <*(IDEA_Q (Line Key2,(k + 1)),n)*>),MESSAGES ) * (compose (IDEA_P_F Key1,n,k),MESSAGES ))) . m by A6, FUNCT_7:50
.= ((compose (IDEA_Q_F Key2,n,k),MESSAGES ) * ((compose <*(IDEA_P (Line Key1,(k + 1)),n),(IDEA_Q (Line Key2,(k + 1)),n)*>,MESSAGES ) * (compose (IDEA_P_F Key1,n,k),MESSAGES ))) . m by FINSEQ_1:def 9
.= ((compose (IDEA_Q_F Key2,n,k),MESSAGES ) * ((((IDEA_Q (Line Key2,(k + 1)),n) * (IDEA_P (Line Key1,(k + 1)),n)) * (id MESSAGES )) * (compose (IDEA_P_F Key1,n,k),MESSAGES ))) . m by FUNCT_7:53
.= ((compose (IDEA_Q_F Key2,n,k),MESSAGES ) * (((IDEA_Q (Line Key2,(k + 1)),n) * (IDEA_P (Line Key1,(k + 1)),n)) * (compose (IDEA_P_F Key1,n,k),MESSAGES ))) . m by FUNCT_2:23
.= (compose (IDEA_Q_F Key2,n,k),MESSAGES ) . ((((IDEA_Q (Line Key2,(k + 1)),n) * (IDEA_P (Line Key1,(k + 1)),n)) * (compose (IDEA_P_F Key1,n,k),MESSAGES )) . m) by A32, A7, FUNCT_1:23
.= (compose (IDEA_Q_F Key2,n,k),MESSAGES ) . (((IDEA_Q (Line Key2,(k + 1)),n) * (IDEA_P (Line Key1,(k + 1)),n)) . ((compose (IDEA_P_F Key1,n,k),MESSAGES ) . m)) by A5, A7, FUNCT_1:23
.= (compose (IDEA_Q_F Key2,n,k),MESSAGES ) . ((compose (IDEA_P_F Key1,n,k),MESSAGES ) . m) by A9, A12, A26, A25, A15, A21, A19, A28, A34, A23, A22, A29, A24, A31, Th34
.= ((compose (IDEA_Q_F Key2,n,k),MESSAGES ) * (compose (IDEA_P_F Key1,n,k),MESSAGES )) . m by A5, A7, FUNCT_1:23
.= m by A3, A8, A9, A10, A35, A36, A6, FUNCT_7:50, XXREAL_0:2 ;
hence (compose ((IDEA_P_F Key1,n,(k + 1)) ^ (IDEA_Q_F Key2,n,(k + 1))),MESSAGES ) . m = m ; :: thesis: verum
end;
len (IDEA_Q_F Key2,n,0 ) = 0 by Def18;
then IDEA_Q_F Key2,n,0 = {} ;
then (IDEA_P_F Key1,n,0 ) ^ (IDEA_Q_F Key2,n,0 ) = IDEA_P_F Key1,n,0 by FINSEQ_1:47
.= {} by A1 ;
then ( m in MESSAGES & compose ((IDEA_P_F Key1,n,0 ) ^ (IDEA_Q_F Key2,n,0 )),MESSAGES = id MESSAGES ) by FINSEQ_1:def 11, FUNCT_7:41;
then A37: S1[ 0 ] by FUNCT_1:35;
thus for k being Element of NAT holds S1[k] from NAT_1:sch 1(A37, A2); :: thesis: verum
end;
hence for r being Element of NAT
for m being FinSequence of NAT st lk >= r & (2 to_power n) + 1 is prime & len m >= 4 & m . 1 is_expressible_by n & m . 2 is_expressible_by n & m . 3 is_expressible_by n & m . 4 is_expressible_by n & ( for i being Element of NAT st i <= r holds
( Key1 * i,1 is_expressible_by n & Key1 * i,2 is_expressible_by n & Key1 * i,3 is_expressible_by n & Key1 * i,4 is_expressible_by n & Key1 * i,5 is_expressible_by n & Key1 * i,6 is_expressible_by n & Key2 * i,1 is_expressible_by n & Key2 * i,2 is_expressible_by n & Key2 * i,3 is_expressible_by n & Key2 * i,4 is_expressible_by n & Key2 * i,5 is_expressible_by n & Key2 * i,6 is_expressible_by n & Key2 * i,1 = INV_MOD (Key1 * i,1),n & Key2 * i,2 = NEG_MOD (Key1 * i,3),n & Key2 * i,3 = NEG_MOD (Key1 * i,2),n & Key2 * i,4 = INV_MOD (Key1 * i,4),n & Key1 * i,5 = Key2 * i,5 & Key1 * i,6 = Key2 * i,6 ) ) holds
(compose ((IDEA_P_F Key1,n,r) ^ (IDEA_Q_F Key2,n,r)),MESSAGES ) . m = m ; :: thesis: verum