set A = { F1(i) where i is Nat : i < len F2() } ;
defpred S1[ Nat] means ( $1 <= len F2() implies for f being FinSequence of NAT st len f = $1 & ( for i being Nat st i < $1 holds
card F1(i) = f . (i + 1) ) holds
card (union { F1(i) where i is Nat : i < $1 } ) = Sum f );
A3:
S1[ 0 ]
A4:
for n being Nat st S1[n] holds
S1[n + 1]
proof
let n be
Nat;
( S1[n] implies S1[n + 1] )
assume A5:
S1[
n]
;
S1[n + 1]
assume B0:
n + 1
<= len F2()
;
for f being FinSequence of NAT st len f = n + 1 & ( for i being Nat st i < n + 1 holds
card F1(i) = f . (i + 1) ) holds
card (union { F1(i) where i is Nat : i < n + 1 } ) = Sum f
then B1:
n < len F2()
by NAT_1:13;
let f be
FinSequence of
NAT ;
( len f = n + 1 & ( for i being Nat st i < n + 1 holds
card F1(i) = f . (i + 1) ) implies card (union { F1(i) where i is Nat : i < n + 1 } ) = Sum f )
assume A6:
(
len f = n + 1 & ( for
i being
Nat st
i < n + 1 holds
card F1(
i)
= f . (i + 1) ) )
;
card (union { F1(i) where i is Nat : i < n + 1 } ) = Sum f
then consider f1 being
FinSequence of
NAT ,
j being
Element of
NAT such that A8:
f = f1 ^ <*j*>
by FINSEQ_2:19;
B5:
n < n + 1
by NAT_1:13;
B6:
len f = (len f1) + 1
by A8, FINSEQ_2:16;
B2:
for
i being
Nat st
i < n holds
card F1(
i)
= f1 . (i + 1)
A7:
(
j = f . (n + 1) &
f . (n + 1) = card F1(
n) )
by B6, B5, A6, A8, FINSEQ_1:42;
B3:
union { F1(i) where i is Nat : i < n } misses F1(
n)
{ F1(i) where i is Nat : i < n + 1 } = { F1(i) where i is Nat : i < n } \/ {F1(n)}
then union { F1(i) where i is Nat : i < n + 1 } =
(union { F1(i) where i is Nat : i < n } ) \/ (union {F1(n)})
by ZFMISC_1:78
.=
(union { F1(i) where i is Nat : i < n } ) \/ F1(
n)
;
hence card (union { F1(i) where i is Nat : i < n + 1 } ) =
(card (union { F1(i) where i is Nat : i < n } )) +` (card F1(n))
by B3, CARD_2:35
.=
(Sum f1) +` j
by A7, A5, B0, B2, B6, A6, NAT_1:13
.=
Sum f
by A8, RVSUM_1:74
;
verum
end;
for n being Nat holds S1[n]
from NAT_1:sch 2(A3, A4);
hence
card (union { F1(i) where i is Nat : i < len F2() } ) = Sum F2()
by A2; verum