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
proof
let x, y be FinSequence; :: according to UNIALG_1:def 1 :: thesis: ( x nin proj1 f0 or y nin proj1 f0 or len x = len y )
assume ( x in dom f0 & y in dom f0 ) ; :: thesis: len x = len y
then ( len x = j & len y = j ) by A3, FINSEQ_2:109;
hence len x = len y ; :: thesis: verum
end;
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
proof
thus the charact of UAStr(# X,ch #) <> {} by A6; :: according to UNIALG_1:def 9 :: thesis: the charact of UAStr(# X,ch #) is non-empty
assume {} in rng the charact of UAStr(# X,ch #) ; :: according to RELAT_1:def 9 :: thesis: contradiction
then consider a being set such that
A10: ( a in dom ch & {} = ch . a ) by FUNCT_1:def 5;
reconsider a = a as Element of NAT by A10;
( ( a = i implies {} = f0 ) & ( a <> i implies {} = the charact of A0 . a ) & {} nin rng the charact of A0 ) by A10, A6, FUNCT_7:33, FUNCT_7:34, RELAT_1:def 9;
hence contradiction by A6, A10; :: thesis: verum
end;
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 h

let 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 h
then ( ( 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