let n be Nat; for p being a_partition of n ex O being odd-valued FinSequence ex a being natural-valued FinSequence st
( len O = len p & len p = len a & p = O (#) (2 |^ a) & p . 1 = (O . 1) * (2 |^ (a . 1)) & ... & p . (len p) = (O . (len p)) * (2 |^ (a . (len p))) )
let p be a_partition of n; ex O being odd-valued FinSequence ex a being natural-valued FinSequence st
( len O = len p & len p = len a & p = O (#) (2 |^ a) & p . 1 = (O . 1) * (2 |^ (a . 1)) & ... & p . (len p) = (O . (len p)) * (2 |^ (a . (len p))) )
defpred S1[ object , object ] means for i, j being Nat st p . $1 = (2 |^ i) * ((2 * j) + 1) holds
$2 = [((2 * j) + 1),i];
A1:
dom p = Seg (len p)
by FINSEQ_1:def 3;
A2:
for k being Nat st k in Seg (len p) holds
ex x being object st S1[k,x]
proof
let k be
Nat;
( k in Seg (len p) implies ex x being object st S1[k,x] )
assume
k in Seg (len p)
;
ex x being object st S1[k,x]
then
p . k in rng p
by FUNCT_1:def 3, A1;
then consider n,
m being
Nat such that A3:
p . k = (2 |^ n) * ((2 * m) + 1)
by NAGATA_2:1;
take x =
[((2 * m) + 1),n];
S1[k,x]
let i,
j be
Nat;
( p . k = (2 |^ i) * ((2 * j) + 1) implies x = [((2 * j) + 1),i] )
assume
p . k = (2 |^ i) * ((2 * j) + 1)
;
x = [((2 * j) + 1),i]
then
(
i = n &
j = m )
by A3, CARD_4:4;
hence
x = [((2 * j) + 1),i]
;
verum
end;
consider Oa being FinSequence such that
A4:
( dom Oa = Seg (len p) & ( for k being Nat st k in Seg (len p) holds
S1[k,Oa . k] ) )
from FINSEQ_1:sch 1(A2);
deffunc H1( object ) -> object = (Oa . $1) `1 ;
consider O being FinSequence such that
A5:
( len O = len p & ( for k being Nat st k in dom O holds
O . k = H1(k) ) )
from FINSEQ_1:sch 2();
A6:
dom O = dom p
by FINSEQ_3:29, A5;
for x being object st x in dom O holds
O . x is odd Nat
then reconsider O = O as odd-valued FinSequence by Def2;
deffunc H2( object ) -> object = (Oa . $1) `2 ;
consider A being FinSequence such that
A9:
( len A = len p & ( for k being Nat st k in dom A holds
A . k = H2(k) ) )
from FINSEQ_1:sch 2();
A10:
dom A = dom p
by FINSEQ_3:29, A9;
for x being object st x in dom A holds
A . x is natural
then reconsider A = A as natural-valued FinSequence by VALUED_0:def 12;
take
O
; ex a being natural-valued FinSequence st
( len O = len p & len p = len a & p = O (#) (2 |^ a) & p . 1 = (O . 1) * (2 |^ (a . 1)) & ... & p . (len p) = (O . (len p)) * (2 |^ (a . (len p))) )
take
A
; ( len O = len p & len p = len A & p = O (#) (2 |^ A) & p . 1 = (O . 1) * (2 |^ (A . 1)) & ... & p . (len p) = (O . (len p)) * (2 |^ (A . (len p))) )
thus
( len O = len p & len p = len A )
by A5, A9; ( p = O (#) (2 |^ A) & p . 1 = (O . 1) * (2 |^ (A . 1)) & ... & p . (len p) = (O . (len p)) * (2 |^ (A . (len p))) )
set OA = O (#) (2 |^ A);
dom (2 |^ A) = dom A
by FLEXARY1:def 4;
then A13:
(dom O) /\ (dom (2 |^ A)) = dom p
by A10, A6;
A14:
p . 1 = (O . 1) * (2 |^ (A . 1)) & ... & p . (len p) = (O . (len p)) * (2 |^ (A . (len p)))
proof
let i be
Nat;
( not 1 <= i or not i <= len p or p . i = (O . i) * (2 |^ (A . i)) )
assume A15:
( 1
<= i &
i <= len p )
;
p . i = (O . i) * (2 |^ (A . i))
then
i in dom p
by FINSEQ_3:25;
then
p . i in rng p
by FUNCT_1:def 3;
then consider n,
m being
Nat such that A16:
p . i = (2 |^ n) * ((2 * m) + 1)
by NAGATA_2:1;
(
Oa . i = [((2 * m) + 1),n] &
[((2 * m) + 1),n] `1 = (2 * m) + 1 &
[((2 * m) + 1),n] `2 = n )
by A15, FINSEQ_3:25, A1, A16, A4;
then
(
O . i = (2 * m) + 1 &
A . i = n )
by A15, FINSEQ_3:25, A5, A9;
hence
p . i = (O . i) * (2 |^ (A . i))
by A16;
verum
end;
for i being Nat st i in dom p holds
p . i = (O (#) (2 |^ A)) . i
hence
( p = O (#) (2 |^ A) & p . 1 = (O . 1) * (2 |^ (A . 1)) & ... & p . (len p) = (O . (len p)) * (2 |^ (A . (len p))) )
by A13, VALUED_1:def 4, A14; verum