set SS = AllSymbolsOf S;
set II = U -InterpretersOf S;
set Strings = ((AllSymbolsOf S) *) \ {{}};
set D = [:(U -InterpretersOf S),(((AllSymbolsOf S) *) \ {{}}):];
let IT1, IT2 be PartFunc of [:(U -InterpretersOf S),(((AllSymbolsOf S) *) \ {{}}):],BOOLEAN; :: thesis: ( ( for x being Element of U -InterpretersOf S
for y being Element of ((AllSymbolsOf S) *) \ {{}} holds
( [x,y] in dom IT1 iff ex v being literal Element of S ex w being string of S st
( [x,w] in dom g & y = <*v*> ^ w ) ) ) & ( for x being Element of U -InterpretersOf S
for y being Element of ((AllSymbolsOf S) *) \ {{}} st [x,y] in dom IT1 holds
IT1 . (x,y) = g -ExFunctor (x,y) ) & ( for x being Element of U -InterpretersOf S
for y being Element of ((AllSymbolsOf S) *) \ {{}} holds
( [x,y] in dom IT2 iff ex v being literal Element of S ex w being string of S st
( [x,w] in dom g & y = <*v*> ^ w ) ) ) & ( for x being Element of U -InterpretersOf S
for y being Element of ((AllSymbolsOf S) *) \ {{}} st [x,y] in dom IT2 holds
IT2 . (x,y) = g -ExFunctor (x,y) ) implies IT1 = IT2 )

defpred S1[ Element of U -InterpretersOf S, Element of ((AllSymbolsOf S) *) \ {{}}] means ex v being literal Element of S ex w being string of S st
( [$1,w] in dom g & $2 = <*v*> ^ w );
assume that
A3: for x being Element of U -InterpretersOf S
for y being Element of ((AllSymbolsOf S) *) \ {{}} holds
( [x,y] in dom IT1 iff S1[x,y] ) and
A4: for x being Element of U -InterpretersOf S
for y being Element of ((AllSymbolsOf S) *) \ {{}} st [x,y] in dom IT1 holds
IT1 . (x,y) = g -ExFunctor (x,y) ; :: thesis: ( ex x being Element of U -InterpretersOf S ex y being Element of ((AllSymbolsOf S) *) \ {{}} st
( ( [x,y] in dom IT2 implies ex v being literal Element of S ex w being string of S st
( [x,w] in dom g & y = <*v*> ^ w ) ) implies ( ex v being literal Element of S ex w being string of S st
( [x,w] in dom g & y = <*v*> ^ w ) & not [x,y] in dom IT2 ) ) or ex x being Element of U -InterpretersOf S ex y being Element of ((AllSymbolsOf S) *) \ {{}} st
( [x,y] in dom IT2 & not IT2 . (x,y) = g -ExFunctor (x,y) ) or IT1 = IT2 )

assume that
A5: for x being Element of U -InterpretersOf S
for y being Element of ((AllSymbolsOf S) *) \ {{}} holds
( [x,y] in dom IT2 iff S1[x,y] ) and
A6: for x being Element of U -InterpretersOf S
for y being Element of ((AllSymbolsOf S) *) \ {{}} st [x,y] in dom IT2 holds
IT2 . (x,y) = g -ExFunctor (x,y) ; :: thesis: IT1 = IT2
now :: thesis: for x being set st x in dom IT1 holds
x in dom IT2
let x be set ; :: thesis: ( x in dom IT1 implies x in dom IT2 )
assume A7: x in dom IT1 ; :: thesis: x in dom IT2
then reconsider xx = x as Element of [:(U -InterpretersOf S),(((AllSymbolsOf S) *) \ {{}}):] ;
consider x1, x2 being set such that
A8: ( x1 in U -InterpretersOf S & x2 in ((AllSymbolsOf S) *) \ {{}} & xx = [x1,x2] ) by ZFMISC_1:def 2;
reconsider I = x1 as Element of U -InterpretersOf S by A8;
reconsider phi = x2 as Element of ((AllSymbolsOf S) *) \ {{}} by A8;
S1[I,phi] by A3, A7, A8;
hence x in dom IT2 by A5, A8; :: thesis: verum
end;
then A9: dom IT1 c= dom IT2 by TARSKI:def 3;
now :: thesis: for x being set st x in dom IT2 holds
x in dom IT1
let x be set ; :: thesis: ( x in dom IT2 implies x in dom IT1 )
assume A10: x in dom IT2 ; :: thesis: x in dom IT1
then reconsider xx = x as Element of [:(U -InterpretersOf S),(((AllSymbolsOf S) *) \ {{}}):] ;
consider x1, x2 being set such that
A11: ( x1 in U -InterpretersOf S & x2 in ((AllSymbolsOf S) *) \ {{}} & xx = [x1,x2] ) by ZFMISC_1:def 2;
reconsider I = x1 as Element of U -InterpretersOf S by A11;
reconsider phi = x2 as Element of ((AllSymbolsOf S) *) \ {{}} by A11;
S1[I,phi] by A5, A10, A11;
hence x in dom IT1 by A3, A11; :: thesis: verum
end;
then dom IT2 c= dom IT1 by TARSKI:def 3;
then A12: dom IT2 = dom IT1 by A9, XBOOLE_0:def 10;
now :: thesis: for x being set st x in dom IT1 holds
IT1 . x = IT2 . x
let x be set ; :: thesis: ( x in dom IT1 implies IT1 . x = IT2 . x )
assume A13: x in dom IT1 ; :: thesis: IT1 . x = IT2 . x
then reconsider xx = x as Element of [:(U -InterpretersOf S),(((AllSymbolsOf S) *) \ {{}}):] ;
consider x1, x2 being set such that
A14: ( x1 in U -InterpretersOf S & x2 in ((AllSymbolsOf S) *) \ {{}} & xx = [x1,x2] ) by ZFMISC_1:def 2;
reconsider I = x1 as Element of U -InterpretersOf S by A14;
reconsider phi = x2 as Element of ((AllSymbolsOf S) *) \ {{}} by A14;
IT1 . x = IT1 . (I,phi) by A14
.= g -ExFunctor (I,phi) by A4, A14, A13
.= IT2 . (I,phi) by A6, A14, A13, A9
.= IT2 . x by A14 ;
hence IT1 . x = IT2 . x ; :: thesis: verum
end;
hence IT1 = IT2 by A12, FUNCT_1:2; :: thesis: verum