let n, i be Element of NAT ; ( i < n implies ( (n -BinarySequence (2 to_power i)) . (i + 1) = 1 & ( for j being Element of NAT st j in Seg n & j <> i + 1 holds
(n -BinarySequence (2 to_power i)) . j = 0 ) ) )
assume A1:
i < n
; ( (n -BinarySequence (2 to_power i)) . (i + 1) = 1 & ( for j being Element of NAT st j in Seg n & j <> i + 1 holds
(n -BinarySequence (2 to_power i)) . j = 0 ) )
deffunc H1( Nat) -> FinSequence of BOOLEAN = $1 -BinarySequence (2 to_power i);
set B = n -BinarySequence (2 to_power i);
defpred S1[ Nat] means ( i < $1 implies H1($1) . (i + 1) = TRUE );
A2:
now let n be
Element of
NAT ;
( S1[n] implies S1[n + 1] )assume A3:
S1[
n]
;
S1[n + 1]hence
S1[
n + 1]
;
verum end;
A16:
S1[ 0 ]
;
for n being Element of NAT holds S1[n]
from NAT_1:sch 1(A16, A2);
hence
(n -BinarySequence (2 to_power i)) . (i + 1) = 1
by A1; for j being Element of NAT st j in Seg n & j <> i + 1 holds
(n -BinarySequence (2 to_power i)) . j = 0
defpred S2[ Element of NAT ] means ( i < $1 implies for j being Element of NAT st i + 1 <= j & j <= $1 holds
H1($1) . (j + 1) = FALSE );
let j be Element of NAT ; ( j in Seg n & j <> i + 1 implies (n -BinarySequence (2 to_power i)) . j = 0 )
assume that
A17:
j in Seg n
and
A18:
j <> i + 1
; (n -BinarySequence (2 to_power i)) . j = 0
A19:
1 <= j
by A17, FINSEQ_1:1;
A20:
now let n be
Element of
NAT ;
( S2[n] implies S2[n + 1] )assume A21:
S2[
n]
;
S2[n + 1]hence
S2[
n + 1]
;
verum end;
A40:
S2[ 0 ]
;
A41:
for n being Element of NAT holds S2[n]
from NAT_1:sch 1(A40, A20);
defpred S3[ Element of NAT ] means ( i < $1 implies for j being Element of NAT st 1 <= j & j < i + 1 holds
H1($1) . j = FALSE );
A42:
now let n be
Element of
NAT ;
( S3[n] implies S3[n + 1] )assume A43:
S3[
n]
;
S3[n + 1]now assume A44:
i < n + 1
;
for j being Element of NAT st 1 <= j & j < i + 1 holds
H1(n + 1) . b2 = FALSE then A45:
i <= n
by NAT_1:13;
let j be
Element of
NAT ;
( 1 <= j & j < i + 1 implies H1(n + 1) . b1 = FALSE )assume that A46:
1
<= j
and A47:
j < i + 1
;
H1(n + 1) . b1 = FALSE per cases
( n = 0 or ( n > 0 & i < n ) or ( n > 0 & i = n ) )
by A45, XXREAL_0:1;
suppose A48:
(
n > 0 &
i < n )
;
H1(n + 1) . b1 = FALSE then reconsider n9 =
n as non
empty Element of
NAT ;
A49:
dom H1(
n)
= Seg n
by Lm1;
A50:
i <= n
by A44, NAT_1:13;
j <= i
by A47, NAT_1:13;
then
j <= n
by A50, XXREAL_0:2;
then A51:
j in dom H1(
n)
by A46, A49, FINSEQ_1:1;
2
to_power i < 2
to_power n
by A48, POWER:39;
hence H1(
n + 1)
. j =
(H1(n9) ^ <*FALSE*>) . j
by BINARI_3:27
.=
H1(
n)
. j
by A51, FINSEQ_1:def 7
.=
FALSE
by A43, A46, A47, A48
;
verum end; end; end; hence
S3[
n + 1]
;
verum end;
A56:
S3[ 0 ]
;
A57:
for n being Element of NAT holds S3[n]
from NAT_1:sch 1(A56, A42);
A58:
j <= n
by A17, FINSEQ_1:1;