reserve A,B,C,Y,x,y,z for set, U, D for non empty set,
X for non empty Subset of D, d,d1,d2 for Element of D;
reserve P,Q,R for Relation, g for Function, p,q for FinSequence;
reserve f for BinOp of D, i,m,n for Nat;
reserve X for set, f for Function;
reserve U1,U2 for non empty set;
reserve f for BinOp of D;
reserve a,a1,a2,b,b1,b2,A,B,C,X,Y,Z,x,x1,x2,y,y1,y2,z for set,
U,U1,U2,U3 for non empty set, u,u1,u2 for Element of U,
P,Q,R for Relation, f,f1,f2,g,g1,g2 for Function,
k,m,n for Nat, kk,mm,nn for Element of NAT, m1, n1 for non zero Nat,
p, p1, p2 for FinSequence, q, q1, q2 for U-valued FinSequence;

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;
