:: UNIALG_3 semantic presentation begin definition let U0 be Universal_Algebra; mode SubAlgebra-Family of U0 -> set means :Def1: :: UNIALG_3:def 1 for U1 being set st U1 in it holds U1 is SubAlgebra of U0; existence ex b1 being set st for U1 being set st U1 in b1 holds U1 is SubAlgebra of U0 proof take {} ; ::_thesis: for U1 being set st U1 in {} holds U1 is SubAlgebra of U0 thus for U1 being set st U1 in {} holds U1 is SubAlgebra of U0 ; ::_thesis: verum end; end; :: deftheorem Def1 defines SubAlgebra-Family UNIALG_3:def_1_:_ for U0 being Universal_Algebra for b2 being set holds ( b2 is SubAlgebra-Family of U0 iff for U1 being set st U1 in b2 holds U1 is SubAlgebra of U0 ); registration let U0 be Universal_Algebra; cluster non empty for SubAlgebra-Family of U0; existence not for b1 being SubAlgebra-Family of U0 holds b1 is empty proof set U1 = the SubAlgebra of U0; for U2 being set st U2 in { the SubAlgebra of U0} holds U2 is SubAlgebra of U0 by TARSKI:def_1; then reconsider U00 = { the SubAlgebra of U0} as SubAlgebra-Family of U0 by Def1; take U00 ; ::_thesis: not U00 is empty thus not U00 is empty ; ::_thesis: verum end; end; definition let U0 be Universal_Algebra; :: original: Sub redefine func Sub U0 -> non empty SubAlgebra-Family of U0; coherence Sub U0 is non empty SubAlgebra-Family of U0 proof Sub U0 is SubAlgebra-Family of U0 proof let U1 be set ; :: according to UNIALG_3:def_1 ::_thesis: ( U1 in Sub U0 implies U1 is SubAlgebra of U0 ) assume U1 in Sub U0 ; ::_thesis: U1 is SubAlgebra of U0 hence U1 is SubAlgebra of U0 by UNIALG_2:def_14; ::_thesis: verum end; hence Sub U0 is non empty SubAlgebra-Family of U0 ; ::_thesis: verum end; let U00 be non empty SubAlgebra-Family of U0; :: original: Element redefine mode Element of U00 -> SubAlgebra of U0; coherence for b1 being Element of U00 holds b1 is SubAlgebra of U0 by Def1; end; definition let U0 be Universal_Algebra; let u be Element of Sub U0; func carr u -> Subset of U0 means :Def2: :: UNIALG_3:def 2 ex U1 being SubAlgebra of U0 st ( u = U1 & it = the carrier of U1 ); existence ex b1 being Subset of U0 ex U1 being SubAlgebra of U0 st ( u = U1 & b1 = the carrier of U1 ) proof consider U1 being SubAlgebra of U0 such that A1: U1 = u ; reconsider A = the carrier of U1 as Subset of U0 by UNIALG_2:def_7; take A ; ::_thesis: ex U1 being SubAlgebra of U0 st ( u = U1 & A = the carrier of U1 ) take U1 ; ::_thesis: ( u = U1 & A = the carrier of U1 ) thus ( u = U1 & A = the carrier of U1 ) by A1; ::_thesis: verum end; uniqueness for b1, b2 being Subset of U0 st ex U1 being SubAlgebra of U0 st ( u = U1 & b1 = the carrier of U1 ) & ex U1 being SubAlgebra of U0 st ( u = U1 & b2 = the carrier of U1 ) holds b1 = b2 ; end; :: deftheorem Def2 defines carr UNIALG_3:def_2_:_ for U0 being Universal_Algebra for u being Element of Sub U0 for b3 being Subset of U0 holds ( b3 = carr u iff ex U1 being SubAlgebra of U0 st ( u = U1 & b3 = the carrier of U1 ) ); definition let U0 be Universal_Algebra; func Carr U0 -> Function of (Sub U0),(bool the carrier of U0) means :Def3: :: UNIALG_3:def 3 for u being Element of Sub U0 holds it . u = carr u; existence ex b1 being Function of (Sub U0),(bool the carrier of U0) st for u being Element of Sub U0 holds b1 . u = carr u proof deffunc H1( Element of Sub U0) -> Subset of U0 = carr $1; ex f being Function of (Sub U0),(bool the carrier of U0) st for x being Element of Sub U0 holds f . x = H1(x) from FUNCT_2:sch_4(); hence ex b1 being Function of (Sub U0),(bool the carrier of U0) st for u being Element of Sub U0 holds b1 . u = carr u ; ::_thesis: verum end; uniqueness for b1, b2 being Function of (Sub U0),(bool the carrier of U0) st ( for u being Element of Sub U0 holds b1 . u = carr u ) & ( for u being Element of Sub U0 holds b2 . u = carr u ) holds b1 = b2 proof let F1, F2 be Function of (Sub U0),(bool the carrier of U0); ::_thesis: ( ( for u being Element of Sub U0 holds F1 . u = carr u ) & ( for u being Element of Sub U0 holds F2 . u = carr u ) implies F1 = F2 ) assume that A1: for u1 being Element of Sub U0 holds F1 . u1 = carr u1 and A2: for u2 being Element of Sub U0 holds F2 . u2 = carr u2 ; ::_thesis: F1 = F2 for u being set st u in Sub U0 holds F1 . u = F2 . u proof let u be set ; ::_thesis: ( u in Sub U0 implies F1 . u = F2 . u ) assume u in Sub U0 ; ::_thesis: F1 . u = F2 . u then reconsider u1 = u as Element of Sub U0 ; consider U1 being SubAlgebra of U0 such that u1 = U1 and A3: carr u1 = the carrier of U1 by Def2; F1 . u1 = the carrier of U1 by A1, A3; hence F1 . u = F2 . u by A2, A3; ::_thesis: verum end; hence F1 = F2 by FUNCT_2:12; ::_thesis: verum end; end; :: deftheorem Def3 defines Carr UNIALG_3:def_3_:_ for U0 being Universal_Algebra for b2 being Function of (Sub U0),(bool the carrier of U0) holds ( b2 = Carr U0 iff for u being Element of Sub U0 holds b2 . u = carr u ); theorem Th1: :: UNIALG_3:1 for U0 being Universal_Algebra for u being set holds ( u in Sub U0 iff ex U1 being strict SubAlgebra of U0 st u = U1 ) proof let U0 be Universal_Algebra; ::_thesis: for u being set holds ( u in Sub U0 iff ex U1 being strict SubAlgebra of U0 st u = U1 ) let u be set ; ::_thesis: ( u in Sub U0 iff ex U1 being strict SubAlgebra of U0 st u = U1 ) thus ( u in Sub U0 implies ex U1 being strict SubAlgebra of U0 st u = U1 ) ::_thesis: ( ex U1 being strict SubAlgebra of U0 st u = U1 implies u in Sub U0 ) proof assume u in Sub U0 ; ::_thesis: ex U1 being strict SubAlgebra of U0 st u = U1 then u is strict SubAlgebra of U0 by UNIALG_2:def_14; hence ex U1 being strict SubAlgebra of U0 st u = U1 ; ::_thesis: verum end; thus ( ex U1 being strict SubAlgebra of U0 st u = U1 implies u in Sub U0 ) by UNIALG_2:def_14; ::_thesis: verum end; theorem :: UNIALG_3:2 for U0 being Universal_Algebra for H being non empty Subset of U0 for o being operation of U0 st arity o = 0 holds ( H is_closed_on o iff o . {} in H ) proof let U0 be Universal_Algebra; ::_thesis: for H being non empty Subset of U0 for o being operation of U0 st arity o = 0 holds ( H is_closed_on o iff o . {} in H ) let H be non empty Subset of U0; ::_thesis: for o being operation of U0 st arity o = 0 holds ( H is_closed_on o iff o . {} in H ) let o be operation of U0; ::_thesis: ( arity o = 0 implies ( H is_closed_on o iff o . {} in H ) ) assume A1: arity o = 0 ; ::_thesis: ( H is_closed_on o iff o . {} in H ) thus ( H is_closed_on o implies o . {} in H ) ::_thesis: ( o . {} in H implies H is_closed_on o ) proof assume A2: H is_closed_on o ; ::_thesis: o . {} in H consider s being FinSequence of H such that A3: len s = arity o by FINSEQ_1:19; s = {} by A1, A3; hence o . {} in H by A2, A3, UNIALG_2:def_3; ::_thesis: verum end; thus ( o . {} in H implies H is_closed_on o ) ::_thesis: verum proof assume A4: o . {} in H ; ::_thesis: H is_closed_on o let s be FinSequence of H; :: according to UNIALG_2:def_3 ::_thesis: ( not len s = arity o or o . s in H ) assume len s = arity o ; ::_thesis: o . s in H then s = {} by A1; hence o . s in H by A4; ::_thesis: verum end; end; theorem Th3: :: UNIALG_3:3 for U0 being Universal_Algebra for U1 being SubAlgebra of U0 holds the carrier of U1 c= the carrier of U0 proof let U0 be Universal_Algebra; ::_thesis: for U1 being SubAlgebra of U0 holds the carrier of U1 c= the carrier of U0 let U1 be SubAlgebra of U0; ::_thesis: the carrier of U1 c= the carrier of U0 the carrier of U1 is Subset of U0 by UNIALG_2:def_7; hence the carrier of U1 c= the carrier of U0 ; ::_thesis: verum end; theorem :: UNIALG_3:4 for U0 being Universal_Algebra for H being non empty Subset of U0 for o being operation of U0 st H is_closed_on o & arity o = 0 holds o /. H = o proof let U0 be Universal_Algebra; ::_thesis: for H being non empty Subset of U0 for o being operation of U0 st H is_closed_on o & arity o = 0 holds o /. H = o let H be non empty Subset of U0; ::_thesis: for o being operation of U0 st H is_closed_on o & arity o = 0 holds o /. H = o let o be operation of U0; ::_thesis: ( H is_closed_on o & arity o = 0 implies o /. H = o ) assume that A1: H is_closed_on o and A2: arity o = 0 ; ::_thesis: o /. H = o A3: dom o = 0 -tuples_on the carrier of U0 by A2, MARGREL1:22 .= {(<*> the carrier of U0)} by FINSEQ_2:94 .= {(<*> H)} .= 0 -tuples_on H by FINSEQ_2:94 ; o /. H = o | (0 -tuples_on H) by A1, A2, UNIALG_2:def_5; hence o /. H = o by A3, RELAT_1:69; ::_thesis: verum end; theorem :: UNIALG_3:5 for U0 being Universal_Algebra holds Constants U0 = { (o . {}) where o is operation of U0 : arity o = 0 } proof let U0 be Universal_Algebra; ::_thesis: Constants U0 = { (o . {}) where o is operation of U0 : arity o = 0 } set S = { (o . {}) where o is operation of U0 : arity o = 0 } ; thus Constants U0 c= { (o . {}) where o is operation of U0 : arity o = 0 } :: according to XBOOLE_0:def_10 ::_thesis: { (o . {}) where o is operation of U0 : arity o = 0 } c= Constants U0 proof let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in Constants U0 or a in { (o . {}) where o is operation of U0 : arity o = 0 } ) assume a in Constants U0 ; ::_thesis: a in { (o . {}) where o is operation of U0 : arity o = 0 } then consider u being Element of U0 such that A1: u = a and A2: ex o being operation of U0 st ( arity o = 0 & u in rng o ) ; consider o being operation of U0 such that A3: arity o = 0 and A4: u in rng o by A2; consider a2 being set such that A5: a2 in dom o and A6: u = o . a2 by A4, FUNCT_1:def_3; dom o = 0 -tuples_on the carrier of U0 by A3, MARGREL1:22; then a2 is Tuple of 0 , the carrier of U0 by A5, FINSEQ_2:131; then reconsider a1 = a2 as FinSequence of the carrier of U0 ; len a1 = 0 by A3, A5, MARGREL1:def_25; then a1 = {} ; hence a in { (o . {}) where o is operation of U0 : arity o = 0 } by A1, A3, A6; ::_thesis: verum end; thus { (o . {}) where o is operation of U0 : arity o = 0 } c= Constants U0 ::_thesis: verum proof let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in { (o . {}) where o is operation of U0 : arity o = 0 } or a in Constants U0 ) assume a in { (o . {}) where o is operation of U0 : arity o = 0 } ; ::_thesis: a in Constants U0 then consider o being operation of U0 such that A7: a = o . {} and A8: arity o = 0 ; dom o = 0 -tuples_on the carrier of U0 by A8, MARGREL1:22 .= {(<*> the carrier of U0)} by FINSEQ_2:94 ; then {} the carrier of U0 in dom o by TARSKI:def_1; then o . ({} the carrier of U0) in rng o by FUNCT_1:def_3; hence a in Constants U0 by A7, A8; ::_thesis: verum end; end; theorem Th6: :: UNIALG_3:6 for U0 being with_const_op Universal_Algebra for U1 being SubAlgebra of U0 holds Constants U0 = Constants U1 proof let U0 be with_const_op Universal_Algebra; ::_thesis: for U1 being SubAlgebra of U0 holds Constants U0 = Constants U1 let U1 be SubAlgebra of U0; ::_thesis: Constants U0 = Constants U1 thus Constants U0 c= Constants U1 :: according to XBOOLE_0:def_10 ::_thesis: Constants U1 c= Constants U0 proof reconsider A = the carrier of U1 as non empty Subset of U0 by UNIALG_2:def_7; let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in Constants U0 or a in Constants U1 ) A1: Constants U0 is Subset of U1 by UNIALG_2:15; assume A2: a in Constants U0 ; ::_thesis: a in Constants U1 then consider u being Element of U0 such that A3: u = a and A4: ex o being operation of U0 st ( arity o = 0 & u in rng o ) ; consider o1 being operation of U0 such that A5: arity o1 = 0 and A6: u in rng o1 by A4; A7: dom o1 = 0 -tuples_on the carrier of U0 by A5, MARGREL1:22 .= {(<*> the carrier of U0)} by FINSEQ_2:94 .= {(<*> A)} .= 0 -tuples_on A by FINSEQ_2:94 ; consider x being set such that A8: x in dom the charact of U0 and A9: o1 = the charact of U0 . x by FUNCT_1:def_3; reconsider x = x as Element of NAT by A8; x in dom the charact of U1 by A8, UNIALG_2:7; then reconsider o = the charact of U1 . x as operation of U1 by FUNCT_1:def_3; A is opers_closed by UNIALG_2:def_7; then A10: A is_closed_on o1 by UNIALG_2:def_4; x in dom (Opers (U0,A)) by A8, UNIALG_2:def_6; then (Opers (U0,A)) . x = o1 /. A by A9, UNIALG_2:def_6; then o = o1 /. A by UNIALG_2:def_7 .= o1 | (0 -tuples_on A) by A5, A10, UNIALG_2:def_5 .= o1 by A7, RELAT_1:69 ; hence a in Constants U1 by A2, A3, A5, A6, A1; ::_thesis: verum end; thus Constants U1 c= Constants U0 ::_thesis: verum proof reconsider A = the carrier of U1 as non empty Subset of U0 by UNIALG_2:def_7; let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in Constants U1 or a in Constants U0 ) assume a in Constants U1 ; ::_thesis: a in Constants U0 then consider u being Element of U1 such that A11: u = a and A12: ex o being operation of U1 st ( arity o = 0 & u in rng o ) ; consider o being operation of U1 such that A13: arity o = 0 and A14: u in rng o by A12; consider x being set such that A15: x in dom the charact of U1 and A16: o = the charact of U1 . x by FUNCT_1:def_3; reconsider x = x as Element of NAT by A15; A17: x in dom the charact of U0 by A15, UNIALG_2:7; then reconsider o1 = the charact of U0 . x as operation of U0 by FUNCT_1:def_3; len (signature U1) = len the charact of U1 by UNIALG_1:def_4; then A18: x in dom (signature U1) by A15, FINSEQ_3:29; U1,U0 are_similar by UNIALG_2:13; then signature U0 = signature U1 by UNIALG_2:def_1; then A19: arity o1 = (signature U1) . x by A18, UNIALG_1:def_4 .= 0 by A13, A16, A18, UNIALG_1:def_4 ; then A20: dom o1 = 0 -tuples_on the carrier of U0 by MARGREL1:22 .= {(<*> the carrier of U0)} by FINSEQ_2:94 .= {(<*> A)} .= 0 -tuples_on A by FINSEQ_2:94 ; A is opers_closed by UNIALG_2:def_7; then A21: A is_closed_on o1 by UNIALG_2:def_4; the carrier of U1 is Subset of U0 by UNIALG_2:def_7; then A22: u in the carrier of U0 by TARSKI:def_3; x in dom (Opers (U0,A)) by A17, UNIALG_2:def_6; then (Opers (U0,A)) . x = o1 /. A by UNIALG_2:def_6; then o = o1 /. A by A16, UNIALG_2:def_7 .= o1 | (0 -tuples_on A) by A21, A19, UNIALG_2:def_5 .= o1 by A20, RELAT_1:69 ; hence a in Constants U0 by A11, A13, A14, A22; ::_thesis: verum end; end; registration let U0 be with_const_op Universal_Algebra; cluster -> with_const_op for SubAlgebra of U0; coherence for b1 being SubAlgebra of U0 holds b1 is with_const_op proof let U1 be SubAlgebra of U0; ::_thesis: U1 is with_const_op reconsider U2 = U1 as Universal_Algebra ; set u = the Element of Constants U2; Constants U2 = Constants U0 by Th6; then the Element of Constants U2 in Constants U2 ; then ex u1 being Element of U2 st ( the Element of Constants U2 = u1 & ex o being operation of U2 st ( arity o = 0 & u1 in rng o ) ) ; hence U1 is with_const_op by UNIALG_2:def_11; ::_thesis: verum end; end; theorem :: UNIALG_3:7 for U0 being with_const_op Universal_Algebra for U1, U2 being SubAlgebra of U0 holds Constants U1 = Constants U2 proof let U0 be with_const_op Universal_Algebra; ::_thesis: for U1, U2 being SubAlgebra of U0 holds Constants U1 = Constants U2 let U1, U2 be SubAlgebra of U0; ::_thesis: Constants U1 = Constants U2 Constants U0 = Constants U1 by Th6; hence Constants U1 = Constants U2 by Th6; ::_thesis: verum end; definition let U0 be Universal_Algebra; redefine func Carr U0 means :Def4: :: UNIALG_3:def 4 for u being Element of Sub U0 for U1 being SubAlgebra of U0 st u = U1 holds it . u = the carrier of U1; compatibility for b1 being Function of (Sub U0),(bool the carrier of U0) holds ( b1 = Carr U0 iff for u being Element of Sub U0 for U1 being SubAlgebra of U0 st u = U1 holds b1 . u = the carrier of U1 ) proof let f be Function of (Sub U0),(bool the carrier of U0); ::_thesis: ( f = Carr U0 iff for u being Element of Sub U0 for U1 being SubAlgebra of U0 st u = U1 holds f . u = the carrier of U1 ) hereby ::_thesis: ( ( for u being Element of Sub U0 for U1 being SubAlgebra of U0 st u = U1 holds f . u = the carrier of U1 ) implies f = Carr U0 ) assume A1: f = Carr U0 ; ::_thesis: for u being Element of Sub U0 for U1 being SubAlgebra of U0 st u = U1 holds f . u = the carrier of U1 let u be Element of Sub U0; ::_thesis: for U1 being SubAlgebra of U0 st u = U1 holds f . u = the carrier of U1 let U1 be SubAlgebra of U0; ::_thesis: ( u = U1 implies f . u = the carrier of U1 ) assume A2: u = U1 ; ::_thesis: f . u = the carrier of U1 ex U2 being SubAlgebra of U0 st ( u = U2 & carr u = the carrier of U2 ) by Def2; hence f . u = the carrier of U1 by A1, A2, Def3; ::_thesis: verum end; assume A3: for u being Element of Sub U0 for U1 being SubAlgebra of U0 st u = U1 holds f . u = the carrier of U1 ; ::_thesis: f = Carr U0 for u1 being Element of Sub U0 holds f . u1 = carr u1 proof let u be Element of Sub U0; ::_thesis: f . u = carr u reconsider U1 = u as Element of Sub U0 ; f . u = the carrier of U1 by A3; hence f . u = carr u by Def2; ::_thesis: verum end; hence f = Carr U0 by Def3; ::_thesis: verum end; end; :: deftheorem Def4 defines Carr UNIALG_3:def_4_:_ for U0 being Universal_Algebra for b2 being Function of (Sub U0),(bool the carrier of U0) holds ( b2 = Carr U0 iff for u being Element of Sub U0 for U1 being SubAlgebra of U0 st u = U1 holds b2 . u = the carrier of U1 ); theorem :: UNIALG_3:8 for U0 being Universal_Algebra for H being strict SubAlgebra of U0 for u being Element of U0 holds ( u in (Carr U0) . H iff u in H ) proof let U0 be Universal_Algebra; ::_thesis: for H being strict SubAlgebra of U0 for u being Element of U0 holds ( u in (Carr U0) . H iff u in H ) let H be strict SubAlgebra of U0; ::_thesis: for u being Element of U0 holds ( u in (Carr U0) . H iff u in H ) let u be Element of U0; ::_thesis: ( u in (Carr U0) . H iff u in H ) thus ( u in (Carr U0) . H implies u in H ) ::_thesis: ( u in H implies u in (Carr U0) . H ) proof A1: H in Sub U0 by UNIALG_2:def_14; assume u in (Carr U0) . H ; ::_thesis: u in H then u in the carrier of H by A1, Def4; hence u in H by STRUCT_0:def_5; ::_thesis: verum end; thus ( u in H implies u in (Carr U0) . H ) ::_thesis: verum proof H in Sub U0 by UNIALG_2:def_14; then A2: (Carr U0) . H = the carrier of H by Def4; assume u in H ; ::_thesis: u in (Carr U0) . H hence u in (Carr U0) . H by A2, STRUCT_0:def_5; ::_thesis: verum end; end; theorem Th9: :: UNIALG_3:9 for U0 being Universal_Algebra for H being non empty Subset of (Sub U0) holds not (Carr U0) .: H is empty proof let U0 be Universal_Algebra; ::_thesis: for H being non empty Subset of (Sub U0) holds not (Carr U0) .: H is empty let H be non empty Subset of (Sub U0); ::_thesis: not (Carr U0) .: H is empty consider u being Element of Sub U0 such that A1: u in H by SUBSET_1:4; (Carr U0) . u in (Carr U0) .: H by A1, FUNCT_2:35; hence not (Carr U0) .: H is empty ; ::_thesis: verum end; theorem :: UNIALG_3:10 for U0 being with_const_op Universal_Algebra for U1 being strict SubAlgebra of U0 holds Constants U0 c= (Carr U0) . U1 proof let U0 be with_const_op Universal_Algebra; ::_thesis: for U1 being strict SubAlgebra of U0 holds Constants U0 c= (Carr U0) . U1 let U1 be strict SubAlgebra of U0; ::_thesis: Constants U0 c= (Carr U0) . U1 U1 in Sub U0 by Th1; then A1: (Carr U0) . U1 = the carrier of U1 by Def4; Constants U1 = Constants U0 by Th6; hence Constants U0 c= (Carr U0) . U1 by A1; ::_thesis: verum end; theorem Th11: :: UNIALG_3:11 for U0 being with_const_op Universal_Algebra for U1 being SubAlgebra of U0 for a being set st a is Element of Constants U0 holds a in the carrier of U1 proof let U0 be with_const_op Universal_Algebra; ::_thesis: for U1 being SubAlgebra of U0 for a being set st a is Element of Constants U0 holds a in the carrier of U1 let U1 be SubAlgebra of U0; ::_thesis: for a being set st a is Element of Constants U0 holds a in the carrier of U1 let a be set ; ::_thesis: ( a is Element of Constants U0 implies a in the carrier of U1 ) A1: Constants U0 is Subset of U1 by UNIALG_2:15; assume a is Element of Constants U0 ; ::_thesis: a in the carrier of U1 hence a in the carrier of U1 by A1, TARSKI:def_3; ::_thesis: verum end; theorem Th12: :: UNIALG_3:12 for U0 being with_const_op Universal_Algebra for H being non empty Subset of (Sub U0) holds meet ((Carr U0) .: H) is non empty Subset of U0 proof let U0 be with_const_op Universal_Algebra; ::_thesis: for H being non empty Subset of (Sub U0) holds meet ((Carr U0) .: H) is non empty Subset of U0 let H be non empty Subset of (Sub U0); ::_thesis: meet ((Carr U0) .: H) is non empty Subset of U0 set u = the Element of Constants U0; reconsider CH = (Carr U0) .: H as Subset-Family of U0 ; A1: for S being set st S in (Carr U0) .: H holds the Element of Constants U0 in S proof let S be set ; ::_thesis: ( S in (Carr U0) .: H implies the Element of Constants U0 in S ) assume A2: S in (Carr U0) .: H ; ::_thesis: the Element of Constants U0 in S then reconsider S = S as Subset of U0 ; consider X1 being Element of Sub U0 such that X1 in H and A3: S = (Carr U0) . X1 by A2, FUNCT_2:65; reconsider X1 = X1 as strict SubAlgebra of U0 by UNIALG_2:def_14; S = the carrier of X1 by A3, Def4; hence the Element of Constants U0 in S by Th11; ::_thesis: verum end; CH <> {} by Th9; hence meet ((Carr U0) .: H) is non empty Subset of U0 by A1, SETFAM_1:def_1; ::_thesis: verum end; theorem :: UNIALG_3:13 for U0 being with_const_op Universal_Algebra holds the carrier of (UnSubAlLattice U0) = Sub U0 ; theorem Th14: :: UNIALG_3:14 for U0 being with_const_op Universal_Algebra for H being non empty Subset of (Sub U0) for S being non empty Subset of U0 st S = meet ((Carr U0) .: H) holds S is opers_closed proof let U0 be with_const_op Universal_Algebra; ::_thesis: for H being non empty Subset of (Sub U0) for S being non empty Subset of U0 st S = meet ((Carr U0) .: H) holds S is opers_closed let H be non empty Subset of (Sub U0); ::_thesis: for S being non empty Subset of U0 st S = meet ((Carr U0) .: H) holds S is opers_closed let S be non empty Subset of U0; ::_thesis: ( S = meet ((Carr U0) .: H) implies S is opers_closed ) assume A1: S = meet ((Carr U0) .: H) ; ::_thesis: S is opers_closed A2: (Carr U0) .: H <> {} by Th9; for o being operation of U0 holds S is_closed_on o proof let o be operation of U0; ::_thesis: S is_closed_on o let s be FinSequence of S; :: according to UNIALG_2:def_3 ::_thesis: ( not len s = arity o or o . s in S ) assume A3: len s = arity o ; ::_thesis: o . s in S now__::_thesis:_for_a_being_set_st_a_in_(Carr_U0)_.:_H_holds_ o_._s_in_a let a be set ; ::_thesis: ( a in (Carr U0) .: H implies o . s in a ) assume A4: a in (Carr U0) .: H ; ::_thesis: o . s in a then reconsider H1 = a as Subset of U0 ; consider H2 being Element of Sub U0 such that H2 in H and A5: H1 = (Carr U0) . H2 by A4, FUNCT_2:65; A6: H1 = the carrier of H2 by A5, Def4; then reconsider H3 = H1 as non empty Subset of U0 ; S c= H1 by A1, A4, SETFAM_1:3; then reconsider s1 = s as FinSequence of H3 by FINSEQ_2:24; H3 is opers_closed by A6, UNIALG_2:def_7; then H3 is_closed_on o by UNIALG_2:def_4; then o . s1 in H3 by A3, UNIALG_2:def_3; hence o . s in a ; ::_thesis: verum end; hence o . s in S by A1, A2, SETFAM_1:def_1; ::_thesis: verum end; hence S is opers_closed by UNIALG_2:def_4; ::_thesis: verum end; definition let U0 be strict with_const_op Universal_Algebra; let H be non empty Subset of (Sub U0); func meet H -> strict SubAlgebra of U0 means :Def5: :: UNIALG_3:def 5 the carrier of it = meet ((Carr U0) .: H); existence ex b1 being strict SubAlgebra of U0 st the carrier of b1 = meet ((Carr U0) .: H) proof reconsider H1 = meet ((Carr U0) .: H) as non empty Subset of U0 by Th12; UniAlgSetClosed H1 = UAStr(# H1,(Opers (U0,H1)) #) by Th14, UNIALG_2:def_8; hence ex b1 being strict SubAlgebra of U0 st the carrier of b1 = meet ((Carr U0) .: H) ; ::_thesis: verum end; uniqueness for b1, b2 being strict SubAlgebra of U0 st the carrier of b1 = meet ((Carr U0) .: H) & the carrier of b2 = meet ((Carr U0) .: H) holds b1 = b2 by UNIALG_2:12; end; :: deftheorem Def5 defines meet UNIALG_3:def_5_:_ for U0 being strict with_const_op Universal_Algebra for H being non empty Subset of (Sub U0) for b3 being strict SubAlgebra of U0 holds ( b3 = meet H iff the carrier of b3 = meet ((Carr U0) .: H) ); theorem Th15: :: UNIALG_3:15 for U0 being with_const_op Universal_Algebra for l1, l2 being Element of (UnSubAlLattice U0) for U1, U2 being strict SubAlgebra of U0 st l1 = U1 & l2 = U2 holds ( l1 [= l2 iff the carrier of U1 c= the carrier of U2 ) proof let U0 be with_const_op Universal_Algebra; ::_thesis: for l1, l2 being Element of (UnSubAlLattice U0) for U1, U2 being strict SubAlgebra of U0 st l1 = U1 & l2 = U2 holds ( l1 [= l2 iff the carrier of U1 c= the carrier of U2 ) let l1, l2 be Element of (UnSubAlLattice U0); ::_thesis: for U1, U2 being strict SubAlgebra of U0 st l1 = U1 & l2 = U2 holds ( l1 [= l2 iff the carrier of U1 c= the carrier of U2 ) let U1, U2 be strict SubAlgebra of U0; ::_thesis: ( l1 = U1 & l2 = U2 implies ( l1 [= l2 iff the carrier of U1 c= the carrier of U2 ) ) reconsider l1 = U1 as Element of (UnSubAlLattice U0) by UNIALG_2:def_14; reconsider l2 = U2 as Element of (UnSubAlLattice U0) by UNIALG_2:def_14; A1: ( l1 [= l2 implies the carrier of U1 c= the carrier of U2 ) proof reconsider U21 = the carrier of U2 as Subset of U0 by UNIALG_2:def_7; reconsider U11 = the carrier of U1 as Subset of U0 by UNIALG_2:def_7; reconsider U3 = U11 \/ U21 as non empty Subset of U0 ; assume l1 [= l2 ; ::_thesis: the carrier of U1 c= the carrier of U2 then l1 "\/" l2 = l2 by LATTICES:def_3; then U1 "\/" U2 = U2 by UNIALG_2:def_15; then GenUnivAlg U3 = U2 by UNIALG_2:def_13; then A2: the carrier of U1 \/ the carrier of U2 c= the carrier of U2 by UNIALG_2:def_12; the carrier of U2 c= the carrier of U1 \/ the carrier of U2 by XBOOLE_1:7; then the carrier of U1 \/ the carrier of U2 = the carrier of U2 by A2, XBOOLE_0:def_10; hence the carrier of U1 c= the carrier of U2 by XBOOLE_1:7; ::_thesis: verum end; ( the carrier of U1 c= the carrier of U2 implies l1 [= l2 ) proof reconsider U21 = the carrier of U2 as Subset of U0 by UNIALG_2:def_7; reconsider U11 = the carrier of U1 as Subset of U0 by UNIALG_2:def_7; reconsider U3 = U11 \/ U21 as non empty Subset of U0 ; assume the carrier of U1 c= the carrier of U2 ; ::_thesis: l1 [= l2 then GenUnivAlg U3 = U2 by UNIALG_2:19, XBOOLE_1:12; then U1 "\/" U2 = U2 by UNIALG_2:def_13; then l1 "\/" l2 = l2 by UNIALG_2:def_15; hence l1 [= l2 by LATTICES:def_3; ::_thesis: verum end; hence ( l1 = U1 & l2 = U2 implies ( l1 [= l2 iff the carrier of U1 c= the carrier of U2 ) ) by A1; ::_thesis: verum end; theorem :: UNIALG_3:16 for U0 being with_const_op Universal_Algebra for l1, l2 being Element of (UnSubAlLattice U0) for U1, U2 being strict SubAlgebra of U0 st l1 = U1 & l2 = U2 holds ( l1 [= l2 iff U1 is SubAlgebra of U2 ) proof let U0 be with_const_op Universal_Algebra; ::_thesis: for l1, l2 being Element of (UnSubAlLattice U0) for U1, U2 being strict SubAlgebra of U0 st l1 = U1 & l2 = U2 holds ( l1 [= l2 iff U1 is SubAlgebra of U2 ) let l1, l2 be Element of (UnSubAlLattice U0); ::_thesis: for U1, U2 being strict SubAlgebra of U0 st l1 = U1 & l2 = U2 holds ( l1 [= l2 iff U1 is SubAlgebra of U2 ) let U1, U2 be strict SubAlgebra of U0; ::_thesis: ( l1 = U1 & l2 = U2 implies ( l1 [= l2 iff U1 is SubAlgebra of U2 ) ) assume A1: ( l1 = U1 & l2 = U2 ) ; ::_thesis: ( l1 [= l2 iff U1 is SubAlgebra of U2 ) thus ( l1 [= l2 implies U1 is SubAlgebra of U2 ) ::_thesis: ( U1 is SubAlgebra of U2 implies l1 [= l2 ) proof assume l1 [= l2 ; ::_thesis: U1 is SubAlgebra of U2 then the carrier of U1 c= the carrier of U2 by A1, Th15; hence U1 is SubAlgebra of U2 by UNIALG_2:11; ::_thesis: verum end; thus ( U1 is SubAlgebra of U2 implies l1 [= l2 ) ::_thesis: verum proof assume U1 is SubAlgebra of U2 ; ::_thesis: l1 [= l2 then the carrier of U1 is Subset of U2 by UNIALG_2:def_7; hence l1 [= l2 by A1, Th15; ::_thesis: verum end; end; theorem Th17: :: UNIALG_3:17 for U0 being strict with_const_op Universal_Algebra holds UnSubAlLattice U0 is bounded proof let U0 be strict with_const_op Universal_Algebra; ::_thesis: UnSubAlLattice U0 is bounded A1: UnSubAlLattice U0 is lower-bounded proof reconsider U11 = Constants U0 as Subset of U0 ; reconsider U2 = GenUnivAlg (Constants U0) as strict SubAlgebra of U0 ; reconsider l1 = GenUnivAlg (Constants U0) as Element of (UnSubAlLattice U0) by UNIALG_2:def_14; take l1 ; :: according to LATTICES:def_13 ::_thesis: for b1 being Element of the carrier of (UnSubAlLattice U0) holds ( l1 "/\" b1 = l1 & b1 "/\" l1 = l1 ) let l2 be Element of (UnSubAlLattice U0); ::_thesis: ( l1 "/\" l2 = l1 & l2 "/\" l1 = l1 ) reconsider U1 = l2 as strict SubAlgebra of U0 by UNIALG_2:def_14; reconsider U21 = the carrier of U1 as Subset of U0 by UNIALG_2:def_7; reconsider U3 = U11 \/ U21 as non empty Subset of U0 ; Constants U0 is Subset of U1 by UNIALG_2:16; then GenUnivAlg U3 = U1 by UNIALG_2:19, XBOOLE_1:12; then U2 "\/" U1 = U1 by UNIALG_2:20; then l1 "\/" l2 = l2 by UNIALG_2:def_15; then A2: l1 [= l2 by LATTICES:5; hence l1 "/\" l2 = l1 by LATTICES:4; ::_thesis: l2 "/\" l1 = l1 thus l2 "/\" l1 = l1 by A2, LATTICES:4; ::_thesis: verum end; UnSubAlLattice U0 is upper-bounded proof U0 is strict SubAlgebra of U0 by UNIALG_2:8; then reconsider l1 = U0 as Element of (UnSubAlLattice U0) by UNIALG_2:def_14; reconsider U1 = l1 as strict SubAlgebra of U0 by UNIALG_2:8; take l1 ; :: according to LATTICES:def_14 ::_thesis: for b1 being Element of the carrier of (UnSubAlLattice U0) holds ( l1 "\/" b1 = l1 & b1 "\/" l1 = l1 ) let l2 be Element of (UnSubAlLattice U0); ::_thesis: ( l1 "\/" l2 = l1 & l2 "\/" l1 = l1 ) reconsider U2 = l2 as strict SubAlgebra of U0 by UNIALG_2:def_14; reconsider U11 = the carrier of U1 as Subset of U0 by UNIALG_2:def_7; reconsider U21 = the carrier of U2 as Subset of U0 by UNIALG_2:def_7; reconsider H = U11 \/ U21 as non empty Subset of U0 ; A3: H = the carrier of U1 by XBOOLE_1:12; thus l1 "\/" l2 = U1 "\/" U2 by UNIALG_2:def_15 .= GenUnivAlg ([#] the carrier of U1) by A3, UNIALG_2:def_13 .= l1 by UNIALG_2:18 ; ::_thesis: l2 "\/" l1 = l1 hence l2 "\/" l1 = l1 ; ::_thesis: verum end; hence UnSubAlLattice U0 is bounded by A1; ::_thesis: verum end; registration let U0 be strict with_const_op Universal_Algebra; cluster UnSubAlLattice U0 -> bounded ; coherence UnSubAlLattice U0 is bounded by Th17; end; theorem Th18: :: UNIALG_3:18 for U0 being strict with_const_op Universal_Algebra for U1 being strict SubAlgebra of U0 holds (GenUnivAlg (Constants U0)) /\ U1 = GenUnivAlg (Constants U0) proof let U0 be strict with_const_op Universal_Algebra; ::_thesis: for U1 being strict SubAlgebra of U0 holds (GenUnivAlg (Constants U0)) /\ U1 = GenUnivAlg (Constants U0) let U1 be strict SubAlgebra of U0; ::_thesis: (GenUnivAlg (Constants U0)) /\ U1 = GenUnivAlg (Constants U0) set C = Constants U0; set G = GenUnivAlg (Constants U0); Constants U0 is Subset of U1 by UNIALG_2:15; then GenUnivAlg (Constants U0) is strict SubAlgebra of U1 by UNIALG_2:def_12; then A1: the carrier of (GenUnivAlg (Constants U0)) is Subset of U1 by UNIALG_2:def_7; the carrier of (GenUnivAlg (Constants U0)) meets the carrier of U1 by UNIALG_2:17; then the carrier of ((GenUnivAlg (Constants U0)) /\ U1) = the carrier of (GenUnivAlg (Constants U0)) /\ the carrier of U1 by UNIALG_2:def_9; hence (GenUnivAlg (Constants U0)) /\ U1 = GenUnivAlg (Constants U0) by A1, UNIALG_2:12, XBOOLE_1:28; ::_thesis: verum end; theorem :: UNIALG_3:19 for U0 being strict with_const_op Universal_Algebra holds Bottom (UnSubAlLattice U0) = GenUnivAlg (Constants U0) proof let U0 be strict with_const_op Universal_Algebra; ::_thesis: Bottom (UnSubAlLattice U0) = GenUnivAlg (Constants U0) set L = UnSubAlLattice U0; set C = Constants U0; reconsider G = GenUnivAlg (Constants U0) as Element of Sub U0 by UNIALG_2:def_14; reconsider l1 = G as Element of (UnSubAlLattice U0) ; now__::_thesis:_for_l_being_Element_of_(UnSubAlLattice_U0)_holds_ (_l1_"/\"_l_=_l1_&_l_"/\"_l1_=_l1_) let l be Element of (UnSubAlLattice U0); ::_thesis: ( l1 "/\" l = l1 & l "/\" l1 = l1 ) reconsider u1 = l as Element of Sub U0 ; reconsider U2 = u1 as strict SubAlgebra of U0 by UNIALG_2:def_14; thus l1 "/\" l = (GenUnivAlg (Constants U0)) /\ U2 by UNIALG_2:def_16 .= l1 by Th18 ; ::_thesis: l "/\" l1 = l1 hence l "/\" l1 = l1 ; ::_thesis: verum end; hence Bottom (UnSubAlLattice U0) = GenUnivAlg (Constants U0) by LATTICES:def_16; ::_thesis: verum end; theorem Th20: :: UNIALG_3:20 for U0 being strict with_const_op Universal_Algebra for U1 being SubAlgebra of U0 for H being Subset of U0 st H = the carrier of U0 holds (GenUnivAlg H) "\/" U1 = GenUnivAlg H proof let U0 be strict with_const_op Universal_Algebra; ::_thesis: for U1 being SubAlgebra of U0 for H being Subset of U0 st H = the carrier of U0 holds (GenUnivAlg H) "\/" U1 = GenUnivAlg H let U1 be SubAlgebra of U0; ::_thesis: for H being Subset of U0 st H = the carrier of U0 holds (GenUnivAlg H) "\/" U1 = GenUnivAlg H let H be Subset of U0; ::_thesis: ( H = the carrier of U0 implies (GenUnivAlg H) "\/" U1 = GenUnivAlg H ) assume H = the carrier of U0 ; ::_thesis: (GenUnivAlg H) "\/" U1 = GenUnivAlg H then H \/ the carrier of U1 = H by Th3, XBOOLE_1:12; hence (GenUnivAlg H) "\/" U1 = GenUnivAlg H by UNIALG_2:20; ::_thesis: verum end; theorem Th21: :: UNIALG_3:21 for U0 being strict with_const_op Universal_Algebra for H being Subset of U0 st H = the carrier of U0 holds Top (UnSubAlLattice U0) = GenUnivAlg H proof let U0 be strict with_const_op Universal_Algebra; ::_thesis: for H being Subset of U0 st H = the carrier of U0 holds Top (UnSubAlLattice U0) = GenUnivAlg H let H be Subset of U0; ::_thesis: ( H = the carrier of U0 implies Top (UnSubAlLattice U0) = GenUnivAlg H ) set L = UnSubAlLattice U0; reconsider u1 = GenUnivAlg H as Element of Sub U0 by UNIALG_2:def_14; reconsider l1 = u1 as Element of (UnSubAlLattice U0) ; assume A1: H = the carrier of U0 ; ::_thesis: Top (UnSubAlLattice U0) = GenUnivAlg H now__::_thesis:_for_l_being_Element_of_(UnSubAlLattice_U0)_holds_ (_l1_"\/"_l_=_l1_&_l_"\/"_l1_=_l1_) let l be Element of (UnSubAlLattice U0); ::_thesis: ( l1 "\/" l = l1 & l "\/" l1 = l1 ) reconsider u2 = l as Element of Sub U0 ; reconsider U2 = u2 as strict SubAlgebra of U0 by UNIALG_2:def_14; thus l1 "\/" l = (GenUnivAlg H) "\/" U2 by UNIALG_2:def_15 .= l1 by A1, Th20 ; ::_thesis: l "\/" l1 = l1 hence l "\/" l1 = l1 ; ::_thesis: verum end; hence Top (UnSubAlLattice U0) = GenUnivAlg H by LATTICES:def_17; ::_thesis: verum end; theorem :: UNIALG_3:22 for U0 being strict with_const_op Universal_Algebra holds Top (UnSubAlLattice U0) = U0 proof let U0 be strict with_const_op Universal_Algebra; ::_thesis: Top (UnSubAlLattice U0) = U0 A1: U0 is strict SubAlgebra of U0 by UNIALG_2:8; the carrier of U0 c= the carrier of U0 ; then reconsider H = the carrier of U0 as Subset of U0 ; thus Top (UnSubAlLattice U0) = GenUnivAlg H by Th21 .= U0 by A1, UNIALG_2:19 ; ::_thesis: verum end; theorem :: UNIALG_3:23 for U0 being strict with_const_op Universal_Algebra holds UnSubAlLattice U0 is complete proof let U0 be strict with_const_op Universal_Algebra; ::_thesis: UnSubAlLattice U0 is complete let L be Subset of (UnSubAlLattice U0); :: according to VECTSP_8:def_6 ::_thesis: ex b1 being Element of the carrier of (UnSubAlLattice U0) st ( b1 is_less_than L & ( for b2 being Element of the carrier of (UnSubAlLattice U0) holds ( not b2 is_less_than L or b2 [= b1 ) ) ) percases ( L = {} or L <> {} ) ; supposeA1: L = {} ; ::_thesis: ex b1 being Element of the carrier of (UnSubAlLattice U0) st ( b1 is_less_than L & ( for b2 being Element of the carrier of (UnSubAlLattice U0) holds ( not b2 is_less_than L or b2 [= b1 ) ) ) thus ex b1 being Element of the carrier of (UnSubAlLattice U0) st ( b1 is_less_than L & ( for b2 being Element of the carrier of (UnSubAlLattice U0) holds ( not b2 is_less_than L or b2 [= b1 ) ) ) ::_thesis: verum proof take Top (UnSubAlLattice U0) ; ::_thesis: ( Top (UnSubAlLattice U0) is_less_than L & ( for b1 being Element of the carrier of (UnSubAlLattice U0) holds ( not b1 is_less_than L or b1 [= Top (UnSubAlLattice U0) ) ) ) thus Top (UnSubAlLattice U0) is_less_than L ::_thesis: for b1 being Element of the carrier of (UnSubAlLattice U0) holds ( not b1 is_less_than L or b1 [= Top (UnSubAlLattice U0) ) proof let l1 be Element of (UnSubAlLattice U0); :: according to LATTICE3:def_16 ::_thesis: ( not l1 in L or Top (UnSubAlLattice U0) [= l1 ) thus ( not l1 in L or Top (UnSubAlLattice U0) [= l1 ) by A1; ::_thesis: verum end; let l2 be Element of (UnSubAlLattice U0); ::_thesis: ( not l2 is_less_than L or l2 [= Top (UnSubAlLattice U0) ) assume l2 is_less_than L ; ::_thesis: l2 [= Top (UnSubAlLattice U0) thus l2 [= Top (UnSubAlLattice U0) by LATTICES:19; ::_thesis: verum end; end; suppose L <> {} ; ::_thesis: ex b1 being Element of the carrier of (UnSubAlLattice U0) st ( b1 is_less_than L & ( for b2 being Element of the carrier of (UnSubAlLattice U0) holds ( not b2 is_less_than L or b2 [= b1 ) ) ) then reconsider H = L as non empty Subset of (Sub U0) ; reconsider l1 = meet H as Element of (UnSubAlLattice U0) by UNIALG_2:def_14; take l1 ; ::_thesis: ( l1 is_less_than L & ( for b1 being Element of the carrier of (UnSubAlLattice U0) holds ( not b1 is_less_than L or b1 [= l1 ) ) ) set x = the Element of H; thus l1 is_less_than L ::_thesis: for b1 being Element of the carrier of (UnSubAlLattice U0) holds ( not b1 is_less_than L or b1 [= l1 ) proof let l2 be Element of (UnSubAlLattice U0); :: according to LATTICE3:def_16 ::_thesis: ( not l2 in L or l1 [= l2 ) reconsider U1 = l2 as strict SubAlgebra of U0 by UNIALG_2:def_14; reconsider u = l2 as Element of Sub U0 ; assume A2: l2 in L ; ::_thesis: l1 [= l2 (Carr U0) . u = the carrier of U1 by Def4; then meet ((Carr U0) .: H) c= the carrier of U1 by A2, FUNCT_2:35, SETFAM_1:3; then the carrier of (meet H) c= the carrier of U1 by Def5; hence l1 [= l2 by Th15; ::_thesis: verum end; let l3 be Element of (UnSubAlLattice U0); ::_thesis: ( not l3 is_less_than L or l3 [= l1 ) reconsider U1 = l3 as strict SubAlgebra of U0 by UNIALG_2:def_14; assume A3: l3 is_less_than L ; ::_thesis: l3 [= l1 A4: for A being set st A in (Carr U0) .: H holds the carrier of U1 c= A proof let A be set ; ::_thesis: ( A in (Carr U0) .: H implies the carrier of U1 c= A ) assume A5: A in (Carr U0) .: H ; ::_thesis: the carrier of U1 c= A then reconsider H1 = A as Subset of U0 ; consider l4 being Element of Sub U0 such that A6: ( l4 in H & H1 = (Carr U0) . l4 ) by A5, FUNCT_2:65; reconsider l4 = l4 as Element of (UnSubAlLattice U0) ; reconsider U2 = l4 as strict SubAlgebra of U0 by UNIALG_2:def_14; ( A = the carrier of U2 & l3 [= l4 ) by A3, A6, Def4, LATTICE3:def_16; hence the carrier of U1 c= A by Th15; ::_thesis: verum end; (Carr U0) . the Element of H in (Carr U0) .: L by FUNCT_2:35; then the carrier of U1 c= meet ((Carr U0) .: H) by A4, SETFAM_1:5; then the carrier of U1 c= the carrier of (meet H) by Def5; hence l3 [= l1 by Th15; ::_thesis: verum end; end; end; definition let U01, U02 be with_const_op Universal_Algebra; let F be Function of the carrier of U01, the carrier of U02; func FuncLatt F -> Function of the carrier of (UnSubAlLattice U01), the carrier of (UnSubAlLattice U02) means :Def6: :: UNIALG_3:def 6 for U1 being strict SubAlgebra of U01 for H being Subset of U02 st H = F .: the carrier of U1 holds it . U1 = GenUnivAlg H; existence ex b1 being Function of the carrier of (UnSubAlLattice U01), the carrier of (UnSubAlLattice U02) st for U1 being strict SubAlgebra of U01 for H being Subset of U02 st H = F .: the carrier of U1 holds b1 . U1 = GenUnivAlg H proof defpred S1[ set , set ] means for U1 being strict SubAlgebra of U01 st U1 = $1 holds for S being Subset of U02 st S = F .: the carrier of U1 holds $2 = GenUnivAlg (F .: the carrier of U1); A1: for u1 being set st u1 in the carrier of (UnSubAlLattice U01) holds ex u2 being set st ( u2 in the carrier of (UnSubAlLattice U02) & S1[u1,u2] ) proof let u1 be set ; ::_thesis: ( u1 in the carrier of (UnSubAlLattice U01) implies ex u2 being set st ( u2 in the carrier of (UnSubAlLattice U02) & S1[u1,u2] ) ) assume u1 in the carrier of (UnSubAlLattice U01) ; ::_thesis: ex u2 being set st ( u2 in the carrier of (UnSubAlLattice U02) & S1[u1,u2] ) then consider U2 being strict SubAlgebra of U01 such that A2: U2 = u1 by Th1; reconsider u2 = GenUnivAlg (F .: the carrier of U2) as strict SubAlgebra of U02 ; reconsider u2 = u2 as Element of (UnSubAlLattice U02) by UNIALG_2:def_14; take u2 ; ::_thesis: ( u2 in the carrier of (UnSubAlLattice U02) & S1[u1,u2] ) thus ( u2 in the carrier of (UnSubAlLattice U02) & S1[u1,u2] ) by A2; ::_thesis: verum end; consider f1 being Function of the carrier of (UnSubAlLattice U01), the carrier of (UnSubAlLattice U02) such that A3: for u1 being set st u1 in the carrier of (UnSubAlLattice U01) holds S1[u1,f1 . u1] from FUNCT_2:sch_1(A1); take f1 ; ::_thesis: for U1 being strict SubAlgebra of U01 for H being Subset of U02 st H = F .: the carrier of U1 holds f1 . U1 = GenUnivAlg H thus for U1 being strict SubAlgebra of U01 for H being Subset of U02 st H = F .: the carrier of U1 holds f1 . U1 = GenUnivAlg H ::_thesis: verum proof let U1 be strict SubAlgebra of U01; ::_thesis: for H being Subset of U02 st H = F .: the carrier of U1 holds f1 . U1 = GenUnivAlg H let S be Subset of U02; ::_thesis: ( S = F .: the carrier of U1 implies f1 . U1 = GenUnivAlg S ) A4: U1 is Element of Sub U01 by UNIALG_2:def_14; assume S = F .: the carrier of U1 ; ::_thesis: f1 . U1 = GenUnivAlg S hence f1 . U1 = GenUnivAlg S by A3, A4; ::_thesis: verum end; end; uniqueness for b1, b2 being Function of the carrier of (UnSubAlLattice U01), the carrier of (UnSubAlLattice U02) st ( for U1 being strict SubAlgebra of U01 for H being Subset of U02 st H = F .: the carrier of U1 holds b1 . U1 = GenUnivAlg H ) & ( for U1 being strict SubAlgebra of U01 for H being Subset of U02 st H = F .: the carrier of U1 holds b2 . U1 = GenUnivAlg H ) holds b1 = b2 proof let F1, F2 be Function of the carrier of (UnSubAlLattice U01), the carrier of (UnSubAlLattice U02); ::_thesis: ( ( for U1 being strict SubAlgebra of U01 for H being Subset of U02 st H = F .: the carrier of U1 holds F1 . U1 = GenUnivAlg H ) & ( for U1 being strict SubAlgebra of U01 for H being Subset of U02 st H = F .: the carrier of U1 holds F2 . U1 = GenUnivAlg H ) implies F1 = F2 ) assume that A5: for U1 being strict SubAlgebra of U01 for H being Subset of U02 st H = F .: the carrier of U1 holds F1 . U1 = GenUnivAlg H and A6: for U1 being strict SubAlgebra of U01 for H being Subset of U02 st H = F .: the carrier of U1 holds F2 . U1 = GenUnivAlg H ; ::_thesis: F1 = F2 for l being set st l in the carrier of (UnSubAlLattice U01) holds F1 . l = F2 . l proof let l be set ; ::_thesis: ( l in the carrier of (UnSubAlLattice U01) implies F1 . l = F2 . l ) assume l in the carrier of (UnSubAlLattice U01) ; ::_thesis: F1 . l = F2 . l then consider U1 being strict SubAlgebra of U01 such that A7: U1 = l by Th1; consider H being Subset of U02 such that A8: H = F .: the carrier of U1 ; F1 . l = GenUnivAlg H by A5, A7, A8; hence F1 . l = F2 . l by A6, A7, A8; ::_thesis: verum end; hence F1 = F2 by FUNCT_2:12; ::_thesis: verum end; end; :: deftheorem Def6 defines FuncLatt UNIALG_3:def_6_:_ for U01, U02 being with_const_op Universal_Algebra for F being Function of the carrier of U01, the carrier of U02 for b4 being Function of the carrier of (UnSubAlLattice U01), the carrier of (UnSubAlLattice U02) holds ( b4 = FuncLatt F iff for U1 being strict SubAlgebra of U01 for H being Subset of U02 st H = F .: the carrier of U1 holds b4 . U1 = GenUnivAlg H ); theorem :: UNIALG_3:24 for U0 being strict with_const_op Universal_Algebra for F being Function of the carrier of U0, the carrier of U0 st F = id the carrier of U0 holds FuncLatt F = id the carrier of (UnSubAlLattice U0) proof let U0 be strict with_const_op Universal_Algebra; ::_thesis: for F being Function of the carrier of U0, the carrier of U0 st F = id the carrier of U0 holds FuncLatt F = id the carrier of (UnSubAlLattice U0) let F be Function of the carrier of U0, the carrier of U0; ::_thesis: ( F = id the carrier of U0 implies FuncLatt F = id the carrier of (UnSubAlLattice U0) ) assume A1: F = id the carrier of U0 ; ::_thesis: FuncLatt F = id the carrier of (UnSubAlLattice U0) A2: for a being set st a in the carrier of (UnSubAlLattice U0) holds (FuncLatt F) . a = a proof let a be set ; ::_thesis: ( a in the carrier of (UnSubAlLattice U0) implies (FuncLatt F) . a = a ) assume a in the carrier of (UnSubAlLattice U0) ; ::_thesis: (FuncLatt F) . a = a then reconsider a = a as strict SubAlgebra of U0 by UNIALG_2:def_14; for a1 being set st a1 in the carrier of a holds a1 in F .: the carrier of a proof let a1 be set ; ::_thesis: ( a1 in the carrier of a implies a1 in F .: the carrier of a ) assume A3: a1 in the carrier of a ; ::_thesis: a1 in F .: the carrier of a the carrier of a c= the carrier of U0 by Th3; then reconsider a1 = a1 as Element of U0 by A3; F . a1 = a1 by A1, FUNCT_1:17; hence a1 in F .: the carrier of a by A3, FUNCT_2:35; ::_thesis: verum end; then A4: the carrier of a c= F .: the carrier of a by TARSKI:def_3; for a1 being set st a1 in F .: the carrier of a holds a1 in the carrier of a proof let a1 be set ; ::_thesis: ( a1 in F .: the carrier of a implies a1 in the carrier of a ) assume A5: a1 in F .: the carrier of a ; ::_thesis: a1 in the carrier of a then reconsider a1 = a1 as Element of U0 ; ex H being Element of U0 st ( H in the carrier of a & a1 = F . H ) by A5, FUNCT_2:65; hence a1 in the carrier of a by A1, FUNCT_1:17; ::_thesis: verum end; then A6: F .: the carrier of a c= the carrier of a by TARSKI:def_3; then reconsider H1 = the carrier of a as Subset of U0 by A4, XBOOLE_0:def_10; F .: the carrier of a = the carrier of a by A6, A4, XBOOLE_0:def_10; then (FuncLatt F) . a = GenUnivAlg H1 by Def6; hence (FuncLatt F) . a = a by UNIALG_2:19; ::_thesis: verum end; dom (FuncLatt F) = the carrier of (UnSubAlLattice U0) by FUNCT_2:def_1; hence FuncLatt F = id the carrier of (UnSubAlLattice U0) by A2, FUNCT_1:17; ::_thesis: verum end;