theorem Th52: (U1-multiCat.x <> {} & U2-multiCat.x <> {} implies
U1-multiCat.x = U2-multiCat.x) &
(p is {}*-valued implies U1-multiCat.p={}) &
(U1-multiCat.p={} & p is U1*-valued implies p is {}*-valued)
proof
reconsider e={} as Element of {{}} by TARSKI:def 1;
defpred P[Nat] means for U1, U2, p st p is ($1+1)-element
holds
(p is {}*-valued implies U1-multiCat.p={}) &
(U1-multiCat.p = {} & p is U1*-valued implies p is {{}}-valued) &
(U1-multiCat.p <> {} & U2-multiCat.p <> {} implies U1-multiCat.p=
U2-multiCat.p);
A1: P[0]
proof
let U1, U2, p; set C1=U1-multiCat, C2=U2-multiCat;
A2: dom C1=U1** & dom C2=U2** by FUNCT_2:def 1;
{} /\ U1={}; then reconsider EE={} as Subset of U1; {}/\U2={}; then
reconsider EE2={} as Subset of U2; reconsider E2=EE2* as non empty Subset of
U2*; reconsider eu2={} as Element of E2 by TARSKI:def 1;
reconsider E=EE* as non empty Subset of U1*;
reconsider euu={} as Element of E by TARSKI:def 1;
assume p is (0+1)-element; then reconsider pp=p as (1+0)-element FinSequence;
len pp = 1 by CARD_1:def 7; then
A3: p= {}^<*p.1*> by FINSEQ_1:40 .= euu ^ <*p.1*>;
hereby
assume p is {}*-valued; then p=euu ^ <*euu*> by A3; hence C1.p=
C1.euu^euu by Th33 .= {}^{} .= {};
end;
hereby
assume A4: C1.p={} & p is U1*-valued; then reconsider
ppp=pp as non empty U1*-valued FinSequence;  {ppp.1}\U1*={}; then
reconsider l=pp.1 as Element of U1* by ZFMISC_1:60; C1.p =
C1.euu^l by Th33, A3 .= {}^l .= l; then
p=euu ^ <*euu*> by A3, A4; hence p is {{}}-valued;
end;
hereby
assume C1.p<>{} & C2.p<>{}; then
A5: p in U1** & p in U2** by FUNCT_1:def 2, A2;
reconsider p1=pp as non empty U1*-valued FinSequence by A5;
reconsider p2=pp as non empty U2*-valued FinSequence by A5;
A6: {p1.1} \ U1* ={} & {p2.1}\U2*={};
reconsider u1=p1.1 as Element of U1* by A6, ZFMISC_1:60;
reconsider u2=p2.1 as Element of U2* by A6, ZFMISC_1:60;
A7: C1.p= C1.euu^u1 by A3, Th33 .= {}^u1 .= u1;
C2.p = C2.eu2^u2 by A3, Th33 .= {}^u1 .= u1;
hence C1.p=C2.p by A7;
end;
end;
A8: for n st P[n] holds P[n+1]
proof
let n; assume
A9: P[n];
let U1,U2; set C1=U1-multiCat, C2=U2-multiCat;
A10: dom C1=U1** & dom C2=U2** by FUNCT_2:def 1;
let p; assume
A11: p is (n+1+1)-element;
thus p is {}*-valued implies C1.p={}
proof
{} /\ U1={}; then reconsider EE={} as Subset of U1;
reconsider E=EE* as non empty Subset of U1*;
assume p is {}*-valued; then reconsider pp=p as (n+1+1+0)-element {}*-valued
FinSequence by A11; reconsider p1=pp|(Seg (n+1)) as (n+1)-element
E-valued FinSequence; {pp.(n+1+1)} \ {}* = {}; then
reconsider x1=pp.(n+1+1) as Element of E by ZFMISC_1:60;
pp \+\ p1 ^ <*x1*>={}; then pp=p1^<*x1*> & p1 is U1*-valued by Th29;
then C1.pp=C1.p1 ^ x1 by Th33 .= C1.p1 ^ {} .= {} by A9; hence thesis;
end;
thus C1.p={} & p is U1*-valued implies p is {{}}-valued
proof
assume
A12: C1.p={} & p is U1*-valued; then reconsider
pp=p as (n+1+1+0)-element U1*-valued FinSequence by A11;
reconsider p1=pp|(Seg (n+1)) as (n+1)-element U1*-valued FinSequence;
{pp.(n+1+1)} \ U1* = {}; then
reconsider x1=pp.(n+1+1) as Element of U1* by ZFMISC_1:60;
A13: pp \+\ p1 ^ <*x1*> = {}; then
 pp=p1^<*x1*> by Th29; then
