let X, Y be non empty set ; for f being FinSequence of X *
for v being Function of X,Y ex F being FinSequence of Y * st
( F = ((dom f) --> v) ** f & v * (FlattenSeq f) = FlattenSeq F )
let f be FinSequence of X * ; for v being Function of X,Y ex F being FinSequence of Y * st
( F = ((dom f) --> v) ** f & v * (FlattenSeq f) = FlattenSeq F )
let v be Function of X,Y; ex F being FinSequence of Y * st
( F = ((dom f) --> v) ** f & v * (FlattenSeq f) = FlattenSeq F )
reconsider F = ((dom f) --> v) ** f as FinSequence of Y * by Th30;
take
F
; ( F = ((dom f) --> v) ** f & v * (FlattenSeq f) = FlattenSeq F )
thus
F = ((dom f) --> v) ** f
; v * (FlattenSeq f) = FlattenSeq F
set Fl = FlattenSeq F;
set fl = FlattenSeq f;
reconsider vfl = v * (FlattenSeq f) as FinSequence of Y ;
now ( dom (FlattenSeq f) = dom vfl & dom (FlattenSeq f) = dom (FlattenSeq F) & ( for k being Nat st k in dom (FlattenSeq f) holds
vfl . k = (FlattenSeq F) . k ) )
len (FlattenSeq f) = len vfl
by FINSEQ_2:33;
hence A1:
dom (FlattenSeq f) = dom vfl
by FINSEQ_3:29;
( dom (FlattenSeq f) = dom (FlattenSeq F) & ( for k being Nat st k in dom (FlattenSeq f) holds
vfl . k = (FlattenSeq F) . k ) )A2:
dom F =
(dom ((dom f) --> v)) /\ (dom f)
by PBOOLE:def 19
.=
(dom f) /\ (dom f)
.=
dom f
;
A6:
(
dom f = dom (Card f) &
dom f = dom (Card F) )
by A2, CARD_3:def 2;
then A7:
Card f = Card F
by A3;
len (FlattenSeq f) = len (FlattenSeq F)
by A6, A3, Th27, FUNCT_1:2;
hence
dom (FlattenSeq f) = dom (FlattenSeq F)
by FINSEQ_3:29;
for k being Nat st k in dom (FlattenSeq f) holds
vfl . k = (FlattenSeq F) . klet k be
Nat;
( k in dom (FlattenSeq f) implies vfl . k = (FlattenSeq F) . k )assume A8:
k in dom (FlattenSeq f)
;
vfl . k = (FlattenSeq F) . kthen consider i,
j being
Nat such that A9:
i in dom f
and A10:
j in dom (f . i)
and A11:
k = (Sum (Card (f | (i -' 1)))) + j
and A12:
(f . i) . j = (FlattenSeq f) . k
by Th28;
f . i in X *
by A9, FINSEQ_2:11;
then reconsider fi =
f . i as
FinSequence of
X by FINSEQ_1:def 11;
F . i =
(((dom f) --> v) . i) * (f . i)
by A2, A9, PBOOLE:def 19
.=
v * (f . i)
by A9, FUNCOP_1:7
;
then
len fi = len (F . i)
by FINSEQ_2:33;
then A13:
j in dom (F . i)
by A10, FINSEQ_3:29;
f . i in X *
by A9, FINSEQ_2:11;
then
(
dom v = X &
f . i is
FinSequence of
X )
by FINSEQ_1:def 11, FUNCT_2:def 1;
then
rng (f . i) c= dom v
by FINSEQ_1:def 4;
then A14:
j in dom (v * (f . i))
by A10, RELAT_1:27;
Card (F | (i -' 1)) =
Card (F | (Seg (i -' 1)))
by FINSEQ_1:def 16
.=
(Card f) | (Seg (i -' 1))
by A7, Th22
.=
Card (f | (Seg (i -' 1)))
by Th22
.=
Card (f | (i -' 1))
by FINSEQ_1:def 16
;
then (FlattenSeq F) . k =
(F . i) . j
by A2, A9, A11, A13, Th29
.=
((((dom f) --> v) . i) * (f . i)) . j
by A2, A9, PBOOLE:def 19
.=
(v * (f . i)) . j
by A9, FUNCOP_1:7
.=
v . ((f . i) . j)
by A14, FUNCT_1:12
;
hence
vfl . k = (FlattenSeq F) . k
by A1, A8, A12, FUNCT_1:12;
verum end;
hence
v * (FlattenSeq f) = FlattenSeq F
; verum