let D be non empty set ; for A being set
for m being Nat st A is D -prefix holds
(D -multiCat) .: (m -tuples_on A) is D -prefix
let A be set ; for m being Nat st A is D -prefix holds
(D -multiCat) .: (m -tuples_on A) is D -prefix
let m be Nat; ( A is D -prefix implies (D -multiCat) .: (m -tuples_on A) is D -prefix )
reconsider f = D -concatenation as BinOp of (D *) ;
set F = D -multiCat ;
set Y = (D -multiCat) .: (m -tuples_on A);
{} in (D *) *
by FINSEQ_1:49;
then A1:
{} in dom (D -multiCat)
by FUNCT_2:def 1;
per cases
( m = 0 or m <> 0 )
;
suppose
m = 0
;
( A is D -prefix implies (D -multiCat) .: (m -tuples_on A) is D -prefix )then Z1:
(D -multiCat) .: (m -tuples_on A) =
(D -multiCat) .: {(<*> A)}
by FINSEQ_2:94
.=
Im (
(D -multiCat),
{})
.=
{((D -multiCat) . {})}
by A1, FUNCT_1:59
.=
{{}}
;
for
x,
y,
d1,
d2 being
set st
x in ((D -multiCat) .: (m -tuples_on A)) /\ (D *) &
y in ((D -multiCat) .: (m -tuples_on A)) /\ (D *) &
d1 in D * &
d2 in D * &
f . (
x,
d1)
= f . (
y,
d2) holds
(
x = y &
d1 = d2 )
proof
let x,
y,
d1,
d2 be
set ;
( x in ((D -multiCat) .: (m -tuples_on A)) /\ (D *) & y in ((D -multiCat) .: (m -tuples_on A)) /\ (D *) & d1 in D * & d2 in D * & f . (x,d1) = f . (y,d2) implies ( x = y & d1 = d2 ) )
assume C1:
(
x in ((D -multiCat) .: (m -tuples_on A)) /\ (D *) &
y in ((D -multiCat) .: (m -tuples_on A)) /\ (D *) &
d1 in D * &
d2 in D * &
f . (
x,
d1)
= f . (
y,
d2) )
;
( x = y & d1 = d2 )
then
(
x in (D -multiCat) .: (m -tuples_on A) &
x in D * &
y in (D -multiCat) .: (m -tuples_on A) &
y in D * )
by XBOOLE_0:def 4;
then C3:
(
x = {} &
y = {} )
by Z1, TARSKI:def 1;
reconsider xx =
x as
Element of
D * by C1;
reconsider yy =
y as
Element of
D * by C1;
reconsider d11 =
d1 as
Element of
D * by C1;
reconsider d22 =
d2 as
Element of
D * by C1;
d11 =
xx ^ d11
by C3, FINSEQ_1:34
.=
f . (
yy,
d22)
by ThConcatenation, C1
.=
{} ^ d22
by C3, ThConcatenation
.=
d22
by FINSEQ_1:34
;
hence
(
x = y &
d1 = d2 )
by C3;
verum
end; then
(D -multiCat) .: (m -tuples_on A) is
f -unambiguous
by DefUnambiguous2;
hence
(
A is
D -prefix implies
(D -multiCat) .: (m -tuples_on A) is
D -prefix )
by DefPrefix;
verum end; end;