let F be FinSequence-yielding FinSequence; for f being FinSequence holds card (doms (F ^ <*f*>)) = (card (doms F)) * (len f)
let f be FinSequence; card (doms (F ^ <*f*>)) = (card (doms F)) * (len f)
defpred S1[ Nat] means for f being FinSequence st len f = $1 holds
card (doms (F ^ <*f*>)) = (card (doms F)) * (len f);
A1:
S1[ 0 ]
A3:
for n being Nat st S1[n] holds
S1[n + 1]
proof
let n be
Nat;
( S1[n] implies S1[n + 1] )
assume A4:
S1[
n]
;
S1[n + 1]
let f be
FinSequence;
( len f = n + 1 implies card (doms (F ^ <*f*>)) = (card (doms F)) * (len f) )
assume A5:
len f = n + 1
;
card (doms (F ^ <*f*>)) = (card (doms F)) * (len f)
set n1 =
n + 1;
set fn =
f | n;
set S =
{ (f ^ <*(1 + (len (f | n)))*>) where f is Element of doms F : f in doms F } ;
n < n + 1
by NAT_1:13;
then A6:
len (f | n) = n
by A5, FINSEQ_1:59;
f = (f | n) ^ <*(f . (n + 1))*>
by A5, FINSEQ_3:55;
then A7:
doms (F ^ <*f*>) = (doms (F ^ <*(f | n)*>)) \/ { (f ^ <*(1 + (len (f | n)))*>) where f is Element of doms F : f in doms F }
by Th52;
defpred S2[
object ,
object ]
means for
g being
FinSequence st
g = $1 holds
$2
= g ^ <*(1 + (len (f | n)))*>;
A8:
for
x being
object st
x in doms F holds
ex
y being
object st
(
y in { (f ^ <*(1 + (len (f | n)))*>) where f is Element of doms F : f in doms F } &
S2[
x,
y] )
consider H being
Function such that A11:
(
dom H = doms F &
rng H c= { (f ^ <*(1 + (len (f | n)))*>) where f is Element of doms F : f in doms F } )
and A12:
for
x being
object st
x in doms F holds
S2[
x,
H . x]
from FUNCT_1:sch 6(A8);
A13:
H is
one-to-one
{ (f ^ <*(1 + (len (f | n)))*>) where f is Element of doms F : f in doms F } c= rng H
then
rng H = { (f ^ <*(1 + (len (f | n)))*>) where f is Element of doms F : f in doms F }
by A11;
then A16:
card (doms F) = card { (f ^ <*(1 + (len (f | n)))*>) where f is Element of doms F : f in doms F }
by A13, A11, CARD_1:70;
then reconsider S =
{ (f ^ <*(1 + (len (f | n)))*>) where f is Element of doms F : f in doms F } as
finite set ;
doms (F ^ <*(f | n)*>) misses S
hence card (doms (F ^ <*f*>)) =
(card (doms (F ^ <*(f | n)*>))) + (card (doms F))
by A16, A7, CARD_2:40
.=
((card (doms F)) * n) + (card (doms F))
by A6, A4
.=
(card (doms F)) * (len f)
by A5
;
verum
end;
for n being Nat holds S1[n]
from NAT_1:sch 2(A1, A3);
hence
card (doms (F ^ <*f*>)) = (card (doms F)) * (len f)
; verum