let s1, s2 be Tuple of n,NAT ; :: thesis: ( s1 . 1 = Table2 m,e,f,n & ( for i being Nat st 1 <= i & i <= n - 1 holds
ex i1, i2 being Nat st
( i1 = s1 . i & i2 = s1 . (i + 1) & i2 = (((i1 |^ (Radix k)) mod f) * (Table2 m,e,f,(n -' i))) mod f ) ) & s2 . 1 = Table2 m,e,f,n & ( for i being Nat st 1 <= i & i <= n - 1 holds
ex i1, i2 being Nat st
( i1 = s2 . i & i2 = s2 . (i + 1) & i2 = (((i1 |^ (Radix k)) mod f) * (Table2 m,e,f,(n -' i))) mod f ) ) implies s1 = s2 )
assume that
A7:
( s1 . 1 = Table2 m,e,f,n & ( for i being Nat st 1 <= i & i <= n - 1 holds
ex I1, I2 being Nat st
( I1 = s1 . i & I2 = s1 . (i + 1) & I2 = (((I1 |^ (Radix k)) mod f) * (Table2 m,e,f,(n -' i))) mod f ) ) )
and
A8:
( s2 . 1 = Table2 m,e,f,n & ( for i being Nat st 1 <= i & i <= n - 1 holds
ex I1, I2 being Nat st
( I1 = s2 . i & I2 = s2 . (i + 1) & I2 = (((I1 |^ (Radix k)) mod f) * (Table2 m,e,f,(n -' i))) mod f ) ) )
; :: thesis: s1 = s2
A9:
len s1 = n
by FINSEQ_1:def 18;
then A10:
len s1 = len s2
by FINSEQ_1:def 18;
defpred S1[ Element of NAT ] means ( 1 <= $1 & $1 <= n - 1 implies s1 . $1 = s2 . $1 );
A11:
S1[ 0 ]
;
A12:
for i being Element of NAT st S1[i] holds
S1[i + 1]
proof
let kk be
Element of
NAT ;
:: thesis: ( S1[kk] implies S1[kk + 1] )
assume A13:
( 1
<= kk &
kk <= n - 1 implies
s1 . kk = s2 . kk )
;
:: thesis: S1[kk + 1]
assume A14:
( 1
<= kk + 1 &
kk + 1
<= n - 1 )
;
:: thesis: s1 . (kk + 1) = s2 . (kk + 1)
A15:
(
0 = kk or (
0 < kk &
0 + 1
= 1 ) )
;
per cases
( 0 = kk or 1 <= kk )
by A15, NAT_1:13;
suppose A16:
1
<= kk
;
:: thesis: s1 . (kk + 1) = s2 . (kk + 1)A17:
kk <= kk + 1
by NAT_1:11;
then A18:
( 1
<= kk &
kk <= n - 1 )
by A14, A16, XXREAL_0:2;
then consider i1,
i2 being
Nat such that A19:
(
i1 = s1 . kk &
i2 = s1 . (kk + 1) &
i2 = (((i1 |^ (Radix k)) mod f) * (Table2 m,e,f,(n -' kk))) mod f )
by A7;
consider i1,
i2 being
Nat such that A20:
(
i1 = s2 . kk &
i2 = s2 . (kk + 1) &
i2 = (((i1 |^ (Radix k)) mod f) * (Table2 m,e,f,(n -' kk))) mod f )
by A8, A18;
thus
s1 . (kk + 1) = s2 . (kk + 1)
by A13, A14, A16, A17, A19, A20, XXREAL_0:2;
:: thesis: verum end; end;
end;
A21:
for kk being Element of NAT holds S1[kk]
from NAT_1:sch 1(A11, A12);
A22:
s1 . n = s2 . n
proof
n - 1
>= 1
- 1
by A1, XREAL_1:11;
then reconsider U1 =
n - 1 as
Element of
NAT by INT_1:16;
now per cases
( U1 = 0 or 0 < U1 )
;
suppose
0 < U1
;
:: thesis: s1 . n = s2 . nthen A23:
( 1
<= U1 &
U1 <= U1 )
by NAT_1:14;
then consider i1,
i2 being
Nat such that A24:
(
i1 = s1 . U1 &
i2 = s1 . (U1 + 1) )
and A25:
i2 = (((i1 |^ (Radix k)) mod f) * (Table2 m,e,f,(n -' U1))) mod f
by A7;
consider j1,
j2 being
Nat such that A26:
(
j1 = s2 . U1 &
j2 = s2 . (U1 + 1) )
and A27:
j2 = (((j1 |^ (Radix k)) mod f) * (Table2 m,e,f,(n -' U1))) mod f
by A8, A23;
thus
s1 . n = s2 . n
by A21, A23, A24, A25, A26, A27;
:: thesis: verum end; end; end;
hence
s1 . n = s2 . n
;
:: thesis: verum
end;
for kk being Nat st 1 <= kk & kk <= len s1 holds
s1 . kk = s2 . kk
hence
s1 = s2
by A10, FINSEQ_1:18; :: thesis: verum