:: Algebraic Approach to Algorithmic Logic :: by Grzegorz Bancerek :: :: Received September 15, 2014 :: Copyright (c) 2014-2019 Association of Mizar Users :: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland). :: This code can be distributed under the GNU General Public Licence :: version 3.0 or later, or the Creative Commons Attribution-ShareAlike :: License version 3.0 or later, subject to the binding interpretation :: detailed in file COPYING.interpretation. :: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these :: licenses, or see http://www.gnu.org/licenses/gpl.html and :: http://creativecommons.org/licenses/by-sa/3.0/. environ vocabularies FUNCT_1, PBOOLE, UNIALG_1, MSUALG_1, FINSEQ_1, MSUALG_6, FINSET_1, FUNCT_7, ORDINAL2, ARYTM_3, RELAT_1, CATALG_1, XBOOLE_0, FOMODEL2, ZFMISC_1, ORDINAL1, STRUCT_0, SUBSET_1, TARSKI, CARD_3, MARGREL1, CARD_1, FUNCOP_1, FUNCT_3, NUMBERS, ARYTM_1, NAT_1, FACIRC_1, XXREAL_0, ORDINAL4, FUNCT_2, INCPROJ, FUNCT_4, COMPUT_1, PARTFUN1, WELLORD1, MSAFREE, UNIALG_2, AOFA_000, AOFA_L00, MCART_1, AOFA_A00, GRAPHSP, QC_LANG1, ZF_LANG, FOMODEL1, SETLIM_2, REAL_1, INSTALG1, PUA2MSS1, MATROID0, ALGSPEC1; notations TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, RELAT_1, ENUMSET1, MCART_1, MATROID0, XTUPLE_0, FUNCT_1, RELSET_1, FUNCT_2, BINOP_1, FINSET_1, FINSEQ_1, FINSEQ_2, FUNCOP_1, NUMBERS, XREAL_0, NAT_1, NAT_D, FUNCT_3, FUNCT_4, MARGREL1, FUNCT_7, ORDINAL1, ORDINAL2, PBOOLE, CARD_1, CARD_3, FINSEQ_4, XXREAL_0, XCMPLX_0, STRUCT_0, FACIRC_1, COMPUT_1, INSTALG1, CATALG_1, UNIALG_1, MSUALG_1, MSAFREE, PUA2MSS1, UNIALG_2, FREEALG, CIRCCOMB, CLOSURE2, MSUALG_6, ALGSPEC1, MSAFREE3, MSAFREE4, PARTFUN1, AOFA_000, AOFA_A00, MSAFREE5; constructors RELAT_1, FUNCT_1, XXREAL_0, FINSEQ_1, FINSEQ_3, ENUMSET1, FUNCOP_1, NAT_1, FUNCT_4, BINOP_1, FUNCT_7, ORDINAL1, XCMPLX_0, CARD_1, CARD_3, FINSEQ_4, FACIRC_1, STRUCT_0, UNIALG_1, MSUALG_1, INSTALG1, MSUALG_6, PBOOLE, MARGREL1, FUNCT_2, REALSET2, RELSET_1, COMPUT_1, AOFA_000, PUA2MSS1, FREEALG, UNIALG_2, ZFMISC_1, SUBSET_1, NUMBERS, FINSEQ_2, MSAFREE, MSAFREE3, CATALG_1, CLOSURE2, MSAFREE4, AOFA_A00, XTUPLE_0, ARYTM_1, NAT_D, ORDINAL2, CIRCCOMB, ALGSPEC1, MSAFREE5, RELSET_2; registrations XBOOLE_0, SUBSET_1, FUNCT_1, ORDINAL1, RELSET_1, FUNCOP_1, FACIRC_1, NAT_1, FINSEQ_2, PBOOLE, STRUCT_0, TEX_2, FINSEQ_1, FINSEQ_4, XCMPLX_0, XXREAL_0, UNIALG_1, MSAFREE, INSTALG1, CATALG_1, CARD_1, MSUALG_1, MSAFREE3, XREAL_0, RELAT_1, FUNCT_2, ZFMISC_1, MARGREL1, FUNCT_4, COMPUT_1, AOFA_000, XTUPLE_0, INDEX_1, CARD_3, CLOSURE2, MSAFREE4, AOFA_A00, MSUALG_9, CIRCCOMB, FOMODEL0, PARTFUN1, RAMSEY_1; requirements BOOLE, SUBSET, NUMERALS, ARITHM, REAL; definitions TARSKI, XBOOLE_0, FUNCT_1, PARTFUN1, FINSET_1, FUNCOP_1, PBOOLE, BINOP_1, STRUCT_0, UNIALG_1, MSUALG_1, PUA2MSS1, UNIALG_2, FREEALG, INSTALG1, ALGSPEC1, AOFA_000, AOFA_A00; equalities FUNCOP_1, PUA2MSS1, MSUALG_1, AOFA_000, AOFA_A00, TARSKI, XBOOLE_0, XTUPLE_0, CARD_1, CARD_3, ORDINAL1, FUNCT_1, BINOP_1, STRUCT_0, UNIALG_1, UNIALG_2, FREEALG; expansions TARSKI, FUNCT_2, FINSEQ_1, UNIALG_1, PBOOLE, AOFA_A00, XBOOLE_0, FUNCT_1, FUNCOP_1, BINOP_1, STRUCT_0, MSUALG_1, PUA2MSS1, UNIALG_2, FREEALG, AOFA_000; theorems TARSKI, FINSEQ_3, FUNCT_7, FUNCT_1, RELAT_1, PBOOLE, FUNCT_2, FINSEQ_1, FINSET_1, FINSEQ_2, PARTFUN1, ZFMISC_1, ENUMSET1, XBOOLE_0, RELSET_2, FUNCOP_1, GRFUNC_1, XBOOLE_1, XXREAL_0, CARD_1, UNIALG_1, CARD_5, AOFA_000, FREEALG, CARD_3, SUBSET_1, MCART_1, AOFA_A00, XTUPLE_0, NAT_1, XREAL_1, ORDINAL1, MSAFREE2, INSTALG1, FUNCT_4, ORDINAL2, ORDINAL3, XREGULAR, MSUALG_6, MSUALG_1, AOFA_I00, MSAFREE4, PRALG_2, ALGSPEC1, CIRCCOMB, FUNCT_3; schemes FUNCT_1, BINOP_1, AOFA_A00; begin :: Algorithmic language signature reserve X,Y for set, x,y,z for object, i,j,n for natural number; registration let f be non empty-yielding Function; cluster Union f -> non empty; coherence proof rng f c/= {{}} by RELAT_1:def 15; then consider x such that A1: x in rng f & x nin {{}}; reconsider x as set by TARSKI:1; x <> {} & x c= Union f by A1,TARSKI:def 1,ZFMISC_1:74; hence thesis; end; end; definition let I be set; let f be ManySortedSet of I; let i be set; let x; redefine func f+*(i,x) -> ManySortedSet of I; coherence proof dom(f+*(i,x)) = dom f = I by FUNCT_7:30,PARTFUN1:def 2; hence thesis by PARTFUN1:def 2,RELAT_1:def 18; end; end; registration let I be set; let f be non-empty ManySortedSet of I; let i be set; let x be non empty set; cluster f+*(i,x) -> non-empty; coherence; end; registration let S be non empty non void ManySortedSign; cluster non-empty for strict VarMSAlgebra over S; existence proof set X = the non-empty ManySortedSet of the carrier of S; set O = the ManySortedFunction of X# * the Arity of S, X * the ResultSort of S; set f = the ManySortedMSSet of X, X; take VarMSAlgebra(#X,O,f#); thus thesis; end; end; definition let f,g be Function; attr g is f-tolerating means f tolerates g; end; theorem Th1: for f,g being Function holds g is f-tolerating iff for x st x in dom f & x in dom g holds f.x = g.x proof let f,g be Function; thus g is f-tolerating implies for x st x in dom f & x in dom g holds f.x = g.x proof assume A1: for x being object st x in dom f /\ dom g holds f.x = g.x; let x; assume x in dom f & x in dom g; then x in dom f /\ dom g by XBOOLE_0:def 4; hence thesis by A1; end; assume A2: for x st x in dom f & x in dom g holds f.x = g.x; let x; assume x in dom f /\ dom g; then x in dom f & x in dom g by XBOOLE_0:def 4; hence thesis by A2; end; theorem Th2: for I,J being set for f being ManySortedSet of I for g being ManySortedSet of J holds g is f-tolerating iff for x st x in I & x in J holds f.x = g.x proof let I,J be set; let f be ManySortedSet of I; let g be ManySortedSet of J; dom f = I & dom g = J by PARTFUN1:def 2; hence thesis by Th1; end; theorem Th3: for f,g being Function holds f tolerates g+*f proof let f,g be Function; let x; assume x in dom f /\ dom (g+*f); then x in dom f /\ (dom g \/ dom f) = dom f by FUNCT_4:def 1,XBOOLE_1:21; hence (g+*f).x = f.x by FUNCT_4:13; end; registration let X,Y be Function; cluster Y+*X -> X-tolerating; coherence by Th3; end; registration let X be Function; let J be set; let Y be ManySortedSet of J; cluster Y+*(X|J) -> X-tolerating; coherence proof let x; assume A1: x in dom X /\ dom (Y+*(X|J)); then A2: x in dom X & x in dom (Y+*(X|J)) = dom Y \/ dom (X|J) by XBOOLE_0:def 4,FUNCT_4:def 1; thus (Y+*(X|J)).x = (X|J).x by A2,RELAT_1:57,FUNCT_4:13 .= X.x by A1,FUNCT_1:49; end; end; registration let J be set; let X be Function; cluster X-tolerating for ManySortedSet of J; existence proof set Y = the ManySortedSet of J; set Z = Y+*(X|J); reconsider Z as ManySortedSet of J; take Z; thus thesis; end; end; registration let J be set; let X be non-empty Function; cluster X-tolerating for non-empty ManySortedSet of J; existence proof set Y = the non-empty ManySortedSet of J; set Z = Y+*(X|J); reconsider Z as ManySortedSet of J; now let x; assume A1: x in J; per cases; suppose A2: x in dom X; then x in dom (X|J) by A1,RELAT_1:57; then Z.x = (X|J).x by FUNCT_4:13 .= X.x by A1,FUNCT_1:49; hence Z.x is non empty by A2,FUNCT_1:def 9; end; suppose x nin dom X; then x nin dom (X|J) by RELAT_1:57; then Z.x = Y.x by FUNCT_4:11; hence Z.x is non empty by A1; end; end; then reconsider Z as non-empty ManySortedSet of J by PBOOLE:def 13; take Z; thus thesis; end; end; registration let I be non empty set; let X be non empty-yielding ManySortedSet of I; cluster Union X -> non empty; coherence; end; theorem Th4: for S being non empty non void ManySortedSign for o being OperSymbol of S, r being SortSymbol of S, T being MSAlgebra over S holds o is_of_type {},r implies {} in Args(o,T) proof let S be non empty non void ManySortedSign; let o be OperSymbol of S; let r be SortSymbol of S; let T be MSAlgebra over S; assume A1: (the Arity of S).o = {} & (the ResultSort of S).o = r; Args(o,T) = product ((the Sorts of T)*the_arity_of o) by PRALG_2:3 .= {{}} by A1,CARD_3:10; hence {} in Args(o,T) by TARSKI:def 1; end; theorem Th5: for S being non empty non void ManySortedSign for o being OperSymbol of S, s,r being SortSymbol of S, T being MSAlgebra over S holds o is_of_type <*s*>,r & x in (the Sorts of T).s implies <*x*> in Args(o,T) proof let S be non empty non void ManySortedSign; let o be OperSymbol of S; let s,r be SortSymbol of S; let T be MSAlgebra over S; assume A1: (the Arity of S).o = <*s*> & (the ResultSort of S).o = r; assume A2: x in (the Sorts of T).s; A3: dom the Sorts of T = the carrier of S by PARTFUN1:def 2; Args(o,T) = product ((the Sorts of T)*the_arity_of o) by PRALG_2:3 .= product <*(the Sorts of T).s*> by A1,A3,FINSEQ_2:34; hence <*x*> in Args(o,T) by A2,FINSEQ_3:123; end; Lm1: now let I be set; let A being ManySortedSet of I; A1: dom A = I by PARTFUN1:def 2; rng A c= bool Union A proof let x; reconsider X = x as set by TARSKI:1; assume x in rng A; then X c= union rng A = Union A by ZFMISC_1:74; hence thesis; end; hence A is Function of I, bool Union A by A1,FUNCT_2:2; end; theorem Th6: for S being non empty non void ManySortedSign for o being OperSymbol of S, s1,s2,r being SortSymbol of S, T being MSAlgebra over S holds o is_of_type <*s1,s2*>,r & x in (the Sorts of T).s1 & y in (the Sorts of T).s2 implies <*x,y*> in Args(o,T) proof let S be non empty non void ManySortedSign; let o be OperSymbol of S; let s1,s2,r be SortSymbol of S; let A be MSAlgebra over S; assume A1: (the Arity of S).o = <*s1,s2*> & (the ResultSort of S).o = r; assume A2: x in (the Sorts of A).s1 & y in (the Sorts of A).s2; then reconsider x as Element of (the Sorts of A).s1; reconsider y as Element of (the Sorts of A).s2 by A2; A3: the Sorts of A is Function of the carrier of S, bool Union the Sorts of A by Lm1; Args(o,A) = product ((the Sorts of A)*the_arity_of o) by PRALG_2:3 .= product <*(the Sorts of A).s1,(the Sorts of A).s2*> by A1,A3,FINSEQ_2:36; hence thesis by A2,FINSEQ_3:124; end; theorem for S being non empty non void ManySortedSign for o being OperSymbol of S, s1,s2,s3,r being SortSymbol of S, T being MSAlgebra over S holds o is_of_type <*s1,s2,s3*>,r & x in (the Sorts of T).s1 & y in (the Sorts of T).s2 & z in (the Sorts of T).s3 implies <*x,y,z*> in Args(o,T) proof let S be non empty non void ManySortedSign; let o be OperSymbol of S; let s1,s2,s3,r be SortSymbol of S; let A be MSAlgebra over S; assume A1: (the Arity of S).o = <*s1,s2,s3*> & (the ResultSort of S).o = r; assume A2: x in (the Sorts of A).s1 & y in (the Sorts of A).s2 & z in (the Sorts of A).s3; A3: the Sorts of A is Function of the carrier of S, bool Union the Sorts of A by Lm1; Args(o,A) = product ((the Sorts of A)*the_arity_of o) by PRALG_2:3 .= product <*(the Sorts of A).s1,(the Sorts of A).s2,(the Sorts of A).s3*> by A1,A3,FINSEQ_2:37; hence <*x,y,z*> in Args(o,A) by A2,FINSEQ_3:125; end; definition let S,E be Signature; attr E is S-extension means: Def2: S is Subsignature of E; end; registration let S be Signature; cluster -> S-extension for Extension of S; coherence by ALGSPEC1:def 5; end; theorem Th8: for S,E being non empty Signature st E is S-extension for a being SortSymbol of S holds a is SortSymbol of E proof let S,E be non empty Signature; assume S is Subsignature of E; then the carrier of S c= the carrier of E by INSTALG1:10; hence thesis; end; theorem Th9: for S,E being non void Signature st E is S-extension for o being OperSymbol of S for a being set for r being Element of S for r1 being Element of E st r = r1 & o is_of_type a,r holds o is_of_type a,r1 proof let S,E be non void Signature; assume S is Subsignature of E; then A1: the carrier of S c= the carrier of E & the carrier' of S c= the carrier' of E & the ResultSort of S c= the ResultSort of E & the Arity of S c= the Arity of E by INSTALG1:10,11; let o be OperSymbol of S; let a be set; let r be Element of S; let r1 be Element of E; assume A2: r = r1; assume A3: (the Arity of S).o = a & (the ResultSort of S).o = r; dom the Arity of S = the carrier' of S & o in the carrier' of S & dom the ResultSort of S = the carrier' of S by FUNCT_2:def 1; hence (the Arity of E).o = a & (the ResultSort of E).o = r1 by A1,A2,A3,GRFUNC_1:2; end; definition let X be Function; let J,Y be set; func X extended_by(Y,J) -> ManySortedSet of J equals (J-->Y)+*(X|J); coherence; end; registration let X be Function; let J,Y be set; cluster X extended_by(Y,J) -> X-tolerating; coherence; end; definition struct(ConnectivesSignature) PCLangSignature(# carrier -> set, carrier' -> set, Arity -> Function of the carrier', the carrier*, ResultSort -> Function of the carrier', the carrier, formula-sort -> (Element of the carrier), connectives -> (FinSequence of the carrier') :: <* not-op, and-op, or-op, imp-op, iff-op, true *> #); end; definition let X be set; :: set of variable symbols struct(PCLangSignature) QCLangSignature over X(# carrier -> set, carrier' -> set, Arity -> Function of the carrier', the carrier*, ResultSort -> Function of the carrier', the carrier, formula-sort -> (Element of the carrier), connectives -> (FinSequence of the carrier'), :: <* not-op, and-op, or-op, imp-op, iff-op, true *> quant-sort -> set, quantifiers -> Function of [:the quant-sort, X:], the carrier' #); end; definition let X be set; struct(QCLangSignature over X) AlgLangSignature over X(# carrier -> set, carrier' -> set, Arity -> Function of the carrier', the carrier*, ResultSort -> Function of the carrier', the carrier, formula-sort, program-sort -> (Element of the carrier), connectives -> (FinSequence of the carrier'), :: <* not-op, and-op, or-op, imp-op, iff-op, true, alg-imp *> quant-sort -> set, quantifiers -> Function of [:the quant-sort, X:], the carrier' #); end; definition let n be Nat; let L be PCLangSignature; attr L is n PC-correct means: Def4: len the connectives of L >= n+5 & (the connectives of L)|{n,n+1,n+2,n+3,n+4,n+5} is one-to-one & (the connectives of L).n is_of_type <*the formula-sort of L*>, the formula-sort of L & (the connectives of L).(n+5) is_of_type {}, the formula-sort of L & ((the connectives of L).(n+1) is_of_type <*the formula-sort of L, the formula-sort of L*>, the formula-sort of L & ... & (the connectives of L).(n+4) is_of_type <*the formula-sort of L, the formula-sort of L*>, the formula-sort of L); end; definition let X; let L be QCLangSignature over X; attr L is QC-correct means: Def5: :: (ex q1,q2 being set st q1 <> q2 & the quant-sort of L = {q1,q2}) & the quant-sort of L = {1,2} & :: { \for, \ex } the quantifiers of L is one-to-one & rng the quantifiers of L misses rng the connectives of L & for q,x being object st q in the quant-sort of L & x in X holds (the quantifiers of L).(q,x) is_of_type <*the formula-sort of L*>, the formula-sort of L; end; definition let n be Nat; let X be set; let L be AlgLangSignature over X; attr L is n AL-correct means: Def6: the program-sort of L <> the formula-sort of L & len the connectives of L >= n+8 & ((the connectives of L).(n+6) is_of_type <*the program-sort of L,the formula-sort of L*>, the formula-sort of L & ... & (the connectives of L).(n+8) is_of_type <*the program-sort of L,the formula-sort of L*>, the formula-sort of L); end; registration let n; cluster n PC-correct -> non void for PCLangSignature; coherence; end; definition let X,Y be set such that A1: Y c= X; func incl(Y,X) -> Function of Y,X equals :Def7: id Y; coherence proof dom id Y = Y & rng id Y = Y; hence thesis by A1,FUNCT_2:2; end; end; registration let n be non empty natural number; let X be set; cluster non void non empty n PC-correct QC-correct for QCLangSignature over X; existence proof set O = {0,1,2,3,4,5}\/[:{1,2},X:]; set a = ({1,2,3,4}--><*0,0*>)\/(({0}\/[:{1,2},X:])--><*0*>)\/({5}-->{}); set r = O-->0; A1: dom ({1,2,3,4}--><*0,0*>) = {1,2,3,4} & dom({5}-->{}) = {5} & dom (({0}\/[:{1,2},X:])--><*0*>) = {0}\/[:{1,2},X:]; B1: [:{1,2},X:] misses {0,1,2,3,4,5} proof assume [:{1,2},X:] meets {0,1,2,3,4,5}; then consider x such that A2: x in {0,1,2,3,4,5} & x in [:{1,2},X:] by XBOOLE_0:3; thus contradiction by A2,ENUMSET1:def 4; end; {1,2,3,4} misses {0}\/[:{1,2},X:] proof assume {1,2,3,4} meets {0}\/[:{1,2},X:]; then consider x such that A2: x in {1,2,3,4} & x in {0}\/[:{1,2},X:] by XBOOLE_0:3; x in {0} or x in [:{1,2},X:] by A2,XBOOLE_0:def 3; then consider y,z such that A3: y in {1,2} & z in X & x = [y,z] by A2,ENUMSET1:def 2; thus contradiction by A2,A3,ENUMSET1:def 2; end; then reconsider aa = ({1,2,3,4}--><*0,0*>)\/(({0}\/[:{1,2},X:])--><*0*>) as Function by A1,GRFUNC_1:13; A4: dom aa = {1,2,3,4} \/({0}\/[:{1,2},X:]) by A1,XTUPLE_0:23 .= {0}\/{1,2,3,4}\/[:{1,2},X:] by XBOOLE_1:4 .= {0,1,2,3,4}\/[:{1,2},X:] by ENUMSET1:7; {0,1,2,3,4}\/[:{1,2},X:] misses {5} proof assume {0,1,2,3,4}\/[:{1,2},X:] meets {5}; then consider x such that A5: x in {0,1,2,3,4}\/[:{1,2},X:] & x in {5} by XBOOLE_0:3; x = 5 by A5,TARSKI:def 1; then 5 in {0,1,2,3,4} or 5 in [:{1,2},X:] by A5,XBOOLE_0:def 3; hence contradiction by ENUMSET1:def 3; end; then reconsider a as Function by A1,A4,GRFUNC_1:13; A6: dom a = {0,1,2,3,4}\/[:{1,2},X:]\/{5} by A1,A4,XTUPLE_0:23 .= {5}\/{0,1,2,3,4}\/[:{1,2},X:] by XBOOLE_1:4 .= O by ENUMSET1:15; reconsider 00 = 0 as Element of {0} by TARSKI:def 1; <*00*> in {0}* & <*00,00*> in {0}* by FINSEQ_1:def 11; then rng ({1,2,3,4}--><*0,0*>) c= {0}* & rng (({0}\/[:{1,2},X:])--><*0*>) c= {0}* by ZFMISC_1:31; then rng ({1,2,3,4}--><*0,0*>) \/ rng (({0}\/[:{1,2},X:])--><*0*>) c= {0}* & <*>{0} in {0}* by FINSEQ_1:def 11,XBOOLE_1:8; then rng aa c= {0}* & rng({5}-->{}) c= {0}* by RELAT_1:12; then rng aa \/ rng({5}-->{}) c= {0}* by XBOOLE_1:8; then rng a c= {0}* by RELAT_1:12; then reconsider a as Function of O,{0}* by A6,FUNCT_2:2; reconsider r as Function of O,{0}; 0 in {0,1,2,3,4,5} & 1 in {0,1,2,3,4,5} & 2 in {0,1,2,3,4,5} & 3 in {0,1,2,3,4,5} & 4 in {0,1,2,3,4,5} & 5 in {0,1,2,3,4,5} by ENUMSET1:def 4; then reconsider o0=0, o1=1, o2=2, o3=3, o4=4, o5=5 as Element of O by XBOOLE_0:def 3; set p = the n-'1 qua Nat-element FinSequence of {0,1,2,3,4,5}; B2: rng p c= {0,1,2,3,4,5} c= O by XBOOLE_1:7; then reconsider p as FinSequence of O by XBOOLE_1:1,FINSEQ_1:def 4; set c6 = <*o0,o1,o2,o3,o4,o5*>; reconsider c = p^c6 as FinSequence of O; rng c6 = {0,1,2,3,4,5} by AOFA_A00:21; then B3: rng c = rng p \/ rng c6 c= {0,1,2,3,4,5}\/{0,1,2,3,4,5} = {0,1,2,3,4,5} by B2,XBOOLE_1:13,FINSEQ_1:31; n > 0; then A7: n >= 0+1 by NAT_1:13; A8: (i = 0 or ... or i = 5) implies c.(n+i) = i proof assume i = 0 or ... or i = 5; then i = 0 & c.(n+0) = c6.(0+1) or ... or i = 5 & c.(n+5) = c6.(5+1); hence thesis by AOFA_A00:20; end; take L=QCLangSignature(#{0},O,a,r,In(0,{0}),c,{1,2},incl([:{1,2},X:],O)#); thus the carrier' of L is non empty; thus the carrier of L is non empty; len c6 = 5+1 & len p = n-'1 by CARD_1:def 7; then len p+len c6 = n-'1+(1+5) = n-'1+1+5 & n is Real & 1 is Real; then len p+len c6 = n+5 by A7,XREAL_1:235; hence len the connectives of L >= n+5 by FINSEQ_1:22; set N = {n,n+1,n+2,n+3,n+4,n+5}; thus (the connectives of L)|N is one-to-one proof let x,y; assume A9: x in dom ((the connectives of L)|N) & y in dom ((the connectives of L)|N) & ((the connectives of L)|N).x = ((the connectives of L)|N).y; then A10: x in N & y in N by RELAT_1:57; then A11: c.x = (c|N).x = c.y by A9,FUNCT_1:49; A12: (x = n+0 or ... or x = n+5) & (y = n+0 or ... or y = n+5) by A10,ENUMSET1:def 4; then consider i being Nat such that A13: 0 <= i <= 5 & x = n+i; consider j being Nat such that A14: 0 <= j <= 5 & y = n+j by A12; (i = 0 or ... or i = 5) & (j = 0 or ... or j = 5) by A13,A14; then c.x = i & c.y = j by A8,A13,A14; hence thesis by A11,A13,A14; end; thus (the connectives of L).n is_of_type <*the formula-sort of L*>, the formula-sort of L proof 0 = 0 or ... or 0 = 5; then A15: c.(n+0) = 0 by A8; 00 in {0}\/[:{1,2},X:] & <*0*> in {<*0*>} by XBOOLE_0:def 3,TARSKI:def 1; then [0,<*0*>] in ({0}\/[:{1,2},X:])--><*0*> by ZFMISC_1:106; then [0,<*0*>] in aa by XBOOLE_0:def 3; then [0,<*0*>] in a by XBOOLE_0:def 3; hence (the Arity of L).((the connectives of L).n) = <*00*> by A15,FUNCT_1:1 .= <*the formula-sort of L*>; thus (the ResultSort of L).((the connectives of L).n) = 00 .= the formula-sort of L; end; thus (the connectives of L).(n+5) is_of_type {}, the formula-sort of L proof 0 = 5 or ... or 5 = 5; then A16: c.(n+5) = 5 by A8; 5 in {5} & {} in {{}} by TARSKI:def 1; then [5,{}] in {5}-->{} by ZFMISC_1:106; then [5,{}] in a by XBOOLE_0:def 3; hence (the Arity of L).((the connectives of L).(n+5)) = {} by A16,FUNCT_1:1; thus (the ResultSort of L).((the connectives of L).(n+5)) = 00 .= the formula-sort of L; end; thus (the connectives of L).(n+1) is_of_type <*the formula-sort of L, the formula-sort of L*>, the formula-sort of L & ... & (the connectives of L).(n+4) is_of_type <*the formula-sort of L, the formula-sort of L*>, the formula-sort of L proof let i; assume 1 <= i <= 4; then A17: i = 1 or ... or i = 4; i = 1 & c.(n+1) = 1 or ... or i = 4 & c.(n+4) = 4 by A17; then c.(n+i) in {1,2,3,4} & <*0,0*> in {<*0,0*>} by TARSKI:def 1,ENUMSET1:def 2; then [c.(n+i),<*0,0*>] in {1,2,3,4}--><*0,0*> by ZFMISC_1:106; then [c.(n+i),<*0,0*>] in aa by XBOOLE_0:def 3; then [c.(n+i),<*0,0*>] in a by XBOOLE_0:def 3; hence (the Arity of L).((the connectives of L).(n+i)) = <*00,0*> by FUNCT_1:1 .= <*the formula-sort of L,00*> .= <*the formula-sort of L,the formula-sort of L*>; thus (the ResultSort of L).((the connectives of L).(n+i)) = 00 .= the formula-sort of L; end; thus the quant-sort of L = {1,2}; A18: the quantifiers of L = id [:{1,2},X:] by Def7,XBOOLE_1:7; hence the quantifiers of L is one-to-one; rng the quantifiers of L c= [:{1,2},X:] by A18; hence rng the quantifiers of L misses rng the connectives of L by B1,B3,XBOOLE_1:64; hereby let q,x be object; assume A19: q in the quant-sort of L & x in X; then A20: [q,x] in [:the quant-sort of L,X:] by ZFMISC_1:87; (the quantifiers of L).(q,x) = [q,x] & <*0*> in {<*0*>} by A19,A18,FUNCT_1:18,TARSKI:def 1,ZFMISC_1:87; then (the quantifiers of L).(q,x) in {0}\/[:{1,2},X:] & <*0*> in {<*0*>} by A20,XBOOLE_0:def 3; then [(the quantifiers of L).(q,x),<*0*>] in {0}\/[:{1,2},X:]--><*0*> by ZFMISC_1:106; then [(the quantifiers of L).(q,x),<*0*>] in aa by XBOOLE_0:def 3; then A21: [(the quantifiers of L).(q,x),<*0*>] in a by XBOOLE_0:def 3; thus (the quantifiers of L).(q,x) is_of_type <*the formula-sort of L*>, the formula-sort of L proof thus (the Arity of L).((the quantifiers of L).(q,x)) = <*00*> by A21,FUNCT_1:1 .= <*the formula-sort of L*>; thus (the ResultSort of L).((the quantifiers of L).(q,x)) = 00 .= the formula-sort of L; end; end; end; end; registration let n be non empty natural number; cluster non void non empty n PC-correct for PCLangSignature; existence proof set X = the set; set S = the non void non empty n PC-correct QC-correct QCLangSignature over X; take S; thus thesis; end; end; registration let X be set; cluster non void non empty for strict AlgLangSignature over X; existence proof set C = the non empty set; set O = the non empty set; set ay = the Function of O,C*; set rs = the Function of O,C; set f = the Element of C; set p = the Element of C; set c = the FinSequence of O; set qs = {1,2}; set q = the Function of [:qs, X:], O; take L = AlgLangSignature(#C,O,ay,rs,f,p,c,qs,q#); thus the carrier' of L is non empty; thus the carrier of L is non empty; end; end; registration cluster ordinal -> non pair for set; coherence proof let A be set; assume A1: A is ordinal pair; then consider x,y such that A2: A = [x,y] by XTUPLE_0:def 1; {} in A by A1,ORDINAL3:8; hence thesis by A2,TARSKI:def 2; end; end; theorem for a being ordinal number for n1,n2 being natural number st n1 <> n2 holds a+^n1 <> a+^n2 by ORDINAL3:21; registration let R be non empty Relation; cluster -> pair for Element of R; coherence; end; theorem Th11: for n being non empty natural number for X being non empty set for J being Signature ex S being strict non void non empty AlgLangSignature over X st S is n PC-correct QC-correct n AL-correct J-extension & (for i st i = 0 or ... or i = 8 holds (the connectives of S).(n+i) = (sup the carrier' of J)+^i) & (for x being Element of X holds (the quantifiers of S).(1,x) = [the carrier' of J,1,x] & (the quantifiers of S).(2,x) = [the carrier' of J,2,x]) & the formula-sort of S = sup the carrier of J & the program-sort of S = (sup the carrier of J)+^1 & the carrier of S = (the carrier of J) \/ {the formula-sort of S, the program-sort of S} & for w being Ordinal st w = sup the carrier' of J holds the carrier' of S = (the carrier' of J) \/ {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8}\/ [:{the carrier' of J},{1,2},X:] proof let n be non empty natural number; let X be non empty set; let J be Signature; set w = sup the carrier' of J; set u = sup the carrier of J; set O1 = {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8}\/ [:{the carrier' of J},{1,2},X:]; set O = (the carrier' of J)\/O1; set a = ({w+^1,w+^2,w+^3,w+^4}--><*u+^0,u+^0*>)\/ (({w+^0}\/[:{the carrier' of J},{1,2},X:])--><*u+^0*>)\/ ({w+^5}-->{})\/({w+^6,w+^7,w+^8}--><*u+^1,u+^0*>); set ay = (the Arity of J)\/a; set r = O1-->u+^0; set rs = (the ResultSort of J)+*r; A1: dom ({w+^1,w+^2,w+^3,w+^4}--><*u+^0,u+^0*>) = {w+^1,w+^2,w+^3,w+^4} & dom ({w+^6,w+^7,w+^8}--><*u+^1,u+^0*>) = {w+^6,w+^7,w+^8} & dom ({w+^5}-->{}) = {w+^5} & dom (({w+^0}\/[:{the carrier' of J},{1,2},X:])--><*u+^0*>) = {w+^0}\/[:{the carrier' of J},{1,2},X:]; B1: {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} misses [:{the carrier' of J},{1,2},X:] proof assume {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} meets [:{the carrier' of J},{1,2},X:]; then consider x such that A2: x in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} & x in [:{the carrier' of J},{1,2},X:] by XBOOLE_0:3; A3: x = w+^0 or x = w+^1 or x = w+^2 or x = w+^3 or x = w+^4 or x = w+^5 or x = w+^6 or x = w+^7 or x = w+^8 by A2,ENUMSET1:def 7; consider j being object, y,z such that A5: j in {the carrier' of J} & y in {1,2} & z in X & x = [j,y,z] by A2,MCART_1:68; thus contradiction by A3,A5; end; {w+^1,w+^2,w+^3,w+^4} misses {w+^0}\/[:{the carrier' of J},{1,2},X:] proof assume {w+^1,w+^2,w+^3,w+^4} meets {w+^0}\/[:{the carrier' of J},{1,2},X:]; then consider x such that A2: x in {w+^1,w+^2,w+^3,w+^4} & x in {w+^0}\/[:{the carrier' of J},{1,2},X:] by XBOOLE_0:3; A3: x = w+^1 or x = w+^2 or x = w+^3 or x = w+^4 by A2,ENUMSET1:def 2; A4: w+^0 <> w+^1 & w+^0 <> w+^2 & w+^0 <> w+^3 & w+^0 <> w+^4 by ORDINAL3:21; x in {w+^0} or x in [:{the carrier' of J},{1,2},X:] by A2,XBOOLE_0:def 3; then consider j being object, y,z such that A5: j in {the carrier' of J} & y in {1,2} & z in X & x = [j,y,z] by A3,A4,MCART_1:68,TARSKI:def 1; thus contradiction by A2,A5,ENUMSET1:def 2; end; then reconsider aa = ({w+^1,w+^2,w+^3,w+^4}--><*u+^0,u+^0*>)\/ (({w+^0}\/[:{the carrier' of J},{1,2},X:])--><*u+^0*>) as Function by A1,GRFUNC_1:13; A6: dom aa = {w+^1,w+^2,w+^3,w+^4} \/({w+^0}\/[:{the carrier' of J},{1,2},X:]) by A1,XTUPLE_0:23 .= {w+^0}\/{w+^1,w+^2,w+^3,w+^4}\/[:{the carrier' of J},{1,2},X:] by XBOOLE_1:4 .= {w+^0,w+^1,w+^2,w+^3,w+^4}\/[:{the carrier' of J},{1,2},X:] by ENUMSET1:7; {w+^0,w+^1,w+^2,w+^3,w+^4}\/[:{the carrier' of J},{1,2},X:] misses {w+^5} proof assume {w+^0,w+^1,w+^2,w+^3,w+^4}\/[:{the carrier' of J},{1,2},X:] meets {w+^5}; then consider x such that A7: x in {w+^0,w+^1,w+^2,w+^3,w+^4}\/[:{the carrier' of J},{1,2},X:] & x in {w+^5} by XBOOLE_0:3; A8: w+^5 <> w+^0 & w+^5 <> w+^1 & w+^5 <> w+^2 & w+^5 <> w+^3 & w+^5 <> w+^4 by ORDINAL3:21; x = w+^5 by A7,TARSKI:def 1; then w+^5 in {w+^0,w+^1,w+^2,w+^3,w+^4} or w+^5 in [:{the carrier' of J},{1,2},X:] by A7,XBOOLE_0:def 3; then ex j being object,y,z st j in {the carrier' of J} & y in {1,2} & z in X & w+^5 = [j,y,z] by A8,ENUMSET1:def 3,MCART_1:68; hence contradiction; end; then reconsider ab = aa\/({w+^5}-->{}) as Function by A1,A6,GRFUNC_1:13; A9: dom ab = {w+^0,w+^1,w+^2,w+^3,w+^4}\/[:{the carrier' of J},{1,2},X:]\/ {w+^5} by A1,A6,XTUPLE_0:23 .= {w+^5}\/{w+^0,w+^1,w+^2,w+^3,w+^4}\/[:{the carrier' of J},{1,2},X:] by XBOOLE_1:4 .= {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5}\/[:{the carrier' of J},{1,2},X:] by ENUMSET1:15; {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5}\/[:{the carrier' of J},{1,2},X:] misses {w+^6,w+^7,w+^8} proof assume {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5}\/[:{the carrier' of J},{1,2},X:] meets {w+^6,w+^7,w+^8}; then consider x such that A10: x in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5}\/[:{the carrier' of J},{1,2},X:] & x in {w+^6,w+^7,w+^8} by XBOOLE_0:3; A11: w+^6 <> w+^0 & w+^6 <> w+^1 & w+^6 <> w+^2 & w+^6 <> w+^3 & w+^6 <> w+^4 & w+^6 <> w+^5 by ORDINAL3:21; A12: w+^7 <> w+^0 & w+^7 <> w+^1 & w+^7 <> w+^2 & w+^7 <> w+^3 & w+^7 <> w+^4 & w+^7 <> w+^5 by ORDINAL3:21; A13: w+^8 <> w+^0 & w+^8 <> w+^1 & w+^8 <> w+^2 & w+^8 <> w+^3 & w+^8 <> w+^4 & w+^8 <> w+^5 by ORDINAL3:21; x = w+^6 or x = w+^7 or x = w+^8 by A10,ENUMSET1:def 1; then w+^6 in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5} or w+^6 in [:{the carrier' of J},{1,2},X:] or w+^7 in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5} or w+^7 in [:{the carrier' of J},{1,2},X:] or w+^8 in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5} or w+^8 in [:{the carrier' of J},{1,2},X:] by A10,XBOOLE_0:def 3; then w+^6 in [:{the carrier' of J},{1,2},X:] or w+^7 in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5} or w+^7 in [:{the carrier' of J},{1,2},X:] or w+^8 in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5} or w+^8 in [:{the carrier' of J},{1,2},X:] by A11,ENUMSET1:def 4; then w+^6 in [:{the carrier' of J},{1,2},X:] or w+^7 in [:{the carrier' of J},{1,2},X:] or w+^8 in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5} or w+^8 in [:{the carrier' of J},{1,2},X:] by A12,ENUMSET1:def 4; then (ex j being object,y,z st j in {the carrier' of J} & y in {1,2} & z in X & w+^6 = [j,y,z]) or (ex j being object,y,z st j in {the carrier' of J} & y in {1,2} & z in X & w+^7 = [j,y,z]) or (ex j being object,y,z st j in {the carrier' of J} & y in {1,2} & z in X & w+^8 = [j,y,z]) by A13,ENUMSET1:def 4,MCART_1:68; hence contradiction; end; then reconsider a as Function by A1,A9,GRFUNC_1:13; A14: dom a = {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5}\/[:{the carrier' of J},{1,2},X:]\/ {w+^6,w+^7,w+^8} by A1,A9,XTUPLE_0:23 .= {w+^6,w+^7,w+^8}\/{w+^0,w+^1,w+^2,w+^3,w+^4,w+^5}\/ [:{the carrier' of J},{1,2},X:] by XBOOLE_1:4 .= O1 by ENUMSET1:82; then A15: dom ay = (dom the Arity of J) \/ dom a = O by XTUPLE_0:23,FUNCT_2:def 1; A16: dom the Arity of J = the carrier' of J by FUNCT_2:def 1; A17: O1 misses the carrier' of J proof assume O1 meets the carrier' of J; then consider x such that A18: x in O1 & x in the carrier' of J by XBOOLE_0:3; x in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} or x in [:{the carrier' of J},{1,2},X:] by A18,XBOOLE_0:def 3; then (x = w+^0 or ... or x = w+^8) or x in [:{the carrier' of J},{1,2},X:] by ENUMSET1:def 7; then(w+^0 in w or ... or w+^8 in w) & w = w+^0 or x in [:{the carrier' of J},{1,2},X:] by A18,ORDINAL2:19,27; then consider j,i,y being object such that A19: j in {the carrier' of J} & i in {1,2} & y in X & x = [j,i,y] by MCART_1:68,ORDINAL3:22; reconsider jiy = [j,i,y] as set; the carrier' of J = j & j in { j } & {j} in {{j,i},{j}} in {[j,i]} in jiy by A19,TARSKI:def 1,def 2; hence thesis by A18,A19,XREGULAR:9; end; then reconsider ay = (the Arity of J)\/a as Function by A14,A16,GRFUNC_1:13; set C = (the carrier of J)\/{u+^0,u+^1}; u+^0 in {u+^0,u+^1} & u+^1 in {u+^0,u+^1} by TARSKI:def 2; then reconsider 00 = u+^0, 01 = u+^1 as Element of C by XBOOLE_0:def 3; <*00*> in C* & <*00,00*> in C* by FINSEQ_1:def 11; then rng ({w+^1,w+^2,w+^3,w+^4}--><*00,00*>) c= C* & rng (({w+^0}\/[:{the carrier' of J},{1,2},X:])--><*00*>) c= C* by ZFMISC_1:31; then rng ({w+^1,w+^2,w+^3,w+^4}--><*00,00*>) \/ rng (({w+^0}\/[:{the carrier' of J},{1,2},X:])--><*00*>) c= C* & <*>C in C* by FINSEQ_1:def 11,XBOOLE_1:8; then rng aa c= C* & rng ({w+^5}-->{}) c= C* by RELAT_1:12; then rng aa \/ rng ({w+^5}-->{}) c= C* & <*01,00*> in C* by FINSEQ_1:def 11,XBOOLE_1:8; then rng ab c= C* & rng ({w+^6,w+^7,w+^8}--><*01,00*>) c= C* by ZFMISC_1:31,RELAT_1:12; then rng ab \/ rng ({w+^6,w+^7,w+^8}--><*01,00*>) c= C* by XBOOLE_1:8; then A20: rng a c= C* by RELAT_1:12; rng the Arity of J c= (the carrier of J)* c= C* by XBOOLE_1:7,FINSEQ_1:62; then rng the Arity of J c= C*; then rng ay = (rng the Arity of J) \/ rng a c= C* by A20,XBOOLE_1:8,RELAT_1:12; then reconsider ay as Function of O,C* by A15,FUNCT_2:2; the carrier' of J <> {} implies the carrier of J <> {} by INSTALG1:def 1; then A21: dom r = O1 & rng r = {00} & {00} c= C & dom the ResultSort of J = the carrier' of J & rng the ResultSort of J c= the carrier of J c= C by XBOOLE_1:7,ZFMISC_1:31,FUNCT_2:def 1; then rng the ResultSort of J c= C; then dom rs = O & rng rs c= {00}\/rng the ResultSort of J c= C by A21,XBOOLE_1:8,FUNCT_4:def 1,17; then dom rs = O & rng rs c= C; then reconsider rs as Function of O,C by FUNCT_2:2; w+^0 in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} & ... & w+^8 in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} by ENUMSET1:def 7; then w+^0 in O1 & ... & w+^8 in O1 by XBOOLE_0:def 3; then reconsider o0=w+^0, o1=w+^1, o2=w+^2, o3=w+^3, o4=w+^4, o5=w+^5, o6=w+^6, o7=w+^7, o8=w+^8 as Element of O by XBOOLE_0:def 3; set p = the n-'1 qua Nat-element FinSequence of {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8}; B2: rng p c= {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} c= O1 c= O by XBOOLE_1:7; then rng p c= {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} c= O; then reconsider p as FinSequence of O by XBOOLE_1:1,FINSEQ_1:def 4; set c9 = <*o0,o1,o2,o3,o4,o5,o6,o7*>^<*o8*>; n > 0; then A22: n >= 0+1 by NAT_1:13; reconsider c = p^c9 as FinSequence of O; rng c9 = {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} by AOFA_A00:26; then B3: rng c = rng p \/ rng c9 c= {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8}\/ {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} by B2,XBOOLE_1:13,FINSEQ_1:31; A23: i = 0 or ... or i = 8 implies c.(n+i) = w+^i proof assume i = 0 or ... or i = 8; then A24: i = 0 & c.(n+0) = c9.(0+1) or ... or i = 8 & c.(n+8) = c9.(8+1); thus thesis by A24,AOFA_A00:29; end; deffunc Q(object) = [the carrier' of J,\$1`1,\$1`2]; consider q being Function such that A25: dom q = [:{1,2},X:] & for x st x in [:{1,2},X:] holds q.x = Q(x) from FUNCT_1:sch 3; rng q c= O proof let x; assume x in rng q; then consider y such that A26: y in dom q & x = q.y by FUNCT_1:def 3; consider i,z being object such that A27: i in {1,2} & z in X & y = [i,z] by A25,A26,ZFMISC_1:def 2; x = [the carrier' of J,y`1,y`2] & y`1 = i & y`2 = z & the carrier' of J in {the carrier' of J} by A25,A26,A27,TARSKI:def 1; then x in [:{the carrier' of J},{1,2},X:] by A27,MCART_1:69; then x in O1 by XBOOLE_0:def 3; hence x in O by XBOOLE_0:def 3; end; then reconsider q as Function of [:{1,2},X:], O by A25,FUNCT_2:2; set L = AlgLangSignature(#C,O,ay,rs,00,01,c,{1,2},q#); reconsider L as non empty non void strict AlgLangSignature over X; take L; len c9 = 8+1 & len p = n-'1 & n is Real & 1 is Real by CARD_1:def 7; then A28: len p+len c9 = n-'1+1+8 = n+8 by A22,XREAL_1:235; then len the connectives of L = n+8 = n+5+3 by FINSEQ_1:22; hence len the connectives of L >= n+5 by NAT_1:12; set N = {n,n+1,n+2,n+3,n+4,n+5}; thus (the connectives of L)|N is one-to-one proof let x,y; assume A29: x in dom ((the connectives of L)|N) & y in dom ((the connectives of L)|N) & ((the connectives of L)|N).x = ((the connectives of L)|N).y; then A30: x in N & y in N by RELAT_1:57; then A31: c.x = (c|N).x = c.y by A29,FUNCT_1:49; A32: (x = n+0 or ... or x = n+5) & (y = n+0 or ... or y = n+5) by A30,ENUMSET1:def 4; then consider i being Nat such that A33: 0 <= i <= 5 & x = n+i; consider j being Nat such that A34: 0 <= j <= 5 & y = n+j by A32; i <= 8 & j <= 8 by A33,A34,XXREAL_0:2; then (i = 0 or ... or i = 8) & (j = 0 or ... or j = 8); then c.x = w+^i & c.y = w+^j by A23,A33,A34; hence thesis by A31,A33,A34,ORDINAL3:21; end; thus (the connectives of L).n is_of_type <*the formula-sort of L*>, the formula-sort of L proof 0 = 0 or ... or 0 = 8; then A35: c.(n+0) = w+^0 by A23; A36: w+^0 in {w+^0} & 00 in {00} by TARSKI:def 1; then w+^0 in {w+^0}\/[:{the carrier' of J},{1,2},X:] & <*00*> in {<*00*>} by XBOOLE_0:def 3,TARSKI:def 1; then [w+^0,<*00*>] in ({w+^0}\/[:{the carrier' of J},{1,2},X:])--><*00*> by ZFMISC_1:106; then [w+^0,<*00*>] in aa by XBOOLE_0:def 3; then [w+^0,<*00*>] in ab by XBOOLE_0:def 3; then [w+^0,<*00*>] in a by XBOOLE_0:def 3; then [w+^0,<*00*>] in ay by XBOOLE_0:def 3; hence (the Arity of L).((the connectives of L).n) = <*the formula-sort of L*> by A35,FUNCT_1:1; w+^0 in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} by ENUMSET1:def 7; then A37: w+^0 in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} \/ [:{the carrier' of J},{1,2},X:] by XBOOLE_0:def 3; then [w+^0,00] in r by A36,ZFMISC_1:87; then r.(c.n) = 00 by A35,FUNCT_1:1; hence (the ResultSort of L).((the connectives of L).n) = the formula-sort of L by A35,A37,A21,FUNCT_4:13; end; thus (the connectives of L).(n+5) is_of_type {}, the formula-sort of L proof 5 = 0 or ... or 5 = 8; then A38: c.(n+5) = w+^5 by A23; w+^5 in {w+^5} & {} in {{}} by TARSKI:def 1; then [w+^5,{}] in {w+^5}-->{} by ZFMISC_1:106; then [w+^5,{}] in ab by XBOOLE_0:def 3; then [w+^5,{}] in a by XBOOLE_0:def 3; then [w+^5,{}] in ay by XBOOLE_0:def 3; hence (the Arity of L).((the connectives of L).(n+5)) = {} by A38,FUNCT_1:1; w+^5 in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} by ENUMSET1:def 7; then A39: w+^5 in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} \/ [:{the carrier' of J},{1,2},X:] & 00 in {00} by TARSKI:def 1,XBOOLE_0:def 3; then [w+^5,00] in r by ZFMISC_1:87; then r.(w+^5) = 00 by FUNCT_1:1; hence (the ResultSort of L).((the connectives of L).(n+5)) = the formula-sort of L by A39,A38,A21,FUNCT_4:13; end; thus (the connectives of L).(n+1) is_of_type <*the formula-sort of L, the formula-sort of L*>, the formula-sort of L & ... & (the connectives of L).(n+4) is_of_type <*the formula-sort of L, the formula-sort of L*>, the formula-sort of L proof let i; assume A40: 1 <= i <= 4; then 0 <= i <= 8 by XXREAL_0:2; then A41: i = 0 or ... or i = 8; then A42: c.(n+i) = w+^i by A23; i = 1 or ... or i = 4 by A40; then c.(n+i) in {w+^1,w+^2,w+^3,w+^4} & <*00,00*> in {<*00,00*>} by A42,TARSKI:def 1,ENUMSET1:def 2; then [c.(n+i),<*00,00*>] in {w+^1,w+^2,w+^3,w+^4}--><*00,00*> by ZFMISC_1:106; then [c.(n+i),<*00,00*>] in aa by XBOOLE_0:def 3; then [c.(n+i),<*00,00*>] in ab by XBOOLE_0:def 3; then [c.(n+i),<*00,00*>] in a by XBOOLE_0:def 3; then [c.(n+i),<*00,00*>] in ay by XBOOLE_0:def 3; hence (the Arity of L).((the connectives of L).(n+i)) = <*the formula-sort of L,the formula-sort of L*> by FUNCT_1:1; c.(n+i) in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} by A42,A41,ENUMSET1:def 7; then A43: c.(n+i) in O1 & 00 in {00} by TARSKI:def 1,XBOOLE_0:def 3; then [c.(n+i),00] in r by ZFMISC_1:106; then r.(c.(n+i)) = 00 by FUNCT_1:1; hence (the ResultSort of L).((the connectives of L).(n+i)) = the formula-sort of L by A43,A21,FUNCT_4:13; end; thus the quant-sort of L = {1,2}; thus the quantifiers of L is one-to-one proof let x,y; assume A44: x in dom the quantifiers of L & y in dom the quantifiers of L; then reconsider a = x, b = y as Element of [:{1,2},X:]; assume (the quantifiers of L).x = (the quantifiers of L).y; then [the carrier' of J,x`1,x`2] = (the quantifiers of L).y by A44,A25 .= [the carrier'of J,y`1,y`2] by A44,A25; then x`1 = y`1 & x`2 = y`2 by XTUPLE_0:3; then x = [a`1,a`2] = [b`1,b`2] = y; hence x = y; end; rng the quantifiers of L c= [:{the carrier' of J},{1,2},X:] proof let a be object; assume a in rng the quantifiers of L; then consider b being object such that C1: b in dom the quantifiers of L & a = (the quantifiers of L).b by FUNCT_1:def 3; reconsider b as Element of [:{1,2},X:] by C1; a = [the carrier' of J,b`1,b`2] & b`1 in {1,2} & b`2 in X & the carrier' of J in {the carrier' of J} by C1,A25,TARSKI:def 1,MCART_1:10; hence thesis by MCART_1:69; end; hence rng the quantifiers of L misses rng the connectives of L by B1,B3,XBOOLE_1:64; hereby let q,x be object; assume A45: q in the quant-sort of L & x in X; A46: (the quantifiers of L).(q,x) = [the carrier' of J,[q,x]`1,[q,x]`2] & <*00*> in {<*00*>} & [q,x]`1 = q & [q,x]`2 = x & the carrier'of J in {the carrier'of J} by A25,A45,TARSKI:def 1,ZFMISC_1:87; then (the quantifiers of L).(q,x) in [:{the carrier' of J},the quant-sort of L,X:] by A45,MCART_1:69; then (the quantifiers of L).(q,x) in {w+^0}\/[:{the carrier' of J},{1,2},X:] & <*00*> in {<*00*>} by XBOOLE_0:def 3,TARSKI:def 1; then [(the quantifiers of L).(q,x),<*00*>] in {w+^0}\/[:{the carrier' of J},{1,2},X:]--><*00*> by ZFMISC_1:106; then [(the quantifiers of L).(q,x),<*00*>] in aa by XBOOLE_0:def 3; then [(the quantifiers of L).(q,x),<*00*>] in ab by XBOOLE_0:def 3; then [(the quantifiers of L).(q,x),<*00*>] in a by XBOOLE_0:def 3; then A47: [(the quantifiers of L).(q,x),<*00*>] in ay by XBOOLE_0:def 3; thus (the quantifiers of L).(q,x) is_of_type <*the formula-sort of L*>, the formula-sort of L proof thus (the Arity of L).((the quantifiers of L).(q,x)) = <*the formula-sort of L*> by A47,FUNCT_1:1; [the carrier' of J,q,x] in [:{the carrier' of J},{1,2},X:] by A46,A45,MCART_1:69; then A48: [the carrier' of J,q,x] in O1 by XBOOLE_0:def 3; then r.[the carrier' of J,q,x] = 00 & [the carrier' of J,q,x] in O by XBOOLE_0:def 3,FUNCOP_1:7; hence (the ResultSort of L).((the quantifiers of L).(q,x)) = the formula-sort of L by A21,A46,A48,FUNCT_4:13; end; end; thus the program-sort of L <> the formula-sort of L by ORDINAL3:21; thus len the connectives of L >= n+8 by A28,FINSEQ_1:22; thus (the connectives of L).(n+6) is_of_type <*the program-sort of L,the formula-sort of L*>, the formula-sort of L & ... & (the connectives of L).(n+8) is_of_type <*the program-sort of L,the formula-sort of L*>, the formula-sort of L proof let i; assume A49: 6 <= i <= 8; A50: i = 0 or ... or i = 8 by A49; then A51: c.(n+i) = w+^i by A23; i = 6 or ... or i = 8 by A49; then w+^i in {w+^6,w+^7,w+^8} & <*01,00*> in {<*01,00*>} by TARSKI:def 1,ENUMSET1:def 1; then [w+^i,<*01,00*>] in ({w+^6,w+^7,w+^8})--><*01,00*> by ZFMISC_1:106; then [w+^i,<*01,00*>] in a by XBOOLE_0:def 3; then [w+^i,<*01,00*>] in ay by XBOOLE_0:def 3; hence (the Arity of L).((the connectives of L).(n+i)) = <*the program-sort of L,the formula-sort of L*> by A51,FUNCT_1:1; w+^i in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} by A50,ENUMSET1:def 7; then A52: w+^i in {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8} \/ [:{the carrier' of J},{1,2},X:] by XBOOLE_0:def 3; then [w+^i,00] in r by ZFMISC_1:106; then r.(w+^i) = 00 by FUNCT_1:1; hence (the ResultSort of L).((the connectives of L).(n+i)) = the formula-sort of L by A21,A52,A51,FUNCT_4:13; end; thus L is J-extension proof set f1 = id the carrier of J; set g1 = id the carrier'of J; thus dom f1 = the carrier of J & dom g1 = the carrier' of J; thus rng f1 c= the carrier of L & rng g1 c= the carrier' of L by XBOOLE_1:7; the carrier' of J <> {} implies the carrier of J <> {} by INSTALG1:def 1; then A53: dom the ResultSort of J = the carrier' of J & dom the Arity of J = the carrier' of J by FUNCT_2:def 1; rng the ResultSort of J c= the carrier of J; hence f1*the ResultSort of J = the ResultSort of J by RELAT_1:53 .= (the ResultSort of L)|the carrier' of J by A17,A21,FUNCT_4:33 .= (the ResultSort of L)*g1 by RELAT_1:65; let o be set, p be Function; assume A54: o in the carrier' of J; then reconsider x = o as Element of the carrier' of J; assume A55: p = (the Arity of J).o; dom the Arity of J = the carrier' of J by FUNCT_2:def 1; then reconsider q = p as Element of (the carrier of J)* by A55,A54,FUNCT_1:102; rng q c= the carrier of J; then f1*p = p & g1.x = x by RELAT_1:53; hence f1*p = (the Arity of L).(g1.o) by A53,A55,A54,GRFUNC_1:15; end; thus (i = 0 or ... or i = 8) implies (the connectives of L).(n+i) = (sup the carrier' of J)+^i by A23; hereby let x be Element of X; 1 in {1,2} by TARSKI:def 2; then [1,x] in [:{1,2},X:] by ZFMISC_1:def 2; hence (the quantifiers of L).(1,x) = [the carrier'of J,[1,x]`1,[1,x]`2] by A25 .= [the carrier' of J,1,x]; 2 in {1,2} by TARSKI:def 2; then [2,x] in [:{1,2},X:] by ZFMISC_1:def 2; hence (the quantifiers of L).(2,x) = [the carrier'of J,[2,x]`1,[2,x]`2] by A25 .= [the carrier' of J,2,x]; end; thus the formula-sort of L = sup the carrier of J & the program-sort of L = (sup the carrier of J)+^1 by ORDINAL2:27; thus the carrier of L = (the carrier of J) \/ {the formula-sort of L, the program-sort of L}; let w be Ordinal; assume w = sup the carrier' of J; hence the carrier' of L = (the carrier' of J) \/ {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8}\/ [:{the carrier' of J},{1,2},X:] by XBOOLE_1:4; end; registration let n be non empty natural number; let X be non empty set; let J be Signature; cluster J-extension n PC-correct QC-correct n AL-correct for non void non empty strict AlgLangSignature over X; existence proof consider S being strict non void non empty AlgLangSignature over X such that A1: S is n PC-correct QC-correct n AL-correct J-extension and (for i st i = 0 or ... or i = 8 holds (the connectives of S).(n+i) = (sup the carrier' of J)+^i) & (for x being Element of X holds (the quantifiers of S).(1,x) = [the carrier' of J,1,x] & (the quantifiers of S).(2,x) = [the carrier' of J,2,x]) & the formula-sort of S = sup the carrier of J & the program-sort of S = (sup the carrier of J)+^1 & the carrier of S = (the carrier of J) \/ {the formula-sort of S, the program-sort of S} & for w being Ordinal st w = sup the carrier' of J holds the carrier' of S = (the carrier' of J) \/ {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8}\/ [:{the carrier' of J},{1,2},X:] by Th11; take S; thus thesis by A1; end; end; registration let X be non empty set; let n be non empty natural number; cluster n PC-correct QC-correct n AL-correct for non void non empty strict AlgLangSignature over X; existence proof set J = the non empty non void Signature; set S = the J-extension n PC-correct QC-correct n AL-correct non void non empty strict AlgLangSignature over X; take S; thus thesis; end; end; begin :: Language definition let J be non empty non void Signature; let T be MSAlgebra over J; mode VariableSet of T -> set means: Def8: ex G being GeneratorSet of T st it = Union G; existence proof set G = the GeneratorSet of T; take X = Union G, G; thus thesis; end; end; definition let J be non empty non void Signature; let T be MSAlgebra over J; let X be GeneratorSet of T; redefine func Union X -> VariableSet of T; coherence by Def8; end; theorem for J being non empty non void Signature for T being MSAlgebra over J for X being VariableSet of T holds X c= Union the Sorts of T proof let J be non empty non void Signature; let T be MSAlgebra over J; let X be VariableSet of T; consider G being GeneratorSet of T such that A1: X = Union G by Def8; let x; assume x in X; then consider y being object such that A2: y in dom G & x in G.y by A1,CARD_5:2; y in the carrier of J by A2; then A3: y in dom the Sorts of T by PARTFUN1:def 2; G c= the Sorts of T by PBOOLE:def 18; then G.y c= (the Sorts of T).y by A2; hence thesis by A2,A3,CARD_5:2; end; definition let S be non empty non void Signature; let X be ManySortedSet of the carrier of S; let T be VarMSAlgebra over S; attr T is X-vf-yielding means the free-vars of T is ManySortedMSSet of the Sorts of T, X; end; definition let J be non empty set; let Q be ManySortedSet of J; let Y be set; let f be Function of [:Union Q, Y:], Union Q; attr f is sort-preserving means: Def10: for j being Element of J holds f.:[:Q.j, Y:] c= Q.j; end; registration let J be non empty set; let Q be ManySortedSet of J; let Y be set; cluster sort-preserving for Function of [:Union Q, Y:], Union Q; existence proof deffunc F(object, object) = (id Union Q).\$1 qua set; A1: for j,y being object st j in Union Q & y in Y holds F(j,y) in Union Q by FUNCT_1:17; consider F being Function of [:Union Q, Y:], Union Q such that A2: for j,y being object st j in Union Q & y in Y holds F.(j,y) = F(j,y) from BINOP_1:sch 2(A1); take F; let j be Element of J; let x; assume x in F.:[:Q.j, Y:]; then consider y such that A3: y in dom F & y in [:Q.j, Y:] & x = F.y by FUNCT_1:def 6; consider a,b being object such that A4: a in Q.j & b in Y & y = [a,b] by A3,ZFMISC_1:def 2; dom Q = J by PARTFUN1:def 2; then x = F.(a,b) = F(a,b) = a by A2,A3,A4,FUNCT_1:17,CARD_5:2; hence x in Q.j by A4; end; end; definition let J be non empty non void Signature; let X be ManySortedSet of the carrier of J; struct (MSAlgebra over J) SubstMSAlgebra over J,X (# Sorts -> (ManySortedSet of the carrier of J), Charact -> (ManySortedFunction of (the Sorts)# * the Arity of J, the Sorts * the ResultSort of J), subst-op -> sort-preserving Function of [:Union the Sorts, Union [|X, the Sorts|]:], Union the Sorts #); end; theorem Th13: for I being set for X being ManySortedSet of I for S being ManySortedSubset of X for x holds S.x is Subset of X.x proof let I be set; let X be ManySortedSet of I; let S be ManySortedSubset of X; let x; A1: S c= X by PBOOLE:def 18; x in dom S & dom S = I or x nin dom S by PARTFUN1:def 2; then S.x c= X.x or S.x = {} by A1,FUNCT_1:def 2; hence thesis by XBOOLE_1:2; end; definition let J be non empty non void Signature; let X be non empty-yielding ManySortedSet of the carrier of J; let Q be SubstMSAlgebra over J,X such that A1: X is ManySortedSubset of the Sorts of Q; let x be Element of Union X; A2: x in Union X c= Union the Sorts of Q by A1,PBOOLE:def 18,MSAFREE4:1; func @(x,Q) -> Element of Union the Sorts of Q equals x; coherence by A2; end; definition let J be non empty non void Signature; let X be non empty-yielding ManySortedSet of the carrier of J; let Q be SubstMSAlgebra over J,X such that A1: X is ManySortedSubset of the Sorts of Q; let j be SortSymbol of J such that A2:(the Sorts of Q).j <> {}; let A be Element of Q,j; let x be Element of Union X; let y be Element of Union X; given a being SortSymbol of J such that A3: x in X.a & y in X.a; func A/(x,y) -> Element of Q,j equals: Def12: (the subst-op of Q).[A,[x,y]]; coherence proof X.a is Subset of (the Sorts of Q).a by A1,Th13; then A4: [x,y] in [:X.a, (the Sorts of Q).a:] by A3,ZFMISC_1:87; A5: [|X, the Sorts of Q|].a = [:X.a, (the Sorts of Q).a:] by PBOOLE:def 16; dom [|X, the Sorts of Q|] = the carrier of J by PARTFUN1:def 2; then A6: [x,y] in Union [|X, the Sorts of Q|] by A4,A5,CARD_5:2; then A7: (the Sorts of Q).j is non empty & [A,[x,y]] in [:(the Sorts of Q).j, Union [|X, the Sorts of Q|]:] by A2,ZFMISC_1:87; dom the Sorts of Q = the carrier of J by PARTFUN1:def 2; then A8: A in Union the Sorts of Q by A2,CARD_5:2; then [A,[x,y]] in [:Union the Sorts of Q, Union [|X, the Sorts of Q|]:] by A6,ZFMISC_1:87; then [A,[x,y]] in dom the subst-op of Q by A8,FUNCT_2:def 1; then (the subst-op of Q).[A,[x,y]] in (the subst-op of Q).:[:(the Sorts of Q).j, Union [|X, the Sorts of Q|]:] c= (the Sorts of Q).j by Def10,A7,FUNCT_1:def 6; hence thesis; end; end; definition let J be non empty non void Signature; let X be non empty-yielding ManySortedSet of the carrier of J; let Q be SubstMSAlgebra over J,X; let j be SortSymbol of J; let A be Element of Q,j such that A1: (the Sorts of Q).j <> {}; let x be Element of Union X; let t be Element of Union the Sorts of Q; given a be SortSymbol of J such that A2: x in X.a & t in (the Sorts of Q).a; func A/(x,t) -> Element of Q,j equals: Def13: (the subst-op of Q).[A,[x,t]]; coherence proof A3: [x,t] in [:X.a, (the Sorts of Q).a:] by A2,ZFMISC_1:87; A4: [|X, the Sorts of Q|].a = [:X.a, (the Sorts of Q).a:] by PBOOLE:def 16; dom [|X, the Sorts of Q|] = the carrier of J by PARTFUN1:def 2; then A5: [x,t] in Union [|X, the Sorts of Q|] by A3,A4,CARD_5:2; then A6: (the Sorts of Q).j is non empty & [A,[x,t]] in [:(the Sorts of Q).j, Union [|X, the Sorts of Q|]:] by A1,ZFMISC_1:87; dom the Sorts of Q = the carrier of J by PARTFUN1:def 2; then A7: A in Union the Sorts of Q by A1,CARD_5:2; then [A,[x,t]] in [:Union the Sorts of Q, Union [|X, the Sorts of Q|]:] by A5,ZFMISC_1:87; then [A,[x,t]] in dom the subst-op of Q by A7,FUNCT_2:def 1; then (the subst-op of Q).[A,[x,t]] in (the subst-op of Q).:[:(the Sorts of Q).j, Union [|X, the Sorts of Q|]:] c= (the Sorts of Q).j by Def10,A6,FUNCT_1:def 6; hence thesis; end; end; registration let J be non empty non void ManySortedSign; let X be ManySortedSet of the carrier of J; cluster non-empty for SubstMSAlgebra over J,X; existence proof set Q = the non-empty MSAlgebra over J; set s = the sort-preserving Function of [:Union the Sorts of Q, Union [|X, the Sorts of Q|] :], Union the Sorts of Q; take K = SubstMSAlgebra(#the Sorts of Q, the Charact of Q, s#); thus the Sorts of K is non-empty; end; end; definition let J be non empty non void Signature; let X be non empty-yielding ManySortedSet of the carrier of J; let Q be non-empty SubstMSAlgebra over J,X; let o be OperSymbol of J; let p be Element of Args(o,Q); let x be Element of Union X; let y be Element of Union the Sorts of Q; func p/(x,y) -> Element of Args(o,Q) means: Def14: for i being Nat st i in dom the_arity_of o ex j being SortSymbol of J st j = (the_arity_of o).i & ex A being Element of Q,j st A = p.i & it.i = A/(x,y); existence proof deffunc F(object) = In(p.\$1, (the Sorts of Q).((the_arity_of o)/.\$1))/(x,y); consider q being Function such that A1: dom q = dom the_arity_of o & for x st x in dom the_arity_of o holds q.x = F(x) from FUNCT_1:sch 3; dom q = Seg len the_arity_of o by A1,FINSEQ_1:def 3; then reconsider q as FinSequence by FINSEQ_1:def 2; A2: len q = len the_arity_of o by A1,FINSEQ_3:29; now let k be Nat; assume A3: k in dom q; q.k = F(k) by A1,A3; hence q.k in (the Sorts of Q).((the_arity_of o)/.k); end; then reconsider q as Element of Args(o,Q) by A2,MSAFREE2:5; take q; let i be Nat; assume A4: i in dom the_arity_of o; take j = (the_arity_of o)/.i; thus j = (the_arity_of o).i by A4,PARTFUN1:def 6; take A = In(p.i, (the Sorts of Q).j); thus A = p.i by A4,MSUALG_6:2,SUBSET_1:def 8; thus q.i = A/(x,y) by A4,A1; end; uniqueness proof let q1,q2 be Element of Args(o,Q) such that A5: for i being Nat st i in dom the_arity_of o ex j being SortSymbol of J st j = (the_arity_of o).i & ex A being Element of Q,j st A = p.i & q1.i = A/(x,y) and A6: for i being Nat st i in dom the_arity_of o ex j being SortSymbol of J st j = (the_arity_of o).i & ex A being Element of Q,j st A = p.i & q2.i = A/(x,y); A7: dom q1 = dom the_arity_of o & dom q2 = dom the_arity_of o by MSUALG_6:2; hence dom q1 = dom q2; let z be object; assume A8: z in dom q1; then reconsider i = z as Nat; consider j1 being SortSymbol of J such that A9: j1 = (the_arity_of o).i & ex A being Element of Q,j1 st A = p.i & q1.i = A/(x,y) by A5,A7,A8; consider j2 being SortSymbol of J such that A10: j2 = (the_arity_of o).i & ex A being Element of Q,j2 st A = p.i & q2.i = A/(x,y) by A6,A7,A8; thus q1.z = q2.z by A9,A10; end; end; definition let I be non empty set; let X be non-empty ManySortedSet of I; let S be non-empty ManySortedSubset of X; let x be Element of I; let z be Element of S.x; func @z -> Element of X.x equals z; coherence proof S c= X by PBOOLE:def 18; then z in S.x & S.x c= X.x & S.x is non empty; hence thesis; end; end; definition let J be non empty non void Signature; let X be non empty-yielding ManySortedSet of the carrier of J; let Q be non-empty SubstMSAlgebra over J,X; attr Q is subst-correct means for x being Element of Union X for a being SortSymbol of J st x in X.a holds (for j being SortSymbol of J for A being Element of Q,j holds A/(x,x) = A) & for y being Element of Union the Sorts of Q st y in (the Sorts of Q).a for o being OperSymbol of J for p being Element of Args(o,Q) for A being Element of Q, the_result_sort_of o st A = Den(o,Q).p holds not (ex S being QCLangSignature over Union X st J = S & ex z being (Element of Union X), q being Element of {1,2} st o = (the quantifiers of S).(q,z)) implies A/(x,y) = Den(o,Q).(p/(x,y)); attr Q is subst-correct2 means for j being SortSymbol of J for q being Element of Q,j, t being Element of Q,j for x being Element of Union X st t = x in X.j holds t/(x,q) = q; end; theorem Th14: for J being non empty non void Signature for X being non empty-yielding ManySortedSet of the carrier of J for Q being SubstMSAlgebra over J,X st X is ManySortedSubset of the Sorts of Q for a being SortSymbol of J st (the Sorts of Q).a <> {} for A being Element of Q,a for x,y being Element of Union X for t being Element of Union the Sorts of Q st y = t for j being SortSymbol of J st x in X.j & y in X.j holds A/(x,y) = A/(x,t) proof let J be non empty non void Signature; let X be non empty-yielding ManySortedSet of the carrier of J; let Q be SubstMSAlgebra over J,X; assume A1: X is ManySortedSubset of the Sorts of Q; let a be SortSymbol of J; assume A2: (the Sorts of Q).a <> {}; let A be Element of Q,a; let x,y be Element of Union X; let t be Element of Union the Sorts of Q; assume A3: y = t; let j be SortSymbol of J; assume A4: x in X.j; assume A5: y in X.j; A6: X.j is Subset of (the Sorts of Q).j by A1,Th13; thus A/(x,y) = (the subst-op of Q).[A,[x,y]] by A1,A2,A4,A5,Def12 .= A/(x,t) by A6,A5,A3,A4,A2,Def13; end; registration let J be non void Signature; cluster J-extension -> non void non empty for Signature; coherence proof let S be Signature; assume J is Subsignature of S; then the carrier of J c= the carrier of S & the carrier' of J c= the carrier' of S by INSTALG1:10; hence the carrier' of S is non empty & the carrier of S is non empty; end; end; registration let J be Signature; cluster J-extension for non empty non void Signature; existence proof set n = the non empty natural number; set X = the non empty set; set S = the J-extension n PC-correct QC-correct n AL-correct non void non empty strict AlgLangSignature over X; take S; thus thesis; end; let X be non empty set; cluster J-extension for non empty non void QCLangSignature over X; existence proof set n = the non empty natural number; set S = the J-extension n PC-correct QC-correct n AL-correct non void non empty strict AlgLangSignature over X; take S; thus thesis; end; let n be non empty natural number; cluster J-extension for non empty non void n PC-correct QC-correct QCLangSignature over X; existence proof set S = the J-extension n PC-correct QC-correct n AL-correct non void non empty strict AlgLangSignature over X; take S; thus thesis; end; end; definition let J be Signature; let X be non empty set; let n be non empty Nat; let S be J-extension n PC-correct feasible AlgLangSignature over X; attr S is essential means: Def16: (the connectives of S).:(n+9 \ n) misses the carrier' of J & rng the quantifiers of S misses the carrier' of J & {the formula-sort of S, the program-sort of S} misses the carrier of J; end; registration let n be non empty natural number; let X be non empty set; let J be Signature; cluster essential for J-extension n PC-correct QC-correct n AL-correct non void non empty strict AlgLangSignature over X; existence proof set w = sup the carrier' of J; deffunc c(ConnectivesSignature) = the connectives of \$1; defpred P[Nat,ConnectivesSignature] means c(\$2).(n+\$1) = w+^\$1; consider S being strict non void non empty AlgLangSignature over X such that A1: S is n PC-correct QC-correct n AL-correct J-extension and A2: (for i st i = 0 or ... or i = 8 holds (the connectives of S).(n+i) = (sup the carrier' of J)+^i) and :: (the connectives of S).(n+0) = (sup the carrier' of J)+^0 & ... & :: (the connectives of S).(n+8) = (sup the carrier' of J)+^8 and :: daje blad 1217 A3: (for x being Element of X holds (the quantifiers of S).(1,x) = [the carrier' of J,1,x] & (the quantifiers of S).(2,x) = [the carrier' of J,2,x]) & the formula-sort of S = sup the carrier of J & the program-sort of S = (sup the carrier of J)+^1 and the carrier of S = (the carrier of J) \/ {the formula-sort of S, the program-sort of S} & for w being Ordinal st w = sup the carrier' of J holds the carrier' of S = (the carrier' of J) \/ {w+^0,w+^1,w+^2,w+^3,w+^4,w+^5,w+^6,w+^7,w+^8}\/ [:{the carrier' of J},{1,2},X:] by Th11; reconsider S as J-extension n PC-correct QC-correct n AL-correct non void non empty strict AlgLangSignature over X by A1; take S; set c = the connectives of S; thus (the connectives of S).:(n+9 \ n) misses the carrier' of J proof assume (the connectives of S).:(n+9 \ n) meets the carrier' of J; then consider x such that A4: x in c.:(n+9 \ n) & x in the carrier' of J by XBOOLE_0:3; consider k being object such that A5: k in dom c & k in n+9 \ n & x = c.k by A4,FUNCT_1:def 6; reconsider k as Nat by A5; set k1 = k-'n; A6: k in Segm (n+9) & k nin n by A5,XBOOLE_0:def 5; then Segm n c= Segm k by ORDINAL1:16; then n <= k < n+8+1 by A6,NAT_1:44; then n <= k <= n+8 by NAT_1:13; then A7: n+0 <= n+k1 <= n+8 & k = n+k1 by XREAL_1:235; then 0 <= k1 <= 8 by XREAL_1:6; then 0 = k1 or ... or 8 = k1; then c.k = w+^k1 by A2,A7; then w+^k1 in w = w+^0 by A4,A5,ORDINAL2:19,27; hence thesis by ORDINAL3:22; end; thus rng the quantifiers of S misses the carrier' of J proof assume rng the quantifiers of S meets the carrier' of J; then consider x such that A8: x in rng the quantifiers of S & x in the carrier' of J by XBOOLE_0:3; consider y such that A9: y in dom the quantifiers of S & x = (the quantifiers of S).y by A8,FUNCT_1:def 3; dom the quantifiers of S = [:the quant-sort of S, X:] by FUNCT_2:def 1 .= [:{1,2},X:] by Def5; then consider i,z being object such that A10: i in {1,2} & z in X & y = [i,z] by A9,ZFMISC_1:def 2; i = 1 or i = 2 by A10,TARSKI:def 2; then x = (the quantifiers of S).(i,z) = [the carrier' of J,i,z] by A9,A10,A3; then the carrier' of J in {the carrier' of J} in {{the carrier' of J,i}, {the carrier' of J}} in {[the carrier' of J,i]} in (the quantifiers of S).(i,z) = x in the carrier' of J by A8,TARSKI:def 1,def 2; hence thesis by XREGULAR:9; end; assume {the formula-sort of S, the program-sort of S} meets the carrier of J; then consider x such that A11: x in {the formula-sort of S, the program-sort of S} & x in the carrier of J by XBOOLE_0:3; x = the formula-sort of S or x = the program-sort of S by A11,TARSKI:def 2; then sup the carrier of J in sup the carrier of J or (sup the carrier of J)+^1 in sup the carrier of J by A3,A11,ORDINAL2:19; then (sup the carrier of J)+^1 in (sup the carrier of J)+^0 by ORDINAL2:27; hence thesis by ORDINAL3:22; end; end; registration let J be non empty Signature; let S be J-extension non empty Signature; let X be non empty-yielding ManySortedSet of the carrier of J; cluster X-tolerating for non empty-yielding ManySortedSet of the carrier of S; existence proof set Y = X extended_by ({}, the carrier of S); consider x such that A1: x in the carrier of J & X.x is non empty by PBOOLE:def 12; Y is non empty-yielding proof take x; J is Subsignature of S by Def2; then A2: the carrier of J c= the carrier of S by INSTALG1:10; hence x in the carrier of S by A1; x in dom X by A1,PARTFUN1:def 2; then x in dom (X|the carrier of S) by A2,RELAT_1:57; then Y.x = (X|the carrier of S).x by FUNCT_4:13 .= X.x by A1,A2,FUNCT_1:49; hence Y.x is non empty by A1; end; hence thesis; end; end; definition let J be non empty Signature; let S be non empty Signature; let T be MSAlgebra over J; let Q be MSAlgebra over S; attr Q is T-extension means: Def17: Q|J = the MSAlgebra of T; end; theorem Th15: for J being non empty non void Signature for S being J-extension Signature for T being MSAlgebra over J for Q1,Q2 being MSAlgebra over S st the MSAlgebra of Q1 = the MSAlgebra of Q2 holds Q1 is T-extension implies Q2 is T-extension proof let J be non empty non void Signature; let S be J-extension Signature; A1: J is Subsignature of S by Def2; let T be MSAlgebra over J; let Q1,Q2 be MSAlgebra over S; assume A2: the MSAlgebra of Q1 = the MSAlgebra of Q2; assume A3: Q1|J = the MSAlgebra of T; Q1|J = Q1|(J, id the carrier of J, id the carrier' of J) & Q2|J = Q2|(J, id the carrier of J, id the carrier' of J) by INSTALG1:def 4; hence Q2|J = the MSAlgebra of T by A3,A1,A2,INSTALG1:def 2,21; end; theorem Th16: for J being non empty non void Signature for S being J-extension Signature for T being MSAlgebra over J for Q being MSAlgebra over S st Q is T-extension for x st x in the carrier of J holds (the Sorts of T).x = (the Sorts of Q).x proof let J be non empty non void Signature; let S be J-extension Signature; J is Subsignature of S by Def2; then A1: id the carrier of J, id the carrier' of J form_morphism_between J,S by INSTALG1:def 2; let T be MSAlgebra over J; let Q be MSAlgebra over S; assume A2: Q|J = the MSAlgebra of T; Q|J = Q|(J, id the carrier of J, id the carrier' of J) by INSTALG1:def 4; then A3: the Sorts of T = (the Sorts of Q)*(id the carrier of J) & dom id the carrier of J = the carrier of J by A1,A2,INSTALG1:def 3; let x; assume A4: x in the carrier of J; hence (the Sorts of T).x = (the Sorts of Q).((id the carrier of J).x) by A3,FUNCT_1:13 .= (the Sorts of Q).x by A4,FUNCT_1:17; end; theorem Th17: for J being non empty non void Signature for S being J-extension Signature for T being MSAlgebra over J for I being set st I c= (the carrier of S)\the carrier of J for X being ManySortedSet of I ex Q being MSAlgebra over S st Q is T-extension & (the Sorts of Q)|I = X proof let J be non empty non void Signature; let S be J-extension Signature; let T be MSAlgebra over J; let I be set; assume A1: I c= (the carrier of S)\the carrier of J; let X be ManySortedSet of I; set U = (the ManySortedSet of the carrier of S)+*(the Sorts of T)+*X; A2: J is Subsignature of S by Def2; dom U = dom ((the ManySortedSet of the carrier of S)+*(the Sorts of T))\/ dom X by FUNCT_4:def 1 .= dom (the ManySortedSet of the carrier of S) \/ dom (the Sorts of T) \/ dom X by FUNCT_4:def 1 .= dom (the ManySortedSet of the carrier of S) \/ dom (the Sorts of T) \/ I by PARTFUN1:def 2 .= dom (the ManySortedSet of the carrier of S) \/ (the carrier of J) \/ I by PARTFUN1:def 2 .= (the carrier of S)\/(the carrier of J)\/I by PARTFUN1:def 2 .= (the carrier of S) \/ I by A2,INSTALG1:10,XBOOLE_1:12 .= the carrier of S by A1,XBOOLE_1:1,XBOOLE_1:12; then reconsider U as ManySortedSet of the carrier of S by RELAT_1:def 18,PARTFUN1:def 2; set C = (the ManySortedFunction of U#*the Arity of S, U*the ResultSort of S)+*the Charact of T; dom C = (dom the ManySortedFunction of U#*the Arity of S, U*the ResultSort of S)\/ dom the Charact of T by FUNCT_4:def 1 .= (the carrier' of S) \/ dom the Charact of T by PARTFUN1:def 2 .= (the carrier' of S) \/ the carrier' of J by PARTFUN1:def 2 .= the carrier' of S by A2,INSTALG1:10,XBOOLE_1:12; then reconsider C as ManySortedSet of the carrier' of S by RELAT_1:def 18,PARTFUN1:def 2; A3: dom X = I misses the carrier of J by A1,XBOOLE_1:63,79,PARTFUN1:def 2; C is ManySortedFunction of U#*the Arity of S, U*the ResultSort of S proof let o be object; assume A4: o in the carrier' of S; then reconsider w = o as OperSymbol of S; per cases; suppose A5: o in the carrier' of J; then reconsider u = o as OperSymbol of J; o in dom the Charact of T by A5,PARTFUN1:def 2; then A6: C.o = (the Charact of T).o by FUNCT_4:13; the Arity of J = (the Arity of S)|the carrier' of J & the ResultSort of J = (the ResultSort of S)|the carrier' of J by A2,INSTALG1:12; then A7: (the Arity of J).o = (the Arity of S).o & (the ResultSort of J).o = (the ResultSort of S).o by A5,FUNCT_1:49; A8: (the Sorts of T)#.the_arity_of u = product ((the Sorts of T)*the_arity_of u) & U#.the_arity_of w = product (U*the_arity_of w) by FINSEQ_2:def 5; A9: dom the Sorts of T = the carrier of J & rng the_arity_of u c= the carrier of J by PARTFUN1:def 2; U*the_arity_of w = ((the ManySortedSet of the carrier of S)+*(the Sorts of T))* the_arity_of w by A3,A7,A9,XBOOLE_1:63,FUNCT_7:11 .= (the Sorts of T)*the_arity_of u by A9,A7,AOFA_I00:3; then A10: (the Sorts of T)#.the_arity_of u = U#.the_arity_of w by A8; A11: rng the ResultSort of S c= the carrier of S & rng the ResultSort of J c= the carrier of J & the carrier of J = dom the Sorts of T by PARTFUN1:def 2; rng the ResultSort of J misses dom X by A3,XBOOLE_1:63; then A12: U*the ResultSort of J = ((the ManySortedSet of the carrier of S)+* (the Sorts of T))*the ResultSort of J by FUNCT_7:11 .= (the Sorts of T)*the ResultSort of J by A11,AOFA_I00:3; ((the Sorts of T)#*the Arity of J).o = (the Sorts of T)#.the_arity_of u & (U#*the Arity of S).o = U#.the_arity_of w & ((the Sorts of T)*the ResultSort of S).o = (the Sorts of T).((the ResultSort of S).o) & ((the Sorts of T)*the ResultSort of J).o = (the Sorts of T).((the ResultSort of J).o) & (U*the ResultSort of S).o = U.((the ResultSort of S).o) & (U*the ResultSort of J).o = U.((the ResultSort of J).o) by A4,A5,FUNCT_2:15; hence thesis by A6,A7,A10,A12; end; suppose o nin the carrier' of J; then o nin dom the Charact of T; then C.o = (the ManySortedFunction of U#*the Arity of S, U*the ResultSort of S).o by FUNCT_4:11; hence thesis; end; end; then reconsider C as ManySortedFunction of U#*the Arity of S, U*the ResultSort of S; take Q = MSAlgebra(#U,C#); thus Q is T-extension proof A13: Q|J = Q|(J, id the carrier of J, id the carrier' of J) by INSTALG1:def 4; id the carrier of J, id the carrier' of J form_morphism_between J,S by A2,INSTALG1:def 2; then the Sorts of (Q|J) = (the Sorts of Q)*id the carrier of J & the Charact of (Q|J) = (the Charact of Q)*id the carrier' of J by A13,INSTALG1:def 3; then A14: the Sorts of (Q|J) = (the Sorts of Q)|the carrier of J & the Charact of (Q|J) = (the Charact of Q)|the carrier' of J by RELAT_1:65; A15: dom the Sorts of T = the carrier of J & dom the Charact of T = the carrier' of J by PARTFUN1:def 2; the Sorts of (Q|J) = ((the ManySortedSet of the carrier of S)+* (the Sorts of T))|the carrier of J by A3,A14,FUNCT_4:72 .= the Sorts of T by A15; hence Q|J = the MSAlgebra of T by A14,A15; end; dom X = I by PARTFUN1:def 2; hence (the Sorts of Q)|I = X; end; theorem Th18: for J being non empty non void Signature for S being J-extension Signature for T being non-empty MSAlgebra over J for I being set st I c= (the carrier of S)\the carrier of J for X being non-empty ManySortedSet of I ex Q being non-empty MSAlgebra over S st Q is T-extension & (the Sorts of Q)|I = X proof let J be non empty non void Signature; let S be J-extension Signature; let T be non-empty MSAlgebra over J; set K = (the carrier of S)\the carrier of J; let I be set; assume A1: I c= K; let X be non-empty ManySortedSet of I; set Y = (the non-empty ManySortedSet of K)+*X; dom Y = (dom the non-empty ManySortedSet of K)\/dom X by FUNCT_4:def 1 .= K \/ dom X by PARTFUN1:def 2 .= K \/ I by PARTFUN1:def 2 .= K by A1,XBOOLE_1:12; then reconsider Y as non-empty ManySortedSet of K by RELAT_1:def 18,PARTFUN1:def 2; consider Q being MSAlgebra over S such that A2: Q is T-extension & (the Sorts of Q)|K = Y by Th17; now let x be object; assume x in the carrier of S; then per cases by XBOOLE_0:def 5; suppose A3: x in the carrier of J; then (the Sorts of Q).x = (the Sorts of T).x by A2,Th16; hence (the Sorts of Q).x is non empty by A3; end; suppose A4: x in K; then (the Sorts of Q).x = Y.x by A2,FUNCT_1:49; hence (the Sorts of Q).x is non empty by A4; end; end; then the Sorts of Q is non-empty; then reconsider Q as non-empty MSAlgebra over S by MSUALG_1:def 3; take Q; thus Q is T-extension by A2; A5: dom X = I by PARTFUN1:def 2; thus (the Sorts of Q)|I = (the Sorts of Q)|K|I by A1,RELAT_1:74 .= X by A2,A5; end; registration let J be non empty non void Signature; let S be J-extension Signature; let T be MSAlgebra over J; cluster T-extension for MSAlgebra over S; existence proof set Z = the ManySortedSet of {}; {} c= (the carrier of S)\the carrier of J; then consider Q being MSAlgebra over S such that A1: Q is T-extension & (the Sorts of Q)|{} = Z by Th17; take Q; thus thesis by A1; end; end; registration let J be non empty non void Signature; let S be J-extension Signature; let T be non-empty MSAlgebra over J; cluster T-extension for non-empty MSAlgebra over S; existence proof set I = (the carrier of S)\the carrier of J; set Z = the non-empty ManySortedSet of I; consider Q being MSAlgebra over S such that A1: Q is T-extension & (the Sorts of Q)|I = Z by Th17; now let s be object; assume s in the carrier of S; then per cases by XBOOLE_0:def 5; suppose A2: s in the carrier of J; then (the Sorts of Q).s = (the Sorts of T).s by A1,Th16; hence (the Sorts of Q).s is non empty by A2; end; suppose A3: s in I; then (the Sorts of Q).s = Z.s by A1,FUNCT_1:49; hence (the Sorts of Q).s is non empty by A3; end; end; then the Sorts of Q is non-empty; then reconsider Q as non-empty MSAlgebra over S by MSUALG_1:def 3; take Q; thus thesis by A1; end; end; theorem Th19: for I being set, a being object holds pr1(I,{a}) is one-to-one proof let I be set; let a be object; set f = pr1(I,{a}); let x,y be object; assume A1: x in dom f & y in dom f; then consider i1,a1 being object such that A2: i1 in I & a1 in {a} & x = [i1,a1] by ZFMISC_1:def 2; consider i2,a2 being object such that A3: i2 in I & a2 in {a} & y = [i2,a2] by A1,ZFMISC_1:def 2; assume f.x = f.y; then f.(i1,a1) = f.(i2,a2) by A2,A3; then A4: i1 = f.(i2,a2) = i2 by A2,A3,FUNCT_3:def 4; a1 = a = a2 by A2,A3,TARSKI:def 1; hence x = y by A2,A3,A4; end; theorem Th20: for S1,S2,E1,E2 being Signature st the ManySortedSign of S1 = the ManySortedSign of S2 & the ManySortedSign of E1 = the ManySortedSign of E2 & E1 is Extension of S1 holds E2 is Extension of S2 proof let S1,S2,E1,E2 be Signature; assume A1: the ManySortedSign of S1 = the ManySortedSign of S2; assume A2: the ManySortedSign of E1 = the ManySortedSign of E2; set f = id the carrier of S1, g = id the carrier' of S1; assume A3: dom f = the carrier of S1 & dom g = the carrier' of S1 & rng f c= the carrier of E1 & rng g c= the carrier' of E1 & f*the ResultSort of S1 = (the ResultSort of E1)*g & for o being set, p being Function st o in the carrier' of S1 & p = (the Arity of S1).o holds f*p = (the Arity of E1).(g.o); thus dom id the carrier of S2 = the carrier of S2; thus thesis by A1,A2,A3; end; registration let I be set; let a be object; cluster pr1(I,{a}) -> one-to-one; coherence by Th19; end; definition let a,b,c be non empty set; let g be Function of a,b; let f be Function of b,c; redefine func f*g -> Function of a,c; coherence proof dom(f*g) = a & rng(f*g) c= c by FUNCT_2:def 1; hence thesis; end; end; theorem Lem6: for f being one-to-one Function st X misses Y holds f.:X misses f.:Y proof let f be one-to-one Function; assume Z2: X misses Y; assume f.:X meets f.:Y; then consider x such that A1: x in f.:X & x in f.:Y by XBOOLE_0:3; consider y such that A2: y in dom f & y in X & x = f.y by A1,FUNCT_1:def 6; consider z being object such that A3: z in dom f & z in Y & x = f.z by A1,FUNCT_1:def 6; y <> z by Z2,A2,A3,XBOOLE_0:3; hence contradiction by A3,A2,FUNCT_1:def 4; end; theorem Th21: for n being non empty natural number, X being set for J being non empty Signature ex Q being non empty non void n PC-correct QC-correct QCLangSignature over X st the carrier of Q misses the carrier of J & the carrier' of Q misses the carrier' of J proof let n be non empty natural number, X be set; let J be non empty Signature; set Q = the non empty non void n PC-correct QC-correct QCLangSignature over X; reconsider A = [:the carrier of Q, {the carrier of J}:] as non empty set; reconsider B = [:the carrier' of Q, {the carrier' of J}:] as non empty set; reconsider f = pr1(the carrier of Q, {the carrier of J}) as Function of A, the carrier of Q; reconsider g = pr1(the carrier' of Q, {the carrier' of J}) as Function of B, the carrier' of Q; f is one-to-one & rng f = the carrier of Q by FUNCT_3:44; then reconsider f1 = f" as Function of the carrier of Q, A by FUNCT_2:25; A1: g is one-to-one & rng g = the carrier' of Q by FUNCT_3:44; then reconsider g1 = g" as Function of the carrier' of Q, B by FUNCT_2:25; deffunc F(object) = f1*In(\$1,(the carrier of Q)*); consider ff being Function such that A2: dom ff = (the carrier of Q)* & for p being object st p in (the carrier of Q)* holds ff.p = F(p) from FUNCT_1:sch 3; rng ff c= A* proof let a be object; assume a in rng ff; then consider b being object such that A3: b in dom ff & a = ff.b by FUNCT_1:def 3; A4: a = F(b) by A2,A3; F(b) is FinSequence & rng F(b) c= A; then F(b) is FinSequence of A by FINSEQ_1:def 4; hence thesis by A4,FINSEQ_1:def 11; end; then reconsider ff as Function of (the carrier of Q)*,A* by A2,FUNCT_2:2; reconsider Ar = (ff*(the Arity of Q))*g as Function of B,A*; reconsider re = f1*(the ResultSort of Q)*g as Function of B,A; A5: the formula-sort of Q in the carrier of Q = dom f1 by FUNCT_2:def 1; then reconsider fs = (f1.the formula-sort of Q) as (Element of A) by FUNCT_1:102; rng(g1*the connectives of Q) c= B; then reconsider co = (g1*the connectives of Q) as (FinSequence of B) by FINSEQ_1:def 4; reconsider qu = (g1*the quantifiers of Q) as Function of [:the quant-sort of Q, X:], B; set QQ = QCLangSignature(# A qua non empty set, B qua non empty set, Ar, re, fs, co, (the quant-sort of Q) qua set, qu#); A6: QQ is n PC-correct proof rng the connectives of Q c= the carrier' of Q = dom g1 by FUNCT_2:def 1; then A7: dom the connectives of QQ = dom the connectives of Q = Seg len the connectives of Q by RELAT_1:27,FINSEQ_1:def 3; then len the connectives of QQ = len the connectives of Q by FINSEQ_1:def 3; hence len the connectives of QQ >= n+5 by Def4; (the connectives of QQ)|{n,n+1,n+2,n+3,n+4,n+5} = g1*((the connectives of Q)|{n,n+1,n+2,n+3,n+4,n+5}) & g1 is one-to-one & (the connectives of Q)|{n,n+1,n+2,n+3,n+4,n+5} is one-to-one by Def4,RELAT_1:83; hence (the connectives of QQ)|{n,n+1,n+2,n+3,n+4,n+5} is one-to-one; 0 < n <= n+5 <= len the connectives of Q by Def4,NAT_1:12; then 0+1 <= n <= len the connectives of Q by NAT_1:13,XXREAL_0:2; then A8: g1.((the connectives of Q).n) = (the connectives of QQ).n in B = dom g & (the connectives of Q).n in the carrier' of Q by A7,FUNCT_1:13,102,FUNCT_2:def 1,FINSEQ_3:25; 1 <= n+4+1 = n+5 <= len the connectives of Q by Def4,NAT_1:12; then A9: g1.((the connectives of Q).(n+5)) = (the connectives of QQ).(n+5) in B = dom g & (the connectives of Q).(n+5) in the carrier' of Q by A7,FUNCT_1:13,102,FUNCT_2:def 1,FINSEQ_3:25; A10: <*the formula-sort of Q*> in (the carrier of Q)* by FINSEQ_1:def 11; A11: <*>the carrier of Q in (the carrier of Q)* by FINSEQ_1:def 11; A12: (the connectives of Q).n is_of_type <*the formula-sort of Q*>, the formula-sort of Q by Def4; A13: (the connectives of Q).(n+5) is_of_type {}, the formula-sort of Q by Def4; thus (the Arity of QQ).((the connectives of QQ).n) = (ff*(the Arity of Q)).(g.((the connectives of QQ).n)) by A8,FUNCT_1:13 .= ff.((the Arity of Q).(g.((the connectives of QQ).n))) by A8,FUNCT_1:102,FUNCT_2:15 .= ff.<*the formula-sort of Q*> by A12,A1,A8,FUNCT_1:35 .= f1*In(<*the formula-sort of Q*>,(the carrier of Q)*) by A2,A10 .= f1*<*the formula-sort of Q*> by A10,SUBSET_1:def 8 .= <*the formula-sort of QQ*> by A5,FINSEQ_2:34; thus (the ResultSort of QQ).((the connectives of QQ).n) = (f1*(the ResultSort of Q)).(g.((the connectives of QQ).n)) by A8,FUNCT_1:13 .= f1.((the ResultSort of Q).(g.((the connectives of QQ).n))) by A8,FUNCT_1:102,FUNCT_2:15 .= the formula-sort of QQ by A12,A1,A8,FUNCT_1:35; thus (the Arity of QQ).((the connectives of QQ).(n+5)) = (ff*(the Arity of Q)).(g.((the connectives of QQ).(n+5))) by A9,FUNCT_1:13 .= ff.((the Arity of Q).(g.((the connectives of QQ).(n+5)))) by A9,FUNCT_1:102,FUNCT_2:15 .= ff.{} by A13,A1,A9,FUNCT_1:35 .= f1*In({},(the carrier of Q)*) by A2,A11 .= f1*{} by A11,SUBSET_1:def 8 .= {}; thus (the ResultSort of QQ).((the connectives of QQ).(n+5)) = (f1*(the ResultSort of Q)).(g.((the connectives of QQ).(n+5))) by A9,FUNCT_1:13 .= f1.((the ResultSort of Q).(g.((the connectives of QQ).(n+5)))) by A9,FUNCT_1:102,FUNCT_2:15 .= the formula-sort of QQ by A13,A1,A9,FUNCT_1:35; ((the connectives of Q).(n+1) is_of_type <*the formula-sort of Q, the formula-sort of Q*>, the formula-sort of Q & ... & (the connectives of Q).(n+4) is_of_type <*the formula-sort of Q, the formula-sort of Q*>, the formula-sort of Q) by Def4; then A14: ((the Arity of Q).((the connectives of Q).(n+1)) = <*the formula-sort of Q, the formula-sort of Q*> & (the ResultSort of Q).((the connectives of Q).(n+1)) = the formula-sort of Q) & ... & ((the Arity of Q).((the connectives of Q).(n+4)) = <*the formula-sort of Q, the formula-sort of Q*> & (the ResultSort of Q).((the connectives of Q).(n+4)) = the formula-sort of Q) by AOFA_A00:def 9; let i; assume A15: 1 <= i <= 4; then i <= n+i <= n+4 <= n+4+1 = n+5 <= len the connectives of Q by Def4,XREAL_1:6,NAT_1:12; then 1 <= n+i <= n+5 <= len the connectives of Q by A15,XXREAL_0:2; then 1 <= n+i <= len the connectives of Q by XXREAL_0:2; then A16: g1.((the connectives of Q).(n+i)) = (the connectives of QQ).(n+i) in B = dom g & (the connectives of Q).(n+i) in the carrier' of Q by A7,FUNCT_1:13,102,FUNCT_2:def 1,FINSEQ_3:25; A17: <*the formula-sort of Q,the formula-sort of Q*> in (the carrier of Q)* by FINSEQ_1:def 11; thus (the Arity of QQ).((the connectives of QQ).(n+i)) = (ff*(the Arity of Q)).(g.((the connectives of QQ).(n+i))) by A16,FUNCT_1:13 .= ff.((the Arity of Q).(g.((the connectives of QQ).(n+i)))) by A16,FUNCT_1:102,FUNCT_2:15 .= ff.((the Arity of Q).((the connectives of Q).(n+i))) by A1,A16,FUNCT_1:35 .= ff.<*the formula-sort of Q,the formula-sort of Q*> by A15,A14 .= f1*In(<*the formula-sort of Q,the formula-sort of Q*>, (the carrier of Q)*) by A2,A17 .= f1*<*the formula-sort of Q,the formula-sort of Q*> by A17,SUBSET_1:def 8 .= <*the formula-sort of QQ, the formula-sort of QQ*> by FINSEQ_2:36; thus (the ResultSort of QQ).((the connectives of QQ).(n+i)) = (f1*(the ResultSort of Q)).(g.((the connectives of QQ).(n+i))) by A16,FUNCT_1:13 .= f1.((the ResultSort of Q).(g.((the connectives of QQ).(n+i)))) by A16,FUNCT_1:102,FUNCT_2:15 .= f1.((the ResultSort of Q).((the connectives of Q).(n+i))) by A1,A16,FUNCT_1:35 .= the formula-sort of QQ by A15,A14; end; QQ is QC-correct proof thus the quant-sort of QQ = {1,2} by Def5; the quantifiers of Q is one-to-one by Def5; hence the quantifiers of QQ is one-to-one; rng co = g1.:rng the connectives of Q & dom g1 = the carrier' of Q & rng qu = g1.:rng the quantifiers of Q & rng the quantifiers of Q misses rng the connectives of Q by Def5,RELSET_2:52,FUNCT_2:def 1; hence rng the quantifiers of QQ misses rng the connectives of QQ by Lem6; let q,x be object; assume A18: q in the quant-sort of QQ & x in X; then [q,x] in [:the quant-sort of QQ, X:] by ZFMISC_1:87; then A19: (the quantifiers of Q).(q,x) in the carrier' of Q = dom g1 & (the quantifiers of QQ).(q,x) in B = dom g by FUNCT_2:def 1,5; A20: <*the formula-sort of Q*> in (the carrier of Q)* by FINSEQ_1:def 11; A21: (the quantifiers of Q).(q,x) is_of_type <*the formula-sort of Q*>, the formula-sort of Q by A18,Def5; thus (the Arity of QQ).((the quantifiers of QQ).(q,x)) = (ff*(the Arity of Q)).(g.((the quantifiers of QQ).(q,x))) by A19,FUNCT_1:13 .= ff.((the Arity of Q).(g.((the quantifiers of QQ).(q,x)))) by A19,FUNCT_1:102,FUNCT_2:15 .= ff.((the Arity of Q).(g.(g1.((the quantifiers of Q).[q,x])))) by A18,ZFMISC_1:87,FUNCT_2:15 .= ff.<*the formula-sort of Q*> by A21,A1,A19,FUNCT_1:35 .= f1*In(<*the formula-sort of Q*>, (the carrier of Q)*) by A2,A20 .= f1*<*the formula-sort of Q*> by A20,SUBSET_1:def 8 .= <*the formula-sort of QQ*> by FINSEQ_2:35; thus (the ResultSort of QQ).((the quantifiers of QQ).(q,x)) = (f1*(the ResultSort of Q)).(g.((the quantifiers of QQ).(q,x))) by A19,FUNCT_1:13 .= f1.((the ResultSort of Q).(g.((the quantifiers of QQ).(q,x)))) by A19,FUNCT_1:102,FUNCT_2:15 .= f1.((the ResultSort of Q).(g.(g1.((the quantifiers of Q).[q,x])))) by A18,ZFMISC_1:87,FUNCT_2:15 .= the formula-sort of QQ by A21,A1,A19,FUNCT_1:35; end; then reconsider QQ as non empty non void n PC-correct QC-correct QCLangSignature over X by A6; take QQ; thus the carrier of QQ misses the carrier of J proof assume the carrier of QQ meets the carrier of J; then consider a being object such that A22: a in the carrier of QQ & a in the carrier of J by XBOOLE_0:3; consider b,c being object such that A23: b in the carrier of Q & c in {the carrier of J} & a = [b,c] by A22,ZFMISC_1:def 2; reconsider c as set by TARSKI:1; c in {b,c} in {{b,c},{b}} in c by A22,A23,TARSKI:def 1,def 2; hence contradiction by XREGULAR:7; end; thus the carrier' of QQ misses the carrier' of J proof assume the carrier' of QQ meets the carrier' of J; then consider a being object such that A24: a in the carrier' of QQ & a in the carrier' of J by XBOOLE_0:3; consider b,c being object such that A25: b in the carrier' of Q & c in {the carrier' of J} & a = [b,c] by A24,ZFMISC_1:def 2; reconsider c as set by TARSKI:1; c in {b,c} in {{b,c},{b}} in c by A24,A25,TARSKI:def 1,def 2; hence contradiction by XREGULAR:7; end; end; registration let J be non empty Signature; cluster J-extension for non empty non void Signature; existence proof reconsider E = (the non empty non void Signature)+*J as non empty non void Signature; take E; E is Extension of J by ALGSPEC1:48; hence J is Subsignature of E by ALGSPEC1:def 5; end; let X be set; cluster J-extension for non empty non void QCLangSignature over X; existence proof set Q = the non empty non void QCLangSignature over X; set C = (the carrier of Q)\/the carrier of J; set C9 = (the carrier' of Q)\/the carrier' of J; A1: the carrier' of Q c= C9 & the carrier' of J c= C9 by XBOOLE_1:7; (the carrier of Q)* c= C* & (the carrier of J)* c= C* by XBOOLE_1:7,FINSEQ_1:62; then A2: (the carrier of Q)*\/(the carrier of J)* c= C*\/C* = C* by XBOOLE_1:13; set A = (the Arity of Q)+*the Arity of J; (rng the Arity of Q)\/rng the Arity of J c= (the carrier of Q)*\/(the carrier of J)* by XBOOLE_1:13; then rng A c= (rng the Arity of Q)\/rng the Arity of J c= C* & dom the Arity of Q = the carrier' of Q & dom the Arity of J = the carrier' of J by A2,FUNCT_4:17,FUNCT_2:def 1; then dom A = C9 & rng A c= C* by FUNCT_4:def 1; then reconsider A as Function of C9,C* by FUNCT_2:2; set R = (the ResultSort of Q)+*the ResultSort of J; rng R c= (rng the ResultSort of Q)\/rng the ResultSort of J c= C & dom the ResultSort of Q = the carrier' of Q & dom the ResultSort of J = the carrier' of J by XBOOLE_1:13,FUNCT_4:17,FUNCT_2:def 1; then dom R = C9 & rng R c= C by FUNCT_4:def 1; then reconsider R as Function of C9,C by FUNCT_2:2; reconsider f = the formula-sort of Q as Element of C by XBOOLE_0:def 3; rng the connectives of Q c= C9 by A1; then reconsider c = the connectives of Q as FinSequence of C9 by FINSEQ_1:def 4; rng the quantifiers of Q c= C9 by A1; then reconsider q = the quantifiers of Q as Function of [:the quant-sort of Q, X:], C9 by FUNCT_2:6; reconsider E = QCLangSignature(# C, C9, A, R, f, c, the quant-sort of Q, q #) as non empty non void QCLangSignature over X; take E; A3: Q+*J is Extension of J by ALGSPEC1:48; set sE = the ManySortedSign of E; sE is non empty & the carrier of sE = (the carrier of Q) \/ (the carrier of J) & the carrier' of sE = (the carrier' of Q) \/ (the carrier' of J) & the Arity of sE = (the Arity of Q) +* (the Arity of J) & the ResultSort of sE = (the ResultSort of Q) +* (the ResultSort of J); then the ManySortedSign of E = Q+*J & the ManySortedSign of J = the ManySortedSign of J by CIRCCOMB:def 2; then E is Extension of J by A3,Th20; hence J is Subsignature of E by ALGSPEC1:def 5; end; let n be non empty natural number; cluster J-extension for non empty non void n PC-correct QC-correct QCLangSignature over X; existence proof consider Q being non empty non void n PC-correct QC-correct QCLangSignature over X such that A4: the carrier of Q misses the carrier of J & the carrier' of Q misses the carrier' of J by Th21; set C = (the carrier of Q)\/the carrier of J; set C9 = (the carrier' of Q)\/the carrier' of J; A5: the carrier' of Q c= C9 & the carrier' of J c= C9 by XBOOLE_1:7; (the carrier of Q)* c= C* & (the carrier of J)* c= C* by XBOOLE_1:7,FINSEQ_1:62; then A6: (the carrier of Q)*\/(the carrier of J)* c= C*\/C* = C* by XBOOLE_1:13; set A = (the Arity of Q)+*the Arity of J; (rng the Arity of Q)\/rng the Arity of J c= (the carrier of Q)*\/(the carrier of J)* by XBOOLE_1:13; then rng A c= (rng the Arity of Q)\/rng the Arity of J c= C* & dom the Arity of Q = the carrier' of Q & dom the Arity of J = the carrier' of J by A6,FUNCT_4:17,FUNCT_2:def 1; then dom A = C9 & rng A c= C* by FUNCT_4:def 1; then reconsider A as Function of C9,C* by FUNCT_2:2; set R = (the ResultSort of Q)+*the ResultSort of J; rng R c= (rng the ResultSort of Q)\/rng the ResultSort of J c= C & dom the ResultSort of Q = the carrier' of Q & dom the ResultSort of J = the carrier' of J by XBOOLE_1:13,FUNCT_4:17,FUNCT_2:def 1; then dom R = C9 & rng R c= C by FUNCT_4:def 1; then reconsider R as Function of C9,C by FUNCT_2:2; reconsider f = the formula-sort of Q as Element of C by XBOOLE_0:def 3; rng the connectives of Q c= C9 by A5; then reconsider c = the connectives of Q as FinSequence of C9 by FINSEQ_1:def 4; rng the quantifiers of Q c= C9 by A5; then reconsider q = the quantifiers of Q as Function of [:the quant-sort of Q, X:], C9 by FUNCT_2:6; reconsider E = QCLangSignature(#C, C9, A, R, f, c, the quant-sort of Q, q#) as non empty non void QCLangSignature over X; A7: Q+*J is Extension of J & J+*Q is Extension of Q by ALGSPEC1:48; set sE = the ManySortedSign of E; dom the Arity of J = the carrier' of J & dom the Arity of Q = the carrier' of Q & dom the ResultSort of J = the carrier' of J & dom the ResultSort of Q = the carrier' of Q by FUNCT_2:def 1; then sE is non empty & the carrier of sE = (the carrier of Q) \/ (the carrier of J) & the carrier' of sE = (the carrier' of Q) \/ (the carrier' of J) & the Arity of sE = (the Arity of Q) +* (the Arity of J) = (the Arity of J) +* the Arity of Q & the ResultSort of sE = (the ResultSort of Q) +* (the ResultSort of J) = (the ResultSort of J)+*the ResultSort of Q by A4,FUNCT_4:35; then the ManySortedSign of E = Q+*J & sE = J+*Q & the ManySortedSign of Q = the ManySortedSign of Q & the ManySortedSign of J = the ManySortedSign of J by CIRCCOMB:def 2; then A8: E is Extension of J & E is Extension of Q by A7,Th20; A9: E is n PC-correct proof A10: len the connectives of Q >= n+5 & (the connectives of Q)|{n,n+1,n+2,n+3,n+4,n+5} is one-to-one & (the connectives of Q).n is_of_type <*the formula-sort of Q*>, the formula-sort of Q & (the connectives of Q).(n+5) is_of_type {}, the formula-sort of Q & ((the connectives of Q).(n+1) is_of_type <*the formula-sort of Q, the formula-sort of Q*>, the formula-sort of Q & ... & (the connectives of Q).(n+4) is_of_type <*the formula-sort of Q, the formula-sort of Q*>, the formula-sort of Q) by Def4; thus len the connectives of E >= n+5 by Def4; thus (the connectives of E)|{n,n+1,n+2,n+3,n+4,n+5} is one-to-one by Def4; 0 < n <= n+5 by NAT_1:12; then 0+1 <= n <= len the connectives of Q by A10,XXREAL_0:2,NAT_1:13; then n in dom the connectives of Q by FINSEQ_3:25; then (the connectives of E).n is OperSymbol of Q by FUNCT_1:102; hence (the connectives of E).n is_of_type <*the formula-sort of E*>, the formula-sort of E by A10,A8,Th9; 1 <= n+4+1 = n+5 <= len the connectives of Q by Def4,NAT_1:12; then n+5 in dom the connectives of Q by FINSEQ_3:25; then (the connectives of E).(n+5) is OperSymbol of Q by FUNCT_1:102; hence (the connectives of E).(n+5) is_of_type {}, the formula-sort of E by A10,A8,Th9; n+1 <= n+1+4 = n+5 & n+1+1 = n+2 <= n+2+3 = n+5 & n+2+1 = n+3 <= n+3+2 = n+5 & n+3+1 = n+4 <= n+4+1 = n+5 by NAT_1:12; then 1 <= n+1 <= len the connectives of Q & ... & 1 <= n+4 <= len the connectives of Q by A10,XXREAL_0:2,NAT_1:12; then n+1 in dom the connectives of Q & ... & n+4 in dom the connectives of Q by FINSEQ_3:25; then (the connectives of E).(n+1) is OperSymbol of Q & ... & (the connectives of E).(n+4) is OperSymbol of Q by FUNCT_1:102; hence ((the connectives of E).(n+1) is_of_type <*the formula-sort of E, the formula-sort of E*>, the formula-sort of E & ... & (the connectives of E).(n+4) is_of_type <*the formula-sort of E, the formula-sort of E*>, the formula-sort of E) by A10,A8,Th9; end; E is QC-correct proof thus the quant-sort of E = {1,2} & :: { \for, \ex } the quantifiers of E is one-to-one by Def5; thus rng the quantifiers of E misses rng the connectives of E by Def5; let q,x be object such that A11: q in the quant-sort of E & x in X; [q,x] in [:the quant-sort of Q,X:] by A11,ZFMISC_1:87; then (the quantifiers of E).(q,x) is OperSymbol of Q & (the quantifiers of Q).(q,x) is_of_type <*the formula-sort of Q*>, the formula-sort of Q by Def5,A11,FUNCT_2:5; hence (the quantifiers of E).(q,x) is_of_type <*the formula-sort of E*>, the formula-sort of E by A8,Th9; end; then reconsider E as non empty non void n PC-correct QC-correct QCLangSignature over X by A9; take E; thus J is Subsignature of E by A8,ALGSPEC1:def 5; end; end; definition let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non empty non void QCLangSignature over Union X; let Y be X-tolerating ManySortedSet of the carrier of S; struct (VarMSAlgebra over S,SubstMSAlgebra over S,Y) LanguageStr over T,Y,S (# Sorts -> ManySortedSet of the carrier of S, Charact -> (ManySortedFunction of (the Sorts)# * the Arity of S, the Sorts * the ResultSort of S), free-vars -> ManySortedMSSet of the Sorts, the Sorts, :: Function of (the Sorts).the formula-sort of S, Bool X, subst-op -> sort-preserving Function of [:Union the Sorts, Union [|Y, the Sorts|]:], Union the Sorts, equality -> Function of Union [|the Sorts of T, the Sorts of T|], (the Sorts).the formula-sort of S #); end; definition let S be non empty PCLangSignature; let L be MSAlgebra over S; attr L is language means: Def18: (the Sorts of L).the formula-sort of S is not empty; end; registration let S be non empty PCLangSignature; cluster non-empty -> language for MSAlgebra over S; coherence; cluster language for MSAlgebra over S; existence proof set A = the non-empty MSAlgebra over S; take A; thus (the Sorts of A).the formula-sort of S is not empty; end; end; theorem Th22: for J being non void Signature for S being J-extension non void Signature for A1,A2 being MSAlgebra over S st the MSAlgebra of A1 = the MSAlgebra of A2 holds A1|J = A2|J proof let J be non void Signature; let S be J-extension non void Signature; let A1,A2 be MSAlgebra over S such that A1: the MSAlgebra of A1 = the MSAlgebra of A2; A2: A1|J = A1|(J, id the carrier of J, id the carrier' of J) & A2|J = A2|(J, id the carrier of J, id the carrier' of J) by INSTALG1:def 4; J is Subsignature of S by Def2; then id the carrier of J, id the carrier' of J form_morphism_between J, S by INSTALG1:def 2; then the Sorts of A1|J = (the Sorts of A1)*id the carrier of J & the Sorts of A2|J = (the Sorts of A2)*id the carrier of J & the Charact of A1|J = (the Charact of A1)*id the carrier' of J & the Charact of A2|J = (the Charact of A2)*id the carrier' of J by A2,INSTALG1:def 3; hence A1|J = A2|J by A1; end; registration let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non empty non void QCLangSignature over Union X; cluster X-tolerating for non empty-yielding ManySortedSet of the carrier of S; existence proof set Y = the non empty-yielding ManySortedSet of the carrier of S; A1: J is Subsignature of S by Def2; then A2: the carrier of J c= the carrier of S by INSTALG1:10; A3: dom X = the carrier of J & dom Y = the carrier of S by PARTFUN1:def 2; then A4: dom Y \/ dom X = the carrier of S by A1,XBOOLE_1:12,INSTALG1:10; then dom (Y+*X) = the carrier of S by FUNCT_4:def 1; then reconsider YX = Y+*X as ManySortedSet of the carrier of S by RELAT_1:def 18,PARTFUN1:def 2; consider a being object such that A5: a in the carrier of J & X.a is non empty by PBOOLE:def 12; YX is non empty-yielding proof take a; thus a in the carrier of S by A2,A5; thus YX.a is non empty by A2,A3,A5,A4,FUNCT_4:def 1; end; hence thesis; end; end; registration let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non empty non void QCLangSignature over Union X; let Y be X-tolerating non empty-yielding ManySortedSet of the carrier of S; cluster non-empty language T-extension for LanguageStr over T,Y,S; existence proof set A = the T-extension non-empty MSAlgebra over S; set f = the ManySortedMSSet of the Sorts of A, the Sorts of A; set g = the sort-preserving Function of [:Union the Sorts of A, Union [|Y,the Sorts of A|]:], Union the Sorts of A; set eq = the Function of Union [|the Sorts of T, the Sorts of T|], (the Sorts of A).the formula-sort of S; take L = LanguageStr(#the Sorts of A, the Charact of A, f, g, eq#); thus the Sorts of L is non-empty; thus (the Sorts of L).the formula-sort of S is not empty; the MSAlgebra of L = the MSAlgebra of A; hence L|J = A|J by Th22 .= the MSAlgebra of T by Def17; end; end; definition let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non empty non void QCLangSignature over Union X; let Y be X-tolerating non empty-yielding ManySortedSet of the carrier of S; let L be non-empty LanguageStr over T,Y,S; attr L is subst-correct3 means for s,s1 being SortSymbol of S for t being Element of L,s for t1 being Element of L,s1 for y being Element of Union Y st y in Y.s holds y nin (vf t1).s & (y nin (vf t1).s implies t1/(y,t) = t1) & (t1 = y in Y.s1 implies t1/(y,t) = t) & for x being Element of Union Y st x in Y.s holds t1/(x,y)/(y,x) = t1; end; registration let J be non empty Signature; let S be J-extension non empty Signature; let X be non empty-yielding ManySortedSet of the carrier of J; let Y be set; cluster X extended_by(Y,the carrier of S) -> non empty-yielding; coherence proof consider x such that A1: x in the carrier of J & X.x is non empty by PBOOLE:def 12; take x; J is Subsignature of S by Def2; then A2: the carrier of J c= the carrier of S by INSTALG1:10; hence x in the carrier of S by A1; dom X = the carrier of J by PARTFUN1:def 2; then x in dom(X|the carrier of S) by A1,A2,RELAT_1:57; then (X extended_by (Y,the carrier of S)).x = (X|the carrier of S).x by FUNCT_4:13 .= X.x by A1,A2,FUNCT_1:49; hence thesis by A1; end; end; registration let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non empty non void QCLangSignature over Union X; cluster X extended_by({},the carrier of S)-vf-yielding non-empty language T-extension for LanguageStr over T,X extended_by({},the carrier of S),S; existence proof set A = the T-extension non-empty MSAlgebra over S; set f = the ManySortedMSSet of the Sorts of A, X extended_by({},the carrier of S); f is ManySortedMSSet of the Sorts of A, the Sorts of A proof let i,a be set; assume i in the carrier of S & a in (the Sorts of A).i; then reconsider fia = f.i.a as ManySortedSubset of X extended_by({}, the carrier of S) by AOFA_A00:def 8; fia c= the Sorts of A proof let y be object; assume y in the carrier of S; then A1: fia.y c= (X extended_by({},the carrier of S)).y by PBOOLE:def 2,def 18; A2: J is Subsignature of S by Def2; then A3: dom X = the carrier of J c= the carrier of S by PARTFUN1:def 2,INSTALG1:10; then A4: X extended_by({},the carrier of S) = ((the carrier of S)-->{}) +*(X|the carrier of S) = ((the carrier of S)-->{})+*X by RELAT_1:68; A|(J, id the carrier of J, id the carrier' of J) = A|J = the MSAlgebra of T & id the carrier of J, id the carrier' of J form_morphism_between J,S by A2,Def17,INSTALG1:def 2,def 4; then A5: (the Sorts of A)*id the carrier of J = the Sorts of T by INSTALG1:def 3; per cases; suppose A6: y in the carrier of J; (X extended_by({},the carrier of S)).y = X.y c= (the Sorts of T).y = (the Sorts of A).((id the carrier of J).y) = (the Sorts of A).y by A6,A3,A4,A5,FUNCT_4:13,PBOOLE:def 2,def 18,FUNCT_1:17,FUNCT_2:15; hence fia.y c= (the Sorts of A).y by A1; end; suppose y nin the carrier of J; then (X extended_by({},the carrier of S)).y = ((the carrier of S)-->{}).y by A3,A4,FUNCT_4:11 .= {}; hence fia.y c= (the Sorts of A).y by A1; end; end; hence f.i.a is ManySortedSubset of the Sorts of A by PBOOLE:def 18; end; then reconsider f as ManySortedMSSet of the Sorts of A, the Sorts of A; set Y = X extended_by({},the carrier of S); set g = the sort-preserving Function of [:Union the Sorts of A, Union [|Y,the Sorts of A|]:], Union the Sorts of A; set eq = the Function of Union [|the Sorts of T, the Sorts of T|], (the Sorts of A).the formula-sort of S; take L = LanguageStr(#the Sorts of A, the Charact of A, f, g, eq#); thus the free-vars of L is ManySortedMSSet of the Sorts of L, X extended_by({},the carrier of S); thus the Sorts of L is non-empty; thus (the Sorts of L).the formula-sort of S is not empty; the MSAlgebra of L = the MSAlgebra of A; hence L|J = A|J by Th22 .= the MSAlgebra of T by Def17; end; end; registration let X be set; let S be non empty QCLangSignature over X; let L be language MSAlgebra over S; cluster (the Sorts of L).the formula-sort of S -> non empty; coherence by Def18; end; definition let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non empty non void QCLangSignature over Union X; let Y be X-tolerating non empty-yielding ManySortedSet of the carrier of S; mode Language of Y,S is language T-extension LanguageStr over T,Y,S; end; definition let S be non empty PCLangSignature; let L be language MSAlgebra over S; mode Formula of L is Element of (the Sorts of L).the formula-sort of S; end; definition let n be non empty natural number; let S be non void non empty n PC-correct PCLangSignature; let L be language MSAlgebra over S; set f = the formula-sort of S; A1: (the Sorts of L).f <> {} by Def18; A2: (the connectives of S).n is_of_type <*f*>, f by Def4; A3: (the connectives of S).(n+5) is_of_type {}, f by Def4; A4:len the connectives of S >= n+5 by Def4; n+1 <= n+5 & ... & n+5 <= n+5 by XREAL_1:6; then 1 <= n+1 <= len the connectives of S & ... & 1 <= n+5 <= len the connectives of S by A4,NAT_1:12,XXREAL_0:2; then A5:n+1 in dom the connectives of S & ... & n+5 in dom the connectives of S by FINSEQ_3:25; A6: (the connectives of S).(n+1) is_of_type <*f,f*>, f & ... & (the connectives of S).(n+4) is_of_type <*f,f*>, f by Def4; A7: (the connectives of S).(n+5) in rng the connectives of S & rng the connectives of S c= the carrier' of S by A5,FUNCT_1:def 3; func \true_L -> Formula of L equals Den(In((the connectives of S).(n+5), the carrier' of S), L).{}; coherence by A1,A3,A7,AOFA_A00:31; let A be Formula of L; func \notA -> Formula of L equals Den(In((the connectives of S).n, the carrier' of S), L).<*A*>; coherence by A1,A2,AOFA_A00:32; let B be Formula of L; func A\andB -> Formula of L equals Den(In((the connectives of S).(n+1), the carrier' of S), L).<*A,B*>; coherence by A1,A6,AOFA_A00:33; func A\orB -> Formula of L equals Den(In((the connectives of S).(n+2), the carrier' of S), L).<*A,B*>; coherence by A1,A6,AOFA_A00:33; func A\impB -> Formula of L equals Den(In((the connectives of S).(n+3), the carrier' of S), L).<*A,B*>; coherence by A1,A6,AOFA_A00:33; func A\iffB -> Formula of L equals Den(In((the connectives of S).(n+4), the carrier' of S), L).<*A,B*>; coherence by A1,A6,AOFA_A00:33; end; registration let J be non empty non void Signature; let T be non-empty MSAlgebra over J; cluster non empty for VariableSet of T; existence proof set G = the non-empty GeneratorSet of T; reconsider X = Union G as VariableSet of T; take X; thus thesis; end; end; definition let n be non empty natural number; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non void non empty n PC-correct QC-correct QCLangSignature over Union X; let Y be X-tolerating non empty-yielding ManySortedSet of the carrier of S; let L be Language of Y,S; let A be Formula of L; let x be Element of Union X; set f = the formula-sort of S; A1: the quant-sort of S = {1,2} by Def5; reconsider j = 1 as Element of the quant-sort of S by A1,TARSKI:def 2; [j,x] in [:the quant-sort of S,Union X:] by A1,ZFMISC_1:87; then A2: (the quantifiers of S).(1,x) = In((the quantifiers of S).(1,x), the carrier' of S) & (the quantifiers of S).(1,x) is_of_type <*f*>, f by A1,Def5,SUBSET_1:def 8,FUNCT_2:5; func \for(x,A) -> Formula of L equals Den(In((the quantifiers of S).(1,x), the carrier' of S), L).<*A*>; coherence by A2,AOFA_A00:32; A3: the quant-sort of S = {1,2} by Def5; reconsider j = 2 as Element of the quant-sort of S by A3,TARSKI:def 2; [j,x] in [:the quant-sort of S,Union X:] by A3,ZFMISC_1:87; then A4: (the quantifiers of S).(2,x) = In((the quantifiers of S).(2,x), the carrier' of S) & (the quantifiers of S).(2,x) is_of_type <*f*>, f by A3,Def5,SUBSET_1:def 8,FUNCT_2:5; func \ex(x,A) -> Formula of L equals Den(In((the quantifiers of S).(2,x), the carrier' of S), L).<*A*>; coherence by A4,AOFA_A00:32; end; definition let n be non empty natural number; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non void non empty n PC-correct QC-correct QCLangSignature over Union X; let Y be X-tolerating non empty-yielding ManySortedSet of the carrier of S; let L be Language of Y,S; let A be Formula of L; let x,y be Element of Union X; func \for(x,y,A) -> Formula of L equals \for(x,\for(y,A)); coherence; func \ex(x,y,A) -> Formula of L equals \ex(x,\ex(y,A)); coherence; end; definition let n be non empty natural number; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non void non empty n PC-correct QC-correct QCLangSignature over Union X; let Y be X-tolerating non empty-yielding ManySortedSet of the carrier of S; let L be Language of Y,S; let A be Formula of L; let x,y,z be Element of Union X; func \for(x,y,z,A) -> Formula of L equals \for(x,y,\for(z,A)); coherence; func \ex(x,y,z,A) -> Formula of L equals \ex(x,y,\ex(z,A)); coherence; end; definition let n be non empty natural number; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non void non empty n PC-correct QC-correct QCLangSignature over Union X; let Y be X-tolerating non empty-yielding ManySortedSet of the carrier of S; let L be Language of Y,S; let t1,t2 be object; given a being SortSymbol of J such that A1: t1 in (the Sorts of T).a & t2 in (the Sorts of T).a; func t1 '=' (t2,L) -> Formula of L equals (the equality of L).(t1,t2); coherence proof A2: [t1,t2] in [:(the Sorts of T).a,(the Sorts of T).a:] = [|the Sorts of T, the Sorts of T|].a by A1,ZFMISC_1:87,PBOOLE:def 16; dom [|the Sorts of T,the Sorts of T|] = the carrier of J by PARTFUN1:def 2; then [t1,t2] in Union [|the Sorts of T,the Sorts of T|] by A2,CARD_5:2; hence thesis by FUNCT_2:5; end; end; definition let n be non empty natural number; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non void non empty n PC-correct QC-correct QCLangSignature over Union X; let Y be X-tolerating non empty-yielding ManySortedSet of the carrier of S; let L be non-empty Language of Y,S; attr L is vf-qc-correct means for A,B being Formula of L holds vf \notA = vf A & vf(A\andB) = (vf A) (\/) (vf B) & vf(A\orB) = (vf A) (\/) (vf B) & vf(A\impB) = (vf A) (\/) (vf B) & vf(A\iffB) = (vf A) (\/) (vf B) & vf \true_L = EmptyMS the carrier of S & for x being Element of Union X for a being SortSymbol of S st x in X.a holds vf \for(x,A) = (vf A) (\) a-singleton(x) & vf \ex(x,A) = (vf A) (\) a-singleton(x); end; definition let n be non empty natural number; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non void non empty n PC-correct QC-correct QCLangSignature over Union X; let Y be X-tolerating non empty-yielding ManySortedSet of the carrier of S; let L be non-empty T-extension Language of Y,S; attr L is vf-finite means for s being SortSymbol of S, t being Element of L,s holds vf t is finite-yielding; end; definition let n be non empty natural number; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non void non empty n PC-correct QC-correct QCLangSignature over Union X; let Y be X-tolerating non empty-yielding ManySortedSet of the carrier of S; let L be non-empty T-extension Language of Y,S; attr L is subst-forex means for A being Formula of L for x being Element of Union X for s,s1 being SortSymbol of S for t being Element of L,s st x in X.s1 for y being Element of Union Y st y in Y.s holds (x = y implies \for(x,A)/(y,t) = \for(x,A) & \ex(x,A)/(y,t) = \ex(x,A)) & (x <> y & x in (vf t).s1 implies ex z being (Element of Union X), x0,z0 being Element of Union Y st x = x0 & z0 = z = the Element of X.s1\(vf t).s1\(vf A).s1 & \for(x,A)/(y,t) = \for(z,A/(x0,z0)/(y,t)) & \ex(x,A)/(y,t) = \ex(z,A/(x0,z0)/(y,t))) & (x <> y & x nin (vf t).s implies \for(x,A)/(y,t) = \for(x,A/(y,t)) & \ex(x,A)/(y,t) = \ex(x,A/(y,t))); end; theorem Th23: for J being non void Signature for T being MSAlgebra over J for X being ManySortedSubset of the Sorts of T for S being J-extension non void Signature for Q being T-extension MSAlgebra over S holds X extended_by ({}, the carrier of S) is ManySortedSubset of the Sorts of Q proof let J be non void Signature; let T be MSAlgebra over J; let X be ManySortedSubset of the Sorts of T; let S be J-extension non void Signature; let Q be T-extension MSAlgebra over S; let x; assume A1: x in the carrier of S; then reconsider s = x as SortSymbol of S; per cases; suppose A2: s in the carrier of J; then s in dom X by PARTFUN1:def 2; then s in dom(X|the carrier of S) by RELAT_1:57; then A3: (X extended_by ({}, the carrier of S)).x = (X|the carrier of S).x by FUNCT_4:13 .= X.x by A1,FUNCT_1:49; X.x c= (the Sorts of T).x by A2,PBOOLE:def 18,def 2; hence (X extended_by ({}, the carrier of S)).x c= (the Sorts of Q).x by A2,A3,Th16; end; suppose A4: s nin the carrier of J; A5: J is Subsignature of S by Def2; dom (X|the carrier of S) = (dom X)/\the carrier of S by RELAT_1:61 .= (the carrier of J) /\ the carrier of S by PARTFUN1:def 2 .= the carrier of J by A5,XBOOLE_1:28,INSTALG1:10; then (X extended_by ({}, the carrier of S)).x = ((the carrier of S)-->{}).x by A4,FUNCT_4:11 .= {}; hence (X extended_by ({}, the carrier of S)).x c= (the Sorts of Q).x; end; end; theorem Th24: for J being non void Signature for T being MSAlgebra over J for X being ManySortedSubset of the Sorts of T for S being J-extension non void Signature holds Union (X extended_by ({},the carrier of S)) = Union X proof let J be non void Signature; let T be MSAlgebra over J; let X be ManySortedSubset of the Sorts of T; let S be J-extension non void Signature; set Y = X extended_by ({},the carrier of S); A1: J is Subsignature of S by Def2; dom X = the carrier of J by PARTFUN1:def 2; then A2: X|the carrier of S = X by A1,RELAT_1:68,INSTALG1:10; then rng Y c= rng ((the carrier of S)-->{}) \/ rng X by FUNCT_4:17; then Union Y c= union({{}} \/ rng X) = union{{}} \/ Union X = {} \/ Union X by ZFMISC_1:77,78; hence Union Y c= Union X; X c= Y by A2,FUNCT_4:25; hence Union X c= Union Y by RELAT_1:11,ZFMISC_1:77; end; theorem Th25: for n being non empty natural number for X being non empty set for S being non empty non void n PC-correct QC-correct QCLangSignature over X for Q being language MSAlgebra over S holds {} in Args(In((the connectives of S).(n+5), the carrier' of S),Q) & for A being Formula of Q holds <*A*> in Args(In((the connectives of S).n, the carrier' of S),Q) & for B being Formula of Q holds (<*A,B*> in Args(In((the connectives of S).(n+1), the carrier' of S),Q) & ... & <*A,B*> in Args(In((the connectives of S).(n+4), the carrier' of S),Q)) & for x being Element of X holds <*A*> in Args(In((the quantifiers of S).(1,x), the carrier' of S),Q) & <*A*> in Args(In((the quantifiers of S).(2,x), the carrier' of S),Q) proof let n be non empty natural number; let X be non empty set; let S be non empty non void n PC-correct QC-correct QCLangSignature over X; let Q be language MSAlgebra over S; set f = the formula-sort of S; A1: len the connectives of S >= n+5 by Def4; n > 0; then A2: n >= 0+1 by NAT_1:13; n+0 <= n+5 & ... & n+4 <= n+5 by XREAL_1:6; then (1 <= n+0 & ... & 1 <= n+5) & (n+0 <= len the connectives of S & ... & n+5 <= len the connectives of S) by A1,A2,NAT_1:12,XXREAL_0:2; then A3: n+0 in dom the connectives of S & ... & n+5 in dom the connectives of S by FINSEQ_3:25; A4: (the connectives of S).(n+0) is_of_type <*f*>, f & ((the connectives of S).(n+1) is_of_type <*f,f*>, f & ... & (the connectives of S).(n+4) is_of_type <*f,f*>, f) & (the connectives of S).(n+5) is_of_type {}, f by Def4; In((the connectives of S).(n+5), the carrier' of S) is_of_type {},f by A4,A3,FUNCT_1:102,SUBSET_1:def 8; hence {} in Args(In((the connectives of S).(n+5), the carrier' of S),Q) by Th4; let A be Formula of Q; In((the connectives of S).(n+0), the carrier' of S) is_of_type <*f*>,f by A4,A3,FUNCT_1:102,SUBSET_1:def 8; hence <*A*> in Args(In((the connectives of S).n, the carrier' of S),Q) by Th5; let B be Formula of Q; In((the connectives of S).(n+1), the carrier' of S) = (the connectives of S).(n+1) & ... & In((the connectives of S).(n+4), the carrier' of S) = (the connectives of S).(n+4) by A3,FUNCT_1:102,SUBSET_1:def 8; then In((the connectives of S).(n+1), the carrier' of S) is_of_type <*f,f*>, f & ... & In((the connectives of S).(n+4), the carrier' of S) is_of_type <*f,f*>, f by Def4; hence <*A,B*> in Args(In((the connectives of S).(n+1), the carrier' of S),Q) & ... & <*A,B*> in Args(In((the connectives of S).(n+4), the carrier' of S),Q) by Th6; let x be Element of X; the quant-sort of S = {1,2} by Def5; then A5: 1 in the quant-sort of S & 2 in the quant-sort of S by TARSKI:def 2; then [1,x] in [:the quant-sort of S,X:] & dom the quantifiers of S = [:the quant-sort of S, X:] & [2,x] in [:the quant-sort of S,X:] by FUNCT_2:def 1,ZFMISC_1:def 2; then In((the quantifiers of S).(1,x), the carrier' of S) = (the quantifiers of S).(1,x) & In((the quantifiers of S).(2,x), the carrier' of S) = (the quantifiers of S).(2,x) by SUBSET_1:def 8,FUNCT_1:102; then In((the quantifiers of S).(1,x), the carrier' of S) is_of_type <*f*>,f & In((the quantifiers of S).(2,x), the carrier' of S) is_of_type <*f*>,f by A5,Def5; hence <*A*> in Args(In((the quantifiers of S).(1,x), the carrier' of S),Q) & <*A*> in Args(In((the quantifiers of S).(2,x), the carrier' of S),Q) by Th5; end; theorem Th26: for n being non empty natural number for J being non empty non void Signature for T being non-empty MSAlgebra over J for X being non empty-yielding GeneratorSet of T for S being J-extension non void non empty n PC-correct QC-correct QCLangSignature over Union X for Y being X-tolerating non empty-yielding ManySortedSet of the carrier of S for L being non-empty Language of Y,S for x being Element of Union Y for t being Element of Union the Sorts of L for s being SortSymbol of S st x in Y.s & t in (the Sorts of L).s holds (for a being Element of Args(In((the connectives of S).(n+5), the carrier' of S),L) st a = {} holds a/(x,t) = {}) & for A being Formula of L holds (for a being Element of Args(In((the connectives of S).n, the carrier' of S),L) st <*A*> = a holds a/(x,t) = <*A/(x,t)*>) & for B being Formula of L holds ((for a being Element of Args(In((the connectives of S).(n+1), the carrier' of S),L) st <*A,B*> = a holds a/(x,t) = <*A/(x,t),B/(x,t)*>) & ... & (for a being Element of Args(In((the connectives of S).(n+4), the carrier' of S),L) st <*A,B*> = a holds a/(x,t) = <*A/(x,t),B/(x,t)*>)) & for z being Element of Union X holds (for a being Element of Args(In((the quantifiers of S).(1,z), the carrier' of S),L) st <*A*> = a holds a/(x,t) = <*A/(x,t)*>) & (for a being Element of Args(In((the quantifiers of S).(2,z), the carrier' of S),L) st <*A*> = a holds a/(x,t) = <*A/(x,t)*>) proof let n be non empty natural number; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non void non empty n PC-correct QC-correct QCLangSignature over Union X; let Y be X-tolerating non empty-yielding ManySortedSet of the carrier of S; let L be non-empty Language of Y,S; let x be Element of Union Y; let t be Element of Union the Sorts of L; let s be SortSymbol of S; set f = the formula-sort of S; assume x in Y.s & t in (the Sorts of L).s; A1:len the connectives of S >= n+5 by Def4; n > 0; then A2: n >= 0+1 by NAT_1:13; n+0 <= n+5 & ... & n+4 <= n+5 by XREAL_1:6; then (1 <= n+0 & ... & 1 <= n+5) & (n+0 <= len the connectives of S & ... & n+5 <= len the connectives of S) by A1,A2,NAT_1:12,XXREAL_0:2; then A3: n+0 in dom the connectives of S & ... & n+5 in dom the connectives of S by FINSEQ_3:25; A4: (the connectives of S).(n+0) is_of_type <*f*>, f & ((the connectives of S).(n+1) is_of_type <*f,f*>, f & ... & (the connectives of S).(n+4) is_of_type <*f,f*>, f) & (the connectives of S).(n+5) is_of_type {}, f by Def4; A5: In((the connectives of S).n, the carrier' of S) is_of_type <*f*>,f & (In((the connectives of S).(n+1), the carrier' of S) is_of_type <*f,f*>,f & ... & In((the connectives of S).(n+4), the carrier' of S) is_of_type <*f,f*>,f) & In((the connectives of S).(n+5), the carrier' of S) is_of_type {},f by A4,A3,FUNCT_1:102,SUBSET_1:def 8; hereby let a be Element of Args(In((the connectives of S).(n+5), the carrier' of S),L); assume a = {}; then dom {} = dom the_arity_of In((the connectives of S).(n+5), the carrier' of S) = dom (a/(x,t)) by MSUALG_6:2; hence a/(x,t) = {}; end; let A be Formula of L; hereby set o = In((the connectives of S).n, the carrier' of S); let a be Element of Args(o,L); assume a = <*A*>; then A6: dom a = Seg 1 & a.1 = A & len a = 1 & dom a = dom the_arity_of o = dom (a/(x,t)) by MSUALG_6:2,FINSEQ_1:40,89; consider j being SortSymbol of S such that A7: j = (the_arity_of o).1 & ex A being Element of L,j st A = a.1 & (a/(x,t)).1 = A/(x,t) by A6,Def14,FINSEQ_1:1; j = f & len (a/(x,t)) = 1 by A5,A6,A7,FINSEQ_1:40,FINSEQ_3:29; hence a/(x,t) = <*A/(x,t)*> by A7,A6,FINSEQ_1:40; end; let B be Formula of L; thus (for a being Element of Args(In((the connectives of S).(n+1), the carrier' of S),L) st <*A,B*> = a holds a/(x,t) = <*A/(x,t),B/(x,t)*>) & ... & (for a being Element of Args(In((the connectives of S).(n+4), the carrier' of S),L) st <*A,B*> = a holds a/(x,t) = <*A/(x,t),B/(x,t)*>) proof let i; assume A8: 1 <= i <= 4; set o = In((the connectives of S).(n+i), the carrier' of S); let a be Element of Args(o,L); assume a = <*A,B*>; then A9: dom a = Seg 2 & a.1 = A & a.2 = B & len a = 2 & dom a = dom the_arity_of o = dom (a/(x,t)) by MSUALG_6:2,FINSEQ_1:44,89; consider j1 being SortSymbol of S such that A10: j1 = (the_arity_of o).1 & ex A being Element of L,j1 st A = a.1 & (a/(x,t)).1 = A/(x,t) by A9,Def14,FINSEQ_1:1; consider j2 being SortSymbol of S such that A11: j2 = (the_arity_of o).2 & ex A being Element of L,j2 st A = a.2 & (a/(x,t)).2 = A/(x,t) by A9,Def14,FINSEQ_1:1; o is_of_type <*f,f*>,f by A8,A5; then j1 = f & j2 = f by A10,A11,FINSEQ_1:44; hence a/(x,t) = <*A/(x,t),B/(x,t)*> by A9,A10,A11,FINSEQ_3:29,FINSEQ_1:44; end; let z be Element of Union X; hereby set o = In((the quantifiers of S).(1,z), the carrier' of S); let a be Element of Args(o,L); assume a = <*A*>; then A12: dom a = Seg 1 & a.1 = A & len a = 1 & dom a = dom the_arity_of o = dom (a/(x,t)) by MSUALG_6:2,FINSEQ_1:40,89; consider j being SortSymbol of S such that A13: j = (the_arity_of o).1 & ex A being Element of L,j st A = a.1 & (a/(x,t)).1 = A/(x,t) by A12,Def14,FINSEQ_1:1; A14: 1 in {1,2} & the quant-sort of S = {1,2} & z in Union X by Def5,TARSKI:def 2; then [1,z] in [:the quant-sort of S,Union X:] by ZFMISC_1:87; then o = (the quantifiers of S).(1,z) by SUBSET_1:def 8,FUNCT_2:5; then o is_of_type <*f*>,f by A14,Def5; then j = f & len (a/(x,t)) = 1 by A12,A13,FINSEQ_1:40,FINSEQ_3:29; hence a/(x,t) = <*A/(x,t)*> by A13,A12,FINSEQ_1:40; end; set o = In((the quantifiers of S).(2,z), the carrier' of S); let a be Element of Args(o,L); assume a = <*A*>; then A15: Seg 1 = dom a & a.1 = A & len a = 1 & dom a = dom the_arity_of o = dom (a/(x,t)) by MSUALG_6:2,FINSEQ_1:40,89; consider j being SortSymbol of S such that A16: j = (the_arity_of o).1 & ex A being Element of L,j st A = a.1 & (a/(x,t)).1 = A/(x,t) by A15,Def14,FINSEQ_1:1; A17: 2 in {1,2} & the quant-sort of S = {1,2} & z in Union X by Def5,TARSKI:def 2; then [2,z] in [:the quant-sort of S,Union X:] by ZFMISC_1:87; then o = (the quantifiers of S).(2,z) by SUBSET_1:def 8,FUNCT_2:5; then o is_of_type <*f*>,f by A17,Def5; then j = f & len (a/(x,t)) = 1 by A15,A16,FINSEQ_1:40,FINSEQ_3:29; hence a/(x,t) = <*A/(x,t)*> by A16,A15,FINSEQ_1:40; end; theorem Th27: for n being non empty natural number for J being non empty non void Signature for T being non-empty MSAlgebra over J for X being non empty-yielding GeneratorSet of T for S being J-extension non empty non void n PC-correct QC-correct QCLangSignature over Union X for Y being X-tolerating non empty-yielding ManySortedSet of the carrier of S for L being non-empty Language of Y,S st L is subst-correct & Y is ManySortedSubset of the Sorts of L for x,y being Element of Union Y for a being SortSymbol of S st x in Y.a & y in Y.a for A being Formula of L holds (\notA)/(x,y) = \not(A/(x,y)) & for B being Formula of L holds (A\andB)/(x,y) = (A/(x,y))\and(B/(x,y)) & (A\orB)/(x,y) = (A/(x,y))\or(B/(x,y)) & (A\impB)/(x,y) = (A/(x,y))\imp(B/(x,y)) & (A\iffB)/(x,y) = (A/(x,y))\iff(B/(x,y)) & \true_L/(x,y) = \true_L proof let n be non empty natural number; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non empty non void n PC-correct QC-correct QCLangSignature over Union X; let Y be X-tolerating non empty-yielding ManySortedSet of the carrier of S; let L be non-empty Language of Y,S such that A1: L is subst-correct and A2: Y is ManySortedSubset of the Sorts of L; let x,y be Element of Union Y; let a be SortSymbol of S such that A3: x in Y.a & y in Y.a; Y c= the Sorts of L by A2,PBOOLE:def 18; then Y.a c= (the Sorts of L).a; then reconsider t = y as Element of (the Sorts of L).a by A3; let A be Formula of L; reconsider aa = <*A*> as Element of Args(In((the connectives of S).n, the carrier' of S),L) by Th25; set f = the formula-sort of S; B1: now let i; assume i in dom the connectives of S; then (the connectives of S).i in rng the connectives of S c= the carrier' of S by FUNCT_1:def 3; then B7: In((the connectives of S).i,the carrier' of S)in rng the connectives of S by SUBSET_1:def 8; let S1 be QCLangSignature over Union Y; assume B5: S = S1; let z be (Element of Union Y), q be Element of {1,2}; [q,z] in [:{1,2},Union Y:] & the quant-sort of S = {1,2} by Def5,ZFMISC_1:87; then (the quantifiers of S1).[q,z] in rng the quantifiers of S & rng the quantifiers of S misses rng the connectives of S by B5,Def5,FUNCT_2:4; hence In((the connectives of S).i, the carrier' of S) <> (the quantifiers of S1).(q,z) by B7,XBOOLE_0:3; end; A4: len the connectives of S >= n+5 by Def4; 0 < n <= n+5 by NAT_1:11; then 0+1 <= n <= len the connectives of S by A4,NAT_1:13,XXREAL_0:2; then B2: n in dom the connectives of S by FINSEQ_3:25; then (the connectives of S).n = In((the connectives of S).n, the carrier' of S) & (the connectives of S).n is_of_type <*f*>, f by SUBSET_1:def 8,Def4,FUNCT_1:102; then A5: aa/(x,t) = <*A/(x,t)*> & the_result_sort_of In((the connectives of S).n, the carrier' of S) = the formula-sort of S by A3,Th26; B3: not (ex S1 being QCLangSignature over Union Y st S = S1 & ex z being (Element of Union Y), q being Element of {1,2} st In((the connectives of S).n, the carrier' of S) = (the quantifiers of S1).(q,z)) by B1,B2; thus (\notA)/(x,y) = (\notA)/(x,t) by A3,A2,Th14 .= \not(A/(x,t)) by A5,A1,A3,B3 .= \not(A/(x,y)) by A3,A2,Th14; let B be Formula of L; A6: <*A,B*> in Args(In((the connectives of S).(n+1), the carrier' of S),L) & ... & <*A,B*> in Args(In((the connectives of S).(n+4), the carrier' of S),L) by Th25; A7: (for a being Element of Args(In((the connectives of S).(n+1), the carrier' of S),L) st <*A,B*> = a holds a/(x,t) = <*A/(x,t),B/(x,t)*>) & ... & (for a being Element of Args(In((the connectives of S).(n+4), the carrier' of S),L) st <*A,B*> = a holds a/(x,t) = <*A/(x,t),B/(x,t)*>) by A3,Th26; reconsider a1 = <*A,B*> as Element of Args(In((the connectives of S).(n+1), the carrier' of S),L) by A6; reconsider a2 = <*A,B*> as Element of Args(In((the connectives of S).(n+2), the carrier' of S),L) by A6; reconsider a3 = <*A,B*> as Element of Args(In((the connectives of S).(n+3), the carrier' of S),L) by A6; reconsider a4 = <*A,B*> as Element of Args(In((the connectives of S).(n+4), the carrier' of S),L) by A6; 1 <= n+1 <= n+1+4 by NAT_1:11; then 1 <= n+1 <= len the connectives of S by A4,XXREAL_0:2; then B4: n+1 in dom the connectives of S by FINSEQ_3:25; then A8: (the connectives of S).(n+1) = In((the connectives of S).(n+1), the carrier' of S) & ((the connectives of S).(n+1) is_of_type <*f,f*>, f & ... & (the connectives of S).(n+4) is_of_type <*f,f*>, f) by Def4,SUBSET_1:def 8,FUNCT_1:102; then In((the connectives of S).(n+1), the carrier' of S) is_of_type <*f,f*>, f; then A9: a1/(x,t) = <*A/(x,t),B/(x,t)*> & the_result_sort_of In((the connectives of S).(n+1), the carrier' of S) = the formula-sort of S by A7; B3: not (ex S1 being QCLangSignature over Union Y st S = S1 & ex z being (Element of Union Y), q being Element of {1,2} st In((the connectives of S).(n+1), the carrier' of S) = (the quantifiers of S1).(q,z)) by B1,B4; thus (A\andB)/(x,y) = (A\andB)/(x,t) by A3,A2,Th14 .= (A/(x,t))\and(B/(x,t)) by A1,A3,A9,B3 .= (A/(x,y))\and(B/(x,t)) by A3,A2,Th14 .= (A/(x,y))\and(B/(x,y)) by A3,A2,Th14; 1+1 <= n+2 <= n+2+3 by NAT_1:11; then 1 <= n+2 <= len the connectives of S by A4,XXREAL_0:2; then B4: n+2 in dom the connectives of S by FINSEQ_3:25; then (the connectives of S).(n+2) = In((the connectives of S).(n+2), the carrier' of S) & (the connectives of S).(n+2) is_of_type <*f,f*>, f by A8,SUBSET_1:def 8,FUNCT_1:102; then A10: a2/(x,t) = <*A/(x,t),B/(x,t)*> & the_result_sort_of In((the connectives of S).(n+2), the carrier' of S) = the formula-sort of S by A7; B3: not (ex S1 being QCLangSignature over Union Y st S = S1 & ex z being (Element of Union Y), q being Element of {1,2} st In((the connectives of S).(n+2), the carrier' of S) = (the quantifiers of S1).(q,z)) by B1,B4; thus (A\orB)/(x,y) = (A\orB)/(x,t) by A3,A2,Th14 .= (A/(x,t))\or(B/(x,t)) by A1,A3,A10,B3 .= (A/(x,y))\or(B/(x,t)) by A3,A2,Th14 .= (A/(x,y))\or(B/(x,y)) by A3,A2,Th14; 1 <= n+2+1 <= n+3+2 by NAT_1:11; then 1 <= n+3 <= len the connectives of S by A4,XXREAL_0:2; then B4: n+3 in dom the connectives of S by FINSEQ_3:25; then (the connectives of S).(n+3) = In((the connectives of S).(n+3), the carrier' of S) & (the connectives of S).(n+3) is_of_type <*f,f*>, f by A8,SUBSET_1:def 8,FUNCT_1:102; then A11: a3/(x,t) = <*A/(x,t),B/(x,t)*> & the_result_sort_of In((the connectives of S).(n+3), the carrier' of S) = the formula-sort of S by A7; B3: not (ex S1 being QCLangSignature over Union Y st S = S1 & ex z being (Element of Union Y), q being Element of {1,2} st In((the connectives of S).(n+3), the carrier' of S) = (the quantifiers of S1).(q,z)) by B1,B4; thus (A\impB)/(x,y) = (A\impB)/(x,t) by A3,A2,Th14 .= (A/(x,t))\imp(B/(x,t)) by A1,A3,A11,B3 .= (A/(x,y))\imp(B/(x,t)) by A3,A2,Th14 .= (A/(x,y))\imp(B/(x,y)) by A3,A2,Th14; 1 <= n+3+1 <= n+4+1 by NAT_1:11; then 1 <= n+4 <= len the connectives of S by A4,XXREAL_0:2; then B4: n+4 in dom the connectives of S by FINSEQ_3:25; then (the connectives of S).(n+4) = In((the connectives of S).(n+4), the carrier' of S) & (the connectives of S).(n+4) is_of_type <*f,f*>, f by A8,SUBSET_1:def 8,FUNCT_1:102; then A12: a4/(x,t) = <*A/(x,t),B/(x,t)*> & the_result_sort_of In((the connectives of S).(n+4), the carrier' of S) = the formula-sort of S by A7; B3: not (ex S1 being QCLangSignature over Union Y st S = S1 & ex z being (Element of Union Y), q being Element of {1,2} st In((the connectives of S).(n+4), the carrier' of S) = (the quantifiers of S1).(q,z)) by B1,B4; thus (A\iffB)/(x,y) = (A\iffB)/(x,t) by A3,A2,Th14 .= (A/(x,t))\iff(B/(x,t)) by A1,A3,A12,B3 .= (A/(x,y))\iff(B/(x,t)) by A3,A2,Th14 .= (A/(x,y))\iff(B/(x,y)) by A3,A2,Th14; reconsider ab = {} as Element of Args(In((the connectives of S).(n+5), the carrier' of S),L) by Th25; 1 <= n+4+1 <= n+5 by NAT_1:11; then B4: n+5 in dom the connectives of S by A4,FINSEQ_3:25; then (the connectives of S).(n+5) = In((the connectives of S).(n+5), the carrier' of S) & (the connectives of S).(n+5) is_of_type {}, f by Def4,SUBSET_1:def 8,FUNCT_1:102; then A13: ab/(x,t) = ab & the_result_sort_of In((the connectives of S).(n+5), the carrier' of S) = the formula-sort of S by A3,Th26; B3: not (ex S1 being QCLangSignature over Union Y st S = S1 & ex z being (Element of Union Y), q being Element of {1,2} st In((the connectives of S).(n+5), the carrier' of S) = (the quantifiers of S1).(q,z)) by B1,B4; thus \true_L/(x,y) = \true_L/(x,t) by A3,A2,Th14 .= \true_L by A1,A3,A13,B3; end; begin :: Algorithmic Theory definition let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non void non empty QCLangSignature over Union X; let Y be X-tolerating ManySortedSet of the carrier of S; struct (LanguageStr over T,Y,S,ProgramAlgStr over J,T,X) BialgebraStr over S,Y (# Sorts -> ManySortedSet of the carrier of S, Charact -> (ManySortedFunction of (the Sorts)# * the Arity of S, the Sorts * the ResultSort of S), free-vars -> ManySortedMSSet of the Sorts, the Sorts, subst-op -> sort-preserving Function of [:Union the Sorts, Union [|Y, the Sorts|]:], Union the Sorts, equality -> Function of Union [|the Sorts of T, the Sorts of T|], (the Sorts).the formula-sort of S, carrier -> set, charact -> PFuncFinSequence of the carrier, assignments -> (Function of Union [|X, the Sorts of T|], the carrier) #); end; registration let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; cluster J-extension for non void non empty AlgLangSignature over Union X; existence proof set fs = the Element of the carrier of J; set ps = the Element of the carrier of J; set co = the FinSequence of the carrier' of J; set qs = {1,2}; set qq = the Function of [:qs, Union X:], the carrier' of J; reconsider Q = AlgLangSignature(#the carrier of J, the carrier' of J, the Arity of J, the ResultSort of J, fs, ps, co, qs, qq#) as non void non empty AlgLangSignature over Union X; take Q; thus J is Subsignature of Q by INSTALG1:13; end; end; definition let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non void non empty AlgLangSignature over Union X; let Y be X-tolerating ManySortedSet of the carrier of S; let L be BialgebraStr over S,Y; attr L is AL-correct means :Def34: the carrier of L = (the Sorts of L).the program-sort of S; end; notation let S be 1-sorted; synonym S is 1s-empty for S is empty; end; notation let S be UAStr; synonym S is ua-non-empty for S is non-empty; end; registration let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non void non empty AlgLangSignature over Union X; let Y be X-tolerating ManySortedSet of the carrier of S; cluster non 1s-empty for strict BialgebraStr over S,Y; existence proof set U = the non empty UAStr; set A = the MSAlgebra over S; set f = the ManySortedMSSet of the Sorts of A, the Sorts of A; set g = the sort-preserving Function of [:Union the Sorts of A, Union [|Y, the Sorts of A|]:], Union the Sorts of A; set a = the Function of Union [|X, the Sorts of T|], the carrier of U; set eq = the Function of Union [|the Sorts of T, the Sorts of T|], (the Sorts of A).the formula-sort of S; take X = BialgebraStr(#the Sorts of A,the Charact of A, f, g, eq, the carrier of U, the charact of U, a#); thus the carrier of X is non empty; end; end; registration let n be non empty Nat; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be essential J-extension n PC-correct non void non empty feasible AlgLangSignature over Union X; let Y be X-tolerating ManySortedSet of the carrier of S; cluster non-empty language AL-correct quasi_total partial ua-non-empty with_empty-instruction with_catenation with_if-instruction with_while-instruction T-extension for non 1s-empty strict BialgebraStr over S,Y; existence proof set W = the IfWhileAlgebra; set I = {the program-sort of S}; set p = the program-sort of S; set f = the formula-sort of S; p in {f,p} & {f,p} misses the carrier of J by Def16,TARSKI:def 2; then p nin the carrier of J by XBOOLE_0:3; then p in (the carrier of S)\the carrier of J by XBOOLE_0:def 5; then consider Q being non-empty MSAlgebra over S such that A1: Q is T-extension & (the Sorts of Q)|I = I-->the carrier of W by Th18,ZFMISC_1:31; set U2 = (the Sorts of Q) qua non-empty ManySortedSet of the carrier of S; set C = (the Charact of Q) qua ManySortedFunction of U2#*the Arity of S, U2*the ResultSort of S; deffunc Z(object,object,object) = {}; deffunc G(object) = \$1`1; consider g being Function such that A2: dom g = [:Union U2,Union [|Y,U2|]:] and A3: for x st x in [:Union U2,Union [|Y,U2|]:] holds g.x = G(x) from FUNCT_1:sch 3; rng g c= Union U2 proof let x; assume x in rng g; then consider y such that A4: y in dom g & x = g.y by FUNCT_1:def 3; consider y1,y2 being object such that A5: y1 in Union U2 & y2 in Union [|Y, U2|] & y = [y1,y2] by A2,A4,ZFMISC_1:def 2; x = [y1,y2]`1 by A5,A2,A3,A4 .= y1; hence thesis by A5; end; then reconsider g as Function of [:Union U2, Union [|Y, U2|]:], Union U2 by A2,FUNCT_2:2; g is sort-preserving proof let j be SortSymbol of S; let x; assume x in g.:[:U2.j, Union [|Y,U2|]:]; then consider y such that A6: y in dom g & y in [:U2.j, Union [|Y,U2|]:] & x = g.y by FUNCT_1:def 6; consider a,b being object such that A7: a in U2.j & b in Union [|Y,U2|] & y = [a,b] by A6,ZFMISC_1:def 2; x = [a,b]`1 by A3,A6,A7 .= a; hence x in U2.j by A7; end; then reconsider g as sort-preserving Function of [:Union U2, Union [|Y, U2|]:], Union U2; set a = the Function of Union [|X, the Sorts of T|], the carrier of W; set f = the ManySortedMSSet of U2,U2; set eq = the Function of Union [|the Sorts of T, the Sorts of T|], (U2).the formula-sort of S; set A = BialgebraStr(#U2,C,f,g,eq,the carrier of W, the charact of W, a#); reconsider A as non 1s-empty strict BialgebraStr over S,Y; take A; thus the Sorts of A is non-empty; thus (the Sorts of A).the formula-sort of S is non empty; A8: p in I by TARSKI:def 1; hence the carrier of A = (I-->the carrier of W).p by FUNCOP_1:7 .= (the Sorts of A).the program-sort of S by A1,A8,FUNCT_1:49; thus the charact of A is quasi_total; thus the charact of A is homogeneous; thus the charact of A <> {} & the charact of A is non-empty; thus 1 in dom the charact of A & (the charact of A).1 is 0-ary non empty homogeneous quasi_total PartFunc of (the carrier of A)*, the carrier of A by AOFA_000:def 10; thus 2 in dom the charact of A & (the charact of A).2 is 2-ary non empty homogeneous quasi_total PartFunc of (the carrier of A)*, the carrier of A by AOFA_000:def 11; thus 3 in dom the charact of A & (the charact of A).3 is 3-ary non empty homogeneous quasi_total PartFunc of (the carrier of A)*, the carrier of A by AOFA_000:def 12; thus 4 in dom the charact of A & (the charact of A).4 is 2-ary non empty homogeneous quasi_total PartFunc of (the carrier of A)*, the carrier of A by AOFA_000:def 13; the MSAlgebra of A = the MSAlgebra of Q; hence A is T-extension by A1,Th15; end; end; theorem for U1,U2 be preIfWhileAlgebra st the UAStr of U1 = the UAStr of U2 holds EmptyIns U1 = EmptyIns U2 & for I1,J1 being Element of U1 for I2,J2 being Element of U2 st I1 = I2 & J1 = J2 holds I1\;J1 = I2\;J2 & while(I1,J1) = while(I2,J2) & for C1 being Element of U1 for C2 being Element of U2 st C1 = C2 holds if-then-else(C1,I1,J1) = if-then-else(C2,I2,J2); theorem Th29: for U1,U2 be preIfWhileAlgebra st the UAStr of U1 = the UAStr of U2 holds ElementaryInstructions U1 = ElementaryInstructions U2 proof let U1,U2 be preIfWhileAlgebra; assume A1: the UAStr of U1 = the UAStr of U2; set Y1 = {I1 \; I2 where I1,I2 is Algorithm of U1: I1 <> I1\;I2 & I2 <> I1\;I2}; set Y2 = {I1 \; I2 where I1,I2 is Algorithm of U2: I1 <> I1\;I2 & I2 <> I1\;I2}; A2: Y1 = Y2 proof thus Y1 c= Y2 proof let x; assume x in Y1; then consider I1,I2 being Algorithm of U1 such that A3: x = I1\;I2 & I1 <> I1\;I2 & I2 <> I1\;I2; reconsider I1,I2 as Algorithm of U2 by A1; x = I1\;I2 by A1,A3; hence thesis by A3; end; let x; assume x in Y2; then consider I1,I2 being Algorithm of U2 such that A4: x = I1\;I2 & I1 <> I1\;I2 & I2 <> I1\;I2; reconsider I1,I2 as Algorithm of U1 by A1; x = I1\;I2 by A1,A4; hence thesis by A4; end; thus ElementaryInstructions U1 = ElementaryInstructions U2 by A2,A1; end; theorem for U1,U2 being Universal_Algebra st the UAStr of U1 = the UAStr of U2 for S1 being Subset of U1, S2 being Subset of U2 st S1 = S2 for o1 being operation of U1, o2 being operation of U2 st o1 = o2 holds S1 is_closed_on o1 implies S2 is_closed_on o2; theorem Th31: for U1,U2 being Universal_Algebra st the UAStr of U1 = the UAStr of U2 for S1 being Subset of U1, S2 being Subset of U2 st S1 = S2 holds S1 is opers_closed implies S2 is opers_closed proof let U1,U2 be Universal_Algebra; assume A1: the UAStr of U1 = the UAStr of U2; let S1 be Subset of U1; let S2 be Subset of U2; assume A2: S1 = S2; assume A3: for o be operation of U1 holds S1 is_closed_on o; let o be operation of U2; reconsider o1 = o as operation of U1 by A1; S1 is_closed_on o1 by A3; hence thesis by A2; end; theorem Th32: for U1,U2 being Universal_Algebra st the UAStr of U1 = the UAStr of U2 for G being GeneratorSet of U1 holds G is GeneratorSet of U2 proof let U1,U2 be Universal_Algebra; assume A1: the UAStr of U1 = the UAStr of U2; let G be GeneratorSet of U1; reconsider G2 = G as Subset of U2 by A1; G2 is GeneratorSet of U2 proof let A be Subset of U2; reconsider B = A as Subset of U1 by A1; assume A is opers_closed; hence thesis by A1,Th31,FREEALG:def 4; end; hence G is GeneratorSet of U2; end; theorem Th33: for U1,U2 be Universal_Algebra st the UAStr of U1 = the UAStr of U2 holds signature U1 = signature U2 proof let U1,U2 be Universal_Algebra; assume A1: the UAStr of U1 = the UAStr of U2; A2: len signature U2 = len the charact of U1 by A1,UNIALG_1:def 4; now let i; assume A3: i in dom signature U2; let h be homogeneous non empty PartFunc of (the carrier of U1)*, the carrier of U1 such that A4: h = (the charact of U1).i; reconsider h2 = h as homogeneous non empty PartFunc of (the carrier of U2)*,the carrier of U2 by A1; thus (signature U2).i = arity h by A1,A3,A4,UNIALG_1:def 4; end; hence signature U1 = signature U2 by A2,UNIALG_1:def 4; end; registration let n be non empty natural number; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be essential J-extension non void non empty n PC-correct QC-correct AlgLangSignature over Union X; cluster AL-correct vf-qc-correct vf-correct vf-finite subst-correct subst-forex non degenerated well_founded ECIW-strict for non-empty quasi_total partial ua-non-empty with_empty-instruction with_catenation with_if-instruction with_while-instruction language non 1s-empty T-extension BialgebraStr over S, X extended_by ({}, the carrier of S); existence proof set Y = X extended_by ({}, the carrier of S); set W = the IfWhileAlgebra; set I = {the program-sort of S}; set p = the program-sort of S; set f = the formula-sort of S; p in {f,p} & {f,p} misses the carrier of J by Def16,TARSKI:def 2; then p nin the carrier of J by XBOOLE_0:3; then p in (the carrier of S)\the carrier of J by XBOOLE_0:def 5; then consider Q being non-empty MSAlgebra over S such that A1: Q is T-extension & (the Sorts of Q)|I = I-->the carrier of W by Th18,ZFMISC_1:31; set U2 = (the Sorts of Q) qua non-empty ManySortedSet of the carrier of S; set C = (the Charact of Q) qua ManySortedFunction of U2#*the Arity of S, U2*the ResultSort of S; deffunc Z(object,object,object) = {}; A2: for s,r being Element of the carrier of S for t being Element of U2.s holds Z(s,r,t) is Subset of U2.r by XBOOLE_1:2; consider f being ManySortedMSSet of U2,U2 such that A3: for s,r being Element of the carrier of S for t being Element of U2.s holds f.s.t.r = Z(s,r,t) from AOFA_A00:sch 1(A2); deffunc G(object) = \$1`1; consider g being Function such that A4: dom g = [:Union U2,Union [|Y,U2|]:] and A5: for x st x in [:Union U2,Union [|Y,U2|]:] holds g.x = G(x) from FUNCT_1:sch 3; rng g c= Union U2 proof let x; assume x in rng g; then consider y such that A6: y in dom g & x = g.y by FUNCT_1:def 3; consider y1,y2 being object such that A7: y1 in Union U2 & y2 in Union [|Y, U2|] & y = [y1,y2] by A4,A6,ZFMISC_1:def 2; x = [y1,y2]`1 by A7,A4,A5,A6 .= y1; hence thesis by A7; end; then reconsider g as Function of [:Union U2, Union [|Y, U2|]:], Union U2 by A4,FUNCT_2:2; g is sort-preserving proof let j be SortSymbol of S; let x; assume x in g.:[:U2.j, Union [|Y,U2|]:]; then consider y such that A8: y in dom g & y in [:U2.j, Union [|Y,U2|]:] & x = g.y by FUNCT_1:def 6; consider a,b being object such that A9: a in U2.j & b in Union [|Y,U2|] & y = [a,b] by A8,ZFMISC_1:def 2; x = [a,b]`1 by A5,A8,A9 .= a; hence x in U2.j by A9; end; then reconsider g as sort-preserving Function of [:Union U2, Union [|Y, U2|]:], Union U2; set a = the Function of Union [|X, the Sorts of T|], the carrier of W; set eq = the Function of Union [|the Sorts of T, the Sorts of T|], (U2).the formula-sort of S; set A = BialgebraStr(#U2,C,f,g,eq, the carrier of W, the charact of W, a#); reconsider A as non 1s-empty BialgebraStr over S,Y; A is language; then reconsider A as language non 1s-empty BialgebraStr over S,Y; A10: now let s be SortSymbol of S; let B be Element of (the Sorts of A).s; let x,y be Element of Union Y; let a be SortSymbol of S; assume A11: x in Y.a & y in Y.a; A12: Y is ManySortedSubset of the Sorts of Q by A1,Th23; then Y.a is Subset of (the Sorts of A).a by Th13; then A13: [x,y] in [:Y.a, (the Sorts of A).a:] by A11,ZFMISC_1:87; A14: [|Y, the Sorts of A|].a = [:Y.a, (the Sorts of A).a:] by PBOOLE:def 16; dom U2 = the carrier of S & dom [|Y, the Sorts of A|] = the carrier of S by PARTFUN1:def 2; then A15: B in Union U2 & [x,y] in Union [|Y, the Sorts of A|] by A13,A14,CARD_5:2; thus B/(x,y) = g.[B,[x,y]] by A12,A11,Def12 .= [B,[x,y]]`1 by A5,A15,ZFMISC_1:87 .= B; end; A16: now let s be SortSymbol of S; let B be Element of (the Sorts of A).s; let x be Element of Union Y; let y be Element of Union the Sorts of A; let a be SortSymbol of S; assume A17: x in Y.a & y in (the Sorts of A).a; then A18: [x,y] in [:Y.a, (the Sorts of A).a:] by ZFMISC_1:87; A19: [|Y, the Sorts of A|].a = [:Y.a, (the Sorts of A).a:] by PBOOLE:def 16; dom U2 = the carrier of S & dom [|Y, the Sorts of A|] = the carrier of S by PARTFUN1:def 2; then A20: B in Union U2 & [x,y] in Union [|Y, the Sorts of A|] by A18,A19,CARD_5:2; thus B/(x,y) = g.[B,[x,y]] by A17,Def13 .= [B,[x,y]]`1 by A5,A20,ZFMISC_1:87 .= B; end; A21: the MSAlgebra of A = the MSAlgebra of Q; A is non-empty quasi_total partial ua-non-empty with_empty-instruction with_catenation with_if-instruction with_while-instruction by AOFA_000:def 10,def 11,def 12,def 13; then reconsider A as non-empty quasi_total partial ua-non-empty with_empty-instruction with_catenation with_if-instruction with_while-instruction language non 1s-empty T-extension BialgebraStr over S,Y by A21,A1,Th15; take A; A22: p in I by TARSKI:def 1; hence the carrier of A = (I-->the carrier of W).p by FUNCOP_1:7 .= (the Sorts of A).the program-sort of S by A1,A22,FUNCT_1:49; thus A is vf-qc-correct proof let C,B be Formula of A; A23: vf C = EmptyMS the carrier of S & vf B = EmptyMS the carrier of S & vf \notC = EmptyMS the carrier of S & vf(C\andB) = EmptyMS the carrier of S & vf(C\orB) = EmptyMS the carrier of S & vf(C\impB) = EmptyMS the carrier of S & vf(C\iffB) = EmptyMS the carrier of S by A3; thus vf \notC = vf C & vf(C\andB) = vf C (\/) vf B by A23; thus vf(C\orB) = vf C (\/) vf B & vf(C\impB) = vf C (\/) vf B & vf(C\iffB) = vf C (\/) vf B by A23; thus vf \true_A = EmptyMS the carrier of S by A3; let x be Element of Union X; let a be SortSymbol of S; assume x in X.a; vf \for(x,C) = EmptyMS the carrier of S & vf \ex(x,C) = EmptyMS the carrier of S by A3; hence vf \for(x,C) = vf C (\) a-singleton x & vf \ex(x,C) = vf C (\) a-singleton x by A23,PBOOLE:60; end; thus A is vf-correct proof let o be OperSymbol of S; let p be FinSequence; assume p in Args(o,A); let b be Element of A, the_result_sort_of o; assume b = Den(o,A).p; let s be SortSymbol of S; (vf b).s = {} by A3; hence thesis; end; thus A is vf-finite proof let s be SortSymbol of S, t be Element of A,s; let a be object; assume a in the carrier of S; hence (vf t).a is finite by A3; end; thus A is subst-correct proof let x be Element of Union Y; let a be SortSymbol of S such that A24: x in Y.a; hereby let j be SortSymbol of S; let C be Element of A,j; thus C/(x,x) = C by A24,A10; end; let y be Element of Union the Sorts of A such that A25: y in (the Sorts of A).a; let o be OperSymbol of S; let p be Element of Args(o,A); now let i be Nat; assume A26: i in dom the_arity_of o; take j = (the_arity_of o)/.i; thus j = (the_arity_of o).i by A26,PARTFUN1:def 6; take B = In(p.i,(the Sorts of A).j); thus B = p.i by A26,MSUALG_6:2,SUBSET_1:def 8; hence p.i = B/(x,y) by A24,A25,A16; end; then A27: p/(x,y) = p by Def14; let C be Element of A, the_result_sort_of o; assume A28: C = Den(o,A).p; assume not (ex S1 being QCLangSignature over Union Y st S = S1 & ex z being (Element of Union Y), q being Element of {1,2} st o = (the quantifiers of S1).(q,z)); thus C/(x,y) = Den(o,A).(p/(x,y)) by A27,A28,A24,A25,A16; end; thus A is subst-forex proof let B be Formula of A; let x be Element of Union X; let s,s1 be SortSymbol of S; let t be Element of A,s; assume x in X.s1; let y be Element of Union Y; assume C2: y in Y.s; thus x = y implies \for(x,B)/(y,t) = \for(x,B) & \ex(x,B)/(y,t) = \ex(x,B) by C2,A16; thus (x <> y & x in (vf t).s1 implies ex z being (Element of Union X), x0,z0 being Element of Union Y st x = x0 & z0 = z = the Element of X.s1\(vf t).s1\(vf B).s1 & \for(x,B)/(y,t) = \for(z,B/(x0,z0)/(y,t)) & \ex(x,B)/(y,t) = \ex(z,B/(x0,z0)/(y,t))) by A3; assume x <> y & x nin (vf t).s; thus \for(x,B)/(y,t) = \for(x,B) by C2,A16 .= \for(x,B/(y,t)) by C2,A16; thus \ex(x,B)/(y,t) = \ex(x,B) by C2,A16 .= \ex(x,B/(y,t)) by C2,A16; end; hereby let I1,I2 be Element of the carrier of A; reconsider J1 = I1, J2 = I2 as Element of W; EmptyIns A = EmptyIns W & I1\;I2 = J1\;J2; hence (I1 <> EmptyIns A implies I1\;I2 <> I2) & (I2 <> EmptyIns A implies I1\;I2 <> I1) & (I1 <> EmptyIns A or I2 <> EmptyIns A implies I1\;I2 <> EmptyIns A) by AOFA_000:def 24; end; hereby let C,I1,I2 be Element of the carrier of A; reconsider C1 = C, J1 = I1, J2 = I2 as Element of W; if-then-else(C,I1,I2) = if-then-else(C1,J1,J2) & EmptyIns W = EmptyIns A; hence if-then-else(C,I1,I2) <> EmptyIns A by AOFA_000:def 24; end; hereby let C,I be Element of the carrier of A; reconsider C1 = C, J = I as Element of W; EmptyIns A = EmptyIns W & while(C,I) = while(C1,J); hence while(C,I) <> EmptyIns A by AOFA_000:def 24; end; hereby let I1,I2,C,J1,J2 be Element of the carrier of A; reconsider C1 = C, K1 = I1, K2 = I2, L1 = J1, L2 = J2 as Element of W; if-then-else(C,J1,J2) = if-then-else(C1,L1,L2) & I1\;I2 = K1\;K2 & EmptyIns W = EmptyIns A; hence I1 = EmptyIns A or I2 = EmptyIns A or I1\;I2 <> if-then-else(C,J1,J2) by AOFA_000:def 24; end; hereby let I1,I2,C,J be Element of the carrier of A; reconsider C1 = C, K1 = I1, K2 = I2, L = J as Element of W; EmptyIns W = EmptyIns A & I1\;I2 = K1\;K2 & while(C,J) = while(C1,L); hence I1 <> EmptyIns A & I2 <> EmptyIns A implies I1\;I2 <> while(C,J) by AOFA_000:def 24; end; hereby let C1,I1,I2,C2,J be Element of the carrier of A; reconsider C3 = C1, K1 = I1, K2 = I2, C4 = C2, L = J as Element of W; while(C2,J) = while(C4,L) & if-then-else(C1,I1,I2) = if-then-else(C3,K1,K2); hence if-then-else(C1,I1,I2) <> while(C2,J) by AOFA_000:def 24; end; thus A is well_founded proof A29: the UAStr of W = the UAStr of A; then ElementaryInstructions W = ElementaryInstructions A & ElementaryInstructions W is GeneratorSet of W by Th29,AOFA_000:def 25; hence ElementaryInstructions A is GeneratorSet of A by A29,Th32; end; the UAStr of A = the UAStr of W; then signature A = signature W by Th33; hence signature A = ECIW-signature by AOFA_000:def 27; end; end; definition let n be non empty natural number; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be essential J-extension non empty non void n PC-correct QC-correct n AL-correct AlgLangSignature over Union X; mode IfWhileAlgebra of X,S is AL-correct vf-qc-correct vf-correct subst-correct subst-forex non degenerated well_founded ECIW-strict non-empty quasi_total partial ua-non-empty with_empty-instruction with_catenation with_if-instruction with_while-instruction language non 1s-empty T-extension BialgebraStr over S, X extended_by ({}, the carrier of S); end; definition let n be non empty Nat; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be essential J-extension non empty non void n PC-correct QC-correct n AL-correct AlgLangSignature over Union X; let L be IfWhileAlgebra of X,S; set f = the formula-sort of S; set p = the program-sort of S; A1: (the connectives of S).(n+6) is_of_type <*p,f*>, f & ... & (the connectives of S).(n+8) is_of_type <*p,f*>, f by Def6; A2: (the Sorts of L).p = the carrier of L by Def34; let K be Formula of L; let P be Algorithm of L; func P*K -> Formula of L equals Den(In((the connectives of S).(n+6), the carrier' of S), L).<*P,K*>; coherence by A1,A2,AOFA_A00:33; func \Cup(P,K) -> Formula of L equals Den(In((the connectives of S).(n+7), the carrier' of S), L).<*P,K*>; coherence by A1,A2,AOFA_A00:33; func \Cap(P,K) -> Formula of L equals Den(In((the connectives of S).(n+8), the carrier' of S), L).<*P,K*>; coherence by A1,A2,AOFA_A00:33; end; definition let n be non empty Nat; let S be non empty non void n PC-correct PCLangSignature; let L be language MSAlgebra over S; let F be Subset of (the Sorts of L).the formula-sort of S; attr F is PC-closed means :Def38: for A,B,C being Formula of L holds A\imp(B\impA) in F & (A\imp(B\impC))\imp((A\impB)\imp(A\impC)) in F & (\notA\imp\notB)\imp(B\impA) in F & A\imp(A\orB) in F & A\imp(B\orA) in F & (A\impC)\imp((B\impC)\imp((A\orB)\impC)) in F & A\andB\impA in F & A\andB\impB in F & A\imp(B\impA\andB) in F & A\and\notA\impB in F & (A\impB)\imp((A\imp\notB)\imp\notA) in F & A\or\notA in F & (A\iffB)\imp(A\impB) in F & (A\iffB)\imp(B\impA) in F & (A\impB)\and(B\impA)\imp(A\iffB) in F & \true_L in F & (\true_L)\andA\iffA in F & (\true_L)\orA\iff\true_L in F & (A in F & A\impB in F implies B in F); end; definition let n be non empty Nat; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non empty non void n PC-correct QC-correct QCLangSignature over Union X; let L be non-empty Language of X extended_by ({},the carrier of S), S; let F be Subset of (the Sorts of L).the formula-sort of S; attr F is QC-closed means: Def39: for A,B being Element of (the Sorts of L).the formula-sort of S for x being Element of Union X holds (for a being SortSymbol of J holds (for t being Element of Union the Sorts of L st x in (X extended_by ({}, the carrier of S)).a & t in (the Sorts of L).a holds for y being Element of Union (X extended_by ({}, the carrier of S)) st x = y holds \for(x,A)\imp(A/(y,t)) in F) & (x in X.a & x nin (vf A).a implies \for(x,A\impB)\imp(A\imp\for(x,B)) in F)) & \not\ex(x,A)\iff\for(x,\notA) in F & \ex(x,\notA)\iff\not\for(x,A) in F & (A in F implies \for(x,A) in F); end; definition let n be non empty Nat; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non empty non void n PC-correct QC-correct QCLangSignature over Union X; let L be non-empty T-extension Language of X extended_by ({},the carrier of S), S; attr L is subst-eq-correct means for x0 being Element of Union (X extended_by({},the carrier of S)) for s,s1 being SortSymbol of S st x0 in X.s for t being Element of L,s, t1,t2 being Element of L,s1 holds (t1 '=' (t2,L))/(x0,t) = (t1/(x0,t)) '=' (t2/(x0,t),L); attr L is vf-eq-correct means for s being SortSymbol of S holds (for t1,t2 being Element of L,s holds vf(t1 '=' (t2,L)) = (vf t1) (\/) (vf t2)) & for s being SortSymbol of S for t being Element of L,s st t in X.s holds vf t = s-singleton t; let F be Subset of (the Sorts of L).the formula-sort of S; attr F is with_equality means: Def42: (for t being Element of T holds t '=' (t,L) in F) & for b being SortSymbol of S for t1,t2 being Element of L,b for x being Element of Union (X extended_by ({},the carrier of S)) st x in X.b holds (for c being SortSymbol of S st c in the carrier of J for t being Element of L,c holds (t1 '=' (t2,L))\imp(t/(x,t1) '=' (t/(x,t2),L)) in F) & for A being Formula of L holds (t1 '=' (t2,L))\imp(A/(x,t1)\imp(A/(x,t2))) in F; end; definition let n be non empty natural number; let J be non empty non void Signature; let T be non-empty VarMSAlgebra over J; let X be non-empty GeneratorSet of T; let S be essential J-extension non empty non void n PC-correct QC-correct n AL-correct AlgLangSignature over Union X; let L be non 1s-empty IfWhileAlgebra of X,S; let V be Formula of L; :: true state test let F be Subset of (the Sorts of L).the formula-sort of S; attr F is V AL-closed means: Def43: for A,B being Formula of L holds (for M being Algorithm of L holds (M*(A\andB)) \iff (M*A)\and(M*B) in F & (M*(A\orB)) \iff (M*A)\or(M*B) in F & \Cup(M,A) \iff A\or\Cup(M, M*A) in F & \Cap(M,A) \iff A\and\Cap(M, M*A) in F & (A\impB in F implies \Cup(M,A)\imp\Cup(M,B) in F & \Cap(M,A)\imp\Cap(M,B) in F)) & (for a being SortSymbol of J for x being Element of X.a for x0 being Element of Union (X extended_by ({},the carrier of S)) st x = x0 holds for t being Element of (the Sorts of T).a for t1 being Element of Union the Sorts of L st t1 = t holds ((x:=(t,L))*A) \iff (A/(x0,t1)) in F & (for y being Element of X.a st y nin (vf t).a holds for y0 being Element of Union (X extended_by ({},the carrier of S)) st y = y0 holds ((x:=(t,L))*\ex(x,A)) \iff \ex(y, (x:=(t,L))*((y:=(@x,L))*(A/(x0,y0)))) in F) & ((x:=(t,L))*A) \imp \ex(x,A) in F) & for M,M1,M2 being Algorithm of L holds ((M\;M1)*A) \iff (M*(M1*A)) in F & (if-then-else(M,M1,M2)*A) \iff ((M*V)\and(M*(M1*A)))\or((M*\notV)\and(M*(M2*A))) in F & (while(M,M1)*A) \iff ((M*\notV)\andA)\or((M*V)\and(M*(M1*(while(M,M1)*A)))) in F; end; registration let n be non empty Nat; let S be non empty non void n PC-correct PCLangSignature; let L be language MSAlgebra over S; cluster [#]((the Sorts of L).the formula-sort of S) -> PC-closed; coherence proof let A be Formula of L; [#]((the Sorts of L).the formula-sort of S) = (the Sorts of L).the formula-sort of S & (the Sorts of L).the formula-sort of S is non empty by Def18,SUBSET_1:def 3; hence thesis; end; cluster PC-closed -> non empty for Subset of (the Sorts of L).the formula-sort of S; coherence; cluster PC-closed for Subset of (the Sorts of L).the formula-sort of S; existence proof take [#]((the Sorts of L).the formula-sort of S); thus thesis; end; end; registration let n be non empty Nat; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non empty non void n PC-correct QC-correct QCLangSignature over Union X; let L be non-empty Language of X extended_by ({}, the carrier of S),S; cluster [#]((the Sorts of L).the formula-sort of S) -> QC-closed; coherence proof let A be Element of (the Sorts of L).the formula-sort of S; [#]((the Sorts of L).the formula-sort of S) = (the Sorts of L).the formula-sort of S by SUBSET_1:def 3; hence thesis; end; cluster QC-closed PC-closed for Subset of (the Sorts of L).the formula-sort of S; existence proof take [#]((the Sorts of L).the formula-sort of S); thus thesis; end; end; registration let n be non empty Nat; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S be J-extension non empty non void n PC-correct QC-correct QCLangSignature over Union X; let L be non-empty T-extension Language of X extended_by ({}, the carrier of S),S; cluster [#]((the Sorts of L).the formula-sort of S) -> with_equality; coherence proof [#]((the Sorts of L).the formula-sort of S) = (the Sorts of L).the formula-sort of S by SUBSET_1:def 3; hence thesis; end; cluster QC-closed PC-closed with_equality for Subset of (the Sorts of L).the formula-sort of S; existence proof take [#]((the Sorts of L).the formula-sort of S); thus thesis; end; end; definition let n be non empty Nat; let S being non empty non void n PC-correct PCLangSignature; let L be language MSAlgebra over S; mode PC-theory of L is PC-closed Subset of (the Sorts of L).the formula-sort of S; end; definition let n be non empty Nat; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S being J-extension non empty non void n PC-correct QC-correct QCLangSignature over Union X; let L be non-empty Language of X extended_by ({}, the carrier of S), S; mode QC-theory of L is QC-closed PC-closed Subset of (the Sorts of L).the formula-sort of S; end; definition let n be non empty Nat; let J be non empty non void Signature; let T be non-empty MSAlgebra over J; let X be non empty-yielding GeneratorSet of T; let S being J-extension non empty non void n PC-correct QC-correct QCLangSignature over Union X; let L be non-empty T-extension Language of X extended_by ({}, the carrier of S), S; mode QC-theory_with_equality of L is QC-closed PC-closed with_equality Subset of (the Sorts of L).the formula-sort of S; end; registration let n be non empty natural number; let J be non empty non void Signature; let T be non-empty VarMSAlgebra over J; let X be non-empty GeneratorSet of T; let S be essential J-extension non empty non void n PC-correct QC-correct n AL-correct AlgLangSignature over Union X; let L be non 1s-empty IfWhileAlgebra of X,S; let V be Formula of L; cluster V AL-closed for PC-closed QC-closed with_equality Subset of (the Sorts of L).the formula-sort of S; existence proof take F = [#]((the Sorts of L).the formula-sort of S); let A be Formula of L; F = (the Sorts of L).the formula-sort of S by SUBSET_1:def 3; hence thesis; end; end; definition let n be non empty natural number; let J be non empty non void Signature; let T be non-empty VarMSAlgebra over J; let X be non-empty GeneratorSet of T; let S be essential J-extension non empty non void n PC-correct QC-correct n AL-correct AlgLangSignature over Union X; let L be non empty IfWhileAlgebra of X,S; let V be Formula of L; mode AL-theory of V,L is PC-closed QC-closed with_equality V AL-closed Subset of (the Sorts of L).the formula-sort of S; end; begin :: Propositional Calculus reserve n for non empty Nat, S for non empty non void n PC-correct PCLangSignature, L for language MSAlgebra over S, F for PC-theory of L, A,B,C,D for Formula of L; theorem Th34: A\impA in F proof A1: A\imp((A\impA)\impA)\imp(A\imp(A\impA)\imp(A\impA)) in F by Def38; A2: A\imp((A\impA)\impA) in F by Def38; A3: A\imp(A\impA)\imp(A\impA) in F by A1,A2,Def38; A4: A\imp(A\impA) in F by Def38; thus thesis by A3,A4,Def38; end; theorem Th35: A\andB in F iff A in F & B in F proof A\andB\impA in F & A\andB\impB in F by Def38; hence A\andB in F implies A in F & B in F by Def38; A\imp(B\impA\andB) in F by Def38; then A in F implies B\imp(A\andB) in F by Def38; hence thesis by Def38; end; theorem Th36: A\orB\impB\orA in F proof A1: (A\impB\orA)\imp((B\impB\orA)\imp(A\orB\impB\orA)) in F by Def38; A2: (A\impB\orA) in F & B\impB\orA in F by Def38; (B\impB\orA)\imp(A\orB\impB\orA) in F by A1,A2,Def38; hence thesis by A2,Def38; end; theorem Th37: (B\impC)\imp((A\impB)\imp(A\impC)) in F proof A1: ((A\imp(B\impC))\imp((A\impB)\imp(A\impC))) in F by Def38; A2: ( (B\impC)\imp((A\imp(B\impC))\imp((A\impB)\imp(A\impC))))\imp(((B\impC) \imp(A\imp(B\impC)))\imp((B\impC)\imp((A\impB)\imp(A\impC)))) in F by Def38; ((A\imp(B\impC))\imp((A\impB)\imp(A\impC)))\imp( (B\impC)\imp((A\imp(B \impC))\imp((A\impB)\imp(A\impC)))) in F by Def38; then ( (B\impC)\imp((A\imp(B\impC))\imp((A\impB)\imp(A\impC)))) in F by A1,Def38; then A3: ((B\impC)\imp(A\imp(B\impC)))\imp((B\impC)\imp((A\impB)\imp(A\impC))) in F by A2,Def38; (B\impC)\imp(A\imp(B\impC)) in F by Def38; hence thesis by A3,Def38; end; theorem Th38: A\imp(B\impC) in F implies B\imp(A\impC) in F proof assume A1: A\imp(B\impC) in F; A2: ((A\impB)\imp(A\impC))\imp((B\imp(A\impB))\imp(B\imp(A\impC))) in F by Th37; (A\imp(B\impC))\imp((A\impB)\imp(A\impC)) in F by Def38; then ((A\impB)\imp(A\impC)) in F by A1,Def38; then A3: ((B\imp(A\impB))\imp(B\imp(A\impC))) in F by A2,Def38; B\imp(A\impB) in F by Def38; hence thesis by A3,Def38; end; theorem Th39: :: Hypothetical syllogism (A\impB)\imp((B\impC)\imp(A\impC)) in F proof (B\impC)\imp((A\impB)\imp(A\impC)) in F by Th37; hence thesis by Th38; end; theorem A\imp(B\imp(A\impB)) in F proof (B\imp(A\impB))\imp(A\imp(B\imp(A\impB))) in F & (B\imp(A\impB)) in F by Def38; hence thesis by Def38; end; theorem Th41: :: Contraposition (A\imp(B\impC))\imp(B\imp(A\impC)) in F proof A1: B\imp(A\impB) in F by Def38; (A\imp(B\impC))\imp((A\impB)\imp(A\impC)) in F by Def38; then A2: (A\impB)\imp((A\imp(B\impC))\imp(A\impC)) in F by Th38; ((A\impB)\imp((A\imp(B\impC))\imp(A\impC)))\imp((B\imp(A\impB))\imp(B\imp ((A\imp(B\impC))\imp(A\impC)))) in F by Th37; then (B\imp(A\impB))\imp(B\imp((A\imp(B\impC))\imp(A\impC))) in F by A2,Def38; then (B\imp((A\imp(B\impC))\imp(A\impC))) in F by A1,Def38; hence thesis by Th38; end; theorem :: Modus ponendo ponens B\imp((B\impA)\impA) in F proof A1: ((B\impA)\imp(B\impA))\imp(B\imp((B\impA)\impA)) in F by Th41; (B\impA)\imp(B\impA) in F by Th34; hence thesis by A1,Def38; end; theorem Th43: A\iffB in F iff A\impB in F & B\impA in F proof (A\iffB)\imp(A\impB) in F & (A\iffB)\imp(B\impA) in F by Def38; hence A\iffB in F implies A\impB in F & B\impA in F by Def38; assume A\impB in F & B\impA in F; then (A\impB)\and(B\impA) in F & (A\impB)\and(B\impA)\imp(A\iffB) in F by Def38,Th35; hence thesis by Def38; end; theorem Th44: B in F implies A\impB in F proof B\imp(A\impB) in F by Def38; hence thesis by Def38; end; theorem Th45: A\impB in F & B\impC in F implies A\impC in F proof assume that A1: A\impB in F and A2: B\impC in F; (A\impB)\imp((B\impC)\imp(A\impC)) in F by Th39; then (B\impC)\imp(A\impC) in F by A1,Def38; hence thesis by A2,Def38; end; theorem Th46: C\imp(B\impA) in F & B in F implies C\impA in F proof assume that A1: C\imp(B\impA) in F and A2: B in F; (C\imp(B\impA))\imp(B\imp(C\impA)) in F by Th41; then B\imp(C\impA) in F by A1,Def38; hence thesis by A2,Def38; end; theorem Th47: (( A\andB )\impC )\imp( A\imp( B\impC )) in F proof set qp = ( B\imp( A\andB )); set pr = (( A\andB )\impC)\imp( B\impC ); A1: ( A\imp( qp\imppr ))\imp( ( A\impqp )\imp( A\imppr )) in F by Def38; A2: A\imp( B\imp( A\andB )) in F by Def38; A\imp(( B\imp( A\andB ))\imp((( A\andB )\impC )\imp( B\impC ))) in F by Th44,Th39; then ( ( A\impqp )\imp( A\imppr )) in F by A1,Def38; then A3: A\imp((( A\andB )\impC )\imp( B\impC )) in F by A2,Def38; (A\imp((( A\andB )\impC )\imp( B\impC )))\imp((( A\andB )\impC )\imp( A\imp( B\impC ))) in F by Th41; hence thesis by A3,Def38; end; theorem Th48: ( A\imp( B\impC ))\imp(( A\andB )\impC ) in F proof A1: (( A\andB )\impB)\imp(( B\impC )\imp(( A\andB )\impC )) in F by Th39; ( A\andB )\impB in F by Def38; then ( B\impC )\imp(( A\andB )\impC ) in F by A1,Def38; then A2: A\imp(( B\impC )\imp(( A\andB )\impC )) in F by Th44; A3: ( A\imp(( A\andB )\impC ))\imp((A\andB )\imp( A\impC )) in F by Th41; A\imp(( B\impC )\imp(( A\andB )\impC ))\imp((A\imp( B\impC ))\imp( A\imp (( A\andB )\impC ))) in F by Def38; then (A\imp( B\impC ))\imp( A\imp(( A\andB )\impC )) in F by A2,Def38; then A4: (A\imp( B\impC ))\imp((A\andB )\imp( A\impC )) in F by A3,Th45; A5: ( A\andB )\impA in F by Def38; ((A\andB )\imp( A\impC ))\imp((( A\andB )\impA )\imp(( A\andB )\impC )) in F by Def38; then ((A\andB )\imp( A\impC ))\imp(( A\andB )\impC ) in F by A5,Th46; hence thesis by A4,Th45; end; theorem Th49: ( C\impA )\imp(( C\impB )\imp( C\imp( A\andB ))) in F proof A1: ( C\imp( B\imp( A\andB )))\imp(( C\impB )\imp( C\imp( A\andB ))) in F by Def38; A\imp( B\imp( A\andB )) in F by Def38; then A2: C\imp( A\imp( B\imp( A\andB ))) in F by Th44; (C\imp( A\imp( B\imp( A\andB ))))\imp(( C\impA )\imp( C\imp( B\imp( A \andB )))) in F by Def38; then ( C\impA )\imp( C\imp( B\imp( A\andB ))) in F by A2,Def38; hence thesis by A1,Th45; end; theorem Th50: A\andB\impB\andA in F proof set P = A\andB; A1: P\impB in F by Def38; A2: P\impA in F by Def38; ( P\impB )\imp(( P\impA )\imp( P\imp( B\andA ))) in F by Th49; then ( P\impA )\imp( P\imp( B\andA )) in F by A1,Def38; hence thesis by A2,Def38; end; theorem (A\iffB)\imp(B\iffA) in F proof A1: (B\impA)\and(A\impB)\imp(B\iffA) in F by Def38; A2: (A\impB)\and(B\impA)\imp(B\impA)\and(A\impB) in F by Th50; (A\impB)\and(B\impA)\imp(B\impA)\and(A\impB)\imp (((B\impA)\and(A\impB)\imp(B\iffA))\imp ((A\impB)\and(B\impA)\imp(B\iffA))) in F by Th39; then (((B\impA)\and(A\impB)\imp(B\iffA))\imp ((A\impB)\and(B\impA)\imp(B\iffA))) in F by A2,Def38; then A3: (A\impB)\and(B\impA)\imp(B\iffA) in F by A1,Def38; A4: (A\iffB)\imp(A\impB)\imp(((A\iffB)\imp(B\impA))\imp ((A\iffB)\imp(A\impB)\and(B\impA))) in F by Th49; A5: (A\iffB)\imp(A\impB) in F & ((A\iffB)\imp(B\impA)) in F by Def38; then (((A\iffB)\imp(B\impA))\imp((A\iffB)\imp(A\impB)\and(B\impA))) in F by A4,Def38; then A6: (A\iffB)\imp(A\impB)\and(B\impA) in F by A5,Def38; (A\iffB)\imp(A\impB)\and(B\impA)\imp(((A\impB)\and(B\impA)\imp(B\iffA))\imp ((A\iffB)\imp(B\iffA))) in F by Th39; then ((A\impB)\and(B\impA)\imp(B\iffA))\imp((A\iffB)\imp(B\iffA)) in F by A6,Def38; hence thesis by A3,Def38; end; theorem Th52: A\orA\impA in F proof A1: A\impA\imp(A\impA\imp(A\orA\impA)) in F by Def38; A2: A\impA in F by Th34; then A\impA\imp(A\orA\impA) in F by A1,Def38; hence thesis by A2,Def38; end; theorem Th53: A\impA\andA in F proof A1: A\impA\imp(A\impA\imp(A\impA\andA)) in F by Th49; A2: A\impA in F by Th34; then A\impA\imp(A\impA\andA) in F by A1,Def38; hence thesis by A2,Def38; end; theorem Th201: A\impB in F & A\impC in F implies A\imp(B\andC) in F proof assume Z0: A\impB in F & A\impC in F; (A\impB)\imp((A\impC)\imp(A\imp(B\andC))) in F by Th49; then (A\impC)\imp(A\imp(B\andC)) in F by Z0,Def38; hence A\impB\andC in F by Z0,Def38; end; theorem Th54: (A\andB)\or(A\andC) \imp A\and(B\orC) in F proof A\andB\impB in F & B\impB\orC in F by Def38; then A1: A\andB\impB\orC in F by Th45; A\andC\impC in F & C\impB\orC in F by Def38; then A2: A\andC\impB\orC in F by Th45; set AB = A\andB, AC = A\andC; A3: AB\impA\imp(AB\impB\orC\imp(AB\impA\and(B\orC))) in F by Th49; AB\impA in F by Def38; then AB\impB\orC\imp(AB\impA\and(B\orC)) in F by A3,Def38; then A4: AB\impA\and(B\orC) in F by A1,Def38; A5: AC\impA\imp(AC\impB\orC\imp(AC\impA\and(B\orC))) in F by Th49; AC\impA in F by Def38; then AC\impB\orC\imp(AC\impA\and(B\orC)) in F by A5,Def38; then A6: AC\impA\and(B\orC) in F by A2,Def38; AB\impA\and(B\orC)\imp(AC\impA\and(B\orC)\imp(AB\orAC\impA\and(B\orC)))in F by Def38; then AC\impA\and(B\orC)\imp(AB\orAC\impA\and(B\orC)) in F by A4,Def38; hence thesis by A6,Def38; end; theorem A\or(B\andC) \imp (A\orB)\and(A\orC) in F proof set AB =A\orB, AC = A\orC, BC = B\andC; set ABC = A\orBC; A1: ABC\impAB\imp(ABC\impAC\imp(ABC\impAB\andAC)) in F by Th49; A2: A\impAB\imp(BC\impAB\imp(ABC\impAB)) in F by Def38; A3: A\impAC\imp(BC\impAC\imp(ABC\impAC)) in F by Def38; A4: A\impAC in F & A\impAB in F by Def38; BC\impC in F & BC\impB in F & B\impAB in F & C\impAC in F by Def38; then A5: BC\impAB in F & BC\impAC in F by Th45; BC\impAB\imp(ABC\impAB) in F & BC\impAC\imp(ABC\impAC) in F by A2,A3,A4, Def38; then A6: ABC\impAB in F & ABC\impAC in F by A5,Def38; then ABC\impAC\imp(ABC\impAB\andAC) in F by A1,Def38; hence thesis by A6,Def38; end; theorem Th56: A\imp(\notA\impB) in F proof A\and\notA\impB\imp(A\imp(\notA\impB)) in F & A\and\notA\impB in F by Th47,Def38; hence thesis by Def38; end; theorem Th57: A\impB\imp(\notB\imp\notA) in F proof A\impB\imp(A\imp\notB\imp\notA) in F by Def38; then A1: A\imp\notB\imp(A\impB\imp\notA) in F by Th38; \notB\imp(A\imp\notB) in F by Def38; then \notB\imp(A\impB\imp\notA) in F by A1,Th45; hence thesis by Th38; end; theorem Th58: A\impB in F iff \notB\imp\notA in F proof (\notB\imp\notA)\imp(A\impB) in F & A\impB\imp(\notB\imp\notA) in F by Def38,Th57; hence thesis by Def38; end; theorem Th59: A\impB in F & C\impD in F implies A\orC\impB\orD in F proof assume A1: A\impB in F; assume A2: C\impD in F; A3: A\impB\orD\imp(C\impB\orD\imp(A\orC\impB\orD)) in F by Def38; B\impB\orD in F & D\impB\orD in F by Def38; then A4: A\impB\orD in F & C\impB\orD in F by A1,A2,Th45; then C\impB\orD\imp(A\orC\impB\orD) in F by A3,Def38; hence A\orC\impB\orD in F by A4,Def38; end; theorem Th60: A\impB\imp(C\orA\impC\orB) in F proof C\impC\orB in F & C\impC\orB\imp(A\impC\orB\imp(C\orA\impC\orB)) in F by Def38; then A1: A\impC\orB\imp(C\orA\impC\orB) in F by Def38; A\impB\imp(A\impB) in F & A\impB\imp(A\impB)\imp((A\impB)\andA\impB) in F by Th34,Th48; then ((A\impB)\andA\impB) in F & B\impC\orB in F by Def38; then ((A\impB)\andA\impC\orB) in F & ((A\impB)\andA\impC\orB)\imp(A\impB\imp(A\impC\orB)) in F by Th45,Th47;then A\impB\imp(A\impC\orB) in F by Def38; hence thesis by A1,Th45; end; theorem A\impB in F & C\impD in F & \notB\or\notD in F implies \notA\or\notC in F proof assume A1: A\impB in F; assume A2: C\impD in F; assume A3: \notB\or\notD in F; A\impB\imp(\notB\imp\notA) in F & C\impD\imp(\notD\imp\notC) in F by Th57; then \notB\imp\notA in F & \notD\imp\notC in F by A1,A2,Def38; then \notB\or\notD\imp\notA\or\notC in F by Th59; hence \notA\or\notC in F by A3,Def38; end; theorem Th62: A\orB\imp(\notA\impB) in F proof A1: A\imp(\notA\impB) in F by Th56; A2: B\imp(\notA\impB) in F by Def38; A\imp(\notA\impB)\imp((B\imp(\notA\impB))\imp(A\orB\imp(\notA\impB))) in F by Def38; then (B\imp(\notA\impB))\imp(A\orB\imp(\notA\impB)) in F by A1,Def38; hence thesis by A2,Def38; end; theorem A\orB\imp(\notB\impA) in F proof A\orB\impB\orA in F & B\orA\imp(\notB\impA) in F by Th36,Th62; hence A\orB\imp(\notB\impA) in F by Th45; end; theorem Th64: A\imp\not\notA in F proof A1: A\imp((\notA\impA)\imp\not\notA)\imp((A\imp(\notA\impA))\imp (A\imp\not\notA)) in F by Def38; A2: (\notA\impA)\imp((\notA\imp\notA)\imp\not\notA)\imp((\notA\impA)\imp (\notA\imp\notA)\imp(\notA\impA\imp\not\notA)) in F by Def38; (\notA\impA)\imp((\notA\imp\notA)\imp\not\notA) in F by Def38; then A3: (\notA\impA)\imp(\notA\imp\notA)\imp(\notA\impA\imp\not\notA)in F by A2,Def38; (\notA\impA)\imp(\notA\imp\notA) in F by Th34,Th44; then \notA\impA\imp\not\notA in F by A3,Def38; then A\imp(\notA\impA\imp\not\notA) in F by Th44; then A4: (A\imp(\notA\impA))\imp(A\imp\not\notA) in F by A1,Def38; A\imp(\notA\impA) in F by Def38; hence thesis by A4,Def38; end; theorem Th65: \not\notA\impA in F proof \notA\imp\not\not\notA\imp(\not\notA\impA) in F & \notA\imp\not\not\notA in F by Def38,Th64; hence thesis by Def38; end; theorem Th66: A\iff\not\notA in F proof A1: (A\imp\not\notA)\and(\not\notA\impA)\imp(A\iff\not\notA) in F by Def38; A\imp\not\notA in F & \not\notA\impA in F by Th64,Th65; then (A\imp\not\notA)\and(\not\notA\impA) in F by Th35; hence thesis by A1,Def38; end; theorem Th67: A\imp\notB in F iff B\imp\notA in F proof A1: A\imp\notB in F iff \not\notB\imp\notA in F by Th58; A2: B\imp\notA in F iff \not\notA\imp\notB in F by Th58; B\imp\not\notB in F & A\imp\not\notA in F by Th64; hence thesis by A1,A2,Th45; end; theorem Th68: \notA\impB in F iff \notB\impA in F proof A1: \notA\impB in F iff \notB\imp\not\notA in F by Th58; A2: \notB\impA in F iff \notA\imp\not\notB in F by Th58; \not\notA\impA in F & \not\notB\impB in F by Th65; hence thesis by A1,A2,Th45; end; theorem Th69: A\imp(B\impC) in F & C\impD in F implies A\imp(B\impD) in F proof assume A1: A\imp(B\impC) in F & C\impD in F; A\imp(B\impC)\imp(A\andB\impC) in F by Th48; then A\andB\impC in F by A1,Def38; then A\andB\impD in F & A\andB\impD\imp(A\imp(B\impD)) in F by A1,Th45,Th47; hence thesis by Def38; end; theorem Th70: \not(A\andB)\imp\notA\or\notB in F proof \notA\imp\notA\or\notB in F & \notB\imp\notA\or\notB in F by Def38; then \not(\notA\or\notB)\imp\not\notA in F & \not\notA\impA in F & \not(\notA\or\notB)\imp\not\notB in F & \not\notB\impB in F by Th58,Th65; then A1: \not(\notA\or\notB)\impA in F & \not(\notA\or\notB)\impB in F by Th45; \not(\notA\or\notB)\impA\imp(\not(\notA\or\notB)\impB\imp (\not(\notA\or\notB)\impA\andB)) in F by Th49; then \not(\notA\or\notB)\impB\imp(\not(\notA\or\notB)\impA\andB) in F by A1,Def38; then \not(\notA\or\notB)\impA\andB in F by A1,Def38; then \not(A\andB)\imp\not\not(\notA\or\notB) in F & \not\not(\notA\or\notB)\imp(\notA\or\notB) in F by Th58,Th65; hence thesis by Th45; end; theorem Th71: \not(A\orB)\imp\notA\and\notB in F proof A\impA\orB in F & B\impA\orB in F by Def38; then A1: \not(A\orB)\imp\notA in F & \not(A\orB)\imp\notB in F by Th58; \not(A\orB)\imp\notA\imp(\not(A\orB)\imp\notB\imp(\not(A\orB)\imp\notA\and \notB)) in F by Th49; then \not(A\orB)\imp\notB\imp(\not(A\orB)\imp\notA\and\notB) in F by A1,Def38; hence thesis by A1,Def38; end; theorem Th72: A\impB in F & C\impD in F implies A\andC\impB\andD in F proof assume A1: A\impB in F; assume A2: C\impD in F; A3: A\andC\impB\imp(A\andC\impD\imp(A\andC\impB\andD)) in F by Th49; A\andC\impA in F & A\andC\impC in F by Def38; then A4: A\andC\impB in F & A\andC\impD in F by A1,A2,Th45; then A\andC\impD\imp(A\andC\impB\andD) in F by A3,Def38; hence A\andC\impB\andD in F by A4,Def38; end; theorem Th73: \notA\or\notB\imp\not(A\andB) in F proof A\andB\impA in F & A\andB\impB in F by Def38; then A1: \notA\imp\not(A\andB) in F & \notB\imp\not(A\andB) in F by Th58; \notA\imp\not(A\andB)\imp(\notB\imp\not(A\andB)\imp (\notA\or\notB\imp\not(A\andB))) in F by Def38; then \notB\imp\not(A\andB)\imp(\notA\or\notB\imp\not(A\andB)) in F by A1,Def38; hence \notA\or\notB\imp\not(A\andB) in F by A1,Def38; end; theorem Th74: \notA\and\notB\imp\not(A\orB) in F proof A1: \not\notA\or\not\notB\imp\not(\notA\and\notB) in F by Th73; A\imp\not\notA in F & B\imp\not\notB in F by Th64; then A\orB\imp\not\notA\or\not\notB in F by Th59; then A\orB\imp\not(\notA\and\notB) in F by A1,Th45; then (\notA\and\notB)\imp\not\not(\notA\and\notB) in F & \not\not(\notA\and\notB)\imp\not(A\orB) in F by Th64,Th58; hence thesis by Th45; end; theorem A\or(B\orC)\imp(A\orB)\orC in F proof A1: A\imp(A\orB)\orC\imp(B\orC\imp(A\orB)\orC\imp(A\or(B\orC)\imp(A\orB)\orC)) in F by Def38; A\impA\orB in F & A\orB\imp(A\orB)\orC in F by Def38; then A\imp(A\orB)\orC in F by Th45; then A2: B\orC\imp(A\orB)\orC\imp(A\or(B\orC)\imp(A\orB)\orC) in F by A1,Def38; B\impA\orB in F & C\impC in F by Def38,Th34; then B\orC\imp(A\orB)\orC in F by Th59; hence thesis by A2,Def38; end; theorem Th76: (A\orB)\orC\iffA\or(B\orC) in F proof A1: A\orB\imp(A\or(B\orC))\imp(C\imp(A\or(B\orC))\imp((A\orB)\orC\imp (A\or(B\orC)))) in F by Def38; B\impB\orC in F & A\impA in F by Def38,Th34; then A\orB\imp(A\or(B\orC)) in F by Th59; then A2: C\impA\or(B\orC)\imp(A\orB\orC\impA\or(B\orC)) in F by A1,Def38; C\impB\orC in F & B\orC\impA\or(B\orC) in F by Def38; then C\impA\or(B\orC) in F by Th45; then A3: (A\orB)\orC\impA\or(B\orC) in F by A2,Def38; A4: A\imp((A\orB)\orC)\imp(B\orC\imp(A\orB\orC)\imp(A\or(B\orC)\imp (A\orB\orC))) in F by Def38; B\impA\orB in F & C\impC in F by Def38,Th34; then B\orC\imp(A\orB\orC) in F by Th59; then A5: A\impA\orB\orC\imp(A\or(B\orC)\impA\orB\orC) in F by A4,Th46; A\impA\orB in F & A\orB\impA\orB\orC in F by Def38; then A\impA\orB\orC in F by Th45; then A\or(B\orC)\impA\orB\orC in F by A5,Def38; hence thesis by A3,Th43; end; theorem A\and(B\andC)\imp(A\andB)\andC in F proof A1: A\and(B\andC)\imp(A\andB)\imp(A\and(B\andC)\impC\imp(A\and(B\andC)\imp (A\andB)\andC)) in F by Th49; A\impA in F & B\andC\impB in F by Def38,Th34; then A\and(B\andC)\imp(A\andB) in F by Th72; then A2: A\and(B\andC)\impC\imp(A\and(B\andC)\imp(A\andB)\andC) in F by A1,Def38; A\and(B\andC)\impB\andC in F & B\andC\impC in F by Def38; then A\and(B\andC)\impC in F by Th45; hence thesis by A2,Def38; end; theorem Th78: (A\andB)\andC\iffA\and(B\andC) in F proof A1: A\andB\andC\impA\imp(A\andB\andC\impB\andC\imp((A\andB)\andC\imp (A\and(B\andC)))) in F by Th49; A\andB\impA in F & A\andB\andC\impA\andB in F by Def38; then A\andB\andC\impA in F by Th45; then A2: A\andB\andC\impB\andC\imp(A\andB\andC\impA\and(B\andC)) in F by A1,Def38; A\andB\impB in F & C\impC in F by Def38,Th34; then A\andB\andC\impB\andC in F by Th72; then A3: (A\andB)\andC\impA\and(B\andC) in F by A2,Def38; A4: (A\and(B\andC))\impA\andB\imp((A\and(B\andC))\impC\imp(A\and(B\andC)\imp (A\andB\andC))) in F by Th49; B\andC\impB in F & A\impA in F by Def38,Th34; then A\and(B\andC)\imp(A\andB) in F by Th72; then A5: (A\and(B\andC))\impC\imp(A\and(B\andC)\imp (A\andB\andC)) in F by A4,Def38; B\andC\impC in F & A\and(B\andC)\impB\andC in F by Def38; then A\and(B\andC)\impC in F by Th45; then (A\and(B\andC)\imp (A\andB\andC)) in F by A5,Def38; hence thesis by A3,Th43; end; theorem Th79: C\or(A\impB)\imp(C\orA\impC\orB) in F proof A1: C\imp(C\orA\impC\orB)\imp((A\impB\imp(C\orA\impC\orB))\imp (C\or(A\impB)\imp(C\orA\impC\orB))) in F by Def38; C\impC\orB in F by Def38; then C\orA\imp(C\impC\orB) in F & C\orA\imp(C\impC\orB)\imp(C\imp(C\orA\impC\orB)) in F by Th44,Th41; then C\imp(C\orA\impC\orB) in F by Def38; then A2: (A\impB\imp(C\orA\impC\orB))\imp(C\or(A\impB)\imp(C\orA\impC\orB)) in F by A1,Def38; A\impB\imp(C\orA\impC\orB) in F by Th60; hence thesis by A2,Def38; end; theorem Th80: (A\orB)\and(A\orC) \imp A\or(B\andC) in F proof B\imp(C\impB\andC) in F & A\impA in F by Def38,Th34; then A\orB\impA\or(C\impB\andC) in F & A\or(C\impB\andC)\imp(A\orC\impA\or(B\andC)) in F by Th59,Th79; then A1: A\orB\imp(A\orC\impA\orB\andC) in F by Th45; A\orB\imp(A\orC\impA\orB\andC)\imp((A\orB)\and(A\orC)\impA\orB\andC) in F by Th48; hence thesis by A1,Def38; end; theorem Th81: A\and(B\orC) \imp (A\andB)\or(A\andC) in F proof set AB =A\andB, AC = A\andC, BC = B\orC; set ABC = A\andBC; A1: (\notA\or\notB)\and(\notA\or\notC) \imp \notA\or(\notB\and\notC) in F by Th80; \not(A\andB)\imp(\notA\or\notB) in F & \not(A\andC)\imp(\notA\or\notC) in F by Th70; then A2: \not(A\andB)\and\not(A\andC)\imp(\notA\or\notB)\and(\notA\or\notC) in F by Th72; \not(A\andB\orA\andC)\imp\not(A\andB)\and\not(A\andC) in F by Th71; then \not(A\andB\orA\andC)\imp(\notA\or\notB)\and(\notA\or\notC) in F by A2,Th45; then A3: \not(A\andB\orA\andC)\imp\notA\or(\notB\and\notC) in F by A1,Th45; \notA\imp\notA in F & \notB\and\notC\imp\not(B\orC) in F by Th34,Th74; then \notA\or(\notB\and\notC)\imp\notA\or\not(B\orC) in F & \notA\or\not(B\orC)\imp\not(A\and(B\orC)) in F by Th73,Th59; then \notA\or(\notB\and\notC)\imp\not(A\and(B\orC)) in F by Th45; then \not(A\andB\orA\andC)\imp\not(A\and(B\orC)) in F by A3,Th45; hence thesis by Th58; end; theorem Th82: A\impB\imp\notA\orB in F proof A1: A\impB\imp(A\impB) in F by Th34; A\impB\imp(A\impB)\imp((A\impB)\andA\impB) in F by Th48; then (A\impB)\andA\impB in F & \notA\imp\notA in F by A1,Def38,Th34; then A2: \notA\or(A\impB)\andA\imp\notA\orB in F by Th59; (\notA\or(A\impB))\and(\notA\orA)\imp(\notA\or(A\impB)\andA) in F by Th80; then A3: (\notA\or(A\impB))\and(\notA\orA)\imp\notA\orB in F by A2,Th45; (\notA\orA)\and(\notA\or(A\impB))\imp((\notA\or(A\impB))\and(\notA\orA)) in F by Th50; then A4: (\notA\orA)\and(\notA\or(A\impB))\imp\notA\orB in F by A3,Th45; ((\notA\orA)\and(\notA\or(A\impB))\imp\notA\orB)\imp ((\notA\orA)\imp((\notA\or(A\impB))\imp\notA\orB)) in F by Th47; then A5: (\notA\orA)\imp((\notA\or(A\impB))\imp\notA\orB) in F by A4,Def38; A\or\notA in F & A\or\notA\imp\notA\orA in F by Def38,Th36; then \notA\orA in F by Def38; then A6: (\notA\or(A\impB))\imp\notA\orB in F by A5,Def38; (A\impB)\imp(\notA\or(A\impB)) in F by Def38; hence thesis by A6,Th45; end; theorem A\impB\imp\not(A\and\notB) in F proof A1: A\impB\imp\notA\orB in F by Th82; \notA\imp\notA in F & B\imp\not\notB in F by Th64,Th34; then \notA\orB\imp\notA\or\not\notB in F by Th59; then A2: A\impB\imp\notA\or\not\notB in F by A1,Th45; \notA\or\not\notB\imp\not(A\and\notB) in F by Th73; hence thesis by A2,Th45; end; theorem Th84: B\or\notC\andC\impB in F proof (C\and\notC\impB) in F & \notC\andC\impC\and\notC in F by Th50,Def38; then \notC\andC\impB in F & B\impB in F by Th34,Th45; then B\or\notC\andC\impB\orB in F & B\orB\impB in F by Th59,Th52; hence B\or\notC\andC\impB in F by Th45; end; theorem Th85: B\orC\and\notC\impB in F proof (C\and\notC\impB) in F & B\impB in F by Th34,Def38; then B\orC\and\notC\impB\orB in F & B\orB\impB in F by Th59,Th52; hence B\orC\and\notC\impB in F by Th45; end; theorem Th86: A\iffB\impA\andB\or\notA\and\notB in F proof A1: (A\iffB)\imp(A\impB) in F & (A\iffB)\imp(B\impA) in F by Def38; A\impB\imp\notA\orB in F & B\impA\imp\notB\orA in F by Th82; then A2: (A\iffB)\imp\notA\orB in F & (A\iffB)\imp\notB\orA in F by A1,Th45; (A\iffB)\imp\notA\orB\imp((A\iffB)\imp\notB\orA\imp((A\iffB)\imp (\notA\orB)\and(\notB\orA))) in F by Th49; then (A\iffB)\imp\notB\orA\imp((A\iffB)\imp(\notA\orB)\and(\notB\orA)) in F by A2,Def38; then A3: (A\iffB)\imp(\notA\orB)\and(\notB\orA) in F by A2,Def38; A4: (\notA\orB)\and(\notB\orA) \imp (\notA\orB)\and\notB\or(\notA\orB)\andA in F by Th81; (\notA\orB)\and\notB \imp \notB\and(\notA\orB) in F & \notB\and(\notA\orB)\imp\notB\and\notA\or\notB\andB in F by Th50,Th81;then (\notA\orB)\and\notB \imp \notB\and\notA\or\notB\andB in F & \notB\and\notA\or\notB\andB\imp\notB\and\notA in F by Th45,Th84; then A5: (\notA\orB)\and\notB \imp \notB\and\notA in F by Th45; (\notA\orB)\andA \imp A\and(\notA\orB) in F & A\and(\notA\orB)\impA\and\notA\orA\andB in F by Th50,Th81;then (\notA\orB)\andA \imp A\and\notA\orA\andB in F & A\and\notA\orA\andB \imp A\andB\orA\and\notA in F by Th36,Th45; then (\notA\orB)\andA \imp A\andB\orA\and\notA in F & A\andB\orA\and\notA\impA\andB in F by Th45,Th85; then (\notA\orB)\andA \imp A\andB in F by Th45; then (\notA\orB)\and\notB\or(\notA\orB)\andA \imp \notB\and\notA\orA\andB in F by A5,Th59; then (\notA\orB)\and(\notB\orA) \imp \notB\and\notA\orA\andB in F by A4,Th45; then A6: (A\iffB)\imp\notB\and\notA\orA\andB in F by A3,Th45; \notB\and\notA\imp\notA\and\notB in F & A\andB\impA\andB in F by Th34,Th50; then \notB\and\notA\orA\andB \imp \notA\and\notB\orA\andB in F & \notA\and\notB\orA\andB \imp A\andB\or\notA\and\notB in F by Th36,Th59;then \notB\and\notA\orA\andB \imp A\andB\or\notA\and\notB in F by Th45; hence thesis by A6,Th45; end; theorem A\iffB\imp(A\or\notB)\and(\notA\orB) in F proof \notA\and(A\or\notB) \imp (A\or\notB)\and\notA in F & B\and(A\or\notB) \imp (A\or\notB)\andB in F by Th50; then (A\or\notB)\and\notA\or(A\or\notB)\andB\imp(A\or\notB)\and(\notA\orB) in F& \notA\and(A\or\notB)\orB\and(A\or\notB) \imp (A\or\notB)\and\notA\or(A\or\notB)\andB in F by Th54,Th59; then A1: \notA\and(A\or\notB)\orB\and(A\or\notB)\imp(A\or\notB)\and(\notA\orB) in F by Th45; (\notA\andA)\or(\notA\and\notB)\imp\notA\and(A\or\notB) in F & (B\andA)\or(B\and\notB)\impB\and(A\or\notB) in F & (\notA\and\notB)\imp(\notA\andA)\or(\notA\and\notB) in F & (B\andA)\imp(B\andA)\or(B\and\notB) in F by Def38,Th54; then (\notA\and\notB)\imp\notA\and(A\or\notB) in F & (B\andA)\impB\and(A\or\notB) in F by Th45; then (\notA\and\notB)\or(B\andA)\imp\notA\and(A\or\notB)\orB\and(A\or\notB) in F by Th59; then A2: (\notA\and\notB)\or(B\andA)\imp(A\or\notB)\and(\notA\orB) in F by A1,Th45; A\andB\impB\andA in F & \notA\and\notB\imp\notA\and\notB in F by Th34,Th50; then (\notA\and\notB)\or(A\andB)\imp(\notA\and\notB)\or(B\andA) in F & (A\andB)\or(\notA\and\notB)\imp(\notA\and\notB)\or(A\andB) in F by Th36,Th59; then A\andB\or\notA\and\notB\imp(\notA\and\notB)\or(B\andA) in F by Th45; then A3: A\andB\or\notA\and\notB\imp(A\or\notB)\and(\notA\orB) in F by A2,Th45; A\iffB\impA\andB\or\notA\and\notB in F by Th86; hence thesis by A3,Th45; end; theorem \not(A\and\notA) in F proof \notA\imp\notA in F & A\imp\not\notA in F by Th34,Th64; then \notA\andA\imp\notA\and\not\notA in F & \notA\and\not\notA\imp\not(A\or\notA) in F by Th74,Th72; then \notA\andA\imp\not(A\or\notA) in F by Th45; then \not\not(A\or\notA)\imp\not(\notA\andA) in F & A\or\notA\imp\not\not(A\or\notA) in F by Th64,Th58; then (A\or\notA)\imp\not(\notA\andA) in F & A\or\notA in F by Th45,Def38; then A1: \not(\notA\andA) in F by Def38; A\and\notA\imp\notA\andA in F by Th50; then \not(\notA\andA)\imp\not(A\and\notA) in F by Th58; hence thesis by Def38,A1; end; theorem A\iffA in F proof A1: (A\impA)\and(A\impA)\imp(A\iffA) in F by Def38; A\impA in F by Th34; then (A\impA)\and(A\impA) in F by Th35; hence thesis by A1,Def38; end; theorem Th90: A\iffB in F implies B\iffA in F proof assume A1: A\iffB in F; A\iffB\imp(A\impB) in F & A\iffB\imp(B\impA) in F by Def38; then A\impB in F & B\impA in F by A1,Def38; then A2: (B\impA)\and(A\impB) in F by Th35; (B\impA)\and(A\impB)\imp(B\iffA) in F by Def38; hence thesis by A2,Def38; end; theorem Th91: A\iffB in F & B\iffC in F implies A\iffC in F proof assume A1: A\iffB in F & B\iffC in F; A\iffB\imp(A\impB) in F & A\iffB\imp(B\impA) in F & B\iffC\imp(B\impC) in F & B\iffC\imp(C\impB) in F by Def38; then A\impB in F & B\impA in F & C\impB in F & B\impC in F by A1,Def38; then A\impC in F & C\impA in F by Th45; then A2: (A\impC)\and(C\impA) in F by Th35; (A\impC)\and(C\impA)\imp(A\iffC) in F by Def38; hence thesis by A2,Def38; end; theorem Th92: A\iffB in F & B\impC in F implies A\impC in F proof assume A1: A\iffB in F & B\impC in F; A\iffB\imp(A\impB) in F & A\iffB\imp(B\impA) in F & B\iffC\imp(B\impC) in F & B\iffC\imp(C\impB) in F by Def38; then A\impB in F by A1,Def38; hence thesis by A1,Th45; end; theorem Th93: A\impB in F & B\iffC in F implies A\impC in F proof assume A1: A\impB in F & B\iffC in F; A\iffB\imp(A\impB) in F & A\iffB\imp(B\impA) in F & B\iffC\imp(B\impC) in F & B\iffC\imp(C\impB) in F by Def38; then B\impC in F by A1,Def38; hence thesis by A1,Th45; end; theorem Th94: A\iffB in F iff \notA\iff\notB in F proof hereby assume A1: A\iffB in F; A\iffB\imp(A\impB) in F & A\iffB\imp(B\impA) in F by Def38; then A\impB in F & B\impA in F & A\impB\imp(\notB\imp\notA) in F & B\impA\imp(\notA\imp\notB) in F by A1,Def38,Th57; then \notA\imp\notB in F & \notB\imp\notA in F by Def38; then (\notA\imp\notB)\and(\notB\imp\notA) in F & (\notA\imp\notB)\and(\notB\imp\notA)\imp(\notA\iff\notB) in F by Def38,Th35; hence \notA\iff\notB in F by Def38; end; assume A2: \notA\iff\notB in F; \notA\iff\notB\imp(\notA\imp\notB) in F & \notA\iff\notB\imp(\notB\imp\notA) in F by Def38; then \notA\imp\notB in F & \notB\imp\notA in F & \notA\imp\notB\imp(B\impA) in F & \notB\imp\notA\imp(A\impB) in F by A2,Def38; then A\impB in F & B\impA in F by Def38; then (A\impB)\and(B\impA) in F & (A\impB)\and(B\impA)\imp(A\iffB) in F by Def38,Th35; hence A\iffB in F by Def38; end; theorem Th95: A\iffB in F iff \not\notA\iffB in F proof \not\notA\impA in F & A\imp\not\notA in F by Th64,Th65; then (\not\notA\impA)\and(A\imp\not\notA) in F & (\not\notA\impA)\and(A\imp\not\notA)\imp(\not\notA\iffA) in F by Th35,Def38; then A1: \not\notA\iffA in F by Def38; then A\iff\not\notA in F by Th90; hence thesis by A1,Th91; end; theorem Th96: A\imp(B\impC) in F & D\impB in F implies A\imp(D\impC) in F proof assume A1: A\imp(B\impC) in F & D\impB in F; (A\imp(B\impC))\imp(B\imp(A\impC)) in F by Th41; then B\imp(A\impC) in F by A1,Def38; then A2: D\imp(A\impC) in F by A1,Th45; (D\imp(A\impC))\imp(A\imp(D\impC)) in F by Th41; hence thesis by A2,Def38; end; theorem Th97: A\iffB\andC in F & C\iffD in F implies A\iffB\andD in F proof assume A1: A\iffB\andC in F; then A2: B\andC\iffA in F by Th90; assume C\iffD in F; then C\impD in F & D\impC in F & B\impB in F by Th43,Th34; then B\andC\impB\andD in F & B\andD\impB\andC in F by Th72; then A\impB\andD in F & B\andD\impA in F by A1,A2,Th92,Th93; hence A\iffB\andD in F by Th43; end; theorem Th98: A\iffB\andC in F & B\iffD in F implies A\iffD\andC in F proof assume A1: A\iffB\andC in F; then A2: B\andC\iffA in F by Th90; assume B\iffD in F; then B\impD in F & D\impB in F & C\impC in F by Th43,Th34; then B\andC\impD\andC in F & D\andC\impB\andC in F by Th72; then A\impD\andC in F & D\andC\impA in F by A1,A2,Th92,Th93; hence A\iffD\andC in F by Th43; end; theorem Th99: A\iffB\orC in F & C\iffD in F implies A\iffB\orD in F proof assume A1: A\iffB\orC in F; then A2: B\orC\iffA in F by Th90; assume C\iffD in F; then C\impD in F & D\impC in F & B\impB in F by Th43,Th34; then B\orC\impB\orD in F & B\orD\impB\orC in F by Th59; then A\impB\orD in F & B\orD\impA in F by A1,A2,Th92,Th93; hence A\iffB\orD in F by Th43; end; theorem Th100: A\iffB\orC in F & B\iffD in F implies A\iffD\orC in F proof assume A1: A\iffB\orC in F; then A2: B\orC\iffA in F by Th90; assume B\iffD in F; then B\impD in F & D\impB in F & C\impC in F by Th43,Th34; then B\orC\impD\orC in F & D\orC\impB\orC in F by Th59; then A\impD\orC in F & D\orC\impA in F by A1,A2,Th92,Th93; hence A\iffD\orC in F by Th43; end; theorem Th101: A\impB in F implies B\impC\imp(A\impC) in F proof A\impB\imp(B\impC\imp(A\impC)) in F by Th39; hence thesis by Def38; end; theorem Th102: A\impB in F implies C\impA\imp(C\impB) in F proof C\impA\imp(A\impB\imp(C\impB)) in F by Th39; then A\impB\imp(C\impA\imp(C\impB)) in F by Th38; hence thesis by Def38; end; theorem Th103: A\impB in F & C\impD in F implies B\impC\imp(A\impD) in F proof assume A\impB in F & C\impD in F; then B\impC\imp(A\impC) in F & A\impC\imp(A\impD) in F by Th101,Th102; hence thesis by Th45; end; begin :: Quantifier calculus reserve J for non empty non void Signature, T for non-empty MSAlgebra over J, X for non empty-yielding GeneratorSet of T, S1 for J-extension non empty non void n PC-correct QC-correct QCLangSignature over Union X, L for non-empty Language of X extended_by ({},the carrier of S1), S1, G for QC-theory of L, A,B,C,D for Formula of L; reserve x,y,z for Element of Union X; reserve x0,y0,z0 for Element of Union (X extended_by ({},the carrier of S1)); theorem Th104: L is subst-correct implies \for(x,A)\impA in G proof set Y = X extended_by ({},the carrier of S1); assume A1: L is subst-correct; consider a being object such that A2: a in dom X & x in X.a by CARD_5:2; J is Subsignature of S1 by Def2; then A3: the carrier of J c= the carrier of S1 & dom Y = the carrier of S1 & dom X = the carrier of J by PARTFUN1:def 2,INSTALG1:10; then reconsider a as SortSymbol of S1 by A2; A4: x in Y.a by A2,A3,Th1; then reconsider x0 = x as Element of Union Y by A3,CARD_5:2; X c= the Sorts of T by PBOOLE:def 18; then X.a c= (the Sorts of T).a = (the Sorts of L).a by A2,Th16; then reconsider t = x as Element of (the Sorts of L).a by A2; Y is ManySortedSubset of the Sorts of L by Th23; then A/(x0,t) = A/(x0,x0) by A4,Th14 .= A by A4,A1; hence thesis by A2,A4,Def39; end; theorem Th105: \ex(x,A)\iff\not\for(x,\notA) in G proof \not\ex(x,A)\iff\for(x,\notA) in G by Def39; then \not\not\ex(x,A)\iff\not\for(x,\notA) in G by Th94; hence \ex(x,A)\iff\not\for(x,\notA) in G by Th95; end; theorem Th106: \for(x,A)\iff\not\ex(x,\notA) in G proof \ex(x,\notA)\iff\not\for(x,A) in G by Def39; then \not\for(x,A)\iff\ex(x,\notA) in G by Th90; then \not\not\for(x,A)\iff\not\ex(x,\notA) in G by Th94; hence \for(x,A)\iff\not\ex(x,\notA) in G by Th95; end; theorem Th107: L is subst-correct implies \for(x,A\impB)\imp(\for(x,A)\impB) in G proof set Y = X extended_by ({},the carrier of S1); consider a being object such that A1: a in dom X & x in X.a by CARD_5:2; J is Subsignature of S1 by Def2; then A2: the carrier of J c= the carrier of S1 & dom Y = the carrier of S1 & dom X = the carrier of J by PARTFUN1:def 2,INSTALG1:10; reconsider a as SortSymbol of J by A1; A3: x in Y.a by A1,A2,Th1; A4: X.a is Subset of (the Sorts of T).a by Th13; A5: Y is ManySortedSubset of the Sorts of L by Th23; then x in Union X = Union Y c= Union the Sorts of L by Th24,MSAFREE4:1,PBOOLE:def 18; then reconsider t = x as Element of Union the Sorts of L; A6: (the Sorts of T).a = (the Sorts of L).a by Th16; reconsider x0 = x as Element of Union Y by Th24; assume L is subst-correct; then A/(x0,x0) = A & (A\impB)/(x0,x0) = A\impB by A1,A2,A3; then A/(x0,t) = A & (A\impB)/(x0,t) = A\impB by A5,A1,A2,A3,Th14; then \for(x,A\impB)\imp(A\impB) in G & \for(x,A)\impA in G by A6,A1,A4,A3,Def39; hence \for(x,A\impB)\imp(\for(x,A)\impB) in G by Th96; end; theorem Th108: for a being SortSymbol of J st x in X.a & x nin (vf A).a & \for(x,A\impB) in G holds A\imp\for(x,B) in G proof let a be SortSymbol of J; assume A1: x in X.a & x nin (vf A).a & \for(x,A\impB) in G; then \for(x,A\impB)\imp(A\imp\for(x,B)) in G by Def39; hence thesis by Def38,A1; end; :: x nin (vf A).a implies \for(x,A\impB)\imp(A\imp\for(x,B)) in G by AX2; theorem Th109: L is subst-correct vf-qc-correct implies \for(x,A\impB)\imp(\for(x,A)\imp\for(x,B)) in G proof set Y = X extended_by ({},the carrier of S1); consider a being object such that A1: a in dom X & x in X.a by CARD_5:2; J is Subsignature of S1 by Def2; then dom X = the carrier of J c= the carrier of S1 = dom Y by INSTALG1:10,PARTFUN1:def 2; then reconsider a as SortSymbol of S1 by A1; assume A2: L is subst-correct vf-qc-correct; then \for(x,A\impB)\imp(\for(x,A)\impB) in G by Th107; then A3: \for(x,\for(x,A\impB)\imp(\for(x,A)\impB)) in G by Def39; A4: vf \for(x,A\impB) = vf(A\impB) (\) a-singleton x & x in {x} by A1,A2,TARSKI:def 1; then (vf \for(x,A\impB)).a = (vf(A\impB)).a \ (a-singleton x).a by PBOOLE:def 6 .= (vf(A\impB)).a \ {x} by AOFA_A00:6; then x nin (vf \for(x,A\impB)).a by A4,XBOOLE_0:def 5; then A5: \for(x,A\impB)\imp\for(x,\for(x,A)\impB) in G by A1,A3,Th108; A6: vf \for(x,A) = vf A (\) a-singleton x & x in {x} by A1,A2,TARSKI:def 1; then (vf \for(x,A)).a = (vf(A)).a \ (a-singleton x).a by PBOOLE:def 6 .= (vf(A)).a \ {x} by AOFA_A00:6; then x nin (vf \for(x,A)).a by A6,XBOOLE_0:def 5; then \for(x,\for(x,A)\impB)\imp(\for(x,A)\imp\for(x,B)) in G by A1,Def39; hence thesis by A5,Th45; end; theorem Th110: L is subst-correct implies for a being SortSymbol of J st x in X.a & y in X.a & x0 = x & y0 = y holds A/(x0,y0)\imp\ex(x,A) in G proof set Y = X extended_by ({},the carrier of S1); assume A1: L is subst-correct; let a be SortSymbol of J such that A2: x in X.a & y in X.a & x0 = x & y0 = y; J is Subsignature of S1 by Def2; then the carrier of J c= the carrier of S1 by INSTALG1:10; then A3: a in the carrier of S1 & X c= the Sorts of T & dom the Sorts of L = the carrier of S1 by PARTFUN1:def 2,PBOOLE:def 18; then (the Sorts of L).a in rng the Sorts of L & (the Sorts of L).a = (the Sorts of T).a by Th16,FUNCT_1:def 3; then A4: X.a c= (the Sorts of T).a = (the Sorts of L).a c= Union the Sorts of L by A3,ZFMISC_1:74; then reconsider t = y as Element of Union the Sorts of L by A2; A5: a is SortSymbol of S1 by Th8; then A6: x in Y.a & y in Y.a by A2,Th2; A7: Y is ManySortedSubset of the Sorts of L by Th23; \for(x,\notA)\imp((\notA)/(x0,t)) in G by A2,A4,A6,Def39; then \for(x,\notA)\imp((\notA)/(x0,y0)) in G by A2,A6,A7,A5,Th14; then \not((\notA)/(x0,y0))\imp\not\for(x,\notA) in G by Th58; then \not\not(A/(x0,y0))\imp\not\for(x,\notA) in G & (A/(x0,y0))\imp\not\not(A/(x0,y0)) in G & \ex(x,A)\iff\not\for(x,\notA) in G & \ex(x,A)\iff\not\for(x,\notA)\imp(\not\for(x,\notA)\imp\ex(x,A)) in G by A1,A2,A6,A7,A5,Th27,Def38,Th64,Th105; then (A/(x0,y0))\imp\not\for(x,\notA) in G & \not\for(x,\notA)\imp\ex(x,A) in G by Th45,Def38; hence thesis by Th45; end; theorem Th111: L is subst-correct vf-qc-correct implies \ex(x,y,A)\iff\not\for(x,y,\notA) in G proof assume A1: L is subst-correct vf-qc-correct; A2: \ex(x,y,A)\iff\not\for(x,\not\ex(y,A)) in G by Th105; \ex(y,A)\iff\not\for(y,\notA) in G & \for(y,\notA)\iff\not\not\for(y,\notA) in G by Th66,Th105; then \not\ex(y,A)\iff\not\not\for(y,\notA) in G & \not\not\for(y,\notA)\iff\for(y,\notA) in G by Th90,Th94; then \not\ex(y,A)\iff\for(y,\notA) in G by Th91; then \not\ex(y,A)\imp\for(y,\notA) in G & \for(y,\notA)\imp\not\ex(y,A) in G by Th43; then A3: \for(x,\not\ex(y,A)\imp\for(y,\notA)) in G & \for(x,\for(y,\notA)\imp\not\ex(y,A)) in G by Def39; \for(x,\not\ex(y,A)\imp\for(y,\notA))\imp (\for(x,\not\ex(y,A))\imp\for(x,\for(y,\notA))) in G & \for(x,\for(y,\notA)\imp\not\ex(y,A))\imp (\for(x,\for(y,\notA))\imp\for(x,\not\ex(y,A))) in G by A1,Th109; then \for(x,\not\ex(y,A))\imp\for(x,\for(y,\notA)) in G & \for(x,\for(y,\notA))\imp\for(x,\not\ex(y,A)) in G by A3,Def38; then \for(x,\not\ex(y,A))\iff\for(x,y,\notA) in G by Th43; then \not\for(x,\not\ex(y,A))\iff\not\for(x,y,\notA) in G by Th94; hence thesis by A2,Th91; end; theorem Th112: L is subst-correct implies A\imp\ex(x,A) in G proof set Y = X extended_by ({},the carrier of S1); assume A1: L is subst-correct; consider a being object such that A2: a in dom X & x in X.a by CARD_5:2; reconsider a as SortSymbol of J by A2; A3: x in X.a & a is SortSymbol of S1 by A2,Th8; then A4: x in Y.a & dom Y = the carrier of S1 by Th2,PARTFUN1:def 2; then reconsider x0 = x as Element of Union Y by A3,CARD_5:2; A/(x0,x0)\imp\ex(x,A) in G by A1,A2,Th110; hence thesis by A1,A3,A4; end; theorem Th113: L is vf-qc-correct implies for a being SortSymbol of S1 st x in X.a holds x nin (vf \for(x,A)).a proof set Y = X extended_by ({},the carrier of S1); assume A1: L is vf-qc-correct; let a be SortSymbol of S1; assume x in X.a; then vf \for(x,A) = (vf A)(\)(a-singleton x) by A1; then A2: (vf \for(x,A)).a = ((vf A).a) \ ((a-singleton x).a) by PBOOLE:def 6 .= (vf A).a \ {x} by AOFA_A00:6; x in {x} by TARSKI:def 1; hence thesis by A2,XBOOLE_0:def 5; end; theorem Th114: L is vf-qc-correct implies for a being SortSymbol of S1 st x in X.a holds x nin (vf \ex(x,A)).a proof assume A1: L is vf-qc-correct; let a be SortSymbol of S1; assume x in X.a; then vf \ex(x,A) = (vf A)(\)(a-singleton x) by A1; then A2: (vf \ex(x,A)).a = ((vf A).a) \ ((a-singleton x).a) by PBOOLE:def 6 .= (vf A).a \ {x} by AOFA_A00:6; x in {x} by TARSKI:def 1; hence thesis by A2,XBOOLE_0:def 5; end; theorem Th115: L is subst-correct vf-qc-correct & A\impB in G implies (\for(x,A)\imp\for(x,B)) in G proof assume A1: L is subst-correct vf-qc-correct; assume A\impB in G; then A2: \for(x,A\impB) in G by Def39; \for(x,A\impB)\imp(\for(x,A)\imp\for(x,B)) in G by A1,Th109; hence thesis by A2,Def38; end; theorem L is subst-correct vf-qc-correct implies \for(x,\notA\imp\notB)\imp(\for(x,B)\imp\for(x,A)) in G proof assume A1: L is subst-correct vf-qc-correct; (\notA\imp\notB)\imp(B\impA) in G by Def38; then A2: \for(x,\notA\imp\notB)\imp(\for(x,B\impA)) in G by A1,Th115; \for(x,B\impA)\imp(\for(x,B)\imp\for(x,A)) in G by A1,Th109; hence \for(x,\notA\imp\notB)\imp(\for(x,B)\imp\for(x,A)) in G by A2,Th45; end; theorem Th117: L is subst-correct vf-qc-correct implies \for(x,A\impB)\imp(\for(x,\notB)\imp\for(x,\notA)) in G proof assume A1: L is subst-correct vf-qc-correct; (A\impB)\imp(\notB\imp\notA) in G by Th57; then A2: \for(x,A\impB)\imp(\for(x,\notB\imp\notA)) in G by A1,Th115; \for(x,\notB\imp\notA)\imp(\for(x,\notB)\imp\for(x,\notA)) in G by A1,Th109; hence \for(x,A\impB)\imp(\for(x,\notB)\imp\for(x,\notA)) in G by A2,Th45; end; theorem L is subst-correct vf-qc-correct & A\iffB in G implies \for(x,A)\iff\for(x,B) in G proof assume A1: L is subst-correct vf-qc-correct; set p = A\impB, q = B\impA, pq = A\iffB; set a = \for(x,pq), b = \for(x,p), c = \for(x,A)\imp\for(x,B); pq\impp in G by Def38; then A2: a\impb in G by A1,Th115; b\impc in G by A1,Th109; then A3: (\for(x,pq))\imp(\for(x,A)\imp\for(x,B)) in G by A2,Th45; (A\iffB)\imp(B\impA) in G by Def38; then A4: \for(x,A\iffB)\imp\for(x,B\impA) in G by A1,Th115; \for(x,B\impA)\imp(\for(x,B)\imp\for(x,A)) in G by A1,Th109; then A5: \for(x,A\iffB)\imp(\for(x,B)\imp\for(x,A)) in G by A4,Th45; ((\for(x,A\iffB))\imp(\for(x,A)\imp\for(x,B)))\imp ((\for(x,A\iffB)\imp(\for(x,B)\imp\for(x,A)))\imp (\for(x,A\iffB)\imp((\for(x,A)\imp\for(x,B))\and(\for(x,B)\imp\for(x,A))))) in G by Th49; then ((\for(x,A\iffB)\imp(\for(x,B)\imp\for(x,A)))\imp (\for(x,A\iffB)\imp((\for(x,A)\imp\for(x,B))\and(\for(x,B)\imp\for(x,A))))) in G by A3,Def38; then A6: \for(x,A\iffB)\imp((\for(x,A)\imp\for(x,B))\and(\for(x,B)\imp\for(x,A))) in G by A5,Def38; (\for(x,A)\imp\for(x,B))\and(\for(x,B)\imp\for(x,A))\imp (\for(x,A)\iff\for(x,B)) in G by Def38; then A7: \for(x,A\iffB)\imp(\for(x,A)\iff\for(x,B)) in G by A6,Th45; assume A\iffB in G; then \for(x,A\iffB) in G by Def39; hence thesis by A7,Def38; end; theorem \ex(x,\notA)\iff\not\for(x,A) in G by Def39; theorem Th120: L is subst-correct vf-qc-correct implies for a being SortSymbol of J st x in X.a & x nin (vf B).a holds \for(x,A\impB)\imp(\ex(x,A)\impB) in G proof set Y = X extended_by ({},the carrier of S1); assume A1: L is subst-correct vf-qc-correct; let a be SortSymbol of J;assume A2: x in X.a & x nin (vf B).a; A3: (A\impB)\imp(\notB\imp\notA) in G by Th57; A4: \for(x,A\impB)\imp\for(x,\notB\imp\notA) in G by A1,A3,Th115; x nin (vf \notB).a by A1,A2; then \for(x,\notB\imp\notA)\imp(\notB\imp\for(x,\notA)) in G by A2,Def39; then A5: \for(x,A\impB)\imp(\notB\imp\for(x,\notA)) in G by A4,Th45; \not\ex(x,A)\iff\for(x,\notA) in G & \not\ex(x,A)\iff\for(x,\notA)\imp (\for(x,\notA)\imp\not\ex(x,A)) in G by Def39,Def38; then \for(x,\notA)\imp\not\ex(x,A) in G by Def38; then A6: \for(x,A\impB)\imp(\notB\imp\not\ex(x,A)) in G by A5,Th69; (\notB\imp\not\ex(x,A))\imp(\ex(x,A)\impB) in G by Def38; hence thesis by A6,Th45; end; theorem Th121: L is subst-correct vf-qc-correct implies \for(x,A\impB)\imp(\ex(x,A)\imp\ex(x,B)) in G proof assume A1: L is subst-correct vf-qc-correct; A2: \for(x,A\impB)\imp(\for(x,\notB)\imp\for(x,\notA)) in G by A1,Th117; \for(x,\notB)\imp\for(x,\notA)\imp(\not\for(x,\notA)\imp\not\for(x,\notB)) in G by Th57; then A3: \for(x,A\impB)\imp(\not\for(x,\notA)\imp\not\for(x,\notB)) in G by A2,Th45; \not\ex(x,A)\iff\for(x,\notA) in G by Def39; then \for(x,\notA)\imp\not\ex(x,A) in G by Th43; then \not\not\ex(x,A)\imp\not\for(x,\notA) in G & \ex(x,A)\imp\not\not\ex(x,A) in G by Th64,Th58; then A4: \ex(x,A)\imp\not\for(x,\notA) in G by Th45; \not\ex(x,B)\iff\for(x,\notB) in G by Def39; then \not\ex(x,B)\imp\for(x,\notB) in G by Th43; then \not\for(x,\notB)\imp\not\not\ex(x,B) in G & (\not\not\ex(x,B))\imp\ex(x,B) in G by Th65,Th58; then \not\for(x,\notB)\imp\ex(x,B) in G by Th45; then \not\for(x,\notA)\imp\not\for(x,\notB)\imp(\ex(x,A)\imp\ex(x,B)) in G by A4,Th103; hence \for(x,A\impB)\imp(\ex(x,A)\imp\ex(x,B)) in G by A3,Th45; end; theorem Th122: L is subst-correct vf-qc-correct implies \for(x,\notA)\iff\not\ex(x,A) in G proof assume A1: L is subst-correct vf-qc-correct; A\imp\not\notA in G by Th64; then \for(x,A\imp\not\notA) in G & \for(x,A\imp\not\notA)\imp(\ex(x,A)\imp\ex(x,\not\notA)) in G by A1,Def39,Th121; then A2: \ex(x,A)\imp\ex(x,\not\notA) in G by Def38; \not\notA\impA in G by Th65; then \for(x,\not\notA\impA) in G & \for(x,\not\notA\impA)\imp(\ex(x,\not\notA)\imp\ex(x,A)) in G by A1,Def39,Th121; then \ex(x,\not\notA)\imp\ex(x,A) in G by Def38; then \ex(x,A)\iff\ex(x,\not\notA) in G & \ex(x,\not\notA)\iff\not\for(x,\notA) in G by Def39,A2,Th43; then \ex(x,A)\iff\not\for(x,\notA) in G by Th91; then \not\for(x,\notA)\iff\ex(x,A) in G by Th90; then \not\not\for(x,\notA)\iff\not\ex(x,A) in G by Th94; hence \for(x,\notA)\iff\not\ex(x,A) in G by Th95; end; theorem L is subst-correct vf-qc-correct implies \for(x,y,A)\iff\not\ex(x,y,\notA) in G proof assume A1: L is subst-correct vf-qc-correct; A2: \for(x,y,A)\iff\not\ex(x,\not\for(y,A)) in G by Th106; \for(y,A)\iff\not\ex(y,\notA) in G & \ex(y,\notA)\iff\not\not\ex(y,\notA) in G by Th66,Th106; then \not\for(y,A)\iff\not\not\ex(y,\notA) in G & \not\not\ex(y,\notA)\iff\ex(y,\notA) in G by Th90,Th94; then \not\for(y,A)\iff\ex(y,\notA) in G by Th91; then \not\for(y,A)\imp\ex(y,\notA) in G & \ex(y,\notA)\imp\not\for(y,A) in G by Th43; then A3: \for(x,\not\for(y,A)\imp\ex(y,\notA)) in G & \for(x,\ex(y,\notA)\imp\not\for(y,A)) in G by Def39; \for(x,\not\for(y,A)\imp\ex(y,\notA))\imp (\ex(x,\not\for(y,A))\imp\ex(x,\ex(y,\notA))) in G & \for(x,\ex(y,\notA)\imp\not\for(y,A))\imp (\ex(x,\ex(y,\notA))\imp\ex(x,\not\for(y,A))) in G by A1,Th121; then \ex(x,\not\for(y,A))\imp\ex(x,\ex(y,\notA)) in G & \ex(x,\ex(y,\notA))\imp\ex(x,\not\for(y,A)) in G by A3,Def38; then \ex(x,\not\for(y,A))\iff\ex(x,y,\notA) in G by Th43; then \not\ex(x,\not\for(y,A))\iff\not\ex(x,y,\notA) in G by Th94; hence thesis by A2,Th91; end; theorem L is subst-correct vf-qc-correct implies \for(x,A)\iff\for(x,\not\notA) in G proof assume A1: L is subst-correct vf-qc-correct; A\imp\not\notA in G & \not\notA\impA in G by Th65,Th64; then \for(x,A)\imp\for(x,\not\notA) in G & \for(x,\not\notA)\imp\for(x,A) in G by A1,Th115; then A2: (\for(x,A)\imp\for(x,\not\notA))\and (\for(x,\not\notA)\imp\for(x,A)) in G by Th35; (\for(x,A)\imp\for(x,\not\notA))\and (\for(x,\not\notA)\imp\for(x,A))\imp(\for(x,A)\iff\for(x,\not\notA)) in G by Def38; hence thesis by A2,Def38; end; theorem Th125: L is subst-correct vf-qc-correct implies \for(x,A\andB)\imp(\for(x,A)\and\for(x,B)) in G proof assume A1: L is subst-correct vf-qc-correct; A\andB\impA in G by Def38; then A2: \for(x,A\andB)\imp\for(x,A) in G by A1,Th115; A\andB\impB in G by Def38; then A3: \for(x,A\andB)\imp\for(x,B) in G by A1,Th115; \for(x,A\andB)\imp\for(x,A)\imp(\for(x,A\andB)\imp\for(x,B)\imp (\for(x,A\andB)\imp\for(x,A)\and\for(x,B))) in G by Th49; then (\for(x,A\andB)\imp\for(x,B)\imp (\for(x,A\andB)\imp\for(x,A)\and\for(x,B))) in G by A2,Def38; hence thesis by A3,Def38; end; theorem Th126: L is vf-qc-correct subst-correct implies (\for(x,A)\and\for(x,B))\imp\for(x,A\andB) in G proof set Y = X extended_by ({},the carrier of S1); assume A1: L is vf-qc-correct subst-correct; then \for(x,A)\impA in G & \for(x,B)\impB in G by Th104; then \for(x,A)\and\for(x,B)\imp(A\andB) in G by Th72; then A2: \for(x,\for(x,A)\and\for(x,B)\imp(A\andB)) in G by Def39; consider a being object such that A3: a in dom X & x in X.a by CARD_5:2; J is Subsignature of S1 by Def2; then A4: dom X = the carrier of J c= the carrier of S1 = dom Y by INSTALG1:10,PARTFUN1:def 2; reconsider a as SortSymbol of J by A3; x nin (vf \for(x,A)).a & x nin (vf \for(x,B)).a by A1,A3,A4,Th113; then x nin (vf \for(x,A)).a \/ (vf \for(x,B)).a by XBOOLE_0:def 3; then x nin ((vf \for(x,A)) (\/) (vf \for(x,B))).a by A4,PBOOLE:def 4; then x nin ((vf (\for(x,A)\and\for(x,B)))).a by A1; hence (\for(x,A)\and\for(x,B))\imp\for(x,A\andB) in G by A3,A2,Th108; end; theorem Th127: L is subst-correct vf-qc-correct implies (\for(x,A)\or\for(x,B))\imp\for(x,A\orB) in G proof set Y = X extended_by ({},the carrier of S1); assume A1: L is subst-correct vf-qc-correct; then \for(x,A)\impA in G & \for(x,B)\impB in G by Th104; then \for(x,A)\or\for(x,B)\imp(A\orB) in G by Th59; then A2: \for(x,\for(x,A)\or\for(x,B)\imp(A\orB)) in G by Def39; consider a being object such that A3: a in dom X & x in X.a by CARD_5:2; J is Subsignature of S1 by Def2; then A4: the carrier of J c= the carrier of S1 = dom Y & dom X = the carrier of J by PARTFUN1:def 2,INSTALG1:10; reconsider a as SortSymbol of J by A3; reconsider b = a as SortSymbol of S1 by A4; x nin (vf \for(x,A)).b & x nin (vf \for(x,B)).b by A1,A3,Th113; then x nin (vf \for(x,A)).a \/ (vf \for(x,B)).a by XBOOLE_0:def 3; then x nin ((vf \for(x,A)) (\/) (vf \for(x,B))).b by PBOOLE:def 4; then x nin ((vf (\for(x,A)\or\for(x,B)))).a by A1; hence (\for(x,A)\or\for(x,B))\imp\for(x,A\orB) in G by A2,A3,Th108; end; theorem Th128: L is subst-correct vf-qc-correct & A\impB in G implies \ex(x,A)\imp\ex(x,B) in G proof assume A1: L is subst-correct vf-qc-correct; assume A2: A\impB in G; A\impB\imp(\notB\imp\notA) in G by Th57; then \notB\imp\notA in G by A2,Def38; then A3: \for(x,\notB)\imp\for(x,\notA) in G by A1,Th115; \for(x,\notB)\imp\for(x,\notA)\imp(\not\for(x,\notA)\imp\not\for(x,\notB)) in G by Th57; then A4: \not\for(x,\notA)\imp\not\for(x,\notB) in G by A3,Def38; \ex(x,A)\iff\not\for(x,\notA) in G by Th105; then A5: \ex(x,A)\imp\not\for(x,\notB) in G by A4,Th92; \ex(x,B)\iff\not\for(x,\notB) in G by Th105; then \not\for(x,\notB)\iff\ex(x,B) in G by Th90; hence thesis by A5,Th93; end; theorem Th129: L is subst-correct vf-qc-correct & A\iffB in G implies \ex(x,A)\iff\ex(x,B) in G proof assume A1: L is subst-correct vf-qc-correct; assume A2: A\iffB in G; (A\iffB)\imp(A\impB) in G & (A\iffB)\imp(B\impA) in G by Def38; then A\impB in G & B\impA in G by A2,Def38; then \ex(x,A)\imp\ex(x,B) in G & \ex(x,B)\imp\ex(x,A) in G by A1,Th128; then A3: (\ex(x,A)\imp\ex(x,B))\and(\ex(x,B)\imp\ex(x,A)) in G by Th35; (\ex(x,A)\imp\ex(x,B))\and(\ex(x,B)\imp\ex(x,A))\imp(\ex(x,A)\iff\ex(x,B)) in G by Def38; hence thesis by A3,Def38; end; theorem L is subst-correct vf-qc-correct implies \ex(x,A)\iff\ex(x,\not\notA) in G proof A\iff\not\notA in G by Th66; hence thesis by Th129; end; theorem L is subst-correct vf-qc-correct implies \ex(x,A)\or\ex(x,B)\iff\ex(x,A\orB) in G proof assume A1: L is subst-correct vf-qc-correct; then \for(x,\notA\and\notB)\imp\for(x,\notA)\and\for(x,\notB) in G by Th125; then A2: \not(\for(x,\notA)\and\for(x,\notB))\imp\not\for(x,\notA\and\notB) in G by Th58; \not\for(x,\notA)\or\not\for(x,\notB)\imp \not(\for(x,\notA)\and\for(x,\notB)) in G by Th73; then A3: \not\for(x,\notA)\or\not\for(x,\notB)\imp\not\for(x,\notA\and\notB) in G by A2,Th45; \not(A\orB)\imp(\notA\and\notB) in G by Th71; then \for(x,\not(A\orB))\imp\for(x,\notA\and\notB) in G by A1,Th115; then \not\for(x,\notA\and\notB)\imp\not\for(x,\not(A\orB)) in G by Th58; then A4: \not\for(x,\notA)\or\not\for(x,\notB)\imp\not\for(x,\not(A\orB)) in G by A3,Th45; \ex(x,A\orB)\iff\not\for(x,\not(A\orB)) in G by Th105; then \not\for(x,\not(A\orB))\iff\ex(x,A\orB) in G by Th90; then A5: \not\for(x,\notA)\or\not\for(x,\notB)\imp\ex(x,A\orB) in G by A4,Th93; \ex(x,A)\iff\not\for(x,\notA) in G & \ex(x,B)\iff\not\for(x,\notB) in G by Th105; then \ex(x,A)\imp\not\for(x,\notA) in G & \ex(x,B)\imp\not\for(x,\notB) in G by Th43; then \ex(x,A)\or\ex(x,B)\imp(\not\for(x,\notA)\or\not\for(x,\notB)) in G by Th59; then A6: \ex(x,A)\or\ex(x,B)\imp\ex(x,A\orB) in G by A5,Th45; A7: \ex(x,A)\iff\not\for(x,\notA) in G & \ex(x,B)\iff\not\for(x,\notB) in G by Th105; A8: \not\for(x,\notA)\imp\ex(x,A) in G & \not\for(x,\notB)\imp\ex(x,B) in G by A7,Th43; \ex(x,A\orB)\iff\not\for(x,\not(A\orB)) in G by Th105; then A9: \ex(x,A\orB)\imp\not\for(x,\not(A\orB)) in G by Th43; \notA\and\notB\imp\not(A\orB) in G by Th74; then \for(x,\notA\and\notB)\imp\for(x,\not(A\orB)) in G by A1,Th115; then \not\for(x,\not(A\orB))\imp\not\for(x,\notA\and\notB) in G by Th58; then A10: \ex(x,A\orB)\imp\not\for(x,\notA\and\notB) in G by A9,Th45; A11: \not\for(x,\notA)\or\not\for(x,\notB)\imp\ex(x,A)\or\ex(x,B) in G by A8,Th59; \not(\for(x,\notA)\and\for(x,\notB))\imp\not\for(x,\notA)\or \not\for(x,\notB) in G by Th70; then A12: \not(\for(x,\notA)\and\for(x,\notB))\imp\ex(x,A)\or\ex(x,B) in G by A11,Th45; (\for(x,\notA)\and\for(x,\notB))\imp\for(x,\notA\and\notB) in G by A1,Th126; then \not\for(x,\notA\and\notB)\imp\not(\for(x,\notA)\and\for(x,\notB)) in G by Th58; then \ex(x,A\orB)\imp\not(\for(x,\notA)\and\for(x,\notB)) in G by A10,Th45; then \ex(x,A\orB)\imp\ex(x,A)\or\ex(x,B) in G by A12,Th45; hence thesis by A6,Th43; end; theorem L is subst-correct implies for a being SortSymbol of J st x in X.a & x nin (vf A).a holds A\iff\for(x,A) in G proof assume A1: L is subst-correct; let a be SortSymbol of J; assume A2: x in X.a & x nin (vf A).a; A3: \for(x,A\impA)\imp(\for(x,A)\impA) in G by A1,Th107; A\impA in G by Th34; then \for(x,A\impA) in G by Def39; then \for(x,A)\impA in G & A\imp\for(x,A) in G by A2,A3,Def38,Th108; hence thesis by Th43; end; reserve a for SortSymbol of J; theorem Th133: L is subst-correct vf-qc-correct & x in X.a & x nin (vf A).a implies \for(x,A\orB)\imp(A\or\for(x,B)) in G proof assume A1: L is subst-correct vf-qc-correct; assume A2: x in X.a & x nin (vf A).a; set c = a, a = \notA, b = B; x nin (vf a).c by A1,A2; then A3: \for(x,a\impb)\imp(a\imp\for(x,b)) in G by A2,Def39; A\orb\imp(a\impb) in G by Th62; then \for(x,A\orB)\imp\for(x,a\impB) in G by A1,Th115; then A4: \for(x,A\orB)\imp(a\imp\for(x,b)) in G by A3,Th45; \nota\impA in G & \for(x,B)\imp\for(x,B) in G by Th34,Th65; then \nota\or\for(x,B)\impA\or\for(x,B) in G & a\imp\for(x,B)\imp\nota\or\for(x,B) in G by Th59,Th82; then a\imp\for(x,B)\impA\or\for(x,B) in G by Th45; hence thesis by A4,Th45; end; theorem Th134: L is subst-correct vf-qc-correct & x in X.a & x nin (vf A).a implies \ex(x,A\andB)\impA\and\ex(x,B) in G proof assume A1: L is subst-correct vf-qc-correct; assume A2: x in X.a & x nin (vf A).a; (\for(x,\notA)\or\for(x,\notB))\imp\for(x,\notA\or\notB) in G by A1,Th127; then A3: \not\for(x,\notA\or\notB)\imp\not(\for(x,\notA)\or\for(x,\notB)) in G by Th58; \notA\or\notB\imp\not(A\andB) in G by Th73; then \ex(x,A\andB)\iff\not\for(x,\not(A\andB)) in G & \for(x,\notA\or\notB)\imp\for(x,\not(A\andB)) in G by A1,Th115,Th105; then \not\for(x,\not(A\andB))\imp\not\for(x,\notA\or\notB) in G & \ex(x,A\andB)\imp\not\for(x,\not(A\andB)) in G by Th43,Th58; then \ex(x,A\andB)\imp\not\for(x,\notA\or\notB) in G by Th45; then A4: \ex(x,A\andB)\imp\not(\for(x,\notA)\or\for(x,\notB)) in G by A3,Th45; \ex(x,A)\iff\not\for(x,\notA) in G & \ex(x,B)\iff\not\for(x,\notB) in G by Th105; then \not\for(x,\notA)\imp\ex(x,A) in G & \not\for(x,\notB)\imp\ex(x,B) in G by Th43; then A5: \not(\for(x,\notA))\and\not\for(x,\notB)\imp\ex(x,A)\and\ex(x,B) in G by Th72; \not(\for(x,\notA)\or\for(x,\notB))\imp \not\for(x,\notA)\and\not\for(x,\notB) in G by Th71; then \ex(x,A\andB)\imp\not\for(x,\notA)\and\not\for(x,\notB) in G by A4,Th45; then A6: \ex(x,A\andB)\imp\ex(x,A)\and\ex(x,B) in G by A5,Th45; A\impA in G by Th34; then \for(x,A\impA) in G & \for(x,A\impA)\imp(\ex(x,A)\impA) in G by A1,A2,Th120,Def39; then \ex(x,A)\impA in G & \ex(x,B)\imp\ex(x,B) in G by Def38,Th34; then \ex(x,A)\and\ex(x,B)\impA\and\ex(x,B) in G by Th72; hence \ex(x,A\andB)\impA\and\ex(x,B) in G by A6,Th45; end; theorem L is subst-correct vf-qc-correct & x in X.a & x nin (vf A).a implies \ex(x,A\andB)\iffA\and\ex(x,B) in G proof set Y = X extended_by ({},the carrier of S1); assume A1: L is subst-correct vf-qc-correct; assume A2: x in X.a; assume A3: x nin (vf A).a; vf \notA = vf A by A1; then \for(x,\notA\or\notB)\imp\notA\or\for(x,\notB) in G by A1,A2,A3,Th133; then A4: \not(\notA\or\for(x,\notB))\imp\not\for(x,\notA\or\notB) in G by Th58; \for(x,\notB)\iff\not\ex(x,B) in G by A1,Th122; then \notA\imp\notA in G & \for(x,\notB)\imp\not\ex(x,B) in G by Th34,Th43; then \notA\or\not\ex(x,B)\imp\not(A\and\ex(x,B)) in G & (\notA\or\for(x,\notB))\imp(\notA\or\not\ex(x,B)) in G & (\notA\or\not\ex(x,B))\imp\not(A\and\ex(x,B)) in G by Th59,Th73; then (A\and\ex(x,B))\imp\not(\notA\or\not\ex(x,B)) in G & \not(\notA\or\not\ex(x,B))\imp\not(\notA\or\for(x,\notB)) in G by Th58,Th67; then (A\and\ex(x,B))\imp\not(\notA\or\for(x,\notB)) in G by Th45; then A5: A\and\ex(x,B)\imp\not\for(x,\notA\or\notB) in G by A4,Th45; \ex(x,A\andB)\iff\not\for(x,\not(A\andB)) in G & \not(A\andB)\imp\notA\or\notB in G by Th70,Th105; then \not\for(x,\not(A\andB))\imp\ex(x,A\andB) in G & \for(x,\not(A\andB)\imp\notA\or\notB) in G & \for(x,\not(A\andB)\imp\notA\or\notB)\imp (\for(x,\not(A\andB))\imp\for(x,\notA\or\notB)) in G by A1,Def39,Th43,Th109; then \not\ex(x,A\andB)\imp\for(x,\not(A\andB)) in G & \for(x,\not(A\andB))\imp\for(x,\notA\or\notB) in G by Def38,Th68; then \not\ex(x,A\andB)\imp\for(x,\notA\or\notB) in G by Th45; then \not\for(x,\notA\or\notB)\imp\ex(x,A\andB) in G by Th68; then A6: A\and\ex(x,B)\imp\ex(x,A\andB) in G by A5,Th45; \ex(x,A\andB)\impA\and\ex(x,B) in G by Th134,A1,A2,A3; hence \ex(x,A\andB)\iffA\and\ex(x,B) in G by A6,Th43; end; theorem L is subst-correct vf-qc-correct & x in X.a & x nin (vf A).a implies \ex(x,A\impB)\imp(A\imp\ex(x,B)) in G proof assume A1: L is subst-correct vf-qc-correct; assume A2: x in X.a & x nin (vf A).a; A\impA in G by Th34; then \for(x,A\impA) in G by Def39; then A\imp\for(x,A) in G & \for(x,\notB)\imp\for(x,\notB) in G by A2,Th108,Th34; then A3: A\and\for(x,\notB)\imp\for(x,A)\and\for(x,\notB) in G by Th72; \for(x,A)\and\for(x,\notB)\imp\for(x,A\and\notB) in G by A1,Th126; then A\and\for(x,\notB)\imp\for(x,A\and\notB) in G by A3,Th45; then A4: \not\for(x,A\and\notB)\imp\not(A\and\for(x,\notB)) in G by Th58; \notA\imp\notA in G & B\imp\not\notB in G by Th34,Th64; then A5: \notA\orB\imp\notA\or\not\notB in G by Th59; \notA\or\not\notB\imp\not(A\and\notB) in G by Th73; then A\and\notB\imp\not\not(A\and\notB) in G & \not\not(A\and\notB)\imp\not(\notA\or\not\notB) in G by Th58,Th64; then A\impB\imp\notA\orB in G & \not(\notA\or\not\notB)\imp\not(\notA\orB) in G & A\and\notB\imp\not(\notA\or\not\notB) in G by A5,Th82,Th58,Th45; then \not(\notA\orB)\imp\not(A\impB) in G & A\and\notB\imp\not(\notA\orB) in G by Th58,Th45; then A\and\notB\imp\not(A\impB) in G by Th45; then \for(x,A\and\notB)\imp\for(x,\not(A\impB)) in G by A1,Th115; then \ex(x,A\impB)\iff\not\for(x,\not(A\impB)) in G & \not\for(x,\not(A\impB))\imp\not\for(x,A\and\notB) in G by Th105,Th58; then \ex(x,A\impB)\imp\not\for(x,A\and\notB) in G by Th92; then A6: \ex(x,A\impB)\imp\not(A\and\for(x,\notB)) in G by A4,Th45; \ex(x,B)\iff\not\for(x,\notB) in G by Th105; then \notA\imp\notA in G & \not\for(x,\notB)\imp\ex(x,B) in G by Th34,Th43; then \not(A\and\for(x,\notB))\imp\notA\or\not\for(x,\notB) in G & \notA\or\not\for(x,\notB)\imp\notA\or\ex(x,B) in G by Th59,Th70; then \not(A\and\for(x,\notB))\imp\notA\or\ex(x,B) in G by Th45; then A7: \ex(x,A\impB)\imp\notA\or\ex(x,B) in G by A6,Th45; A\imp\not\notA in G & \ex(x,B)\imp\ex(x,B) in G by Th34,Th64; then \notA\or\ex(x,B)\imp(\not\notA\imp\ex(x,B)) in G & (\not\notA\imp\ex(x,B))\imp(A\imp\ex(x,B)) in G by Th62,Th103; then \notA\or\ex(x,B)\imp(A\imp\ex(x,B)) in G by Th45; hence \ex(x,A\impB)\imp(A\imp\ex(x,B)) in G by A7,Th45; end; theorem L is vf-qc-correct implies \for(x,A)\imp\for(x,x,A) in G proof assume A1: L is vf-qc-correct; consider a being object such that A2: a in dom X & x in X.a by CARD_5:2; reconsider a as Element of J by A2; set Y = X extended_by({}, the carrier of S1); A3: a is SortSymbol of S1 by Th8; A4: x nin (vf\for(x,A)).a by A1,A2,A3,Th113; \for(x,A)\imp\for(x,A) in G by Th34; then \for(x,\for(x,A)\imp\for(x,A)) in G by Def39; hence thesis by A2,A4,Th108; end; theorem Th138: L is vf-qc-correct subst-correct implies \for(x,y,A)\imp\for(y,x,A) in G proof assume A1: L is vf-qc-correct subst-correct; then \for(y,A)\impA in G by Th104; then A2: \for(x,\for(y,A)\impA) in G by Def39; \for(x,\for(y,A)\impA)\imp(\for(x,\for(y,A))\imp\for(x,A)) in G by A1,Th109; then \for(x,\for(y,A))\imp\for(x,A) in G by A2,Def38; then A3: \for(y,\for(x,\for(y,A))\imp\for(x,A)) in G by Def39; consider a being object such that A4: a in dom X & y in X.a by CARD_5:2; consider b being object such that A5: b in dom X & x in X.b by CARD_5:2; J is Subsignature of S1 by Def2; then dom X = the carrier of J c= the carrier of S1 by PARTFUN1:def 2,INSTALG1:10; then reconsider a,b as Element of S1 by A4,A5; reconsider c = a as Element of J by A4; vf\for(x,y,A) = (vf\for(y,A))(\)(b-singleton(x)) by A1,A5; then (vf\for(x,y,A)).a = (vf\for(y,A)).a\(b-singleton(x)).a by PBOOLE:def 6; then y nin (vf\for(x,y,A)).c by A1,A4,Th113; hence \for(x,y,A)\imp\for(y,x,A) in G by A3,A4,Th108; end; theorem L is vf-qc-correct subst-correct implies \ex(x,y,A)\imp\ex(y,x,A) in G proof assume A1: L is vf-qc-correct subst-correct; then \for(y,x,\notA)\imp\for(x,y,\notA) in G by Th138; then A2: \not\for(x,y,\notA)\imp\not\for(y,x,\notA) in G by Th58; \ex(x,y,A)\iff\not\for(x,y,\notA) in G & \ex(y,x,A)\iff\not\for(y,x,\notA) in G by A1,Th111; then \ex(x,y,A)\imp\not\for(y,x,\notA) in G & \not\for(y,x,\notA)\iff\ex(y,x,A) in G by A2,Th90,Th92; hence \ex(x,y,A)\imp\ex(y,x,A) in G by Th93; end; theorem L is vf-qc-correct subst-correct implies \ex(x,\for(y,A))\imp\for(y,\ex(x,A)) in G proof assume A1: L is vf-qc-correct subst-correct; then A\imp\ex(x,A) in G by Th112; then \for(y,A\imp\ex(x,A)) in G & \for(y,A\imp\ex(x,A))\imp(\for(y,A)\imp\for(y,\ex(x,A))) in G by A1,Def39,Th109; then \for(y,A)\imp\for(y,\ex(x,A)) in G by Def38; then A2: \for(x,\for(y,A)\imp\for(y,\ex(x,A))) in G by Def39; consider a being object such that A3: a in dom X & y in X.a by CARD_5:2; consider b being object such that A4: b in dom X & x in X.b by CARD_5:2; J is Subsignature of S1 by Def2; then dom X = the carrier of J c= the carrier of S1 by PARTFUN1:def 2,INSTALG1:10; then reconsider a,b as Element of S1 by A3,A4; reconsider c = b as Element of J by A4; vf\for(y,\ex(x,A)) = (vf\ex(x,A))(\)(a-singleton(y)) by A1,A3; then (vf\for(y,\ex(x,A))).b = (vf\ex(x,A)).b\(a-singleton(y)).b by PBOOLE:def 6; then x nin (vf\for(y,\ex(x,A))).c by A1,A4,Th114; then \for(x,\for(y,A)\imp\for(y,\ex(x,A)))\imp (\ex(x,\for(y,A))\imp\for(y,\ex(x,A))) in G by A1,A4,Th120; hence \ex(x,\for(y,A))\imp\for(y,\ex(x,A)) in G by A2,Def38; end; theorem L is subst-correct vf-qc-correct implies \for(x,A\andA)\iff\for(x,A) in G proof assume A1: L is subst-correct vf-qc-correct; A\andA\impA in G & A\impA\andA in G by Def38,Th53; then A2: \for(x,A\andA\impA) in G & \for(x,A\impA\andA) in G by Def39; \for(x,A\impA\andA)\imp(\for(x,A)\imp\for(x,A\andA)) in G & \for(x,A\andA\impA)\imp(\for(x,A\andA)\imp\for(x,A)) in G by A1,Th109; then (\for(x,A)\imp\for(x,A\andA)) in G & (\for(x,A\andA)\imp\for(x,A)) in G by A2,Def38; hence \for(x,A\andA)\iff\for(x,A) in G by Th43; end; theorem L is subst-correct vf-qc-correct implies \for(x,A\orA)\iff\for(x,A) in G proof assume A1: L is subst-correct vf-qc-correct; A\orA\impA in G & A\impA\orA in G by Def38,Th52; then A2: \for(x,A\orA\impA) in G & \for(x,A\impA\orA) in G by Def39; \for(x,A\impA\orA)\imp(\for(x,A)\imp\for(x,A\orA)) in G & \for(x,A\orA\impA)\imp(\for(x,A\orA)\imp\for(x,A)) in G by A1,Th109; then (\for(x,A)\imp\for(x,A\orA)) in G & (\for(x,A\orA)\imp\for(x,A)) in G by A2,Def38; hence \for(x,A\orA)\iff\for(x,A) in G by Th43; end; theorem L is subst-correct vf-qc-correct implies \ex(x,A\orA)\iff\ex(x,A) in G proof A\orA\impA in G & A\impA\orA in G by Def38,Th52; then A\orA\iffA in G by Th43; hence thesis by Th129; end; reserve L for non-empty T-extension Language of X extended_by ({},the carrier of S1), S1, G1 for QC-theory_with_equality of L, A,B,C,D for Formula of L, s,s1 for SortSymbol of S1, t,t9 for Element of L,s, t1,t2,t3 for Element of L,s1; theorem L is subst-eq-correct & x0 in X.s & t1 '=' (t2,L) in G1 implies (t1/(x0,t) '=' (t2/(x0,t),L)) in G1 proof assume A1: L is subst-eq-correct; set Y = X extended_by({}, the carrier of S1); assume A2: x0 in X.s; then A3: s in dom X = the carrier of J & dom Y = the carrier of S1 by FUNCT_1:def 2,PARTFUN1:def 2; then reconsider x = x0 as Element of Union X by A2,CARD_5:2; A4: Y.s = X.s by A3,Th1; assume t1 '=' (t2,L) in G1; then \for(x,t1 '=' (t2,L)) in G1 & \for(x,t1 '='(t2,L))\imp((t1 '=' (t2,L))/(x0,t)) in G1 by A3,A4,A2,Def39; then (t1 '=' (t2,L))/(x0,t) in G1 by Def38; hence (t1/(x0,t) '=' (t2/(x0,t),L)) in G1 by A1,A2; end; theorem ThOne: L is subst-eq-correct vf-finite subst-correct2 subst-correct3 & s1 in the carrier of J & X.s1 is infinite implies t1 '=' (t2,L)\imp(t2 '=' (t1,L)) in G1 proof assume that A0: L is subst-eq-correct vf-finite subst-correct2 subst-correct3 and A1: s1 in the carrier of J and A3: X.s1 is infinite; 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 Y = the carrier of S1 by PARTFUN1:def 2; then A8: the Element of X.s1\((vf t1).s1) in Y.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 Y by Th24; X.s1 c= (the Sorts of T).s1 = (the Sorts of L).s1 by A1,Th16,PBOOLE:def 2,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 thesis by A2,A9,Th46; end; theorem L is subst-eq-correct vf-finite subst-correct2 subst-correct3 & s1 in the carrier of J & X.s1 is infinite implies t1 '=' (t2,L)\and(t2 '=' (t3,L))\imp(t1 '=' (t3,L)) in G1 proof assume that A0: L is subst-eq-correct vf-finite subst-correct2 subst-correct3 and A1: s1 in the carrier of J and A3: X.s1 is infinite; set Y = X extended_by({}, the carrier of S1); vf t3 is finite-yielding by A0; then (vf t3).s1 is finite by FINSET_1:def 5; then A4: the Element of X.s1\((vf t3).s1) in X.s1 & the Element of X.s1\((vf t3).s1) nin (vf t3).s1 by A3,XBOOLE_0:def 5; dom X = the carrier of J & dom Y = the carrier of S1 by PARTFUN1:def 2; then A8: the Element of X.s1\((vf t3).s1) in Y.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 t3).s1) as Element of Union X by A1,A4,CARD_5:2; reconsider x0 = x as Element of Union Y by Th24; X.s1 c= (the Sorts of T).s1 = (the Sorts of L).s1 by A1,Th16,PBOOLE:def 2,def 18; then reconsider t = x as Element of L,s1 by A4; A5: (t2 '=' (t1,L))\imp((t '=' (t3,L))/(x0,t2)\imp((t '=' (t3,L))/(x0,t1))) in G1 by A4,Def42; (t1 '=' (t2,L))\imp(t2 '=' (t1,L)) in G1 by A0,A1,A3,ThOne; then A6: (t1 '=' (t2,L))\imp((t '=' (t3,L))/(x0,t2)\imp((t '=' (t3,L))/(x0,t1))) in G1 by A5,Th45; A7: (t '=' (t3,L))/(x0,t2) = (t/(x0,t2)) '=' (t3/(x0,t2),L) by A0,A4 .= (t/(x0,t2)) '=' (t3,L) by A0,A8 .= t2 '=' (t3,L) by A0,A8; A2: (t '=' (t3,L))/(x0,t1) = (t/(x0,t1)) '=' (t3/(x0,t1),L) by A0,A4 .= (t/(x0,t1)) '=' (t3,L) by A0,A8 .= t1 '=' (t3,L) by A0,A8; (t1 '=' (t2,L))\imp((t2 '=' (t3,L))\imp(t1 '=' (t3,L)))\imp (t1 '=' (t2,L)\and(t2 '=' (t3,L))\imp(t1 '=' (t3,L))) in G1 by Th48; hence thesis by A7,A6,A2,Def38; end; theorem L is subst-correct3 vf-finite subst-correct2 subst-correct subst-eq-correct vf-qc-correct vf-eq-correct & x = x0 in X.s & y = y0 in X.s & x <> y nin (vf A).s & X.s is infinite implies \for(x,A\iff\ex(y, x '=' (y,L)\and(A/(x0,y0)))) in G1 proof set Y = X extended_by({}, the carrier of S1); assume that A0: L is subst-correct3 vf-finite subst-correct2 subst-correct subst-eq-correct vf-qc-correct vf-eq-correct and A1: x = x0 in X.s & y = y0 in X.s & x <> y nin (vf A).s & X.s is infinite; A2: s in dom X = the carrier of J by A1,FUNCT_1:def 2,PARTFUN1:def 2; then X.s c= (the Sorts of T).s = (the Sorts of L).s by Th16,PBOOLE:def 2,def 18; then reconsider t1 = x0, t2 = y0 as Element of L,s by A1; reconsider j = s as SortSymbol of J by A2; reconsider q1 = t1, q2 = t2 as Element of T,j by Th16; A3: t2 '=' (t1,L)\imp(A/(x0,y0)/(y0,t2)\imp(A/(x0,y0)/(y0,t1))) in G1 by A1,Def42; t1 '=' (t2,L)\imp(t2 '=' (t1,L)) in G1 by A0,A1,A2,ThOne; then A8: t1 '=' (t2,L)\imp(A/(x0,y0)/(y0,t2)\imp(A/(x0,y0)/(y0,t1))) in G1 by A3,Th45; dom Y = the carrier of S1 by PARTFUN1:def 2; then A4: X.s = Y.s & (the Sorts of L).the formula-sort of S1 <> {} & Y is ManySortedSubset of the Sorts of L by A2,Th1,Th23; then A5: A/(x0,y0)/(y0,t1) = A/(x0,y0)/(y0,x0) by A1,Th14 .= A by A0,A1,A4; A6: A/(x0,y0)/(y0,t2) = A/(x0,y0)/(y0,y0) by A1,A4,Th14 .= A/(x0,y0) by A0,A1,A4; (t1 '=' (t2,L)\imp(A/(x0,y0)\impA))\imp (t1 '=' (t2,L)\and(A/(x0,y0))\impA) in G1 by Th48; then t1 '=' (t2,L)\and(A/(x0,y0))\impA in G1 by A8,A5,A6,Def38; then \for(y,t1 '=' (t2,L)\and(A/(x0,y0))\impA) in G1 & \for(y,t1 '=' (t2,L)\and(A/(x0,y0))\impA)\imp (\ex(y,t1 '=' (t2,L)\and(A/(x0,y0)))\impA) in G1 by A0,A1,A2,Th120,Def39; then A9: \ex(y,t1 '=' (t2,L)\and(A/(x0,y0)))\impA in G1 by Def38; B1: (t1 '=' (t2,L)\and(A/(x0,y0)))/(y0,x0)\imp \ex(y, t1 '=' (t2,L)\and(A/(x0,y0))) in G1 by A0,A1,A2,Th110; vf t1 = s-singleton x0 by A0,A1; then (vf t1).s = {x0} by AOFA_A00:6; then B2: y0 nin (vf t1).s by A1,TARSKI:def 1; B3: (t1 '=' (t2,L)\and(A/(x0,y0)))/(y0,x0) = ((t1 '=' (t2,L))/(y0,x0))\and(A/(x0,y0)/(y0,x0)) by A0,A1,A4,Th27 .= ((t1 '=' (t2,L))/(y0,x0))\andA by A0,A1,A4 .= ((t1 '=' (t2,L))/(y0,t1))\andA by A1,A4,Th14 .= t1/(y0,t1) '=' (t2/(y0,t1),L)\andA by A0,A1 .= t1 '=' (t2/(y0,t1),L)\andA by B2,A0,A1,A4 .= t1 '=' (t1,L)\andA by A0,A1,A4; q1 '=' (q1,L) in G1 by Def42; then A\imp(t1 '=' (t1,L)) in G1 & A\impA in G1 by Th34,Th44; then A\imp(t1 '=' (t1,L))\andA in G1 by Th201; then A\imp\ex(y, t1 '=' (t2,L)\and(A/(x0,y0))) in G1 by B1,B3,Th45; then A\iff\ex(y, t1 '=' (t2,L)\and(A/(x0,y0))) in G1 by A9,Th43; hence thesis by A1,Def39; end; theorem L is subst-correct3 vf-finite subst-correct2 subst-correct subst-eq-correct vf-qc-correct vf-eq-correct & x = x0 in X.s & y = y0 in X.s & x <> y nin (vf A).s & X.s is infinite implies \for(x,A\iff\for(y, x '=' (y,L)\imp(A/(x0,y0)))) in G1 proof set Y = X extended_by({}, the carrier of S1); assume that A0: L is subst-correct3 vf-finite subst-correct2 subst-correct subst-eq-correct vf-qc-correct vf-eq-correct and A1: x = x0 in X.s & y = y0 in X.s & x <> y nin (vf A).s & X.s is infinite; A2: s in dom X = the carrier of J by A1,FUNCT_1:def 2,PARTFUN1:def 2; then X.s c= (the Sorts of T).s = (the Sorts of L).s by Th16,PBOOLE:def 2,def 18; then reconsider t1 = x0, t2 = y0 as Element of L,s by A1; reconsider j = s as SortSymbol of J by A2; reconsider q1 = t1, q2 = t2 as Element of T,j by Th16; A3: t1 '=' (t2,L)\imp(A/(x0,y0)/(y0,t1)\imp(A/(x0,y0)/(y0,t2))) in G1 by A1,Def42; dom Y = the carrier of S1 by PARTFUN1:def 2; then A4: X.s = Y.s & (the Sorts of L).the formula-sort of S1 <> {} & Y is ManySortedSubset of the Sorts of L by A2,Th1,Th23; then A5: A/(x0,y0)/(y0,t1) = A/(x0,y0)/(y0,x0) by A1,Th14 .= A by A0,A1,A4; A6: A/(x0,y0)/(y0,t2) = A/(x0,y0)/(y0,y0) by A1,A4,Th14 .= A/(x0,y0) by A0,A1,A4; A\imp(t1 '=' (t2,L)\imp(A/(x0,y0))) in G1 by A3,A5,A6,Th38; then \for(y,A\imp(t1 '=' (t2,L)\imp(A/(x0,y0)))) in G1 by Def39; then A9: A\imp\for(y,t1 '=' (t2,L)\imp(A/(x0,y0))) in G1 by A1,A2,Th108; B1: (t1 '=' (t2,L)\and(\not(A/(x0,y0))))/(y0,x0)\imp \ex(y, t1 '=' (t2,L)\and(\not(A/(x0,y0)))) in G1 by A0,A1,A2,Th110; vf t1 = s-singleton x0 by A0,A1; then (vf t1).s = {x0} by AOFA_A00:6; then B2: y0 nin (vf t1).s by A1,TARSKI:def 1; B3: (t1 '=' (t2,L)\and(\not(A/(x0,y0))))/(y0,x0) = ((t1 '=' (t2,L))/(y0,x0))\and(\not(A/(x0,y0))/(y0,x0)) by A0,A1,A4,Th27 .= ((t1 '=' (t2,L))/(y0,x0))\and(\not(A/(x0,y0)/(y0,x0))) by A0,A1,A4,Th27 .= ((t1 '=' (t2,L))/(y0,x0))\and\notA by A0,A1,A4 .= ((t1 '=' (t2,L))/(y0,t1))\and\notA by A1,A4,Th14 .= t1/(y0,t1) '=' (t2/(y0,t1),L)\and\notA by A0,A1 .= t1 '=' (t2/(y0,t1),L)\and\notA by B2,A0,A1,A4 .= t1 '=' (t1,L)\and\notA by A0,A1,A4; q1 '=' (q1,L) in G1 by Def42; then \notA\imp(t1 '=' (t1,L)) in G1 & \notA\imp\notA in G1 by Th34,Th44; then \notA\imp(t1 '=' (t1,L))\and\notA in G1 by Th201; then (\notA)\imp\ex(y, t1 '=' (t2,L)\and(\not(A/(x0,y0)))) in G1 by B1,B3,Th45; then B4: \not\ex(y,t1 '=' (t2,L)\and(\not(A/(x0,y0))))\impA in G1 by Th68; (A/(x0,y0))\imp\not\not(A/(x0,y0)) in G1 & \not(t1 '=' (t2,L))\imp\not(t1 '=' (t2,L)) in G1 by Th34,Th64; then \not(t1 '=' (t2,L))\or\not\not(A/(x0,y0))\imp \not(t1 '=' (t2,L)\and\not(A/(x0,y0))) in G1 & \not(t1 '=' (t2,L))\or(A/(x0,y0))\imp \not(t1 '=' (t2,L))\or\not\not(A/(x0,y0)) in G1 by Th73,Th59; then \not(t1 '=' (t2,L))\or(A/(x0,y0))\imp\not(t1 '=' (t2,L)\and\not(A/(x0,y0))) in G1 & (t1 '=' (t2,L)\imp(A/(x0,y0)))\imp\not(t1 '=' (t2,L))\or(A/(x0,y0)) in G1 by Th45,Th82; then (t1 '=' (t2,L)\imp(A/(x0,y0)))\imp\not(t1 '=' (t2,L)\and\not(A/(x0,y0))) in G1 by Th45; then (t1 '=' (t2,L)\and\not(A/(x0,y0)))\imp\not(t1 '=' (t2,L)\imp(A/(x0,y0))) in G1 by Th67; then \ex(y,t1 '=' (t2,L)\and\not(A/(x0,y0)))\imp \ex(y,\not(t1 '=' (t2,L)\imp(A/(x0,y0)))) in G1 by A0,Th128; then \not\ex(y,\not(t1 '=' (t2,L)\imp(A/(x0,y0))))\imp \not\ex(y,t1 '=' (t2,L)\and\not(A/(x0,y0))) in G1 by Th58; then \not\ex(y,\not(t1 '=' (t2,L)\imp(A/(x0,y0))))\impA in G1 & \for(y,(t1 '=' (t2,L)\imp(A/(x0,y0))))\iff \not\ex(y,\not(t1 '=' (t2,L)\imp(A/(x0,y0)))) in G by B4,Th45,Th106; then \for(y,(t1 '=' (t2,L)\imp(A/(x0,y0))))\impA in G1 by Th92; then A\iff\for(y, t1 '=' (t2,L)\imp(A/(x0,y0))) in G1 by A9,Th43; hence thesis by A1,Def39; end; theorem L is subst-correct subst-eq-correct subst-correct3 vf-eq-correct & x in X.s & y in X.s & x <> y implies \for(x,\ex(y,x '=' (y,L))) in G1 proof assume that A0: L is subst-correct subst-eq-correct subst-correct3 vf-eq-correct and A1: x in X.s & y in X.s & x <> y; A2: s in dom X = the carrier of J by A1,FUNCT_1:def 2,PARTFUN1:def 2; then X.s c= (the Sorts of T).s = (the Sorts of L).s by Th16,PBOOLE:def 2,def 18; then reconsider t1 = x, t2 = y as Element of L,s by A1; reconsider j = s as SortSymbol of J by A2; reconsider q1 = t1, q2 = t2 as Element of T,j by Th16; set Y = X extended_by({}, the carrier of S1); reconsider y0 = y, x0 = x as Element of Union Y by Th24; dom Y = the carrier of S1 by PARTFUN1:def 2; then A4: X.s = Y.s & (the Sorts of L).the formula-sort of S1 <> {} & Y is ManySortedSubset of the Sorts of L by A2,Th1,Th23; vf t1 = s-singleton x0 by A0,A1; then (vf t1).s = {x0} by AOFA_A00:6; then B2: y0 nin (vf t1).s by A1,TARSKI:def 1; A3: t1 '=' (t2,L)/(y0,x0)\imp\ex(y,t1 '=' (t2,L)) in G1 by A0,A1,A2,Th110; A5: t1 '=' (t2,L)/(y0,x0) = ((t1 '=' (t2,L))/(y0,t1)) by A1,A4,Th14 .= t1/(y0,t1) '=' (t2/(y0,t1),L) by A0,A1 .= t1 '=' (t2/(y0,t1),L) by B2,A0,A1,A4 .= t1 '=' (t1,L) by A0,A1,A4; q1 '=' (q1,L) in G1 by Def42; then \ex(y,x '=' (y,L)) in G1 by A3,A5,Def38; hence thesis by Def39; end; theorem ThTwo: L is subst-correct & x = x0 in X.s & y = y0 in X.s implies A\and (x '=' (y,L))\imp(A/(x0,y0)) in G1 proof assume that A0: L is subst-correct and A1: x = x0 in X.s & y = y0 in X.s; A2: s in dom X = the carrier of J by A1,FUNCT_1:def 2,PARTFUN1:def 2; then X.s c= (the Sorts of T).s = (the Sorts of L).s by Th16,PBOOLE:def 2,def 18; then reconsider t1 = x, t2 = y as Element of L,s by A1; reconsider j = s as SortSymbol of J by A2; reconsider q1 = t1, q2 = t2 as Element of T,j by Th16; set Y = X extended_by({}, the carrier of S1); dom Y = the carrier of S1 by PARTFUN1:def 2; then A4: X.s = Y.s & (the Sorts of L).the formula-sort of S1 <> {} & Y is ManySortedSubset of the Sorts of L by A2,Th1,Th23; A3: t1 '=' (t2,L)\imp(A/(x0,t1)\imp(A/(x0,t2))) in G1 by A1,Def42; A5: A/(x0,t1) = A/(x0,x0) by A1,A4,Th14 .= A by A0,A1,A4; A/(x0,t2) = A/(x0,y0) by A1,A4,Th14; then A\imp(t1 '=' (t2,L)\imp(A/(x0,y0))) in G1 & (A\imp(t1 '=' (t2,L)\imp(A/(x0,y0))))\imp (A\and(t1 '=' (t2,L))\imp(A/(x0,y0))) in G1 by A3,A5,Th38,Th48; hence thesis by Def38; end; theorem L is subst-correct & x = x0 in X.s & y = y0 in X.s implies A\and\not(A/(x0,y0))\imp\not(x '=' (y,L)) in G1 proof assume that A0: L is subst-correct and A1: x = x0 in X.s & y = y0 in X.s; s in dom X = the carrier of J by A1,FUNCT_1:def 2,PARTFUN1:def 2; then X.s c= (the Sorts of T).s = (the Sorts of L).s by Th16,PBOOLE:def 2,def 18; then reconsider t1 = x, t2 = y as Element of L,s by A1; A\and (x '=' (y,L))\imp(A/(x0,y0)) in G1 & (A\and(t1 '=' (t2,L))\imp(A/(x0,y0)))\imp (A\imp((t1 '=' (t2,L))\imp(A/(x0,y0)))) in G1 by A0,A1,ThTwo,Th47; then A\imp((t1 '=' (t2,L))\imp(A/(x0,y0))) in G1 & ((t1 '=' (t2,L))\imp(A/(x0,y0)))\imp(\not(A/(x0,y0))\imp\not(t1 '=' (t2,L))) in G1 by Def38,Th57; then A\imp(\not(A/(x0,y0))\imp\not(t1 '=' (t2,L))) in G1 & A\imp(\not(A/(x0,y0))\imp\not(t1 '=' (t2,L)))\imp (A\and\not(A/(x0,y0))\imp\not(t1 '=' (t2,L))) in G1 by Th45,Th48; hence thesis by Def38; end; begin :: Algorithmic logic reserve n for non empty natural number, J for non empty non void Signature, T for non-empty VarMSAlgebra over J, X for non-empty GeneratorSet of T, S for essential J-extension non empty non void n PC-correct QC-correct n AL-correct AlgLangSignature over Union X, L for non empty IfWhileAlgebra of X,S, M,M1,M2 for Algorithm of L, A,B,C,V for Formula of L, H for AL-theory of V,L, a for SortSymbol of J, x,y for (Element of X.a), t for Element of T,a; theorem (M*(A\andB\andC))\iff(M*A)\and(M*B)\and(M*C) in H proof A1: (M*(A\andB\andC))\iff(M*(A\andB))\and(M*C) in H by Def43; (M*(A\andB))\iff(M*A)\and(M*B) in H by Def43; hence thesis by A1,Th98; end; theorem (M*(A\orB\orC))\iff(M*A)\or(M*B)\or(M*C) in H proof A1: (M*(A\orB\orC))\iff(M*(A\orB))\or(M*C) in H by Def43; (M*(A\orB))\iff(M*A)\or(M*B) in H by Def43; hence thesis by A1,Th100; end; theorem Th147: A\iffB in H implies \Cup(M,A)\iff\Cup(M,B) in H proof assume A\iffB in H; then A\impB in H & B\impA in H by Th43; then \Cup(M,A)\imp\Cup(M,B) in H & \Cup(M,B)\imp\Cup(M,A) in H by Def43; hence \Cup(M,A)\iff\Cup(M,B) in H by Th43; end; theorem Th148: A\iffB in H implies \Cap(M,A)\iff\Cap(M,B) in H proof assume A\iffB in H; then A\impB in H & B\impA in H by Th43; then \Cap(M,A)\imp\Cap(M,B) in H & \Cap(M,B)\imp\Cap(M,A) in H by Def43; hence \Cap(M,A)\iff\Cap(M,B) in H by Th43; end; theorem \Cup(M,A) \iff A\or(M*A)\or\Cup(M, (M\;M)*A) in H proof A1: \Cup(M,A) \iff A\or\Cup(M, M*A) in H by Def43; \Cup(M,M*A) \iff (M*A)\or\Cup(M, M*(M*A)) in H by Def43; then A2: \Cup(M,A) \iff A\or((M*A)\or\Cup(M, M*(M*A))) in H by A1,Th99; A\or(M*A)\or\Cup(M, M*(M*A))\iffA\or((M*A)\or\Cup(M, M*(M*A))) in H by Th76; then A\or((M*A)\or\Cup(M, M*(M*A)))\iffA\or(M*A)\or\Cup(M, M*(M*A)) in H by Th90; then A3: \Cup(M,A) \iff A\or(M*A)\or\Cup(M, M*(M*A)) in H by A2,Th91; ((M\;M)*A)\iff(M*(M*A)) in H by Def43; then (M*(M*A)) \iff ((M\;M)*A) in H by Th90; then \Cup(M, M*(M*A))\iff\Cup(M, (M\;M)*A) in H by Th147; hence thesis by A3,Th99; end; theorem \Cap(M,A) \iff A\and(M*A)\and\Cap(M, (M\;M)*A) in H proof A1: \Cap(M,A) \iff A\and\Cap(M, M*A) in H by Def43; \Cap(M,M*A) \iff (M*A)\and\Cap(M, M*(M*A)) in H by Def43; then A2: \Cap(M,A) \iff A\and((M*A)\and\Cap(M, M*(M*A))) in H by A1,Th97; A\and(M*A)\and\Cap(M, M*(M*A))\iffA\and((M*A)\and\Cap(M, M*(M*A))) in H by Th78; then A\and((M*A)\and\Cap(M, M*(M*A)))\iffA\and(M*A)\and\Cap(M, M*(M*A)) in H by Th90; then A3: \Cap(M,A) \iff A\and(M*A)\and\Cap(M, M*(M*A)) in H by A2,Th91; ((M\;M)*A)\iff(M*(M*A)) in H by Def43; then (M*(M*A)) \iff ((M\;M)*A) in H by Th90; then \Cap(M, M*(M*A))\iff\Cap(M, (M\;M)*A) in H by Th148; hence thesis by A3,Th97; end; theorem for x0,y0 being Element of Union (X extended_by ({},the carrier of S)) st x = x0 & y = y0 holds ((x:=(@y,L))*A) \iff (A/(x0,y0)) in H proof let x0,y0 be Element of Union (X extended_by ({},the carrier of S)); reconsider b = a as SortSymbol of S by Th8; reconsider t = @y as Element of (the Sorts of L).b by Th16; assume A1: x = x0 & y = y0; then A2: ((x:=(@y,L))*A) \iff (A/(x0,t)) in H by Def43; A3: X extended_by ({}, the carrier of S) is ManySortedSubset of the Sorts of L by Th23; a in the carrier of J = dom X by PARTFUN1:def 2; then b in dom(X|the carrier of S) by RELAT_1:57; then (X extended_by ({}, the carrier of S)).b = (X|the carrier of S).b by FUNCT_4:13 .= X.b by FUNCT_1:49; hence thesis by A1,A2,A3,Th14; end; theorem M*V in H & M*(M1*A) in H or M*\notV in H & M*(M2*A) in H implies if-then-else(M,M1,M2)*A in H proof assume M*V in H & M*(M1*A) in H or M*\notV in H & M*(M2*A) in H; then ((M*V)\and(M*(M1*A)) in H or (M*\notV)\and(M*(M2*A)) in H) & (M*V)\and(M*(M1*A))\imp((M*V)\and(M*(M1*A)))\or((M*\notV)\and(M*(M2*A))) in H & (M*\notV)\and(M*(M2*A))\imp((M*V)\and(M*(M1*A)))\or ((M*\notV)\and(M*(M2*A))) in H by Def38,Th35; then A1: ((M*V)\and(M*(M1*A)))\or((M*\notV)\and(M*(M2*A))) in H by Def38; (if-then-else(M,M1,M2)*A) \iff ((M*V)\and(M*(M1*A)))\or((M*\notV)\and(M*(M2*A))) in H by Def43; then ((M*V)\and(M*(M1*A)))\or((M*\notV)\and(M*(M2*A)))\imp (if-then-else(M,M1,M2)*A) in H by Th43; hence thesis by Def38,A1; end; theorem M*\notV in H & A in H or M*V in H & M*(M1*(while(M,M1)*A)) in H implies while(M,M1)*A in H proof assume M*\notV in H & A in H or M*V in H & M*(M1*(while(M,M1)*A)) in H; then A1: (M*\notV)\andA in H or (M*V)\and(M*(M1*(while(M,M1)*A))) in H by Th35; ((M*\notV)\andA)\imp((M*\notV)\andA)\or ((M*V)\and(M*(M1*(while(M,M1)*A)))) in H & ((M*V)\and(M*(M1*(while(M,M1)*A))))\imp((M*\notV)\andA)\or ((M*V)\and(M*(M1*(while(M,M1)*A)))) in H by Def38; then A2: ((M*\notV)\andA)\or((M*V)\and(M*(M1*(while(M,M1)*A)))) in H by A1,Def38; (while(M,M1)*A) \iff ((M*\notV)\andA)\or((M*V)\and(M*(M1*(while(M,M1)*A)))) in H by Def43; then ((M*\notV)\andA)\or((M*V)\and(M*(M1*(while(M,M1)*A))))\imp (while(M,M1)*A) in H by Th43; hence thesis by Def38,A2; end;