let S be non empty FinSequence of NAT ; :: thesis: for i, j being Nat st i in dom S & j = S . i holds
for X being non empty set
for f being Function of j -tuples_on X,X ex A being Universal_Algebra st
( the carrier of A = X & signature A = S & the charact of A . i = f )
let i, j be Nat; :: thesis: ( i in dom S & j = S . i implies for X being non empty set
for f being Function of j -tuples_on X,X ex A being Universal_Algebra st
( the carrier of A = X & signature A = S & the charact of A . i = f ) )
reconsider j' = j as Element of NAT by ORDINAL1:def 13;
assume A1:
( i in dom S & j = S . i )
; :: thesis: for X being non empty set
for f being Function of j -tuples_on X,X ex A being Universal_Algebra st
( the carrier of A = X & signature A = S & the charact of A . i = f )
let X be non empty set ; :: thesis: for f being Function of j -tuples_on X,X ex A being Universal_Algebra st
( the carrier of A = X & signature A = S & the charact of A . i = f )
consider A0 being Universal_Algebra such that
A2:
( the carrier of A0 = X & signature A0 = S )
by Th13;
let f be Function of j -tuples_on X,X; :: thesis: ex A being Universal_Algebra st
( the carrier of A = X & signature A = S & the charact of A . i = f )
j' -tuples_on X c= X *
by CATALG_1:6;
then reconsider f0 = f as PartFunc of X * ,X by RELSET_1:17;
consider z being Element of j -tuples_on X;
A3:
dom f0 = j -tuples_on X
by FUNCT_2:def 1;
f0 is homogeneous
then reconsider f0 = f0 as non empty homogeneous PartFunc of X * ,X ;
A4:
len z = j
by FINSEQ_2:109;
then A5:
arity f0 = j
by A3, UNIALG_1:def 10;
set ch = the charact of A0 +* i,f0;
f0 in PFuncs (X * ),X
by PARTFUN1:119;
then
( {f0} c= PFuncs (X * ),X & rng the charact of A0 c= PFuncs (X * ),X )
by A2, ZFMISC_1:37;
then
( rng (the charact of A0 +* i,f0) c= (rng the charact of A0) \/ {f0} & (rng the charact of A0) \/ {f0} c= PFuncs (X * ),X )
by FUNCT_7:102, XBOOLE_1:8;
then
rng (the charact of A0 +* i,f0) c= PFuncs (X * ),X
by XBOOLE_1:1;
then reconsider ch = the charact of A0 +* i,f0 as FinSequence of PFuncs (X * ),X by FINSEQ_1:def 4;
A6:
dom ch = dom the charact of A0
by FUNCT_7:32;
set A = UAStr(# X,ch #);
A7:
UAStr(# X,ch #) is quasi_total
proof
let n be
Nat;
:: according to UNIALG_1:def 5,
UNIALG_1:def 8 :: thesis: for b1 being Relation of the carrier of UAStr(# X,ch #) * ,the carrier of UAStr(# X,ch #) holds
( n nin 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 #);
:: thesis: ( n nin dom the charact of UAStr(# X,ch #) or not h = the charact of UAStr(# X,ch #) . n or h is quasi_total )
assume A8:
(
n in dom the
charact of
UAStr(#
X,
ch #) &
h = the
charact of
UAStr(#
X,
ch #)
. n )
;
:: thesis: h is quasi_total
then
( (
n = i implies
h = f0 ) & (
n <> i implies
h = the
charact of
A0 . n ) & the
charact of
A0 is
quasi_total )
by A6, FUNCT_7:33, FUNCT_7:34;
hence
h is
quasi_total
by A2, A5, A3, A8, A6, COMPUT_1:25, UNIALG_1:def 5;
:: thesis: verum
end;
A9:
UAStr(# X,ch #) is non-empty
UAStr(# X,ch #) is partial
proof
let n be
Nat;
:: according to UNIALG_1:def 4,
UNIALG_1:def 7 :: thesis: for b1 being Relation of the carrier of UAStr(# X,ch #) * ,the carrier of UAStr(# X,ch #) holds
( n nin 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 #);
:: thesis: ( n nin dom the charact of UAStr(# X,ch #) or not h = the charact of UAStr(# X,ch #) . n or h is homogeneous )
assume
(
n in dom the
charact of
UAStr(#
X,
ch #) &
h = the
charact of
UAStr(#
X,
ch #)
. n )
;
:: thesis: h is homogeneous
then
( (
n = i implies
h = f0 ) & (
n <> i implies
h = the
charact of
A0 . n ) & the
charact of
A0 is
homogeneous )
by A6, FUNCT_7:33, FUNCT_7:34;
hence
h is
homogeneous
;
:: thesis: verum
end;
then reconsider A = UAStr(# X,ch #) as Universal_Algebra by A7, A9;
take
A
; :: thesis: ( the carrier of A = X & signature A = S & the charact of A . i = f )
thus
the carrier of A = X
; :: thesis: ( signature A = S & the charact of A . i = f )
A11:
len S = len the charact of A0
by A2, UNIALG_1:def 11;
then A12:
dom S = dom the charact of A0
by FINSEQ_3:31;
A13:
len S = len the charact of A
by A11, A6, FINSEQ_3:31;
now let n be
Nat;
:: thesis: ( n in dom S implies for h being non empty homogeneous PartFunc of the carrier of A * ,the carrier of A st h = the charact of A . n holds
S . n = arity h )assume A14:
n in dom S
;
:: thesis: for h being non empty homogeneous PartFunc of the carrier of A * ,the carrier of A st h = the charact of A . n holds
S . n = arity hlet h be non
empty homogeneous PartFunc of the
carrier of
A * ,the
carrier of
A;
:: thesis: ( h = the charact of A . n implies S . n = arity h )assume
h = the
charact of
A . n
;
:: thesis: S . n = arity hthen
( (
n = i implies
h = f0 ) & (
n <> i implies
h = the
charact of
A0 . n ) )
by A12, A14, FUNCT_7:33, FUNCT_7:34;
hence
S . n = arity h
by A2, A1, A14, A4, A3, UNIALG_1:def 10, UNIALG_1:def 11;
:: thesis: verum end;
hence
signature A = S
by A13, UNIALG_1:def 11; :: thesis: the charact of A . i = f
thus
the charact of A . i = f
by A1, A12, FUNCT_7:33; :: thesis: verum