set SS = AllSymbolsOf S;
set II = U -InterpretersOf S;
set Strings = ((AllSymbolsOf S) *) \ {{}};
set D = [:(U -InterpretersOf S),(((AllSymbolsOf S) *) \ {{}}):];
deffunc H1( Element of U -InterpretersOf S, Element of ((AllSymbolsOf S) *) \ {{}}) -> Element of BOOLEAN = g -NorFunctor ($1,$2);
defpred S1[ Element of U -InterpretersOf S, Element of ((AllSymbolsOf S) *) \ {{}}] means ex phi1, phi2 being Element of ((AllSymbolsOf S) *) \ {{}} st
( $2 = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi2 & [$1,phi1] in dom g & [$1,phi2] in dom g );
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 phi1, phi2 being Element of ((AllSymbolsOf S) *) \ {{}} st
( y = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi2 & [x,phi1] in dom g & [x,phi2] in dom g ) ) ) & ( 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 -NorFunctor (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 phi1, phi2 being Element of ((AllSymbolsOf S) *) \ {{}} st
( y = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi2 & [x,phi1] in dom g & [x,phi2] in dom g ) ) ) & ( 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 -NorFunctor (x,y) ) implies IT1 = IT2 )

assume that
B1: 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
B2: 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) = H1(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 phi1, phi2 being Element of ((AllSymbolsOf S) *) \ {{}} st
( y = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi2 & [x,phi1] in dom g & [x,phi2] in dom g ) ) implies ( ex phi1, phi2 being Element of ((AllSymbolsOf S) *) \ {{}} st
( y = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi2 & [x,phi1] in dom g & [x,phi2] in dom g ) & 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 -NorFunctor (x,y) ) or IT1 = IT2 )

assume that
B3: 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
B4: 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) = H1(x,y) ; :: thesis: IT1 = IT2
now
let x be set ; :: thesis: ( x in dom IT1 implies x in dom IT2 )
assume C1: 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
C2: ( 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 C2;
reconsider phi = x2 as Element of ((AllSymbolsOf S) *) \ {{}} by C2;
S1[I,phi] by B1, C1, C2;
hence x in dom IT2 by B3, C2; :: thesis: verum
end;
then B5: dom IT1 c= dom IT2 by TARSKI:def 3;
now
let x be set ; :: thesis: ( x in dom IT2 implies x in dom IT1 )
assume C1: 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
C2: ( 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 C2;
reconsider phi = x2 as Element of ((AllSymbolsOf S) *) \ {{}} by C2;
S1[I,phi] by B3, C1, C2;
hence x in dom IT1 by B1, C2; :: thesis: verum
end;
then dom IT2 c= dom IT1 by TARSKI:def 3;
then B6: dom IT2 = dom IT1 by B5, XBOOLE_0:def 10;
now
let x be set ; :: thesis: ( x in dom IT1 implies IT1 . x = IT2 . x )
assume C1: 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
C2: ( 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 C2;
reconsider phi = x2 as Element of ((AllSymbolsOf S) *) \ {{}} by C2;
IT1 . x = IT1 . (I,phi) by C2
.= H1(I,phi) by B2, C2, C1
.= IT2 . (I,phi) by B4, C2, C1, B5
.= IT2 . x by C2 ;
hence IT1 . x = IT2 . x ; :: thesis: verum
end;
hence IT1 = IT2 by B6, FUNCT_1:2; :: thesis: verum