let X be non empty set ; for S being non empty FinSequence of NAT ex A being Universal_Algebra st
( the carrier of A = X & signature A = S )
let S be non empty FinSequence of NAT ; ex A being Universal_Algebra st
( the carrier of A = X & signature A = S )
A1:
dom S = Seg (len S)
by FINSEQ_1:def 3;
set x = the Element of X;
defpred S1[ object , object ] means ex i, j being Nat st
( $1 = i & j = S . i & $2 = (j -tuples_on X) --> the Element of X );
A2:
for y being object st y in dom S holds
ex z being object st S1[y,z]
consider ch being Function such that
A3:
( dom ch = dom S & ( for y being object st y in dom S holds
S1[y,ch . y] ) )
from CLASSES1:sch 1(A2);
reconsider ch = ch as FinSequence by A1, A3, FINSEQ_1:def 2;
rng ch c= PFuncs ((X *),X)
then reconsider ch = ch as PFuncFinSequence of X by FINSEQ_1:def 4;
set A = UAStr(# X,ch #);
A8:
UAStr(# X,ch #) is quasi_total
proof
let n be
Nat;
UNIALG_1:def 2,
MARGREL1:def 24 for b1 being Element of bool [:( the carrier of UAStr(# X,ch #) *), the carrier of UAStr(# X,ch #):] holds
( not n in dom the charact of UAStr(# X,ch #) or not b1 = the charact of UAStr(# X,ch #) . n or b1 is quasi_total )let h be
PartFunc of
( the carrier of UAStr(# X,ch #) *), the
carrier of
UAStr(#
X,
ch #);
( not n in dom the charact of UAStr(# X,ch #) or not h = the charact of UAStr(# X,ch #) . n or h is quasi_total )
assume that A9:
n in dom the
charact of
UAStr(#
X,
ch #)
and A10:
h = the
charact of
UAStr(#
X,
ch #)
. n
;
h is quasi_total
ex
i,
j being
Nat st
(
n = i &
j = S . i &
h = (j -tuples_on X) --> the
Element of
X )
by A3, A9, A10;
hence
h is
quasi_total
;
verum
end;
A11:
UAStr(# X,ch #) is non-empty
UAStr(# X,ch #) is partial
proof
let n be
Nat;
UNIALG_1:def 1,
MARGREL1:def 23 for b1 being Element of bool [:( the carrier of UAStr(# X,ch #) *), the carrier of UAStr(# X,ch #):] holds
( not n in dom the charact of UAStr(# X,ch #) or not b1 = the charact of UAStr(# X,ch #) . n or b1 is homogeneous )let h be
PartFunc of
( the carrier of UAStr(# X,ch #) *), the
carrier of
UAStr(#
X,
ch #);
( not n in dom the charact of UAStr(# X,ch #) or not h = the charact of UAStr(# X,ch #) . n or h is homogeneous )
assume that A14:
n in dom the
charact of
UAStr(#
X,
ch #)
and A15:
h = the
charact of
UAStr(#
X,
ch #)
. n
;
h is homogeneous
ex
i,
j being
Nat st
(
n = i &
j = S . i &
h = (j -tuples_on X) --> the
Element of
X )
by A3, A14, A15;
hence
h is
homogeneous
;
verum
end;
then reconsider A = UAStr(# X,ch #) as Universal_Algebra by A8, A11;
take
A
; ( the carrier of A = X & signature A = S )
thus
the carrier of A = X
; signature A = S
A16:
len ch = len S
by A3, FINSEQ_3:29;
hence
signature A = S
by A16, UNIALG_1:def 4; verum