let f, g be XFinSequence; for X being set holds card ((f ^ g) " X) = (card (f " X)) + (card (g " X))
let X be set ; card ((f ^ g) " X) = (card (f " X)) + (card (g " X))
(((f ^ g) " X) /\ (len f)) \/ (((f ^ g) " X) \ (len f)) = (f ^ g) " X
;
then A1:
card ((f ^ g) " X) = (card (((f ^ g) " X) /\ (len f))) + (card (((f ^ g) " X) \ (len f)))
by XBOOLE_1:89, CARD_2:40;
defpred S1[ object , object ] means ( $1 is Nat & ( for n being Nat st $1 = n holds
$2 = n + (len f) ) );
A2:
for x being object st x in g " X holds
ex y being object st
( y in ((f ^ g) " X) \ (len f) & S1[x,y] )
proof
let x be
object ;
( x in g " X implies ex y being object st
( y in ((f ^ g) " X) \ (len f) & S1[x,y] ) )
assume A3:
x in g " X
;
ex y being object st
( y in ((f ^ g) " X) \ (len f) & S1[x,y] )
A4:
(
x in dom g &
g . x in X )
by A3, FUNCT_1:def 7;
then reconsider x =
x as
Nat ;
take y =
x + (len f);
( y in ((f ^ g) " X) \ (len f) & S1[x,y] )
(
y in dom (f ^ g) &
(f ^ g) . y = g . x )
by A4, AFINSQ_1:23, AFINSQ_1:def 3;
then A5:
y in (f ^ g) " X
by A4, FUNCT_1:def 7;
( not
y in Segm (len f) &
Segm (len f) = len f )
by NAT_1:11, NAT_1:44, ORDINAL1:def 17;
hence
(
y in ((f ^ g) " X) \ (len f) &
S1[
x,
y] )
by A5, XBOOLE_0:def 5;
verum
end;
consider F being Function such that
A6:
( dom F = g " X & rng F c= ((f ^ g) " X) \ (len f) )
and
A7:
for x being object st x in g " X holds
S1[x,F . x]
from FUNCT_1:sch 6(A2);
((f ^ g) " X) \ (len f) c= rng F
proof
let x be
object ;
TARSKI:def 3 ( not x in ((f ^ g) " X) \ (len f) or x in rng F )
assume A8:
x in ((f ^ g) " X) \ (len f)
;
x in rng F
A9:
(
x in (f ^ g) " X & not
x in len f )
by A8, XBOOLE_0:def 5;
A10:
(
x in dom (f ^ g) &
(f ^ g) . x in X )
by FUNCT_1:def 7, A8;
then reconsider x =
x as
Nat ;
A11:
not
x in Segm (len f)
by A9, ORDINAL1:def 17;
then A12:
x >= len f
by NAT_1:44;
A13:
x < len (f ^ g)
by A10, AFINSQ_1:66;
A14:
(f ^ g) . x = g . (x - (len f))
by A12, A10, AFINSQ_1:66, AFINSQ_1:19;
A15:
x < (len f) + (len g)
by A13, AFINSQ_1:17;
then
(
(len f) - (len f) <= x - (len f) &
x - (len f) < len g )
by A11, NAT_1:44, XREAL_1:9, XREAL_1:19;
then reconsider xL =
x - (len f) as
Element of
NAT by INT_1:3;
xL in dom g
by A15, XREAL_1:19, AFINSQ_1:66;
then A16:
xL in g " X
by A10, A14, FUNCT_1:def 7;
then
(
F . xL = xL + (len f) &
xL + (len f) = x )
by A7;
hence
x in rng F
by A16, A6, FUNCT_1:def 3;
verum
end;
then A17:
((f ^ g) " X) \ (len f) = rng F
by A6, XBOOLE_0:def 10;
for x1, x2 being object st x1 in dom F & x2 in dom F & F . x1 = F . x2 holds
x1 = x2
then A19:
card (g " X) = card (((f ^ g) " X) \ (len f))
by A6, A17, CARD_1:70, FUNCT_1:def 4;
A20:
((f ^ g) " X) /\ (len f) c= f " X
f " X c= ((f ^ g) " X) /\ (len f)
hence
card ((f ^ g) " X) = (card (f " X)) + (card (g " X))
by A1, A19, A20, XBOOLE_0:def 10; verum