let n be non empty Nat; :: thesis: for J being non empty non void Signature
for T being non-empty MSAlgebra over J
for X being empty-yielding GeneratorSet of T
for S1 being non empty non void b1 -extension n PC-correct QC-correct QCLangSignature over Union X
for L being non-empty Language of X extended_by ({}, the carrier of S1),S1
for G1 being QC-theory_with_equality of L
for s1 being SortSymbol of S1
for t1, t2 being Element of L,s1 st L is subst-eq-correct & L is vf-finite & L is subst-correct2 & L is subst-correct3 & s1 in the carrier of J & X . s1 is infinite holds
(t1 '=' (t2,L)) \imp (t2 '=' (t1,L)) in G1

let J be non empty non void Signature; :: thesis: for T being non-empty MSAlgebra over J
for X being empty-yielding GeneratorSet of T
for S1 being non empty non void J -extension n PC-correct QC-correct QCLangSignature over Union X
for L being non-empty Language of X extended_by ({}, the carrier of S1),S1
for G1 being QC-theory_with_equality of L
for s1 being SortSymbol of S1
for t1, t2 being Element of L,s1 st L is subst-eq-correct & L is vf-finite & L is subst-correct2 & L is subst-correct3 & s1 in the carrier of J & X . s1 is infinite holds
(t1 '=' (t2,L)) \imp (t2 '=' (t1,L)) in G1

let T be non-empty MSAlgebra over J; :: thesis: for X being empty-yielding GeneratorSet of T
for S1 being non empty non void J -extension n PC-correct QC-correct QCLangSignature over Union X
for L being non-empty Language of X extended_by ({}, the carrier of S1),S1
for G1 being QC-theory_with_equality of L
for s1 being SortSymbol of S1
for t1, t2 being Element of L,s1 st L is subst-eq-correct & L is vf-finite & L is subst-correct2 & L is subst-correct3 & s1 in the carrier of J & X . s1 is infinite holds
(t1 '=' (t2,L)) \imp (t2 '=' (t1,L)) in G1

let X be empty-yielding GeneratorSet of T; :: thesis: for S1 being non empty non void J -extension n PC-correct QC-correct QCLangSignature over Union X
for L being non-empty Language of X extended_by ({}, the carrier of S1),S1
for G1 being QC-theory_with_equality of L
for s1 being SortSymbol of S1
for t1, t2 being Element of L,s1 st L is subst-eq-correct & L is vf-finite & L is subst-correct2 & L is subst-correct3 & s1 in the carrier of J & X . s1 is infinite holds
(t1 '=' (t2,L)) \imp (t2 '=' (t1,L)) in G1

let S1 be non empty non void J -extension n PC-correct QC-correct QCLangSignature over Union X; :: thesis: for L being non-empty Language of X extended_by ({}, the carrier of S1),S1
for G1 being QC-theory_with_equality of L
for s1 being SortSymbol of S1
for t1, t2 being Element of L,s1 st L is subst-eq-correct & L is vf-finite & L is subst-correct2 & L is subst-correct3 & s1 in the carrier of J & X . s1 is infinite holds
(t1 '=' (t2,L)) \imp (t2 '=' (t1,L)) in G1

let L be non-empty Language of X extended_by ({}, the carrier of S1),S1; :: thesis: for G1 being QC-theory_with_equality of L
for s1 being SortSymbol of S1
for t1, t2 being Element of L,s1 st L is subst-eq-correct & L is vf-finite & L is subst-correct2 & L is subst-correct3 & s1 in the carrier of J & X . s1 is infinite holds
(t1 '=' (t2,L)) \imp (t2 '=' (t1,L)) in G1

let G1 be QC-theory_with_equality of L; :: thesis: for s1 being SortSymbol of S1
for t1, t2 being Element of L,s1 st L is subst-eq-correct & L is vf-finite & L is subst-correct2 & L is subst-correct3 & s1 in the carrier of J & X . s1 is infinite holds
(t1 '=' (t2,L)) \imp (t2 '=' (t1,L)) in G1

let s1 be SortSymbol of S1; :: thesis: for t1, t2 being Element of L,s1 st L is subst-eq-correct & L is vf-finite & L is subst-correct2 & L is subst-correct3 & s1 in the carrier of J & X . s1 is infinite holds
(t1 '=' (t2,L)) \imp (t2 '=' (t1,L)) in G1

let t1, t2 be Element of L,s1; :: thesis: ( L is subst-eq-correct & L is vf-finite & L is subst-correct2 & L is subst-correct3 & s1 in the carrier of J & X . s1 is infinite implies (t1 '=' (t2,L)) \imp (t2 '=' (t1,L)) in G1 )
assume that
A0: ( L is subst-eq-correct & L is vf-finite & L is subst-correct2 & L is subst-correct3 ) and
A1: s1 in the carrier of J and
A3: X . s1 is infinite ; :: thesis: (t1 '=' (t2,L)) \imp (t2 '=' (t1,L)) in G1
set Y = X extended_by ({}, the carrier of S1);
vf t1 is finite-yielding by A0;
then (vf t1) . s1 is finite by FINSET_1:def 5;
then A4: ( the Element of (X . s1) \ ((vf t1) . s1) in X . s1 & the Element of (X . s1) \ ((vf t1) . s1) nin (vf t1) . s1 ) by A3, XBOOLE_0:def 5;
( dom X = the carrier of J & dom (X extended_by ({}, the carrier of S1)) = the carrier of S1 ) by PARTFUN1:def 2;
then A8: the Element of (X . s1) \ ((vf t1) . s1) in (X extended_by ({}, the carrier of S1)) . s1 by A1, A4, Th1;
( dom X = the carrier of J & (X . s1) \ ((vf t1) . s1) c= X . s1 ) by PARTFUN1:def 2;
then reconsider x = the Element of (X . s1) \ ((vf t1) . s1) as Element of Union X by A1, A4, CARD_5:2;
reconsider x0 = x as Element of Union (X extended_by ({}, the carrier of S1)) by Th24;
( X . s1 c= the Sorts of T . s1 & the Sorts of T . s1 = the Sorts of L . s1 ) by A1, Th16, PBOOLE:def 2, PBOOLE:def 18;
then reconsider t = x as Element of L,s1 by A4;
reconsider j = s1 as SortSymbol of J by A1;
reconsider q1 = t1, q2 = t2 as Element of T,j by Th16;
A2: (t1 '=' (t2,L)) \imp (((x '=' (t1,L)) / (x0,t1)) \imp ((x '=' (t1,L)) / (x0,t2))) in G1 by A4, Def42;
(t '=' (t1,L)) / (x0,t1) = (t / (x0,t1)) '=' ((t1 / (x0,t1)),L) by A0, A4
.= (t / (x0,t1)) '=' (t1,L) by A0, A8
.= q1 '=' (q1,L) by A0, A8 ;
then A9: (t '=' (t1,L)) / (x0,t1) in G1 by Def42;
(t '=' (t1,L)) / (x0,t2) = (t / (x0,t2)) '=' ((t1 / (x0,t2)),L) by A0, A4
.= (t / (x0,t2)) '=' (t1,L) by A0, A8
.= t2 '=' (t1,L) by A0, A8 ;
hence (t1 '=' (t2,L)) \imp (t2 '=' (t1,L)) in G1 by A2, A9, Th46; :: thesis: verum