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 V3() GeneratorSet of T

for S1 being non empty non void b_{1} -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 V3() 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 V3() 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 V3() 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 V31() 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

for T being non-empty MSAlgebra over J

for X being V3() GeneratorSet of T

for S1 being non empty non void b

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 V3() 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 V3() 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 V3() 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 V31() 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