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