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 Th32: U-multiCat.x=(MultPlace(U-concatenation)).x
proof
set D=U*, f=U-concatenation, F=MultPlace f, G=U-multiCat;
set g = {} .--> {};
reconsider g as {{}}-valued Function;
dom f=[:D,D:] & dom F=D*\{{}} & dom G=D* by FUNCT_2:def 1; then
reconsider dF=dom F as Subset of dom G;
per cases;
suppose x in dom F; hence G.x=F.x by FUNCT_4:13; end;
suppose A1: not x in dom F; hence G.x = g.x by FUNCT_4:11 .=
F.x by FUNCT_1:def 2, A1; end;
end;