C1.p1^x1 = {} by Th33, A12; then C1.p1 = {} & x1=e;
then C1.p1 = {} & <*x1*>=<*e*>; then
reconsider p11=p1, x11=<*x1*> as {{}}-valued FinSequence by A9;
p11^x11 is {{}}-valued; hence p is {{}}-valued by A13, Th29;
end;
assume
A14: C1.p<>{} & C2.p <> {}; then
p in U1** by A10, FUNCT_1:def 2; then reconsider p1=p as
(n+1+1+0)-element U1*-valued FinSequence by A11;
reconsider q1=p1|(Seg (n+1)) as (n+1)-element U1*-valued FinSequence;
{p1.(n+1+1)} \ U1* = {}; then
reconsider x1=p1.(n+1+1) as Element of U1* by ZFMISC_1:60;
p in U2** by A14, A10, FUNCT_1:def 2; then reconsider p2=p as
(n+1+1+0)-element U2*-valued FinSequence by A11;
reconsider q2=p2|(Seg (n+1)) as (n+1)-element U2*-valued FinSequence;
{p2.(n+1+1)} \ U2*={}; then reconsider x2=p2.(n+1+1) as Element of U2*
by ZFMISC_1:60; p1 \+\ q1^<*x1*>={} & p2 \+\ q2^<*x2*> = {}; then
p1=q1^<*x1*> & p2=q2^<*x2*> by Th29; then
A15: C1.p1=C1.q1^x1 & C2.p2=C2.q2^x2 by Th33; assume
A16: C1.p <> C2.p; then
C1.q1 = {} or C2.q2={} by A9, A15; then
q1 is {{}}-valued by A9; then C1.q1={} & C2.q2={} by A9;
hence contradiction by A16, A15;
end;
A17: for n holds P[n] from NAT_1:sch 2(A1, A8);
set C1=U1-multiCat, C2=U2-multiCat;
A18: dom C1=U1** & dom C2=U2** by FUNCT_2:def 1;
hereby
assume
A19: C1.x<>{} & C2.x<>{}; then x in U1** & x <> {} by A18, FUNCT_1:def 2;
then reconsider p=x as non empty FinSequence;
consider m such that
A20: len p=m+1 by NAT_1:6;
reconsider pp=p as (m+1)-element FinSequence by A20, CARD_1:def 7;
C1.pp<>{} & C2.pp<>{} implies C1.pp=C2.pp by A17;
hence C1.x=C2.x by A19;
end;
hereby
assume
A21: p is {}*-valued;
per cases;
suppose p={};  hence C1.p={};
end;
suppose not p={}; then consider m such that
A22: m+1=len p by NAT_1:6; reconsider pp=p as (m+1)-element FinSequence by
A22, CARD_1:def 7;
C1.pp={} by A21, A17; hence C1.p={};
end;
end;
assume
A23: C1.p={} & p is U1*-valued;
per cases;
suppose p={}; hence p is {}*-valued;
end;
suppose not p={}; then consider m such that
A24: m+1=len p by NAT_1:6; reconsider pp=p as (m+1)-element FinSequence by
A24, CARD_1:def 7;
pp is {}*-valued by A23, A17;
hence p is {}*-valued;
end;
end;
