:: HEYTING2 semantic presentation begin theorem Th1: :: HEYTING2:1 for V, C, a, b being set st b in SubstitutionSet (V,C) & a in b holds a is finite Function proof let V, C be set ; ::_thesis: for a, b being set st b in SubstitutionSet (V,C) & a in b holds a is finite Function let a, b be set ; ::_thesis: ( b in SubstitutionSet (V,C) & a in b implies a is finite Function ) assume that A1: b in SubstitutionSet (V,C) and A2: a in b ; ::_thesis: a is finite Function b in { A where A is Element of Fin (PFuncs (V,C)) : ( ( for u being set st u in A holds u is finite ) & ( for s1, t being Element of PFuncs (V,C) st s1 in A & t in A & s1 c= t holds s1 = t ) ) } by A1, SUBSTLAT:def_1; then ex A being Element of Fin (PFuncs (V,C)) st ( A = b & ( for u being set st u in A holds u is finite ) & ( for s, t being Element of PFuncs (V,C) st s in A & t in A & s c= t holds s = t ) ) ; hence a is finite Function by A1, A2; ::_thesis: verum end; Lm1: for A, B, C being set st A = B \/ C & A c= B holds A = B proof let A, B, C be set ; ::_thesis: ( A = B \/ C & A c= B implies A = B ) assume that A1: A = B \/ C and A2: A c= B ; ::_thesis: A = B B c= A by A1, XBOOLE_1:7; hence A = B by A2, XBOOLE_0:def_10; ::_thesis: verum end; begin theorem Th2: :: HEYTING2:2 for V, C being set for a being finite Element of PFuncs (V,C) holds {a} in SubstitutionSet (V,C) proof let V, C be set ; ::_thesis: for a being finite Element of PFuncs (V,C) holds {a} in SubstitutionSet (V,C) let a be finite Element of PFuncs (V,C); ::_thesis: {a} in SubstitutionSet (V,C) A1: for s, t being Element of PFuncs (V,C) st s in {a} & t in {a} & s c= t holds s = t proof let s, t be Element of PFuncs (V,C); ::_thesis: ( s in {a} & t in {a} & s c= t implies s = t ) assume that A2: s in {a} and A3: t in {a} and s c= t ; ::_thesis: s = t s = a by A2, TARSKI:def_1; hence s = t by A3, TARSKI:def_1; ::_thesis: verum end; for u being set st u in {a} holds u is finite ; then {.a.} in { A where A is Element of Fin (PFuncs (V,C)) : ( ( for u being set st u in A holds u is finite ) & ( for s, t being Element of PFuncs (V,C) st s in A & t in A & s c= t holds s = t ) ) } by A1; hence {a} in SubstitutionSet (V,C) by SUBSTLAT:def_1; ::_thesis: verum end; theorem :: HEYTING2:3 for V, C being set for A, B being Element of SubstitutionSet (V,C) st A ^ B = A holds for a being set st a in A holds ex b being set st ( b in B & b c= a ) proof let V, C be set ; ::_thesis: for A, B being Element of SubstitutionSet (V,C) st A ^ B = A holds for a being set st a in A holds ex b being set st ( b in B & b c= a ) let A, B be Element of SubstitutionSet (V,C); ::_thesis: ( A ^ B = A implies for a being set st a in A holds ex b being set st ( b in B & b c= a ) ) assume A1: A ^ B = A ; ::_thesis: for a being set st a in A holds ex b being set st ( b in B & b c= a ) let a be set ; ::_thesis: ( a in A implies ex b being set st ( b in B & b c= a ) ) assume a in A ; ::_thesis: ex b being set st ( b in B & b c= a ) then consider b, c being set such that b in A and A2: c in B and A3: a = b \/ c by A1, SUBSTLAT:15; take c ; ::_thesis: ( c in B & c c= a ) thus ( c in B & c c= a ) by A2, A3, XBOOLE_1:7; ::_thesis: verum end; theorem Th4: :: HEYTING2:4 for V, C being set for A, B being Element of SubstitutionSet (V,C) st mi (A ^ B) = A holds for a being set st a in A holds ex b being set st ( b in B & b c= a ) proof let V, C be set ; ::_thesis: for A, B being Element of SubstitutionSet (V,C) st mi (A ^ B) = A holds for a being set st a in A holds ex b being set st ( b in B & b c= a ) let A, B be Element of SubstitutionSet (V,C); ::_thesis: ( mi (A ^ B) = A implies for a being set st a in A holds ex b being set st ( b in B & b c= a ) ) assume A1: mi (A ^ B) = A ; ::_thesis: for a being set st a in A holds ex b being set st ( b in B & b c= a ) let a be set ; ::_thesis: ( a in A implies ex b being set st ( b in B & b c= a ) ) A2: mi (A ^ B) c= A ^ B by SUBSTLAT:8; assume a in A ; ::_thesis: ex b being set st ( b in B & b c= a ) then consider b, c being set such that b in A and A3: c in B and A4: a = b \/ c by A1, A2, SUBSTLAT:15; take c ; ::_thesis: ( c in B & c c= a ) thus ( c in B & c c= a ) by A3, A4, XBOOLE_1:7; ::_thesis: verum end; theorem Th5: :: HEYTING2:5 for V, C being set for A, B being Element of SubstitutionSet (V,C) st ( for a being set st a in A holds ex b being set st ( b in B & b c= a ) ) holds mi (A ^ B) = A proof let V, C be set ; ::_thesis: for A, B being Element of SubstitutionSet (V,C) st ( for a being set st a in A holds ex b being set st ( b in B & b c= a ) ) holds mi (A ^ B) = A let A, B be Element of SubstitutionSet (V,C); ::_thesis: ( ( for a being set st a in A holds ex b being set st ( b in B & b c= a ) ) implies mi (A ^ B) = A ) assume A1: for a being set st a in A holds ex b being set st ( b in B & b c= a ) ; ::_thesis: mi (A ^ B) = A A2: mi (A ^ B) c= A ^ B by SUBSTLAT:8; thus mi (A ^ B) c= A :: according to XBOOLE_0:def_10 ::_thesis: A c= mi (A ^ B) proof let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in mi (A ^ B) or a in A ) A3: A c= PFuncs (V,C) by FINSUB_1:def_5; assume A4: a in mi (A ^ B) ; ::_thesis: a in A then consider b, c being set such that A5: b in A and c in B and A6: a = b \/ c by A2, SUBSTLAT:15; A7: b c= a by A6, XBOOLE_1:7; consider b1 being set such that A8: b1 in B and A9: b1 c= b by A1, A5; B c= PFuncs (V,C) by FINSUB_1:def_5; then reconsider b9 = b, b19 = b1 as Element of PFuncs (V,C) by A5, A8, A3; A10: b = b1 \/ b by A9, XBOOLE_1:12; b19 tolerates b9 by A9, PARTFUN1:54; then b in A ^ B by A5, A8, A10, SUBSTLAT:16; hence a in A by A4, A5, A7, SUBSTLAT:6; ::_thesis: verum end; thus A c= mi (A ^ B) ::_thesis: verum proof let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in A or a in mi (A ^ B) ) A11: A c= PFuncs (V,C) by FINSUB_1:def_5; assume A12: a in A ; ::_thesis: a in mi (A ^ B) then consider b being set such that A13: b in B and A14: b c= a by A1; B c= PFuncs (V,C) by FINSUB_1:def_5; then reconsider a9 = a, b9 = b as Element of PFuncs (V,C) by A12, A13, A11; A15: a9 tolerates b9 by A14, PARTFUN1:54; A16: a in mi A by A12, SUBSTLAT:11; A17: for b being finite set st b in A ^ B & b c= a holds b = a proof let b be finite set ; ::_thesis: ( b in A ^ B & b c= a implies b = a ) assume that A18: b in A ^ B and A19: b c= a ; ::_thesis: b = a consider c, d being set such that A20: c in A and d in B and A21: b = c \/ d by A18, SUBSTLAT:15; c c= b by A21, XBOOLE_1:7; then c c= a by A19, XBOOLE_1:1; then c = a by A16, A20, SUBSTLAT:6; hence b = a by A19, A21, Lm1; ::_thesis: verum end; a9 = a9 \/ b9 by A14, XBOOLE_1:12; then A22: a9 in A ^ B by A12, A13, A15, SUBSTLAT:16; a is finite by A12, Th1; hence a in mi (A ^ B) by A22, A17, SUBSTLAT:7; ::_thesis: verum end; end; definition let V be set ; let C be finite set ; let A be Element of Fin (PFuncs (V,C)); func Involved A -> set means :Def1: :: HEYTING2:def 1 for x being set holds ( x in it iff ex f being finite Function st ( f in A & x in dom f ) ); existence ex b1 being set st for x being set holds ( x in b1 iff ex f being finite Function st ( f in A & x in dom f ) ) proof defpred S1[ set ] means ex f being finite Function st ( f in A & $1 in dom f ); consider X being set such that A1: for x being set holds ( x in X iff ( x in V & S1[x] ) ) from XBOOLE_0:sch_1(); take X ; ::_thesis: for x being set holds ( x in X iff ex f being finite Function st ( f in A & x in dom f ) ) let x be set ; ::_thesis: ( x in X iff ex f being finite Function st ( f in A & x in dom f ) ) thus ( x in X implies ex f being finite Function st ( f in A & x in dom f ) ) by A1; ::_thesis: ( ex f being finite Function st ( f in A & x in dom f ) implies x in X ) given f being finite Function such that A2: f in A and A3: x in dom f ; ::_thesis: x in X A c= PFuncs (V,C) by FINSUB_1:def_5; then ex f1 being Function st ( f = f1 & dom f1 c= V & rng f1 c= C ) by A2, PARTFUN1:def_3; hence x in X by A1, A2, A3; ::_thesis: verum end; uniqueness for b1, b2 being set st ( for x being set holds ( x in b1 iff ex f being finite Function st ( f in A & x in dom f ) ) ) & ( for x being set holds ( x in b2 iff ex f being finite Function st ( f in A & x in dom f ) ) ) holds b1 = b2 proof defpred S1[ set ] means ex f being finite Function st ( f in A & $1 in dom f ); let r, s be set ; ::_thesis: ( ( for x being set holds ( x in r iff ex f being finite Function st ( f in A & x in dom f ) ) ) & ( for x being set holds ( x in s iff ex f being finite Function st ( f in A & x in dom f ) ) ) implies r = s ) assume that A4: for x being set holds ( x in r iff ex f being finite Function st ( f in A & x in dom f ) ) and A5: for x being set holds ( x in s iff ex f being finite Function st ( f in A & x in dom f ) ) ; ::_thesis: r = s for X1, X2 being set st ( for x being set holds ( x in X1 iff S1[x] ) ) & ( for x being set holds ( x in X2 iff S1[x] ) ) holds X1 = X2 from XBOOLE_0:sch_3(); hence r = s by A4, A5; ::_thesis: verum end; end; :: deftheorem Def1 defines Involved HEYTING2:def_1_:_ for V being set for C being finite set for A being Element of Fin (PFuncs (V,C)) for b4 being set holds ( b4 = Involved A iff for x being set holds ( x in b4 iff ex f being finite Function st ( f in A & x in dom f ) ) ); theorem Th6: :: HEYTING2:6 for V being set for C being finite set for A being Element of Fin (PFuncs (V,C)) holds Involved A c= V proof let V be set ; ::_thesis: for C being finite set for A being Element of Fin (PFuncs (V,C)) holds Involved A c= V let C be finite set ; ::_thesis: for A being Element of Fin (PFuncs (V,C)) holds Involved A c= V let A be Element of Fin (PFuncs (V,C)); ::_thesis: Involved A c= V let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in Involved A or a in V ) assume a in Involved A ; ::_thesis: a in V then consider f being finite Function such that A1: f in A and A2: a in dom f by Def1; A c= PFuncs (V,C) by FINSUB_1:def_5; then ex f1 being Function st ( f = f1 & dom f1 c= V & rng f1 c= C ) by A1, PARTFUN1:def_3; hence a in V by A2; ::_thesis: verum end; Lm2: for V being set for C being finite set for A being non empty Element of Fin (PFuncs (V,C)) holds Involved A is finite proof deffunc H1( Function) -> set = dom $1; let V be set ; ::_thesis: for C being finite set for A being non empty Element of Fin (PFuncs (V,C)) holds Involved A is finite let C be finite set ; ::_thesis: for A being non empty Element of Fin (PFuncs (V,C)) holds Involved A is finite let A be non empty Element of Fin (PFuncs (V,C)); ::_thesis: Involved A is finite defpred S1[ set ] means ( $1 in A & $1 is finite ); defpred S2[ set ] means $1 in A; set X = { H1(f) where f is Element of PFuncs (V,C) : S1[f] } ; A1: for x being set st x in { H1(f) where f is Element of PFuncs (V,C) : S1[f] } holds x is finite proof let x be set ; ::_thesis: ( x in { H1(f) where f is Element of PFuncs (V,C) : S1[f] } implies x is finite ) assume x in { H1(f) where f is Element of PFuncs (V,C) : S1[f] } ; ::_thesis: x is finite then ex f1 being Element of PFuncs (V,C) st ( x = dom f1 & f1 in A & f1 is finite ) ; hence x is finite ; ::_thesis: verum end; A2: A is finite ; A3: { H1(f) where f is Element of PFuncs (V,C) : f in A } is finite from FRAENKEL:sch_21(A2); for x being set holds ( x in Involved A iff ex Y being set st ( x in Y & Y in { H1(f) where f is Element of PFuncs (V,C) : S1[f] } ) ) proof let x be set ; ::_thesis: ( x in Involved A iff ex Y being set st ( x in Y & Y in { H1(f) where f is Element of PFuncs (V,C) : S1[f] } ) ) hereby ::_thesis: ( ex Y being set st ( x in Y & Y in { H1(f) where f is Element of PFuncs (V,C) : S1[f] } ) implies x in Involved A ) assume x in Involved A ; ::_thesis: ex Y being set st ( x in Y & Y in { H1(f) where f is Element of PFuncs (V,C) : S1[f] } ) then consider f being finite Function such that A4: f in A and A5: x in dom f by Def1; A c= PFuncs (V,C) by FINSUB_1:def_5; then dom f in { H1(f) where f is Element of PFuncs (V,C) : S1[f] } by A4; hence ex Y being set st ( x in Y & Y in { H1(f) where f is Element of PFuncs (V,C) : S1[f] } ) by A5; ::_thesis: verum end; given Y being set such that A6: x in Y and A7: Y in { H1(f) where f is Element of PFuncs (V,C) : S1[f] } ; ::_thesis: x in Involved A ex f1 being Element of PFuncs (V,C) st ( Y = dom f1 & f1 in A & f1 is finite ) by A7; hence x in Involved A by A6, Def1; ::_thesis: verum end; then A8: Involved A = union { H1(f) where f is Element of PFuncs (V,C) : S1[f] } by TARSKI:def_4; A9: for g being Element of PFuncs (V,C) st S1[g] holds S2[g] ; { H1(f) where f is Element of PFuncs (V,C) : S1[f] } c= { H1(f) where f is Element of PFuncs (V,C) : S2[f] } from FRAENKEL:sch_1(A9); hence Involved A is finite by A3, A8, A1, FINSET_1:7; ::_thesis: verum end; theorem Th7: :: HEYTING2:7 for V being set for C being finite set for A being Element of Fin (PFuncs (V,C)) st A = {} holds Involved A = {} proof let V be set ; ::_thesis: for C being finite set for A being Element of Fin (PFuncs (V,C)) st A = {} holds Involved A = {} let C be finite set ; ::_thesis: for A being Element of Fin (PFuncs (V,C)) st A = {} holds Involved A = {} let A be Element of Fin (PFuncs (V,C)); ::_thesis: ( A = {} implies Involved A = {} ) assume A1: A = {} ; ::_thesis: Involved A = {} assume Involved A <> {} ; ::_thesis: contradiction then consider x being set such that A2: x in Involved A by XBOOLE_0:def_1; ex f being finite Function st ( f in A & x in dom f ) by A2, Def1; hence contradiction by A1; ::_thesis: verum end; registration let V be set ; let C be finite set ; let A be Element of Fin (PFuncs (V,C)); cluster Involved A -> finite ; coherence Involved A is finite proof percases ( not A is empty or A is empty ) ; suppose not A is empty ; ::_thesis: Involved A is finite hence Involved A is finite by Lm2; ::_thesis: verum end; suppose A is empty ; ::_thesis: Involved A is finite hence Involved A is finite by Th7; ::_thesis: verum end; end; end; end; theorem :: HEYTING2:8 for C being finite set for A being Element of Fin (PFuncs ({},C)) holds Involved A = {} by Th6, XBOOLE_1:3; definition let V be set ; let C be finite set ; let A be Element of Fin (PFuncs (V,C)); func - A -> Element of Fin (PFuncs (V,C)) equals :: HEYTING2:def 2 { f where f is Element of PFuncs ((Involved A),C) : for g being Element of PFuncs (V,C) st g in A holds not f tolerates g } ; coherence { f where f is Element of PFuncs ((Involved A),C) : for g being Element of PFuncs (V,C) st g in A holds not f tolerates g } is Element of Fin (PFuncs (V,C)) proof deffunc H1( set ) -> set = $1; defpred S1[ set ] means verum; defpred S2[ Element of PFuncs ((Involved A),C)] means for h being Element of PFuncs (V,C) st h in A holds not $1 tolerates h; set M = { f where f is Element of PFuncs ((Involved A),C) : for g being Element of PFuncs (V,C) st g in A holds not f tolerates g } ; A1: { f where f is Element of PFuncs ((Involved A),C) : verum } c= PFuncs ((Involved A),C) proof let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in { f where f is Element of PFuncs ((Involved A),C) : verum } or a in PFuncs ((Involved A),C) ) assume a in { f where f is Element of PFuncs ((Involved A),C) : verum } ; ::_thesis: a in PFuncs ((Involved A),C) then ex f1 being Element of PFuncs ((Involved A),C) st f1 = a ; hence a in PFuncs ((Involved A),C) ; ::_thesis: verum end; A2: for v being Element of PFuncs ((Involved A),C) st S2[v] holds S1[v] ; A3: { H1(f) where f is Element of PFuncs ((Involved A),C) : S2[f] } c= { H1(f) where f is Element of PFuncs ((Involved A),C) : S1[f] } from FRAENKEL:sch_1(A2); A4: { f where f is Element of PFuncs ((Involved A),C) : for g being Element of PFuncs (V,C) st g in A holds not f tolerates g } c= PFuncs (V,C) proof let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in { f where f is Element of PFuncs ((Involved A),C) : for g being Element of PFuncs (V,C) st g in A holds not f tolerates g } or a in PFuncs (V,C) ) assume a in { f where f is Element of PFuncs ((Involved A),C) : for g being Element of PFuncs (V,C) st g in A holds not f tolerates g } ; ::_thesis: a in PFuncs (V,C) then ex f1 being Element of PFuncs ((Involved A),C) st ( f1 = a & ( for g being Element of PFuncs (V,C) st g in A holds not f1 tolerates g ) ) ; then A5: a in PFuncs ((Involved A),C) ; Involved A c= V by Th6; then PFuncs ((Involved A),C) c= PFuncs (V,C) by PARTFUN1:50; hence a in PFuncs (V,C) by A5; ::_thesis: verum end; PFuncs ((Involved A),C) is finite by PRE_POLY:17; hence { f where f is Element of PFuncs ((Involved A),C) : for g being Element of PFuncs (V,C) st g in A holds not f tolerates g } is Element of Fin (PFuncs (V,C)) by A3, A1, A4, FINSUB_1:def_5; ::_thesis: verum end; end; :: deftheorem defines - HEYTING2:def_2_:_ for V being set for C being finite set for A being Element of Fin (PFuncs (V,C)) holds - A = { f where f is Element of PFuncs ((Involved A),C) : for g being Element of PFuncs (V,C) st g in A holds not f tolerates g } ; theorem Th9: :: HEYTING2:9 for V being set for C being finite set for A being Element of SubstitutionSet (V,C) holds A ^ (- A) = {} proof let V be set ; ::_thesis: for C being finite set for A being Element of SubstitutionSet (V,C) holds A ^ (- A) = {} let C be finite set ; ::_thesis: for A being Element of SubstitutionSet (V,C) holds A ^ (- A) = {} let A be Element of SubstitutionSet (V,C); ::_thesis: A ^ (- A) = {} assume A ^ (- A) <> {} ; ::_thesis: contradiction then consider x being set such that A1: x in A ^ (- A) by XBOOLE_0:def_1; x in { (s \/ t) where s, t is Element of PFuncs (V,C) : ( s in A & t in - A & s tolerates t ) } by A1, SUBSTLAT:def_3; then consider s1, t1 being Element of PFuncs (V,C) such that x = s1 \/ t1 and A2: s1 in A and A3: t1 in - A and A4: s1 tolerates t1 ; ex f1 being Element of PFuncs ((Involved A),C) st ( f1 = t1 & ( for g being Element of PFuncs (V,C) st g in A holds not f1 tolerates g ) ) by A3; hence contradiction by A2, A4; ::_thesis: verum end; theorem Th10: :: HEYTING2:10 for V being set for C being finite set for A being Element of SubstitutionSet (V,C) st A = {} holds - A = {{}} proof let V be set ; ::_thesis: for C being finite set for A being Element of SubstitutionSet (V,C) st A = {} holds - A = {{}} let C be finite set ; ::_thesis: for A being Element of SubstitutionSet (V,C) st A = {} holds - A = {{}} let A be Element of SubstitutionSet (V,C); ::_thesis: ( A = {} implies - A = {{}} ) defpred S1[ Element of PFuncs ((Involved A),C)] means for g being Element of PFuncs (V,C) st g in A holds not $1 tolerates g; assume A1: A = {} ; ::_thesis: - A = {{}} then A2: for g being Element of PFuncs (V,C) st g in A holds not {} tolerates g ; { xx where xx is Element of PFuncs ((Involved A),C) : S1[xx] } c= PFuncs ((Involved A),C) from FRAENKEL:sch_10(); then - A c= PFuncs ({},C) by A1, Th7; then A3: - A c= {{}} by PARTFUN1:48; {} in {{}} by TARSKI:def_1; then {} in PFuncs ({},C) by PARTFUN1:48; then {} in PFuncs ((Involved A),C) by A1, Th7; then {} in - A by A2; then {{}} c= - A by ZFMISC_1:31; hence - A = {{}} by A3, XBOOLE_0:def_10; ::_thesis: verum end; theorem :: HEYTING2:11 for V being set for C being finite set for A being Element of SubstitutionSet (V,C) st A = {{}} holds - A = {} proof let V be set ; ::_thesis: for C being finite set for A being Element of SubstitutionSet (V,C) st A = {{}} holds - A = {} let C be finite set ; ::_thesis: for A being Element of SubstitutionSet (V,C) st A = {{}} holds - A = {} let A be Element of SubstitutionSet (V,C); ::_thesis: ( A = {{}} implies - A = {} ) assume A1: A = {{}} ; ::_thesis: - A = {} assume - A <> {} ; ::_thesis: contradiction then consider x1 being set such that A2: x1 in - A by XBOOLE_0:def_1; consider f1 being Element of PFuncs ((Involved A),C) such that x1 = f1 and A3: for g being Element of PFuncs (V,C) st g in {{}} holds not f1 tolerates g by A1, A2; A4: {} in {{}} by TARSKI:def_1; {} is PartFunc of V,C by RELSET_1:12; then A5: {} in PFuncs (V,C) by PARTFUN1:45; f1 tolerates {} by PARTFUN1:59; hence contradiction by A3, A5, A4; ::_thesis: verum end; theorem Th12: :: HEYTING2:12 for V being set for C being finite set for A being Element of SubstitutionSet (V,C) holds mi (A ^ (- A)) = Bottom (SubstLatt (V,C)) proof let V be set ; ::_thesis: for C being finite set for A being Element of SubstitutionSet (V,C) holds mi (A ^ (- A)) = Bottom (SubstLatt (V,C)) let C be finite set ; ::_thesis: for A being Element of SubstitutionSet (V,C) holds mi (A ^ (- A)) = Bottom (SubstLatt (V,C)) let A be Element of SubstitutionSet (V,C); ::_thesis: mi (A ^ (- A)) = Bottom (SubstLatt (V,C)) mi (A ^ (- A)) = {} by Th9, SUBSTLAT:9 .= Bottom (SubstLatt (V,C)) by SUBSTLAT:26 ; hence mi (A ^ (- A)) = Bottom (SubstLatt (V,C)) ; ::_thesis: verum end; theorem :: HEYTING2:13 for V being non empty set for C being non empty finite set for A being Element of SubstitutionSet (V,C) st A = {} holds mi (- A) = Top (SubstLatt (V,C)) proof let V be non empty set ; ::_thesis: for C being non empty finite set for A being Element of SubstitutionSet (V,C) st A = {} holds mi (- A) = Top (SubstLatt (V,C)) let C be non empty finite set ; ::_thesis: for A being Element of SubstitutionSet (V,C) st A = {} holds mi (- A) = Top (SubstLatt (V,C)) let A be Element of SubstitutionSet (V,C); ::_thesis: ( A = {} implies mi (- A) = Top (SubstLatt (V,C)) ) assume A = {} ; ::_thesis: mi (- A) = Top (SubstLatt (V,C)) then A1: - A = {{}} by Th10; then - A in SubstitutionSet (V,C) by SUBSTLAT:2; then mi (- A) = {{}} by A1, SUBSTLAT:11; hence mi (- A) = Top (SubstLatt (V,C)) by SUBSTLAT:27; ::_thesis: verum end; theorem Th14: :: HEYTING2:14 for V being set for C being finite set for A being Element of SubstitutionSet (V,C) for a being Element of PFuncs (V,C) for B being Element of SubstitutionSet (V,C) st B = {a} & A ^ B = {} holds ex b being finite set st ( b in - A & b c= a ) proof let V be set ; ::_thesis: for C being finite set for A being Element of SubstitutionSet (V,C) for a being Element of PFuncs (V,C) for B being Element of SubstitutionSet (V,C) st B = {a} & A ^ B = {} holds ex b being finite set st ( b in - A & b c= a ) let C be finite set ; ::_thesis: for A being Element of SubstitutionSet (V,C) for a being Element of PFuncs (V,C) for B being Element of SubstitutionSet (V,C) st B = {a} & A ^ B = {} holds ex b being finite set st ( b in - A & b c= a ) let A be Element of SubstitutionSet (V,C); ::_thesis: for a being Element of PFuncs (V,C) for B being Element of SubstitutionSet (V,C) st B = {a} & A ^ B = {} holds ex b being finite set st ( b in - A & b c= a ) let a be Element of PFuncs (V,C); ::_thesis: for B being Element of SubstitutionSet (V,C) st B = {a} & A ^ B = {} holds ex b being finite set st ( b in - A & b c= a ) let B be Element of SubstitutionSet (V,C); ::_thesis: ( B = {a} & A ^ B = {} implies ex b being finite set st ( b in - A & b c= a ) ) assume A1: B = {a} ; ::_thesis: ( not A ^ B = {} or ex b being finite set st ( b in - A & b c= a ) ) assume A2: A ^ B = {} ; ::_thesis: ex b being finite set st ( b in - A & b c= a ) percases ( not A is empty or A is empty ) ; supposeA3: not A is empty ; ::_thesis: ex b being finite set st ( b in - A & b c= a ) then reconsider AA = A as non empty finite set ; defpred S1[ Element of PFuncs (V,C), set ] means ( $2 in (dom $1) /\ (dom a) & $1 . $2 <> a . $2 ); defpred S2[ set ] means verum; A4: ex kk being Function st ( kk = a & dom kk c= V & rng kk c= C ) by PARTFUN1:def_3; A5: now__::_thesis:_for_s_being_Element_of_PFuncs_(V,C)_st_s_in_A_holds_ ex_x_being_Element_of_[V]_st_S1[s,x] let s be Element of PFuncs (V,C); ::_thesis: ( s in A implies ex x being Element of [V] st S1[s,x] ) assume A6: s in A ; ::_thesis: ex x being Element of [V] st S1[s,x] not s tolerates a proof assume A7: s tolerates a ; ::_thesis: contradiction a in B by A1, TARSKI:def_1; then s \/ a in { (s1 \/ t1) where s1, t1 is Element of PFuncs (V,C) : ( s1 in A & t1 in B & s1 tolerates t1 ) } by A6, A7; hence contradiction by A2, SUBSTLAT:def_3; ::_thesis: verum end; then consider x being set such that A8: x in (dom s) /\ (dom a) and A9: s . x <> a . x by PARTFUN1:def_4; consider a9 being Function such that A10: a9 = a and A11: dom a9 c= V and rng a9 c= C by PARTFUN1:def_3; (dom s) /\ (dom a) c= dom a9 by A10, XBOOLE_1:17; then (dom s) /\ (dom a) c= V by A11, XBOOLE_1:1; then reconsider x = x as Element of [V] by A8, HEYTING1:def_2; take x = x; ::_thesis: S1[s,x] thus S1[s,x] by A8, A9; ::_thesis: verum end; consider g being Element of Funcs ((PFuncs (V,C)),[V]) such that A12: for s being Element of PFuncs (V,C) st s in A holds S1[s,g . s] from FRAENKEL:sch_27(A5); deffunc H1( set ) -> set = g . $1; A13: A = [A] by A3, HEYTING1:def_2; { H1(b) where b is Element of AA : S2[b] } is finite from PRE_CIRC:sch_1(); then reconsider UKA = { (g . b) where b is Element of [A] : verum } as finite set by A13; set f = a | UKA; A14: dom (a | UKA) c= Involved A proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in dom (a | UKA) or x in Involved A ) assume x in dom (a | UKA) ; ::_thesis: x in Involved A then x in UKA by RELAT_1:57; then consider b being Element of [A] such that A15: x = g . b ; reconsider b = b as finite Function by A13, Th1; reconsider b9 = b as Element of PFuncs (V,C) by A13, SETWISEO:9; g . b9 in (dom b9) /\ (dom a) by A13, A12; then x in dom b by A15, XBOOLE_0:def_4; hence x in Involved A by A13, Def1; ::_thesis: verum end; rng (a | UKA) c= rng a by RELAT_1:70; then rng (a | UKA) c= C by A4, XBOOLE_1:1; then reconsider f9 = a | UKA as Element of PFuncs ((Involved A),C) by A14, PARTFUN1:def_3; for g being Element of PFuncs (V,C) st g in A holds not a | UKA tolerates g proof let g1 be Element of PFuncs (V,C); ::_thesis: ( g1 in A implies not a | UKA tolerates g1 ) reconsider g9 = g1 as Function ; assume A16: g1 in A ; ::_thesis: not a | UKA tolerates g1 ex z being set st ( z in (dom g1) /\ (dom (a | UKA)) & g9 . z <> (a | UKA) . z ) proof set z = g . g1; take g . g1 ; ::_thesis: ( g . g1 in (dom g1) /\ (dom (a | UKA)) & g9 . (g . g1) <> (a | UKA) . (g . g1) ) A17: g . g1 in (dom g1) /\ (dom a) by A12, A16; then A18: g . g1 in dom a by XBOOLE_0:def_4; g . g1 in { (g . b1) where b1 is Element of [A] : verum } by A13, A16; then g . g1 in (dom a) /\ UKA by A18, XBOOLE_0:def_4; then A19: g . g1 in dom (a | UKA) by RELAT_1:61; g . g1 in dom g1 by A17, XBOOLE_0:def_4; hence g . g1 in (dom g1) /\ (dom (a | UKA)) by A19, XBOOLE_0:def_4; ::_thesis: g9 . (g . g1) <> (a | UKA) . (g . g1) g1 . (g . g1) <> a . (g . g1) by A12, A16; hence g9 . (g . g1) <> (a | UKA) . (g . g1) by A19, FUNCT_1:47; ::_thesis: verum end; hence not a | UKA tolerates g1 by PARTFUN1:def_4; ::_thesis: verum end; then f9 in { f1 where f1 is Element of PFuncs ((Involved A),C) : for g being Element of PFuncs (V,C) st g in A holds not f1 tolerates g } ; hence ex b being finite set st ( b in - A & b c= a ) by RELAT_1:59; ::_thesis: verum end; supposeA20: A is empty ; ::_thesis: ex b being finite set st ( b in - A & b c= a ) reconsider K = {} as finite set ; take K ; ::_thesis: ( K in - A & K c= a ) - A = {{}} by A20, Th10; hence ( K in - A & K c= a ) by TARSKI:def_1, XBOOLE_1:2; ::_thesis: verum end; end; end; definition let V be set ; let C be finite set ; let A, B be Element of Fin (PFuncs (V,C)); funcA =>> B -> Element of Fin (PFuncs (V,C)) equals :: HEYTING2:def 3 (PFuncs (V,C)) /\ { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : dom f = A } ; coherence (PFuncs (V,C)) /\ { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : dom f = A } is Element of Fin (PFuncs (V,C)) proof reconsider PF = PFuncs (A,B) as functional non empty finite set by PRE_POLY:17; set Z = { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : dom f = A } ; set K = (PFuncs (V,C)) /\ { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : dom f = A } ; A1: { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : dom f = A } c= { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : ( f in PFuncs (A,B) & dom f = A ) } proof let z be set ; :: according to TARSKI:def_3 ::_thesis: ( not z in { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : dom f = A } or z in { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : ( f in PFuncs (A,B) & dom f = A ) } ) assume z in { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : dom f = A } ; ::_thesis: z in { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : ( f in PFuncs (A,B) & dom f = A ) } then ex f1 being Element of PFuncs (A,B) st ( z = union { ((f1 . i) \ i) where i is Element of PFuncs (V,C) : i in A } & dom f1 = A ) ; hence z in { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : ( f in PFuncs (A,B) & dom f = A ) } ; ::_thesis: verum end; defpred S1[ Element of PF] means ( $1 in PFuncs (A,B) & dom $1 = A ); deffunc H1( Element of PF) -> set = union { (($1 . i) \ i) where i is Element of PFuncs (V,C) : i in A } ; A2: { H1(f) where f is Element of PF : S1[f] } is finite from PRE_CIRC:sch_1(); (PFuncs (V,C)) /\ { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : dom f = A } c= PFuncs (V,C) by XBOOLE_1:17; hence (PFuncs (V,C)) /\ { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : dom f = A } is Element of Fin (PFuncs (V,C)) by A1, A2, FINSUB_1:def_5; ::_thesis: verum end; end; :: deftheorem defines =>> HEYTING2:def_3_:_ for V being set for C being finite set for A, B being Element of Fin (PFuncs (V,C)) holds A =>> B = (PFuncs (V,C)) /\ { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : dom f = A } ; theorem Th15: :: HEYTING2:15 for V being set for C being finite set for A, B being Element of Fin (PFuncs (V,C)) for s being set st s in A =>> B holds ex f being PartFunc of A,B st ( s = union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } & dom f = A ) proof let V be set ; ::_thesis: for C being finite set for A, B being Element of Fin (PFuncs (V,C)) for s being set st s in A =>> B holds ex f being PartFunc of A,B st ( s = union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } & dom f = A ) let C be finite set ; ::_thesis: for A, B being Element of Fin (PFuncs (V,C)) for s being set st s in A =>> B holds ex f being PartFunc of A,B st ( s = union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } & dom f = A ) let A, B be Element of Fin (PFuncs (V,C)); ::_thesis: for s being set st s in A =>> B holds ex f being PartFunc of A,B st ( s = union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } & dom f = A ) let s be set ; ::_thesis: ( s in A =>> B implies ex f being PartFunc of A,B st ( s = union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } & dom f = A ) ) assume s in A =>> B ; ::_thesis: ex f being PartFunc of A,B st ( s = union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } & dom f = A ) then s in { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ) where f is Element of PFuncs (A,B) : dom f = A } by XBOOLE_0:def_4; then consider f being Element of PFuncs (A,B) such that A1: s = union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } and A2: dom f = A ; f is PartFunc of A,B by PARTFUN1:47; hence ex f being PartFunc of A,B st ( s = union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } & dom f = A ) by A1, A2; ::_thesis: verum end; Lm3: for a, V being set for C being finite set for A being Element of Fin (PFuncs (V,C)) for K being Element of SubstitutionSet (V,C) st a in A ^ (A =>> K) holds ex b being set st ( b in K & b c= a ) proof let a, V be set ; ::_thesis: for C being finite set for A being Element of Fin (PFuncs (V,C)) for K being Element of SubstitutionSet (V,C) st a in A ^ (A =>> K) holds ex b being set st ( b in K & b c= a ) let C be finite set ; ::_thesis: for A being Element of Fin (PFuncs (V,C)) for K being Element of SubstitutionSet (V,C) st a in A ^ (A =>> K) holds ex b being set st ( b in K & b c= a ) let A be Element of Fin (PFuncs (V,C)); ::_thesis: for K being Element of SubstitutionSet (V,C) st a in A ^ (A =>> K) holds ex b being set st ( b in K & b c= a ) let K be Element of SubstitutionSet (V,C); ::_thesis: ( a in A ^ (A =>> K) implies ex b being set st ( b in K & b c= a ) ) A1: K c= PFuncs (V,C) by FINSUB_1:def_5; assume a in A ^ (A =>> K) ; ::_thesis: ex b being set st ( b in K & b c= a ) then consider b, c being set such that A2: b in A and A3: c in A =>> K and A4: a = b \/ c by SUBSTLAT:15; A c= PFuncs (V,C) by FINSUB_1:def_5; then reconsider b9 = b as Element of PFuncs (V,C) by A2; consider f being PartFunc of A,K such that A5: c = union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } and A6: dom f = A by A3, Th15; f . b in K by A2, A6, PARTFUN1:4; then reconsider d = f . b as Element of PFuncs (V,C) by A1; take d ; ::_thesis: ( d in K & d c= a ) thus d in K by A2, A6, PARTFUN1:4; ::_thesis: d c= a d \ b9 in { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } by A2; hence d c= a by A4, A5, XBOOLE_1:44, ZFMISC_1:74; ::_thesis: verum end; theorem :: HEYTING2:16 for V being set for C being finite set for A being Element of Fin (PFuncs (V,C)) st A = {} holds A =>> A = {{}} proof deffunc H1( set ) -> set = {} ; let V be set ; ::_thesis: for C being finite set for A being Element of Fin (PFuncs (V,C)) st A = {} holds A =>> A = {{}} let C be finite set ; ::_thesis: for A being Element of Fin (PFuncs (V,C)) st A = {} holds A =>> A = {{}} let A be Element of Fin (PFuncs (V,C)); ::_thesis: ( A = {} implies A =>> A = {{}} ) defpred S1[ Function] means dom $1 = A; deffunc H2( Element of PFuncs (A,A)) -> set = union { (($1 . i) \ i) where i is Element of PFuncs (V,C) : i in A } ; A1: ex a being Element of PFuncs (A,A) st S1[a] proof reconsider e = id A as Element of PFuncs (A,A) by PARTFUN1:45; take e ; ::_thesis: S1[e] thus S1[e] by RELAT_1:45; ::_thesis: verum end; A2: { {} where f is Element of PFuncs (A,A) : S1[f] } = {{}} from LATTICE3:sch_1(A1); assume A3: A = {} ; ::_thesis: A =>> A = {{}} now__::_thesis:_for_f_being_Element_of_PFuncs_(A,A)_holds__{__((f_._i)_\_i)_where_i_is_Element_of_PFuncs_(V,C)_:_i_in_A__}__=_{} let f be Element of PFuncs (A,A); ::_thesis: { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } = {} for x being set holds not x in { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } proof given x being set such that A4: x in { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } ; ::_thesis: contradiction ex x1 being Element of PFuncs (V,C) st ( x = (f . x1) \ x1 & x1 in A ) by A4; hence contradiction by A3; ::_thesis: verum end; hence { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in A } = {} by XBOOLE_0:def_1; ::_thesis: verum end; then A5: for v being Element of PFuncs (A,A) st S1[v] holds H2(v) = H1(v) by ZFMISC_1:2; A6: { H2(f) where f is Element of PFuncs (A,A) : S1[f] } = { H1(f) where f is Element of PFuncs (A,A) : S1[f] } from FRAENKEL:sch_6(A5); {} is PartFunc of V,C by RELSET_1:12; then {} in PFuncs (V,C) by PARTFUN1:45; then {{}} c= PFuncs (V,C) by ZFMISC_1:31; hence A =>> A = {{}} by A6, A2, XBOOLE_1:28; ::_thesis: verum end; Lm4: for V being set for C being finite set for K being Element of SubstitutionSet (V,C) for X being set st X c= K holds X in SubstitutionSet (V,C) proof let V be set ; ::_thesis: for C being finite set for K being Element of SubstitutionSet (V,C) for X being set st X c= K holds X in SubstitutionSet (V,C) let C be finite set ; ::_thesis: for K being Element of SubstitutionSet (V,C) for X being set st X c= K holds X in SubstitutionSet (V,C) let K be Element of SubstitutionSet (V,C); ::_thesis: for X being set st X c= K holds X in SubstitutionSet (V,C) let X be set ; ::_thesis: ( X c= K implies X in SubstitutionSet (V,C) ) assume A1: X c= K ; ::_thesis: X in SubstitutionSet (V,C) K c= PFuncs (V,C) by FINSUB_1:def_5; then X c= PFuncs (V,C) by A1, XBOOLE_1:1; then reconsider B = X as Element of Fin (PFuncs (V,C)) by A1, FINSUB_1:def_5; A2: for a, b being Element of PFuncs (V,C) st a in B & b in B & a c= b holds a = b by A1, SUBSTLAT:5; for x being set st x in X holds x is finite by A1, Th1; then X in { A where A is Element of Fin (PFuncs (V,C)) : ( ( for u being set st u in A holds u is finite ) & ( for s, t being Element of PFuncs (V,C) st s in A & t in A & s c= t holds s = t ) ) } by A2; hence X in SubstitutionSet (V,C) by SUBSTLAT:def_1; ::_thesis: verum end; theorem Th17: :: HEYTING2:17 for V being set for C being finite set for u being Element of (SubstLatt (V,C)) for X being set st X c= u holds X is Element of (SubstLatt (V,C)) proof let V be set ; ::_thesis: for C being finite set for u being Element of (SubstLatt (V,C)) for X being set st X c= u holds X is Element of (SubstLatt (V,C)) let C be finite set ; ::_thesis: for u being Element of (SubstLatt (V,C)) for X being set st X c= u holds X is Element of (SubstLatt (V,C)) let u be Element of (SubstLatt (V,C)); ::_thesis: for X being set st X c= u holds X is Element of (SubstLatt (V,C)) let X be set ; ::_thesis: ( X c= u implies X is Element of (SubstLatt (V,C)) ) reconsider u9 = u as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; assume X c= u ; ::_thesis: X is Element of (SubstLatt (V,C)) then X c= u9 ; then X in SubstitutionSet (V,C) by Lm4; hence X is Element of (SubstLatt (V,C)) by SUBSTLAT:def_4; ::_thesis: verum end; begin definition let V be set ; let C be finite set ; func pseudo_compl (V,C) -> UnOp of the carrier of (SubstLatt (V,C)) means :Def4: :: HEYTING2:def 4 for u being Element of (SubstLatt (V,C)) for u9 being Element of SubstitutionSet (V,C) st u9 = u holds it . u = mi (- u9); existence ex b1 being UnOp of the carrier of (SubstLatt (V,C)) st for u being Element of (SubstLatt (V,C)) for u9 being Element of SubstitutionSet (V,C) st u9 = u holds b1 . u = mi (- u9) proof deffunc H1( Element of SubstitutionSet (V,C)) -> Element of SubstitutionSet (V,C) = mi (- $1); consider IT being Function of (SubstitutionSet (V,C)),(SubstitutionSet (V,C)) such that A1: for u being Element of SubstitutionSet (V,C) holds IT . u = H1(u) from FUNCT_2:sch_4(); SubstitutionSet (V,C) = the carrier of (SubstLatt (V,C)) by SUBSTLAT:def_4; then reconsider IT = IT as UnOp of the carrier of (SubstLatt (V,C)) ; take IT ; ::_thesis: for u being Element of (SubstLatt (V,C)) for u9 being Element of SubstitutionSet (V,C) st u9 = u holds IT . u = mi (- u9) thus for u being Element of (SubstLatt (V,C)) for u9 being Element of SubstitutionSet (V,C) st u9 = u holds IT . u = mi (- u9) by A1; ::_thesis: verum end; correctness uniqueness for b1, b2 being UnOp of the carrier of (SubstLatt (V,C)) st ( for u being Element of (SubstLatt (V,C)) for u9 being Element of SubstitutionSet (V,C) st u9 = u holds b1 . u = mi (- u9) ) & ( for u being Element of (SubstLatt (V,C)) for u9 being Element of SubstitutionSet (V,C) st u9 = u holds b2 . u = mi (- u9) ) holds b1 = b2; proof let IT, IT9 be UnOp of the carrier of (SubstLatt (V,C)); ::_thesis: ( ( for u being Element of (SubstLatt (V,C)) for u9 being Element of SubstitutionSet (V,C) st u9 = u holds IT . u = mi (- u9) ) & ( for u being Element of (SubstLatt (V,C)) for u9 being Element of SubstitutionSet (V,C) st u9 = u holds IT9 . u = mi (- u9) ) implies IT = IT9 ) assume that A2: for u being Element of (SubstLatt (V,C)) for u9 being Element of SubstitutionSet (V,C) st u9 = u holds IT . u = mi (- u9) and A3: for u being Element of (SubstLatt (V,C)) for u9 being Element of SubstitutionSet (V,C) st u9 = u holds IT9 . u = mi (- u9) ; ::_thesis: IT = IT9 now__::_thesis:_for_u_being_Element_of_(SubstLatt_(V,C))_holds_IT_._u_=_IT9_._u let u be Element of (SubstLatt (V,C)); ::_thesis: IT . u = IT9 . u reconsider u9 = u as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; thus IT . u = mi (- u9) by A2 .= IT9 . u by A3 ; ::_thesis: verum end; hence IT = IT9 by FUNCT_2:63; ::_thesis: verum end; func StrongImpl (V,C) -> BinOp of the carrier of (SubstLatt (V,C)) means :Def5: :: HEYTING2:def 5 for u, v being Element of (SubstLatt (V,C)) for u9, v9 being Element of SubstitutionSet (V,C) st u9 = u & v9 = v holds it . (u,v) = mi (u9 =>> v9); existence ex b1 being BinOp of the carrier of (SubstLatt (V,C)) st for u, v being Element of (SubstLatt (V,C)) for u9, v9 being Element of SubstitutionSet (V,C) st u9 = u & v9 = v holds b1 . (u,v) = mi (u9 =>> v9) proof set ZA = the carrier of (SubstLatt (V,C)); defpred S1[ set , set , set ] means for u9, v9 being Element of SubstitutionSet (V,C) st u9 = $1 & v9 = $2 holds $3 = mi (u9 =>> v9); A4: for x, y being Element of the carrier of (SubstLatt (V,C)) ex z being Element of the carrier of (SubstLatt (V,C)) st S1[x,y,z] proof let x, y be Element of the carrier of (SubstLatt (V,C)); ::_thesis: ex z being Element of the carrier of (SubstLatt (V,C)) st S1[x,y,z] reconsider x9 = x, y9 = y as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; reconsider z = mi (x9 =>> y9) as Element of the carrier of (SubstLatt (V,C)) by SUBSTLAT:def_4; take z ; ::_thesis: S1[x,y,z] let u9, v9 be Element of SubstitutionSet (V,C); ::_thesis: ( u9 = x & v9 = y implies z = mi (u9 =>> v9) ) assume that A5: u9 = x and A6: v9 = y ; ::_thesis: z = mi (u9 =>> v9) thus z = mi (u9 =>> v9) by A5, A6; ::_thesis: verum end; consider o being BinOp of the carrier of (SubstLatt (V,C)) such that A7: for a, b being Element of (SubstLatt (V,C)) holds S1[a,b,o . (a,b)] from BINOP_1:sch_3(A4); take o ; ::_thesis: for u, v being Element of (SubstLatt (V,C)) for u9, v9 being Element of SubstitutionSet (V,C) st u9 = u & v9 = v holds o . (u,v) = mi (u9 =>> v9) let u, v be Element of (SubstLatt (V,C)); ::_thesis: for u9, v9 being Element of SubstitutionSet (V,C) st u9 = u & v9 = v holds o . (u,v) = mi (u9 =>> v9) let u9, v9 be Element of SubstitutionSet (V,C); ::_thesis: ( u9 = u & v9 = v implies o . (u,v) = mi (u9 =>> v9) ) assume that A8: u9 = u and A9: v9 = v ; ::_thesis: o . (u,v) = mi (u9 =>> v9) thus o . (u,v) = mi (u9 =>> v9) by A7, A8, A9; ::_thesis: verum end; correctness uniqueness for b1, b2 being BinOp of the carrier of (SubstLatt (V,C)) st ( for u, v being Element of (SubstLatt (V,C)) for u9, v9 being Element of SubstitutionSet (V,C) st u9 = u & v9 = v holds b1 . (u,v) = mi (u9 =>> v9) ) & ( for u, v being Element of (SubstLatt (V,C)) for u9, v9 being Element of SubstitutionSet (V,C) st u9 = u & v9 = v holds b2 . (u,v) = mi (u9 =>> v9) ) holds b1 = b2; proof let IT1, IT2 be BinOp of the carrier of (SubstLatt (V,C)); ::_thesis: ( ( for u, v being Element of (SubstLatt (V,C)) for u9, v9 being Element of SubstitutionSet (V,C) st u9 = u & v9 = v holds IT1 . (u,v) = mi (u9 =>> v9) ) & ( for u, v being Element of (SubstLatt (V,C)) for u9, v9 being Element of SubstitutionSet (V,C) st u9 = u & v9 = v holds IT2 . (u,v) = mi (u9 =>> v9) ) implies IT1 = IT2 ) assume that A10: for u, v being Element of (SubstLatt (V,C)) for u9, v9 being Element of SubstitutionSet (V,C) st u9 = u & v9 = v holds IT1 . (u,v) = mi (u9 =>> v9) and A11: for u, v being Element of (SubstLatt (V,C)) for u9, v9 being Element of SubstitutionSet (V,C) st u9 = u & v9 = v holds IT2 . (u,v) = mi (u9 =>> v9) ; ::_thesis: IT1 = IT2 now__::_thesis:_for_u,_v_being_Element_of_(SubstLatt_(V,C))_holds_IT1_._(u,v)_=_IT2_._(u,v) let u, v be Element of (SubstLatt (V,C)); ::_thesis: IT1 . (u,v) = IT2 . (u,v) reconsider u9 = u, v9 = v as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; thus IT1 . (u,v) = mi (u9 =>> v9) by A10 .= IT2 . (u,v) by A11 ; ::_thesis: verum end; hence IT1 = IT2 by BINOP_1:2; ::_thesis: verum end; let u be Element of (SubstLatt (V,C)); func SUB u -> Element of Fin the carrier of (SubstLatt (V,C)) equals :: HEYTING2:def 6 bool u; coherence bool u is Element of Fin the carrier of (SubstLatt (V,C)) proof reconsider u9 = u as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; A12: bool u c= the carrier of (SubstLatt (V,C)) proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in bool u or x in the carrier of (SubstLatt (V,C)) ) assume x in bool u ; ::_thesis: x in the carrier of (SubstLatt (V,C)) then x is Element of (SubstLatt (V,C)) by Th17; hence x in the carrier of (SubstLatt (V,C)) ; ::_thesis: verum end; u9 is finite ; hence bool u is Element of Fin the carrier of (SubstLatt (V,C)) by A12, FINSUB_1:def_5; ::_thesis: verum end; correctness ; func diff u -> UnOp of the carrier of (SubstLatt (V,C)) means :Def7: :: HEYTING2:def 7 for v being Element of (SubstLatt (V,C)) holds it . v = u \ v; existence ex b1 being UnOp of the carrier of (SubstLatt (V,C)) st for v being Element of (SubstLatt (V,C)) holds b1 . v = u \ v proof deffunc H1( set ) -> Element of bool u = u \ $1; consider IT being Function such that A13: ( dom IT = the carrier of (SubstLatt (V,C)) & ( for v being set st v in the carrier of (SubstLatt (V,C)) holds IT . v = H1(v) ) ) from FUNCT_1:sch_3(); u in the carrier of (SubstLatt (V,C)) ; then A14: u in SubstitutionSet (V,C) by SUBSTLAT:def_4; for x being set st x in the carrier of (SubstLatt (V,C)) holds IT . x in Fin (PFuncs (V,C)) proof let x be set ; ::_thesis: ( x in the carrier of (SubstLatt (V,C)) implies IT . x in Fin (PFuncs (V,C)) ) assume x in the carrier of (SubstLatt (V,C)) ; ::_thesis: IT . x in Fin (PFuncs (V,C)) then A15: IT . x = u \ x by A13; u \ x in SubstitutionSet (V,C) by A14, Lm4; hence IT . x in Fin (PFuncs (V,C)) by A15; ::_thesis: verum end; then reconsider IT = IT as Function of the carrier of (SubstLatt (V,C)),(Fin (PFuncs (V,C))) by A13, FUNCT_2:3; now__::_thesis:_for_v_being_Element_of_(SubstLatt_(V,C))_holds_IT_._v_in_the_carrier_of_(SubstLatt_(V,C)) let v be Element of (SubstLatt (V,C)); ::_thesis: IT . v in the carrier of (SubstLatt (V,C)) u \ v in SubstitutionSet (V,C) by A14, Lm4; then IT . v in SubstitutionSet (V,C) by A13; hence IT . v in the carrier of (SubstLatt (V,C)) by SUBSTLAT:def_4; ::_thesis: verum end; then reconsider IT = IT as UnOp of the carrier of (SubstLatt (V,C)) by HEYTING1:1; take IT ; ::_thesis: for v being Element of (SubstLatt (V,C)) holds IT . v = u \ v let v be Element of (SubstLatt (V,C)); ::_thesis: IT . v = u \ v thus IT . v = u \ v by A13; ::_thesis: verum end; correctness uniqueness for b1, b2 being UnOp of the carrier of (SubstLatt (V,C)) st ( for v being Element of (SubstLatt (V,C)) holds b1 . v = u \ v ) & ( for v being Element of (SubstLatt (V,C)) holds b2 . v = u \ v ) holds b1 = b2; proof let IT, IT9 be UnOp of the carrier of (SubstLatt (V,C)); ::_thesis: ( ( for v being Element of (SubstLatt (V,C)) holds IT . v = u \ v ) & ( for v being Element of (SubstLatt (V,C)) holds IT9 . v = u \ v ) implies IT = IT9 ) assume that A16: for v being Element of (SubstLatt (V,C)) holds IT . v = u \ v and A17: for v being Element of (SubstLatt (V,C)) holds IT9 . v = u \ v ; ::_thesis: IT = IT9 now__::_thesis:_for_v_being_Element_of_(SubstLatt_(V,C))_holds_IT_._v_=_IT9_._v let v be Element of (SubstLatt (V,C)); ::_thesis: IT . v = IT9 . v thus IT . v = u \ v by A16 .= IT9 . v by A17 ; ::_thesis: verum end; hence IT = IT9 by FUNCT_2:63; ::_thesis: verum end; end; :: deftheorem Def4 defines pseudo_compl HEYTING2:def_4_:_ for V being set for C being finite set for b3 being UnOp of the carrier of (SubstLatt (V,C)) holds ( b3 = pseudo_compl (V,C) iff for u being Element of (SubstLatt (V,C)) for u9 being Element of SubstitutionSet (V,C) st u9 = u holds b3 . u = mi (- u9) ); :: deftheorem Def5 defines StrongImpl HEYTING2:def_5_:_ for V being set for C being finite set for b3 being BinOp of the carrier of (SubstLatt (V,C)) holds ( b3 = StrongImpl (V,C) iff for u, v being Element of (SubstLatt (V,C)) for u9, v9 being Element of SubstitutionSet (V,C) st u9 = u & v9 = v holds b3 . (u,v) = mi (u9 =>> v9) ); :: deftheorem defines SUB HEYTING2:def_6_:_ for V being set for C being finite set for u being Element of (SubstLatt (V,C)) holds SUB u = bool u; :: deftheorem Def7 defines diff HEYTING2:def_7_:_ for V being set for C being finite set for u being Element of (SubstLatt (V,C)) for b4 being UnOp of the carrier of (SubstLatt (V,C)) holds ( b4 = diff u iff for v being Element of (SubstLatt (V,C)) holds b4 . v = u \ v ); Lm5: for V being set for C being finite set for v, u being Element of (SubstLatt (V,C)) st v in SUB u holds v "\/" ((diff u) . v) = u proof let V be set ; ::_thesis: for C being finite set for v, u being Element of (SubstLatt (V,C)) st v in SUB u holds v "\/" ((diff u) . v) = u let C be finite set ; ::_thesis: for v, u being Element of (SubstLatt (V,C)) st v in SUB u holds v "\/" ((diff u) . v) = u let v, u be Element of (SubstLatt (V,C)); ::_thesis: ( v in SUB u implies v "\/" ((diff u) . v) = u ) assume A1: v in SUB u ; ::_thesis: v "\/" ((diff u) . v) = u reconsider u9 = u, v9 = v, dv = (diff u) . v as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; A2: u \ v = (diff u) . v by Def7; thus v "\/" ((diff u) . v) = the L_join of (SubstLatt (V,C)) . (v,((diff u) . v)) by LATTICES:def_1 .= mi (v9 \/ dv) by SUBSTLAT:def_4 .= mi u9 by A1, A2, XBOOLE_1:45 .= u by SUBSTLAT:11 ; ::_thesis: verum end; Lm6: for V being set for C being finite set for u being Element of (SubstLatt (V,C)) for a being Element of PFuncs (V,C) for K being Element of Fin (PFuncs (V,C)) st K = {a} holds ex v being Element of SubstitutionSet (V,C) st ( v in SUB u & v ^ K = {} & ( for b being Element of PFuncs (V,C) st b in (diff u) . v holds b tolerates a ) ) proof let V be set ; ::_thesis: for C being finite set for u being Element of (SubstLatt (V,C)) for a being Element of PFuncs (V,C) for K being Element of Fin (PFuncs (V,C)) st K = {a} holds ex v being Element of SubstitutionSet (V,C) st ( v in SUB u & v ^ K = {} & ( for b being Element of PFuncs (V,C) st b in (diff u) . v holds b tolerates a ) ) let C be finite set ; ::_thesis: for u being Element of (SubstLatt (V,C)) for a being Element of PFuncs (V,C) for K being Element of Fin (PFuncs (V,C)) st K = {a} holds ex v being Element of SubstitutionSet (V,C) st ( v in SUB u & v ^ K = {} & ( for b being Element of PFuncs (V,C) st b in (diff u) . v holds b tolerates a ) ) let u be Element of (SubstLatt (V,C)); ::_thesis: for a being Element of PFuncs (V,C) for K being Element of Fin (PFuncs (V,C)) st K = {a} holds ex v being Element of SubstitutionSet (V,C) st ( v in SUB u & v ^ K = {} & ( for b being Element of PFuncs (V,C) st b in (diff u) . v holds b tolerates a ) ) let a be Element of PFuncs (V,C); ::_thesis: for K being Element of Fin (PFuncs (V,C)) st K = {a} holds ex v being Element of SubstitutionSet (V,C) st ( v in SUB u & v ^ K = {} & ( for b being Element of PFuncs (V,C) st b in (diff u) . v holds b tolerates a ) ) deffunc H1( set ) -> set = $1; let K be Element of Fin (PFuncs (V,C)); ::_thesis: ( K = {a} implies ex v being Element of SubstitutionSet (V,C) st ( v in SUB u & v ^ K = {} & ( for b being Element of PFuncs (V,C) st b in (diff u) . v holds b tolerates a ) ) ) assume A1: K = {a} ; ::_thesis: ex v being Element of SubstitutionSet (V,C) st ( v in SUB u & v ^ K = {} & ( for b being Element of PFuncs (V,C) st b in (diff u) . v holds b tolerates a ) ) deffunc H2( Element of PFuncs (V,C), Element of PFuncs (V,C)) -> set = $1 \/ $2; defpred S1[ Element of PFuncs (V,C)] means ( not $1 tolerates a & $1 in u & $1 tolerates a ); deffunc H3( Element of PFuncs (V,C), Element of PFuncs (V,C)) -> set = $1 \/ $2; defpred S2[ Element of PFuncs (V,C)] means ( $1 is finite & not $1 tolerates a ); set M = { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } ; defpred S3[ Element of PFuncs (V,C), Element of PFuncs (V,C)] means ( $1 in { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } & $2 in {a} & $1 tolerates $2 ); defpred S4[ Element of PFuncs (V,C), Element of PFuncs (V,C)] means ( $2 = a & $1 in { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } & $1 tolerates $2 ); defpred S5[ Element of PFuncs (V,C)] means ( $1 in { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } & $1 tolerates a ); defpred S6[ Element of PFuncs (V,C), Element of PFuncs (V,C)] means ( $1 in { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } & $1 tolerates $2 ); deffunc H4( Element of PFuncs (V,C)) -> set = $1 \/ a; A2: { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } c= u from FRAENKEL:sch_17(); then reconsider v = { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } as Element of (SubstLatt (V,C)) by Th17; reconsider v = v as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; take v ; ::_thesis: ( v in SUB u & v ^ K = {} & ( for b being Element of PFuncs (V,C) st b in (diff u) . v holds b tolerates a ) ) thus v in SUB u by A2; ::_thesis: ( v ^ K = {} & ( for b being Element of PFuncs (V,C) st b in (diff u) . v holds b tolerates a ) ) A3: for s, t being Element of PFuncs (V,C) holds ( S3[s,t] iff S4[s,t] ) by TARSKI:def_1; A4: { H3(s,t) where s, t is Element of PFuncs (V,C) : S3[s,t] } = { H3(s9,t9) where s9, t9 is Element of PFuncs (V,C) : S4[s9,t9] } from FRAENKEL:sch_4(A3); for s being Element of PFuncs (V,C) holds ( s in { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } iff ( s is finite & not s tolerates a & s in u ) ) proof let s be Element of PFuncs (V,C); ::_thesis: ( s in { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } iff ( s is finite & not s tolerates a & s in u ) ) thus ( s in { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } implies ( s is finite & not s tolerates a & s in u ) ) ::_thesis: ( s is finite & not s tolerates a & s in u implies s in { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } ) proof assume s in { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } ; ::_thesis: ( s is finite & not s tolerates a & s in u ) then ex s2 being Element of PFuncs (V,C) st ( s2 = s & s2 in u & s2 is finite & not s2 tolerates a ) ; hence ( s is finite & not s tolerates a & s in u ) ; ::_thesis: verum end; thus ( s is finite & not s tolerates a & s in u implies s in { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } ) ; ::_thesis: verum end; then A5: for s being Element of PFuncs (V,C) holds ( S5[s] iff S1[s] ) ; A6: { H4(s9) where s9 is Element of PFuncs (V,C) : S5[s9] } = { H4(s) where s is Element of PFuncs (V,C) : S1[s] } from FRAENKEL:sch_3(A5); { H2(s,t) where s, t is Element of PFuncs (V,C) : ( t = a & S6[s,t] ) } = { H2(s9,a) where s9 is Element of PFuncs (V,C) : S6[s9,a] } from FRAENKEL:sch_20(); then A7: v ^ K = { (s \/ a) where s is Element of PFuncs (V,C) : ( not s tolerates a & s in u & s tolerates a ) } by A1, A4, A6, SUBSTLAT:def_3; thus v ^ K = {} ::_thesis: for b being Element of PFuncs (V,C) st b in (diff u) . v holds b tolerates a proof assume v ^ K <> {} ; ::_thesis: contradiction then consider x being set such that A8: x in v ^ K by XBOOLE_0:def_1; ex s1 being Element of PFuncs (V,C) st ( x = s1 \/ a & not s1 tolerates a & s1 in u & s1 tolerates a ) by A7, A8; hence contradiction ; ::_thesis: verum end; let b be Element of PFuncs (V,C); ::_thesis: ( b in (diff u) . v implies b tolerates a ) assume b in (diff u) . v ; ::_thesis: b tolerates a then A9: b in u \ v by Def7; then A10: not b in { H1(s) where s is Element of PFuncs (V,C) : ( H1(s) in u & S2[s] ) } by XBOOLE_0:def_5; u in the carrier of (SubstLatt (V,C)) ; then u in SubstitutionSet (V,C) by SUBSTLAT:def_4; then b is finite by A9, Th1; hence b tolerates a by A9, A10; ::_thesis: verum end; definition let V be set ; let C be finite set ; func Atom (V,C) -> Function of (PFuncs (V,C)), the carrier of (SubstLatt (V,C)) means :Def8: :: HEYTING2:def 8 for a being Element of PFuncs (V,C) holds it . a = mi {.a.}; existence ex b1 being Function of (PFuncs (V,C)), the carrier of (SubstLatt (V,C)) st for a being Element of PFuncs (V,C) holds b1 . a = mi {.a.} proof deffunc H1( Element of PFuncs (V,C)) -> Element of SubstitutionSet (V,C) = mi {.$1.}; consider f being Function of (PFuncs (V,C)),(SubstitutionSet (V,C)) such that A1: for a being Element of PFuncs (V,C) holds f . a = H1(a) from FUNCT_2:sch_4(); A2: the carrier of (SubstLatt (V,C)) = SubstitutionSet (V,C) by SUBSTLAT:def_4; A3: now__::_thesis:_for_x_being_set_st_x_in_PFuncs_(V,C)_holds_ f_._x_in_the_carrier_of_(SubstLatt_(V,C)) let x be set ; ::_thesis: ( x in PFuncs (V,C) implies f . x in the carrier of (SubstLatt (V,C)) ) assume x in PFuncs (V,C) ; ::_thesis: f . x in the carrier of (SubstLatt (V,C)) then reconsider a = x as Element of PFuncs (V,C) ; f . a = mi {.a.} by A1; hence f . x in the carrier of (SubstLatt (V,C)) by A2; ::_thesis: verum end; dom f = PFuncs (V,C) by FUNCT_2:def_1; then reconsider f = f as Function of (PFuncs (V,C)), the carrier of (SubstLatt (V,C)) by A3, FUNCT_2:3; take f ; ::_thesis: for a being Element of PFuncs (V,C) holds f . a = mi {.a.} thus for a being Element of PFuncs (V,C) holds f . a = mi {.a.} by A1; ::_thesis: verum end; correctness uniqueness for b1, b2 being Function of (PFuncs (V,C)), the carrier of (SubstLatt (V,C)) st ( for a being Element of PFuncs (V,C) holds b1 . a = mi {.a.} ) & ( for a being Element of PFuncs (V,C) holds b2 . a = mi {.a.} ) holds b1 = b2; proof let IT1, IT2 be Function of (PFuncs (V,C)), the carrier of (SubstLatt (V,C)); ::_thesis: ( ( for a being Element of PFuncs (V,C) holds IT1 . a = mi {.a.} ) & ( for a being Element of PFuncs (V,C) holds IT2 . a = mi {.a.} ) implies IT1 = IT2 ) assume that A4: for a being Element of PFuncs (V,C) holds IT1 . a = mi {.a.} and A5: for a being Element of PFuncs (V,C) holds IT2 . a = mi {.a.} ; ::_thesis: IT1 = IT2 now__::_thesis:_for_a_being_Element_of_PFuncs_(V,C)_holds_IT1_._a_=_IT2_._a let a be Element of PFuncs (V,C); ::_thesis: IT1 . a = IT2 . a IT1 . a = mi {.a.} by A4; hence IT1 . a = IT2 . a by A5; ::_thesis: verum end; hence IT1 = IT2 by FUNCT_2:63; ::_thesis: verum end; end; :: deftheorem Def8 defines Atom HEYTING2:def_8_:_ for V being set for C being finite set for b3 being Function of (PFuncs (V,C)), the carrier of (SubstLatt (V,C)) holds ( b3 = Atom (V,C) iff for a being Element of PFuncs (V,C) holds b3 . a = mi {.a.} ); Lm7: for V being set for C being finite set for a being Element of PFuncs (V,C) st a is finite holds (Atom (V,C)) . a = {a} proof let V be set ; ::_thesis: for C being finite set for a being Element of PFuncs (V,C) st a is finite holds (Atom (V,C)) . a = {a} let C be finite set ; ::_thesis: for a being Element of PFuncs (V,C) st a is finite holds (Atom (V,C)) . a = {a} let a be Element of PFuncs (V,C); ::_thesis: ( a is finite implies (Atom (V,C)) . a = {a} ) A1: for s, t being Element of PFuncs (V,C) st s in {a} & t in {a} & s c= t holds s = t proof let s, t be Element of PFuncs (V,C); ::_thesis: ( s in {a} & t in {a} & s c= t implies s = t ) assume that A2: s in {a} and A3: t in {a} and s c= t ; ::_thesis: s = t s = a by A2, TARSKI:def_1; hence s = t by A3, TARSKI:def_1; ::_thesis: verum end; assume a is finite ; ::_thesis: (Atom (V,C)) . a = {a} then for u being set st u in {a} holds u is finite ; then {.a.} in { A where A is Element of Fin (PFuncs (V,C)) : ( ( for u being set st u in A holds u is finite ) & ( for s, t being Element of PFuncs (V,C) st s in A & t in A & s c= t holds s = t ) ) } by A1; then {a} in SubstitutionSet (V,C) by SUBSTLAT:def_1; then {a} = mi {.a.} by SUBSTLAT:11 .= (Atom (V,C)) . a by Def8 ; hence (Atom (V,C)) . a = {a} ; ::_thesis: verum end; theorem Th18: :: HEYTING2:18 for V being set for C being finite set for K being Element of SubstitutionSet (V,C) holds FinJoin (K,(Atom (V,C))) = FinUnion (K,(singleton (PFuncs (V,C)))) proof let V be set ; ::_thesis: for C being finite set for K being Element of SubstitutionSet (V,C) holds FinJoin (K,(Atom (V,C))) = FinUnion (K,(singleton (PFuncs (V,C)))) let C be finite set ; ::_thesis: for K being Element of SubstitutionSet (V,C) holds FinJoin (K,(Atom (V,C))) = FinUnion (K,(singleton (PFuncs (V,C)))) let K be Element of SubstitutionSet (V,C); ::_thesis: FinJoin (K,(Atom (V,C))) = FinUnion (K,(singleton (PFuncs (V,C)))) deffunc H1( Element of Fin (PFuncs (V,C))) -> Element of SubstitutionSet (V,C) = mi $1; A1: FinUnion (K,(singleton (PFuncs (V,C)))) c= mi (FinUnion (K,(singleton (PFuncs (V,C))))) proof let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in FinUnion (K,(singleton (PFuncs (V,C)))) or a in mi (FinUnion (K,(singleton (PFuncs (V,C))))) ) assume A2: a in FinUnion (K,(singleton (PFuncs (V,C)))) ; ::_thesis: a in mi (FinUnion (K,(singleton (PFuncs (V,C))))) then consider b being Element of PFuncs (V,C) such that A3: b in K and A4: a in (singleton (PFuncs (V,C))) . b by SETWISEO:57; A5: a = b by A4, SETWISEO:55; A6: now__::_thesis:_for_s_being_finite_set_st_s_in_FinUnion_(K,(singleton_(PFuncs_(V,C))))_&_s_c=_a_holds_ s_=_a K in SubstitutionSet (V,C) ; then K in { A where A is Element of Fin (PFuncs (V,C)) : ( ( for u being set st u in A holds u is finite ) & ( for s, t being Element of PFuncs (V,C) st s in A & t in A & s c= t holds s = t ) ) } by SUBSTLAT:def_1; then A7: ex AA being Element of Fin (PFuncs (V,C)) st ( K = AA & ( for u being set st u in AA holds u is finite ) & ( for s, t being Element of PFuncs (V,C) st s in AA & t in AA & s c= t holds s = t ) ) ; let s be finite set ; ::_thesis: ( s in FinUnion (K,(singleton (PFuncs (V,C)))) & s c= a implies s = a ) assume that A8: s in FinUnion (K,(singleton (PFuncs (V,C)))) and A9: s c= a ; ::_thesis: s = a consider t being Element of PFuncs (V,C) such that A10: t in K and A11: s in (singleton (PFuncs (V,C))) . t by A8, SETWISEO:57; s = t by A11, SETWISEO:55; hence s = a by A3, A5, A9, A10, A7; ::_thesis: verum end; a is finite by A3, A5, Th1; hence a in mi (FinUnion (K,(singleton (PFuncs (V,C))))) by A2, A6, SUBSTLAT:7; ::_thesis: verum end; consider g being Function of (Fin (PFuncs (V,C))),(SubstitutionSet (V,C)) such that A12: for B being Element of Fin (PFuncs (V,C)) holds g . B = H1(B) from FUNCT_2:sch_4(); reconsider g = g as Function of (Fin (PFuncs (V,C))), the carrier of (SubstLatt (V,C)) by SUBSTLAT:def_4; A13: now__::_thesis:_for_x,_y_being_Element_of_Fin_(PFuncs_(V,C))_holds_g_._(x_\/_y)_=_the_L_join_of_(SubstLatt_(V,C))_._((g_._x),(g_._y)) let x, y be Element of Fin (PFuncs (V,C)); ::_thesis: g . (x \/ y) = the L_join of (SubstLatt (V,C)) . ((g . x),(g . y)) A14: g . x = mi x by A12; A15: g . y = mi y by A12; thus g . (x \/ y) = mi (x \/ y) by A12 .= mi ((mi x) \/ y) by SUBSTLAT:13 .= mi ((mi x) \/ (mi y)) by SUBSTLAT:13 .= the L_join of (SubstLatt (V,C)) . ((g . x),(g . y)) by A14, A15, SUBSTLAT:def_4 ; ::_thesis: verum end; A16: now__::_thesis:_for_a_being_set_st_a_in_K_holds_ ((g_*_(singleton_(PFuncs_(V,C))))_|_K)_._a_=_((Atom_(V,C))_|_K)_._a let a be set ; ::_thesis: ( a in K implies ((g * (singleton (PFuncs (V,C)))) | K) . a = ((Atom (V,C)) | K) . a ) assume A17: a in K ; ::_thesis: ((g * (singleton (PFuncs (V,C)))) | K) . a = ((Atom (V,C)) | K) . a then reconsider a9 = a as Element of PFuncs (V,C) by SETWISEO:9; A18: a9 is finite by A17, Th1; then reconsider KL = {a9} as Element of SubstitutionSet (V,C) by Th2; thus ((g * (singleton (PFuncs (V,C)))) | K) . a = (g * (singleton (PFuncs (V,C)))) . a by A17, FUNCT_1:49 .= g . ((singleton (PFuncs (V,C))) . a9) by FUNCT_2:15 .= g . {a} by SETWISEO:54 .= mi KL by A12 .= KL by SUBSTLAT:11 .= (Atom (V,C)) . a9 by A18, Lm7 .= ((Atom (V,C)) | K) . a by A17, FUNCT_1:49 ; ::_thesis: verum end; A19: mi (FinUnion (K,(singleton (PFuncs (V,C))))) c= FinUnion (K,(singleton (PFuncs (V,C)))) by SUBSTLAT:8; A20: rng (singleton (PFuncs (V,C))) c= Fin (PFuncs (V,C)) ; A21: K c= PFuncs (V,C) by FINSUB_1:def_5; then K c= dom (Atom (V,C)) by FUNCT_2:def_1; then A22: dom ((Atom (V,C)) | K) = K by RELAT_1:62; reconsider gs = g * (singleton (PFuncs (V,C))) as Function of (PFuncs (V,C)), the carrier of (SubstLatt (V,C)) ; A23: g . ({}. (PFuncs (V,C))) = mi ({}. (PFuncs (V,C))) by A12 .= {} by SUBSTLAT:9 .= Bottom (SubstLatt (V,C)) by SUBSTLAT:26 .= the_unity_wrt the L_join of (SubstLatt (V,C)) by LATTICE2:18 ; dom g = Fin (PFuncs (V,C)) by FUNCT_2:def_1; then A24: dom (g * (singleton (PFuncs (V,C)))) = dom (singleton (PFuncs (V,C))) by A20, RELAT_1:27; dom (singleton (PFuncs (V,C))) = PFuncs (V,C) by FUNCT_2:def_1; then dom ((g * (singleton (PFuncs (V,C)))) | K) = K by A21, A24, RELAT_1:62; hence FinJoin (K,(Atom (V,C))) = FinJoin (K,gs) by A22, A16, FUNCT_1:2, LATTICE2:53 .= the L_join of (SubstLatt (V,C)) $$ (K,gs) by LATTICE2:def_3 .= g . (FinUnion (K,(singleton (PFuncs (V,C))))) by A23, A13, SETWISEO:53 .= mi (FinUnion (K,(singleton (PFuncs (V,C))))) by A12 .= FinUnion (K,(singleton (PFuncs (V,C)))) by A19, A1, XBOOLE_0:def_10 ; ::_thesis: verum end; theorem Th19: :: HEYTING2:19 for V being set for C being finite set for u being Element of SubstitutionSet (V,C) holds u = FinJoin (u,(Atom (V,C))) proof let V be set ; ::_thesis: for C being finite set for u being Element of SubstitutionSet (V,C) holds u = FinJoin (u,(Atom (V,C))) let C be finite set ; ::_thesis: for u being Element of SubstitutionSet (V,C) holds u = FinJoin (u,(Atom (V,C))) let u be Element of SubstitutionSet (V,C); ::_thesis: u = FinJoin (u,(Atom (V,C))) thus u = FinUnion (u,(singleton (PFuncs (V,C)))) by SETWISEO:58 .= FinJoin (u,(Atom (V,C))) by Th18 ; ::_thesis: verum end; Lm8: for V being set for C being finite set for u, v being Element of (SubstLatt (V,C)) st ( for a being set st a in u holds ex b being set st ( b in v & b c= a ) ) holds u [= v proof let V be set ; ::_thesis: for C being finite set for u, v being Element of (SubstLatt (V,C)) st ( for a being set st a in u holds ex b being set st ( b in v & b c= a ) ) holds u [= v let C be finite set ; ::_thesis: for u, v being Element of (SubstLatt (V,C)) st ( for a being set st a in u holds ex b being set st ( b in v & b c= a ) ) holds u [= v let u, v be Element of (SubstLatt (V,C)); ::_thesis: ( ( for a being set st a in u holds ex b being set st ( b in v & b c= a ) ) implies u [= v ) assume A1: for a being set st a in u holds ex b being set st ( b in v & b c= a ) ; ::_thesis: u [= v reconsider u9 = u, v9 = v as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; u "/\" v = the L_meet of (SubstLatt (V,C)) . (u9,v9) by LATTICES:def_2 .= mi (u9 ^ v9) by SUBSTLAT:def_4 .= u9 by A1, Th5 ; hence u [= v by LATTICES:4; ::_thesis: verum end; theorem Th20: :: HEYTING2:20 for V being set for C being finite set for u, v being Element of (SubstLatt (V,C)) holds (diff u) . v [= u proof let V be set ; ::_thesis: for C being finite set for u, v being Element of (SubstLatt (V,C)) holds (diff u) . v [= u let C be finite set ; ::_thesis: for u, v being Element of (SubstLatt (V,C)) holds (diff u) . v [= u let u, v be Element of (SubstLatt (V,C)); ::_thesis: (diff u) . v [= u (diff u) . v = u \ v by Def7; then for a being set st a in (diff u) . v holds ex b being set st ( b in u & b c= a ) ; hence (diff u) . v [= u by Lm8; ::_thesis: verum end; theorem Th21: :: HEYTING2:21 for V being set for C being finite set for a being Element of PFuncs (V,C) st a is finite holds for c being set st c in (Atom (V,C)) . a holds c = a proof let V be set ; ::_thesis: for C being finite set for a being Element of PFuncs (V,C) st a is finite holds for c being set st c in (Atom (V,C)) . a holds c = a let C be finite set ; ::_thesis: for a being Element of PFuncs (V,C) st a is finite holds for c being set st c in (Atom (V,C)) . a holds c = a let a be Element of PFuncs (V,C); ::_thesis: ( a is finite implies for c being set st c in (Atom (V,C)) . a holds c = a ) assume a is finite ; ::_thesis: for c being set st c in (Atom (V,C)) . a holds c = a then (Atom (V,C)) . a = {a} by Lm7; hence for c being set st c in (Atom (V,C)) . a holds c = a by TARSKI:def_1; ::_thesis: verum end; theorem Th22: :: HEYTING2:22 for V being set for C being finite set for u being Element of (SubstLatt (V,C)) for K, L being Element of SubstitutionSet (V,C) for a being Element of PFuncs (V,C) st K = {a} & L = u & L ^ K = {} holds (Atom (V,C)) . a [= (pseudo_compl (V,C)) . u proof let V be set ; ::_thesis: for C being finite set for u being Element of (SubstLatt (V,C)) for K, L being Element of SubstitutionSet (V,C) for a being Element of PFuncs (V,C) st K = {a} & L = u & L ^ K = {} holds (Atom (V,C)) . a [= (pseudo_compl (V,C)) . u let C be finite set ; ::_thesis: for u being Element of (SubstLatt (V,C)) for K, L being Element of SubstitutionSet (V,C) for a being Element of PFuncs (V,C) st K = {a} & L = u & L ^ K = {} holds (Atom (V,C)) . a [= (pseudo_compl (V,C)) . u let u be Element of (SubstLatt (V,C)); ::_thesis: for K, L being Element of SubstitutionSet (V,C) for a being Element of PFuncs (V,C) st K = {a} & L = u & L ^ K = {} holds (Atom (V,C)) . a [= (pseudo_compl (V,C)) . u let K, L be Element of SubstitutionSet (V,C); ::_thesis: for a being Element of PFuncs (V,C) st K = {a} & L = u & L ^ K = {} holds (Atom (V,C)) . a [= (pseudo_compl (V,C)) . u let a be Element of PFuncs (V,C); ::_thesis: ( K = {a} & L = u & L ^ K = {} implies (Atom (V,C)) . a [= (pseudo_compl (V,C)) . u ) assume that A1: K = {a} and A2: L = u and A3: L ^ K = {} ; ::_thesis: (Atom (V,C)) . a [= (pseudo_compl (V,C)) . u a in K by A1, TARSKI:def_1; then A4: a is finite by Th1; now__::_thesis:_for_c_being_set_st_c_in_(Atom_(V,C))_._a_holds_ ex_e_being_set_st_ (_e_in_(pseudo_compl_(V,C))_._u_&_e_c=_c_) let c be set ; ::_thesis: ( c in (Atom (V,C)) . a implies ex e being set st ( e in (pseudo_compl (V,C)) . u & e c= c ) ) assume A5: c in (Atom (V,C)) . a ; ::_thesis: ex e being set st ( e in (pseudo_compl (V,C)) . u & e c= c ) then reconsider c9 = c as Element of PFuncs (V,C) by A4, Th21; c = a by A4, A5, Th21; then consider b being finite set such that A6: b in - L and A7: b c= c9 by A1, A3, Th14; consider d being set such that A8: d c= b and A9: d in mi (- L) by A6, SUBSTLAT:10; take e = d; ::_thesis: ( e in (pseudo_compl (V,C)) . u & e c= c ) thus e in (pseudo_compl (V,C)) . u by A2, A9, Def4; ::_thesis: e c= c thus e c= c by A7, A8, XBOOLE_1:1; ::_thesis: verum end; hence (Atom (V,C)) . a [= (pseudo_compl (V,C)) . u by Lm8; ::_thesis: verum end; theorem Th23: :: HEYTING2:23 for V being set for C being finite set for a being finite Element of PFuncs (V,C) holds a in (Atom (V,C)) . a proof let V be set ; ::_thesis: for C being finite set for a being finite Element of PFuncs (V,C) holds a in (Atom (V,C)) . a let C be finite set ; ::_thesis: for a being finite Element of PFuncs (V,C) holds a in (Atom (V,C)) . a let a be finite Element of PFuncs (V,C); ::_thesis: a in (Atom (V,C)) . a (Atom (V,C)) . a = {a} by Lm7; hence a in (Atom (V,C)) . a by TARSKI:def_1; ::_thesis: verum end; Lm9: for V being set for C being finite set for u, v being Element of (SubstLatt (V,C)) st u [= v holds for x being set st x in u holds ex b being set st ( b in v & b c= x ) proof let V be set ; ::_thesis: for C being finite set for u, v being Element of (SubstLatt (V,C)) st u [= v holds for x being set st x in u holds ex b being set st ( b in v & b c= x ) let C be finite set ; ::_thesis: for u, v being Element of (SubstLatt (V,C)) st u [= v holds for x being set st x in u holds ex b being set st ( b in v & b c= x ) let u, v be Element of (SubstLatt (V,C)); ::_thesis: ( u [= v implies for x being set st x in u holds ex b being set st ( b in v & b c= x ) ) reconsider u9 = u, v9 = v as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; assume u [= v ; ::_thesis: for x being set st x in u holds ex b being set st ( b in v & b c= x ) then u = u "/\" v by LATTICES:4 .= the L_meet of (SubstLatt (V,C)) . (u,v) by LATTICES:def_2 .= mi (u9 ^ v9) by SUBSTLAT:def_4 ; hence for x being set st x in u holds ex b being set st ( b in v & b c= x ) by Th4; ::_thesis: verum end; theorem Th24: :: HEYTING2:24 for V being set for C being finite set for a being Element of PFuncs (V,C) for u, v being Element of SubstitutionSet (V,C) st ( for c being set st c in u holds ex b being set st ( b in v & b c= c \/ a ) ) holds ex b being set st ( b in u =>> v & b c= a ) proof let V be set ; ::_thesis: for C being finite set for a being Element of PFuncs (V,C) for u, v being Element of SubstitutionSet (V,C) st ( for c being set st c in u holds ex b being set st ( b in v & b c= c \/ a ) ) holds ex b being set st ( b in u =>> v & b c= a ) let C be finite set ; ::_thesis: for a being Element of PFuncs (V,C) for u, v being Element of SubstitutionSet (V,C) st ( for c being set st c in u holds ex b being set st ( b in v & b c= c \/ a ) ) holds ex b being set st ( b in u =>> v & b c= a ) let a be Element of PFuncs (V,C); ::_thesis: for u, v being Element of SubstitutionSet (V,C) st ( for c being set st c in u holds ex b being set st ( b in v & b c= c \/ a ) ) holds ex b being set st ( b in u =>> v & b c= a ) let u, v be Element of SubstitutionSet (V,C); ::_thesis: ( ( for c being set st c in u holds ex b being set st ( b in v & b c= c \/ a ) ) implies ex b being set st ( b in u =>> v & b c= a ) ) reconsider u9 = u as Element of (SubstLatt (V,C)) by SUBSTLAT:def_4; defpred S1[ set , set ] means ( $2 in v & $2 c= $1 \/ a ); assume A1: for b being set st b in u holds ex c being set st ( c in v & c c= b \/ a ) ; ::_thesis: ex b being set st ( b in u =>> v & b c= a ) A2: now__::_thesis:_for_b_being_Element_of_PFuncs_(V,C)_st_b_in_u_holds_ ex_x_being_Element_of_PFuncs_(V,C)_st_S1[b,x] let b be Element of PFuncs (V,C); ::_thesis: ( b in u implies ex x being Element of PFuncs (V,C) st S1[b,x] ) assume b in u ; ::_thesis: ex x being Element of PFuncs (V,C) st S1[b,x] then consider c being set such that A3: c in v and A4: c c= b \/ a by A1; v c= PFuncs (V,C) by FINSUB_1:def_5; then reconsider c = c as Element of PFuncs (V,C) by A3; take x = c; ::_thesis: S1[b,x] thus S1[b,x] by A3, A4; ::_thesis: verum end; consider f9 being Element of Funcs ((PFuncs (V,C)),(PFuncs (V,C))) such that A5: for b being Element of PFuncs (V,C) st b in u holds S1[b,f9 . b] from FRAENKEL:sch_27(A2); set g = f9 | u; consider f2 being Function such that A6: f9 = f2 and dom f2 = PFuncs (V,C) and rng f2 c= PFuncs (V,C) by FUNCT_2:def_2; u c= PFuncs (V,C) by FINSUB_1:def_5; then f9 | u is Function of u,(PFuncs (V,C)) by FUNCT_2:32; then A7: dom (f9 | u) = u by FUNCT_2:def_1; for b being set st b in u holds (f9 | u) . b in v proof let b be set ; ::_thesis: ( b in u implies (f9 | u) . b in v ) assume A8: b in u ; ::_thesis: (f9 | u) . b in v u c= PFuncs (V,C) by FINSUB_1:def_5; then reconsider b9 = b as Element of PFuncs (V,C) by A8; (f9 | u) . b9 = f2 . b9 by A6, A8, FUNCT_1:49; hence (f9 | u) . b in v by A5, A6, A8; ::_thesis: verum end; then f9 | u is Function of u,v by A7, FUNCT_2:3; then A9: rng (f9 | u) c= v by RELAT_1:def_19; A10: for b being set st b in u9 holds (f9 | u) . b c= b \/ a proof let b be set ; ::_thesis: ( b in u9 implies (f9 | u) . b c= b \/ a ) assume A11: b in u9 ; ::_thesis: (f9 | u) . b c= b \/ a u c= PFuncs (V,C) by FINSUB_1:def_5; then reconsider b9 = b as Element of PFuncs (V,C) by A11; (f9 | u) . b9 = f2 . b9 by A6, A11, FUNCT_1:49; hence (f9 | u) . b c= b \/ a by A5, A6, A11; ::_thesis: verum end; reconsider g = f9 | u as Element of PFuncs (u,v) by A7, A9, PARTFUN1:def_3; set d = union { ((g . i) \ i) where i is Element of PFuncs (V,C) : i in u9 } ; A12: union { ((g . i) \ i) where i is Element of PFuncs (V,C) : i in u9 } c= a proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in union { ((g . i) \ i) where i is Element of PFuncs (V,C) : i in u9 } or x in a ) assume x in union { ((g . i) \ i) where i is Element of PFuncs (V,C) : i in u9 } ; ::_thesis: x in a then consider Y being set such that A13: x in Y and A14: Y in { ((g . i) \ i) where i is Element of PFuncs (V,C) : i in u9 } by TARSKI:def_4; consider j being Element of PFuncs (V,C) such that A15: Y = (g . j) \ j and A16: j in u9 by A14; g . j c= j \/ a by A10, A16; then (g . j) \ j c= a by XBOOLE_1:43; hence x in a by A13, A15; ::_thesis: verum end; then reconsider d = union { ((g . i) \ i) where i is Element of PFuncs (V,C) : i in u9 } as Element of PFuncs (V,C) by PRE_POLY:15; take d ; ::_thesis: ( d in u =>> v & d c= a ) d in { (union { ((f . i) \ i) where i is Element of PFuncs (V,C) : i in u } ) where f is Element of PFuncs (u,v) : dom f = u } by A7; hence d in u =>> v by XBOOLE_0:def_4; ::_thesis: d c= a thus d c= a by A12; ::_thesis: verum end; theorem Th25: :: HEYTING2:25 for V being set for C being finite set for u, v being Element of (SubstLatt (V,C)) for a being finite Element of PFuncs (V,C) st ( for b being Element of PFuncs (V,C) st b in u holds b tolerates a ) & u "/\" ((Atom (V,C)) . a) [= v holds (Atom (V,C)) . a [= (StrongImpl (V,C)) . (u,v) proof let V be set ; ::_thesis: for C being finite set for u, v being Element of (SubstLatt (V,C)) for a being finite Element of PFuncs (V,C) st ( for b being Element of PFuncs (V,C) st b in u holds b tolerates a ) & u "/\" ((Atom (V,C)) . a) [= v holds (Atom (V,C)) . a [= (StrongImpl (V,C)) . (u,v) let C be finite set ; ::_thesis: for u, v being Element of (SubstLatt (V,C)) for a being finite Element of PFuncs (V,C) st ( for b being Element of PFuncs (V,C) st b in u holds b tolerates a ) & u "/\" ((Atom (V,C)) . a) [= v holds (Atom (V,C)) . a [= (StrongImpl (V,C)) . (u,v) let u, v be Element of (SubstLatt (V,C)); ::_thesis: for a being finite Element of PFuncs (V,C) st ( for b being Element of PFuncs (V,C) st b in u holds b tolerates a ) & u "/\" ((Atom (V,C)) . a) [= v holds (Atom (V,C)) . a [= (StrongImpl (V,C)) . (u,v) let a be finite Element of PFuncs (V,C); ::_thesis: ( ( for b being Element of PFuncs (V,C) st b in u holds b tolerates a ) & u "/\" ((Atom (V,C)) . a) [= v implies (Atom (V,C)) . a [= (StrongImpl (V,C)) . (u,v) ) assume that A1: for b being Element of PFuncs (V,C) st b in u holds b tolerates a and A2: u "/\" ((Atom (V,C)) . a) [= v ; ::_thesis: (Atom (V,C)) . a [= (StrongImpl (V,C)) . (u,v) reconsider u9 = u, v9 = v, Aa = (Atom (V,C)) . a as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; A3: now__::_thesis:_for_c_being_set_st_c_in_u_holds_ ex_e_being_set_st_ (_e_in_v_&_e_c=_c_\/_a_) let c be set ; ::_thesis: ( c in u implies ex e being set st ( e in v & e c= c \/ a ) ) A4: a in Aa by Th23; assume A5: c in u ; ::_thesis: ex e being set st ( e in v & e c= c \/ a ) then A6: c in u9 ; then reconsider c9 = c as Element of PFuncs (V,C) by SETWISEO:9; c9 tolerates a by A1, A5; then c \/ a in { (s1 \/ t1) where s1, t1 is Element of PFuncs (V,C) : ( s1 in u9 & t1 in Aa & s1 tolerates t1 ) } by A5, A4; then A7: c \/ a in u9 ^ Aa by SUBSTLAT:def_3; c is finite by A6, Th1; then consider b being set such that A8: b c= c \/ a and A9: b in mi (u9 ^ Aa) by A7, SUBSTLAT:10; b in the L_meet of (SubstLatt (V,C)) . (u,((Atom (V,C)) . a)) by A9, SUBSTLAT:def_4; then b in u "/\" ((Atom (V,C)) . a) by LATTICES:def_2; then consider d being set such that A10: d in v and A11: d c= b by A2, Lm9; take e = d; ::_thesis: ( e in v & e c= c \/ a ) thus e in v by A10; ::_thesis: e c= c \/ a thus e c= c \/ a by A8, A11, XBOOLE_1:1; ::_thesis: verum end; now__::_thesis:_for_c_being_set_st_c_in_(Atom_(V,C))_._a_holds_ ex_e_being_set_st_ (_e_in_(StrongImpl_(V,C))_._(u,v)_&_e_c=_c_) let c be set ; ::_thesis: ( c in (Atom (V,C)) . a implies ex e being set st ( e in (StrongImpl (V,C)) . (u,v) & e c= c ) ) assume A12: c in (Atom (V,C)) . a ; ::_thesis: ex e being set st ( e in (StrongImpl (V,C)) . (u,v) & e c= c ) then c = a by Th21; then consider b being set such that A13: b in u9 =>> v9 and A14: b c= c by A3, Th24; c in Aa by A12; then c is finite by Th1; then consider d being set such that A15: d c= b and A16: d in mi (u9 =>> v9) by A13, A14, SUBSTLAT:10; take e = d; ::_thesis: ( e in (StrongImpl (V,C)) . (u,v) & e c= c ) thus e in (StrongImpl (V,C)) . (u,v) by A16, Def5; ::_thesis: e c= c thus e c= c by A14, A15, XBOOLE_1:1; ::_thesis: verum end; hence (Atom (V,C)) . a [= (StrongImpl (V,C)) . (u,v) by Lm8; ::_thesis: verum end; deffunc H1( set , set ) -> Element of bool [:[: the carrier of (SubstLatt ($1,$2)), the carrier of (SubstLatt ($1,$2)):], the carrier of (SubstLatt ($1,$2)):] = the L_meet of (SubstLatt ($1,$2)); theorem Th26: :: HEYTING2:26 for V being set for C being finite set for u being Element of (SubstLatt (V,C)) holds u "/\" ((pseudo_compl (V,C)) . u) = Bottom (SubstLatt (V,C)) proof let V be set ; ::_thesis: for C being finite set for u being Element of (SubstLatt (V,C)) holds u "/\" ((pseudo_compl (V,C)) . u) = Bottom (SubstLatt (V,C)) let C be finite set ; ::_thesis: for u being Element of (SubstLatt (V,C)) holds u "/\" ((pseudo_compl (V,C)) . u) = Bottom (SubstLatt (V,C)) let u be Element of (SubstLatt (V,C)); ::_thesis: u "/\" ((pseudo_compl (V,C)) . u) = Bottom (SubstLatt (V,C)) reconsider u9 = u as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; thus u "/\" ((pseudo_compl (V,C)) . u) = H1(V,C) . (u,((pseudo_compl (V,C)) . u)) by LATTICES:def_2 .= H1(V,C) . (u,(mi (- u9))) by Def4 .= mi (u9 ^ (mi (- u9))) by SUBSTLAT:def_4 .= mi (u9 ^ (- u9)) by SUBSTLAT:20 .= Bottom (SubstLatt (V,C)) by Th12 ; ::_thesis: verum end; theorem Th27: :: HEYTING2:27 for V being set for C being finite set for u, v being Element of (SubstLatt (V,C)) holds u "/\" ((StrongImpl (V,C)) . (u,v)) [= v proof let V be set ; ::_thesis: for C being finite set for u, v being Element of (SubstLatt (V,C)) holds u "/\" ((StrongImpl (V,C)) . (u,v)) [= v let C be finite set ; ::_thesis: for u, v being Element of (SubstLatt (V,C)) holds u "/\" ((StrongImpl (V,C)) . (u,v)) [= v let u, v be Element of (SubstLatt (V,C)); ::_thesis: u "/\" ((StrongImpl (V,C)) . (u,v)) [= v now__::_thesis:_for_a_being_set_st_a_in_u_"/\"_((StrongImpl_(V,C))_._(u,v))_holds_ ex_b_being_set_st_ (_b_in_v_&_b_c=_a_) reconsider u9 = u, v9 = v as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; let a be set ; ::_thesis: ( a in u "/\" ((StrongImpl (V,C)) . (u,v)) implies ex b being set st ( b in v & b c= a ) ) assume A1: a in u "/\" ((StrongImpl (V,C)) . (u,v)) ; ::_thesis: ex b being set st ( b in v & b c= a ) u "/\" ((StrongImpl (V,C)) . (u,v)) = H1(V,C) . (u,((StrongImpl (V,C)) . (u,v))) by LATTICES:def_2 .= H1(V,C) . (u,(mi (u9 =>> v9))) by Def5 .= mi (u9 ^ (mi (u9 =>> v9))) by SUBSTLAT:def_4 .= mi (u9 ^ (u9 =>> v9)) by SUBSTLAT:20 ; then a in u9 ^ (u9 =>> v9) by A1, SUBSTLAT:6; hence ex b being set st ( b in v & b c= a ) by Lm3; ::_thesis: verum end; hence u "/\" ((StrongImpl (V,C)) . (u,v)) [= v by Lm8; ::_thesis: verum end; Lm10: now__::_thesis:_for_V_being_set_ for_C_being_finite_set_ for_u,_v_being_Element_of_(SubstLatt_(V,C))_holds_ (_u_"/\"_H2(u,v)_[=_v_&_(_for_w_being_Element_of_(SubstLatt_(V,C))_st_u_"/\"_v_[=_w_holds_ v_[=_H2(u,w)_)_) let V be set ; ::_thesis: for C being finite set for u, v being Element of (SubstLatt (V,C)) holds ( u "/\" H2(u,v) [= v & ( for w being Element of (SubstLatt (V,C)) st u "/\" v [= w holds v [= H2(u,w) ) ) let C be finite set ; ::_thesis: for u, v being Element of (SubstLatt (V,C)) holds ( u "/\" H2(u,v) [= v & ( for w being Element of (SubstLatt (V,C)) st u "/\" v [= w holds v [= H2(u,w) ) ) let u, v be Element of (SubstLatt (V,C)); ::_thesis: ( u "/\" H2(u,v) [= v & ( for w being Element of (SubstLatt (V,C)) st u "/\" v [= w holds v [= H2(u,w) ) ) deffunc H2( Element of (SubstLatt (V,C)), Element of (SubstLatt (V,C))) -> Element of the carrier of (SubstLatt (V,C)) = FinJoin ((SUB $1),(H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff $1),$2))))); set Psi = H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v))); reconsider v9 = v as Element of SubstitutionSet (V,C) by SUBSTLAT:def_4; A1: now__::_thesis:_for_w_being_Element_of_(SubstLatt_(V,C))_st_w_in_SUB_u_holds_ (H1(V,C)_[;]_(u,(H1(V,C)_.:_((pseudo_compl_(V,C)),((StrongImpl_(V,C))_[:]_((diff_u),v))))))_._w_[=_v let w be Element of (SubstLatt (V,C)); ::_thesis: ( w in SUB u implies (H1(V,C) [;] (u,(H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v)))))) . w [= v ) set u2 = (diff u) . w; set pc = (pseudo_compl (V,C)) . w; set si = (StrongImpl (V,C)) . (((diff u) . w),v); A2: w "/\" (((pseudo_compl (V,C)) . w) "/\" ((StrongImpl (V,C)) . (((diff u) . w),v))) = (w "/\" ((pseudo_compl (V,C)) . w)) "/\" ((StrongImpl (V,C)) . (((diff u) . w),v)) by LATTICES:def_7 .= (Bottom (SubstLatt (V,C))) "/\" ((StrongImpl (V,C)) . (((diff u) . w),v)) by Th26 .= Bottom (SubstLatt (V,C)) ; assume w in SUB u ; ::_thesis: (H1(V,C) [;] (u,(H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v)))))) . w [= v then A3: w "\/" ((diff u) . w) = u by Lm5; (H1(V,C) [;] (u,(H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v)))))) . w = H1(V,C) . (u,((H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v)))) . w)) by FUNCOP_1:53 .= u "/\" ((H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v)))) . w) by LATTICES:def_2 .= u "/\" (H1(V,C) . (((pseudo_compl (V,C)) . w),(((StrongImpl (V,C)) [:] ((diff u),v)) . w))) by FUNCOP_1:37 .= u "/\" (((pseudo_compl (V,C)) . w) "/\" (((StrongImpl (V,C)) [:] ((diff u),v)) . w)) by LATTICES:def_2 .= u "/\" (((pseudo_compl (V,C)) . w) "/\" ((StrongImpl (V,C)) . (((diff u) . w),v))) by FUNCOP_1:48 .= (w "/\" (((pseudo_compl (V,C)) . w) "/\" ((StrongImpl (V,C)) . (((diff u) . w),v)))) "\/" (((diff u) . w) "/\" (((pseudo_compl (V,C)) . w) "/\" ((StrongImpl (V,C)) . (((diff u) . w),v)))) by A3, LATTICES:def_11 .= ((diff u) . w) "/\" (((StrongImpl (V,C)) . (((diff u) . w),v)) "/\" ((pseudo_compl (V,C)) . w)) by A2, LATTICES:14 .= (((diff u) . w) "/\" ((StrongImpl (V,C)) . (((diff u) . w),v))) "/\" ((pseudo_compl (V,C)) . w) by LATTICES:def_7 ; then A4: (H1(V,C) [;] (u,(H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v)))))) . w [= ((diff u) . w) "/\" ((StrongImpl (V,C)) . (((diff u) . w),v)) by LATTICES:6; ((diff u) . w) "/\" ((StrongImpl (V,C)) . (((diff u) . w),v)) [= v by Th27; hence (H1(V,C) [;] (u,(H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v)))))) . w [= v by A4, LATTICES:7; ::_thesis: verum end; u "/\" H2(u,v) = FinJoin ((SUB u),(H1(V,C) [;] (u,(H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v))))))) by LATTICE2:66; hence u "/\" H2(u,v) [= v by A1, LATTICE2:54; ::_thesis: for w being Element of (SubstLatt (V,C)) st u "/\" v [= w holds v [= H2(u,w) let w be Element of (SubstLatt (V,C)); ::_thesis: ( u "/\" v [= w implies v [= H2(u,w) ) assume A5: u "/\" v [= w ; ::_thesis: v [= H2(u,w) A6: v = FinJoin (v9,(Atom (V,C))) by Th19; then A7: u "/\" v = FinJoin (v9,(H1(V,C) [;] (u,(Atom (V,C))))) by LATTICE2:66; now__::_thesis:_for_a_being_Element_of_PFuncs_(V,C)_st_a_in_v9_holds_ (Atom_(V,C))_._a_[=_H2(u,w) set pf = pseudo_compl (V,C); set sf = (StrongImpl (V,C)) [:] ((diff u),w); let a be Element of PFuncs (V,C); ::_thesis: ( a in v9 implies (Atom (V,C)) . a [= H2(u,w) ) reconsider SA = {.a.} as Element of Fin (PFuncs (V,C)) ; consider v being Element of SubstitutionSet (V,C) such that A8: v in SUB u and A9: v ^ SA = {} and A10: for b being Element of PFuncs (V,C) st b in (diff u) . v holds b tolerates a by Lm6; assume A11: a in v9 ; ::_thesis: (Atom (V,C)) . a [= H2(u,w) then A12: a is finite by Th1; reconsider v9 = v as Element of (SubstLatt (V,C)) by SUBSTLAT:def_4; set dv = (diff u) . v9; (H1(V,C) [;] (u,(Atom (V,C)))) . a [= w by A7, A5, A11, LATTICE2:31; then H1(V,C) . (u,((Atom (V,C)) . a)) [= w by FUNCOP_1:53; then A13: u "/\" ((Atom (V,C)) . a) [= w by LATTICES:def_2; a is finite by A11, Th1; then reconsider SS = {a} as Element of SubstitutionSet (V,C) by Th2; v ^ SS = {} by A9; then A14: (Atom (V,C)) . a [= (pseudo_compl (V,C)) . v9 by Th22; ((diff u) . v9) "/\" ((Atom (V,C)) . a) [= u "/\" ((Atom (V,C)) . a) by Th20, LATTICES:9; then ((diff u) . v9) "/\" ((Atom (V,C)) . a) [= w by A13, LATTICES:7; then (Atom (V,C)) . a [= (StrongImpl (V,C)) . (((diff u) . v9),w) by A10, A12, Th25; then A15: (Atom (V,C)) . a [= ((StrongImpl (V,C)) [:] ((diff u),w)) . v9 by FUNCOP_1:48; ((pseudo_compl (V,C)) . v9) "/\" (((StrongImpl (V,C)) [:] ((diff u),w)) . v9) = H1(V,C) . (((pseudo_compl (V,C)) . v9),(((StrongImpl (V,C)) [:] ((diff u),w)) . v9)) by LATTICES:def_2 .= (H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),w)))) . v9 by FUNCOP_1:37 ; then (Atom (V,C)) . a [= (H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),w)))) . v9 by A14, A15, FILTER_0:7; hence (Atom (V,C)) . a [= H2(u,w) by A8, LATTICE2:29; ::_thesis: verum end; hence v [= H2(u,w) by A6, LATTICE2:54; ::_thesis: verum end; Lm11: for V being set for C being finite set holds SubstLatt (V,C) is implicative proof let V be set ; ::_thesis: for C being finite set holds SubstLatt (V,C) is implicative let C be finite set ; ::_thesis: SubstLatt (V,C) is implicative let p, q be Element of (SubstLatt (V,C)); :: according to FILTER_0:def_6 ::_thesis: ex b1 being Element of the carrier of (SubstLatt (V,C)) st ( p "/\" b1 [= q & ( for b2 being Element of the carrier of (SubstLatt (V,C)) holds ( not p "/\" b2 [= q or b2 [= b1 ) ) ) take r = FinJoin ((SUB p),(H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff p),q))))); ::_thesis: ( p "/\" r [= q & ( for b1 being Element of the carrier of (SubstLatt (V,C)) holds ( not p "/\" b1 [= q or b1 [= r ) ) ) thus ( p "/\" r [= q & ( for r1 being Element of (SubstLatt (V,C)) st p "/\" r1 [= q holds r1 [= r ) ) by Lm10; ::_thesis: verum end; registration let V be set ; let C be finite set ; cluster SubstLatt (V,C) -> implicative ; coherence SubstLatt (V,C) is implicative by Lm11; end; theorem :: HEYTING2:28 for V being set for C being finite set for u, v being Element of (SubstLatt (V,C)) holds u => v = FinJoin ((SUB u),( the L_meet of (SubstLatt (V,C)) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v))))) proof let V be set ; ::_thesis: for C being finite set for u, v being Element of (SubstLatt (V,C)) holds u => v = FinJoin ((SUB u),( the L_meet of (SubstLatt (V,C)) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v))))) let C be finite set ; ::_thesis: for u, v being Element of (SubstLatt (V,C)) holds u => v = FinJoin ((SUB u),( the L_meet of (SubstLatt (V,C)) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v))))) let u, v be Element of (SubstLatt (V,C)); ::_thesis: u => v = FinJoin ((SUB u),( the L_meet of (SubstLatt (V,C)) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v))))) deffunc H2( Element of (SubstLatt (V,C)), Element of (SubstLatt (V,C))) -> Element of the carrier of (SubstLatt (V,C)) = FinJoin ((SUB $1),(H1(V,C) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff $1),$2))))); A1: for w being Element of (SubstLatt (V,C)) st u "/\" w [= v holds w [= H2(u,v) by Lm10; u "/\" H2(u,v) [= v by Lm10; hence u => v = FinJoin ((SUB u),( the L_meet of (SubstLatt (V,C)) .: ((pseudo_compl (V,C)),((StrongImpl (V,C)) [:] ((diff u),v))))) by A1, FILTER_0:def_7; ::_thesis: verum end;