let o1, o2 be Ordinal; for c being Element of Bags (o1 +^ o2) ex c1 being Element of Bags o1 ex c2 being Element of Bags o2 st c = c1 +^ c2
let c be Element of Bags (o1 +^ o2); ex c1 being Element of Bags o1 ex c2 being Element of Bags o2 st c = c1 +^ c2
per cases
( o2 is empty or not o2 is empty )
;
suppose A2:
not
o2 is
empty
;
ex c1 being Element of Bags o1 ex c2 being Element of Bags o2 st c = c1 +^ c2then reconsider o29 =
o2 as non
empty Ordinal ;
A3:
support (c | o1) c= support c
dom c = o1 +^ o2
by PARTFUN1:def 2;
then
o1 c= dom c
by ORDINAL3:24;
then
dom (c | o1) = o1
by RELAT_1:62;
then
c | o1 is
bag of
o1
by A3, PARTFUN1:def 2, PRE_POLY:def 8, RELAT_1:def 18;
then reconsider c1 =
c | o1 as
Element of
Bags o1 by PRE_POLY:def 12;
deffunc H1(
Element of
o1 +^ o29)
-> set = $1
-^ o1;
defpred S1[
object ,
object ]
means for
x1 being
Element of
o2 st
x1 = $1 holds
$2
= c . (o1 +^ x1);
take
c1
;
ex c2 being Element of Bags o2 st c = c1 +^ c2set B =
{ (o9 -^ o1) where o9 is Element of o1 +^ o29 : ( o1 c= o9 & o9 in support c ) } ;
set C =
{ H1(o9) where o9 is Element of o1 +^ o29 : o9 in support c } ;
A5:
{ (o9 -^ o1) where o9 is Element of o1 +^ o29 : ( o1 c= o9 & o9 in support c ) } c= { H1(o9) where o9 is Element of o1 +^ o29 : o9 in support c }
A6:
for
i being
object st
i in o2 holds
ex
j being
object st
S1[
i,
j]
proof
let i be
object ;
( i in o2 implies ex j being object st S1[i,j] )
assume
i in o2
;
ex j being object st S1[i,j]
then reconsider x1 =
i as
Element of
o2 ;
take
c . (o1 +^ x1)
;
S1[i,c . (o1 +^ x1)]
thus
S1[
i,
c . (o1 +^ x1)]
;
verum
end; consider f being
ManySortedSet of
o2 such that A7:
for
i being
object st
i in o2 holds
S1[
i,
f . i]
from PBOOLE:sch 3(A6);
A8:
support f c= { (o9 -^ o1) where o9 is Element of o1 +^ o29 : ( o1 c= o9 & o9 in support c ) }
A11:
f is
natural-valued
A13:
support c is
finite
;
{ H1(o9) where o9 is Element of o1 +^ o29 : o9 in support c } is
finite
from FRAENKEL:sch 21(A13);
then
f is
finite-support
by A5, A8, PRE_POLY:def 8;
then reconsider c2 =
f as
Element of
Bags o2 by A11, PRE_POLY:def 12;
take
c2
;
c = c1 +^ c2hence
c = c1 +^ c2
by PBOOLE:3;
verum end; end;