:: MODCAT_1 semantic presentation begin definition let R be Ring; mode LeftMod_DOMAIN of R -> non empty set means :Def1: :: MODCAT_1:def 1 for x being Element of it holds x is strict LeftMod of R; existence ex b1 being non empty set st for x being Element of b1 holds x is strict LeftMod of R proof set D = {(TrivialLMod R)}; take {(TrivialLMod R)} ; ::_thesis: for x being Element of {(TrivialLMod R)} holds x is strict LeftMod of R thus for x being Element of {(TrivialLMod R)} holds x is strict LeftMod of R by TARSKI:def_1; ::_thesis: verum end; end; :: deftheorem Def1 defines LeftMod_DOMAIN MODCAT_1:def_1_:_ for R being Ring for b2 being non empty set holds ( b2 is LeftMod_DOMAIN of R iff for x being Element of b2 holds x is strict LeftMod of R ); definition let R be Ring; let V be LeftMod_DOMAIN of R; :: original: Element redefine mode Element of V -> LeftMod of R; coherence for b1 being Element of V holds b1 is LeftMod of R by Def1; end; registration let R be Ring; let V be LeftMod_DOMAIN of R; cluster non empty right_complementable V96() V97() V98() strict V149(R) V150(R) V151(R) V152(R) for Element of V; existence ex b1 being Element of V st b1 is strict proof set e = the Element of V; take the Element of V ; ::_thesis: the Element of V is strict thus the Element of V is strict by Def1; ::_thesis: verum end; end; definition let R be Ring; mode LModMorphism_DOMAIN of R -> non empty set means :Def2: :: MODCAT_1:def 2 for x being Element of it holds x is strict LModMorphism of R; existence ex b1 being non empty set st for x being Element of b1 holds x is strict LModMorphism of R proof set G = the LeftMod of R; take {(ID the LeftMod of R)} ; ::_thesis: for x being Element of {(ID the LeftMod of R)} holds x is strict LModMorphism of R let x be Element of {(ID the LeftMod of R)}; ::_thesis: x is strict LModMorphism of R thus x is strict LModMorphism of R by TARSKI:def_1; ::_thesis: verum end; end; :: deftheorem Def2 defines LModMorphism_DOMAIN MODCAT_1:def_2_:_ for R being Ring for b2 being non empty set holds ( b2 is LModMorphism_DOMAIN of R iff for x being Element of b2 holds x is strict LModMorphism of R ); definition let R be Ring; let M be LModMorphism_DOMAIN of R; :: original: Element redefine mode Element of M -> LModMorphism of R; coherence for b1 being Element of M holds b1 is LModMorphism of R by Def2; end; registration let R be Ring; let M be LModMorphism_DOMAIN of R; cluster strict LModMorphism-like for Element of M; existence ex b1 being Element of M st b1 is strict proof set e = the Element of M; take the Element of M ; ::_thesis: the Element of M is strict thus the Element of M is strict by Def2; ::_thesis: verum end; end; theorem Th1: :: MODCAT_1:1 for R being Ring for f being strict LModMorphism of R holds {f} is LModMorphism_DOMAIN of R proof let R be Ring; ::_thesis: for f being strict LModMorphism of R holds {f} is LModMorphism_DOMAIN of R let f be strict LModMorphism of R; ::_thesis: {f} is LModMorphism_DOMAIN of R for x being Element of {f} holds x is strict LModMorphism of R by TARSKI:def_1; hence {f} is LModMorphism_DOMAIN of R by Def2; ::_thesis: verum end; definition let R be Ring; let G, H be LeftMod of R; mode LModMorphism_DOMAIN of G,H -> LModMorphism_DOMAIN of R means :Def3: :: MODCAT_1:def 3 for x being Element of it holds x is strict Morphism of G,H; existence ex b1 being LModMorphism_DOMAIN of R st for x being Element of b1 holds x is strict Morphism of G,H proof reconsider D = {(ZERO (G,H))} as LModMorphism_DOMAIN of R by Th1; take D ; ::_thesis: for x being Element of D holds x is strict Morphism of G,H thus for x being Element of D holds x is strict Morphism of G,H by TARSKI:def_1; ::_thesis: verum end; end; :: deftheorem Def3 defines LModMorphism_DOMAIN MODCAT_1:def_3_:_ for R being Ring for G, H being LeftMod of R for b4 being LModMorphism_DOMAIN of R holds ( b4 is LModMorphism_DOMAIN of G,H iff for x being Element of b4 holds x is strict Morphism of G,H ); theorem Th2: :: MODCAT_1:2 for D being non empty set for R being Ring for G, H being LeftMod of R holds ( D is LModMorphism_DOMAIN of G,H iff for x being Element of D holds x is strict Morphism of G,H ) proof let D be non empty set ; ::_thesis: for R being Ring for G, H being LeftMod of R holds ( D is LModMorphism_DOMAIN of G,H iff for x being Element of D holds x is strict Morphism of G,H ) let R be Ring; ::_thesis: for G, H being LeftMod of R holds ( D is LModMorphism_DOMAIN of G,H iff for x being Element of D holds x is strict Morphism of G,H ) let G, H be LeftMod of R; ::_thesis: ( D is LModMorphism_DOMAIN of G,H iff for x being Element of D holds x is strict Morphism of G,H ) thus ( D is LModMorphism_DOMAIN of G,H implies for x being Element of D holds x is strict Morphism of G,H ) by Def3; ::_thesis: ( ( for x being Element of D holds x is strict Morphism of G,H ) implies D is LModMorphism_DOMAIN of G,H ) thus ( ( for x being Element of D holds x is strict Morphism of G,H ) implies D is LModMorphism_DOMAIN of G,H ) ::_thesis: verum proof assume A1: for x being Element of D holds x is strict Morphism of G,H ; ::_thesis: D is LModMorphism_DOMAIN of G,H then for x being Element of D holds x is strict LModMorphism of R ; then reconsider D9 = D as LModMorphism_DOMAIN of R by Def2; for x being Element of D9 holds x is strict Morphism of G,H by A1; hence D is LModMorphism_DOMAIN of G,H by Def3; ::_thesis: verum end; end; theorem :: MODCAT_1:3 for R being Ring for G, H being LeftMod of R for f being strict Morphism of G,H holds {f} is LModMorphism_DOMAIN of G,H proof let R be Ring; ::_thesis: for G, H being LeftMod of R for f being strict Morphism of G,H holds {f} is LModMorphism_DOMAIN of G,H let G, H be LeftMod of R; ::_thesis: for f being strict Morphism of G,H holds {f} is LModMorphism_DOMAIN of G,H let f be strict Morphism of G,H; ::_thesis: {f} is LModMorphism_DOMAIN of G,H for x being Element of {f} holds x is strict Morphism of G,H by TARSKI:def_1; hence {f} is LModMorphism_DOMAIN of G,H by Th2; ::_thesis: verum end; definition let R be Ring; let G, H be LeftMod of R; func Morphs (G,H) -> LModMorphism_DOMAIN of G,H means :Def4: :: MODCAT_1:def 4 for x being set holds ( x in it iff x is strict Morphism of G,H ); existence ex b1 being LModMorphism_DOMAIN of G,H st for x being set holds ( x in b1 iff x is strict Morphism of G,H ) proof ZeroMap (G,H) is Element of Funcs ( the carrier of G, the carrier of H) by FUNCT_2:8; then reconsider f0 = ZeroMap (G,H) as Element of Maps (G,H) by GRCAT_1:def_21; set D = { LModMorphismStr(# G,H,f #) where f is Element of Maps (G,H) : ( f is additive & f is homogeneous ) } ; LModMorphismStr(# G,H,f0 #) in { LModMorphismStr(# G,H,f #) where f is Element of Maps (G,H) : ( f is additive & f is homogeneous ) } ; then reconsider D = { LModMorphismStr(# G,H,f #) where f is Element of Maps (G,H) : ( f is additive & f is homogeneous ) } as non empty set ; A1: for x being set st x is strict Morphism of G,H holds x in D proof let x be set ; ::_thesis: ( x is strict Morphism of G,H implies x in D ) assume x is strict Morphism of G,H ; ::_thesis: x in D then reconsider x = x as strict Morphism of G,H ; dom x = G by MOD_2:def_8; then A2: the Dom of x = G by MOD_2:def_3; A3: cod x = H by MOD_2:def_8; then the Cod of x = H by MOD_2:def_4; then reconsider f = the Fun of x as Function of G,H by A2; f is Element of Funcs ( the carrier of G, the carrier of H) by FUNCT_2:8; then reconsider g = f as Element of Maps (G,H) by GRCAT_1:def_21; ( the Fun of x is additive & the Fun of x is homogeneous & x = LModMorphismStr(# G,H,g #) ) by A3, A2, MOD_2:4, MOD_2:def_4; hence x in D ; ::_thesis: verum end; A4: for x being set st x in D holds x is strict Morphism of G,H proof let x be set ; ::_thesis: ( x in D implies x is strict Morphism of G,H ) assume x in D ; ::_thesis: x is strict Morphism of G,H then ex f being Element of Maps (G,H) st ( x = LModMorphismStr(# G,H,f #) & f is additive & f is homogeneous ) ; hence x is strict Morphism of G,H by MOD_2:6; ::_thesis: verum end; then for x being Element of D holds x is strict Morphism of G,H ; then reconsider D = D as LModMorphism_DOMAIN of G,H by Th2; take D ; ::_thesis: for x being set holds ( x in D iff x is strict Morphism of G,H ) thus for x being set holds ( x in D iff x is strict Morphism of G,H ) by A4, A1; ::_thesis: verum end; uniqueness for b1, b2 being LModMorphism_DOMAIN of G,H st ( for x being set holds ( x in b1 iff x is strict Morphism of G,H ) ) & ( for x being set holds ( x in b2 iff x is strict Morphism of G,H ) ) holds b1 = b2 proof let D1, D2 be LModMorphism_DOMAIN of G,H; ::_thesis: ( ( for x being set holds ( x in D1 iff x is strict Morphism of G,H ) ) & ( for x being set holds ( x in D2 iff x is strict Morphism of G,H ) ) implies D1 = D2 ) assume that A5: for x being set holds ( x in D1 iff x is strict Morphism of G,H ) and A6: for x being set holds ( x in D2 iff x is strict Morphism of G,H ) ; ::_thesis: D1 = D2 for x being set holds ( x in D1 iff x in D2 ) proof let x be set ; ::_thesis: ( x in D1 iff x in D2 ) hereby ::_thesis: ( x in D2 implies x in D1 ) assume x in D1 ; ::_thesis: x in D2 then x is strict Morphism of G,H by A5; hence x in D2 by A6; ::_thesis: verum end; assume x in D2 ; ::_thesis: x in D1 then x is strict Morphism of G,H by A6; hence x in D1 by A5; ::_thesis: verum end; hence D1 = D2 by TARSKI:1; ::_thesis: verum end; end; :: deftheorem Def4 defines Morphs MODCAT_1:def_4_:_ for R being Ring for G, H being LeftMod of R for b4 being LModMorphism_DOMAIN of G,H holds ( b4 = Morphs (G,H) iff for x being set holds ( x in b4 iff x is strict Morphism of G,H ) ); definition let R be Ring; let G, H be LeftMod of R; let M be LModMorphism_DOMAIN of G,H; :: original: Element redefine mode Element of M -> Morphism of G,H; coherence for b1 being Element of M holds b1 is Morphism of G,H by Def3; end; definition let x, y be set ; let R be Ring; pred GO x,y,R means :Def5: :: MODCAT_1:def 5 ex x1, x2 being set st ( x = [x1,x2] & ex G being strict LeftMod of R st ( y = G & x1 = addLoopStr(# the carrier of G, the addF of G, the ZeroF of G #) & x2 = the lmult of G ) ); end; :: deftheorem Def5 defines GO MODCAT_1:def_5_:_ for x, y being set for R being Ring holds ( GO x,y,R iff ex x1, x2 being set st ( x = [x1,x2] & ex G being strict LeftMod of R st ( y = G & x1 = addLoopStr(# the carrier of G, the addF of G, the ZeroF of G #) & x2 = the lmult of G ) ) ); theorem Th4: :: MODCAT_1:4 for R being Ring for x, y1, y2 being set st GO x,y1,R & GO x,y2,R holds y1 = y2 proof let R be Ring; ::_thesis: for x, y1, y2 being set st GO x,y1,R & GO x,y2,R holds y1 = y2 let x, y1, y2 be set ; ::_thesis: ( GO x,y1,R & GO x,y2,R implies y1 = y2 ) assume that A1: GO x,y1,R and A2: GO x,y2,R ; ::_thesis: y1 = y2 consider a1, a2 being set such that A3: x = [a1,a2] and A4: ex G being strict LeftMod of R st ( y1 = G & a1 = addLoopStr(# the carrier of G, the addF of G, the ZeroF of G #) & a2 = the lmult of G ) by A1, Def5; consider G1 being strict LeftMod of R such that A5: y1 = G1 and A6: a1 = addLoopStr(# the carrier of G1, the addF of G1, the ZeroF of G1 #) and A7: a2 = the lmult of G1 by A4; consider b1, b2 being set such that A8: x = [b1,b2] and A9: ex G being strict LeftMod of R st ( y2 = G & b1 = addLoopStr(# the carrier of G, the addF of G, the ZeroF of G #) & b2 = the lmult of G ) by A2, Def5; consider G2 being strict LeftMod of R such that A10: y2 = G2 and A11: b1 = addLoopStr(# the carrier of G2, the addF of G2, the ZeroF of G2 #) and A12: b2 = the lmult of G2 by A9; addLoopStr(# the carrier of G1, the addF of G1, the ZeroF of G1 #) = addLoopStr(# the carrier of G2, the addF of G2, the ZeroF of G2 #) by A3, A8, A6, A11, XTUPLE_0:1; hence y1 = y2 by A3, A8, A5, A7, A10, A12, XTUPLE_0:1; ::_thesis: verum end; theorem Th5: :: MODCAT_1:5 for R being Ring for UN being Universe ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x, TrivialLMod R,R ) proof let R be Ring; ::_thesis: for UN being Universe ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x, TrivialLMod R,R ) let UN be Universe; ::_thesis: ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x, TrivialLMod R,R ) set T = TrivialLMod R; A1: TrivialLMod R = VectSpStr(# 1,op2,op0,(pr2 ( the carrier of R,1)) #) by MOD_2:def_1; then reconsider x1 = addLoopStr(# the carrier of (TrivialLMod R), the addF of (TrivialLMod R), the ZeroF of (TrivialLMod R) #) as Element of GroupObjects UN by GRCAT_1:29; reconsider f1 = the lmult of (TrivialLMod R) as Function of [: the carrier of R,1:],1 by A1; reconsider x2 = f1 as Element of Funcs ([: the carrier of R,1:],1) by FUNCT_2:8; take x = [x1,x2]; ::_thesis: ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x, TrivialLMod R,R ) thus x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } ; ::_thesis: GO x, TrivialLMod R,R thus GO x, TrivialLMod R,R by Def5; ::_thesis: verum end; definition let UN be Universe; let R be Ring; func LModObjects (UN,R) -> set means :Def6: :: MODCAT_1:def 6 for y being set holds ( y in it iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x,y,R ) ); existence ex b1 being set st for y being set holds ( y in b1 iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x,y,R ) ) proof defpred S1[ set , set ] means GO $1,$2,R; set N = { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } ; A1: for x, y1, y2 being set st S1[x,y1] & S1[x,y2] holds y1 = y2 by Th4; consider Y being set such that A2: for y being set holds ( y in Y iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & S1[x,y] ) ) from TARSKI:sch_1(A1); take Y ; ::_thesis: for y being set holds ( y in Y iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x,y,R ) ) thus for y being set holds ( y in Y iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x,y,R ) ) by A2; ::_thesis: verum end; uniqueness for b1, b2 being set st ( for y being set holds ( y in b1 iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x,y,R ) ) ) & ( for y being set holds ( y in b2 iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x,y,R ) ) ) holds b1 = b2 proof set N = { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } ; let Y1, Y2 be set ; ::_thesis: ( ( for y being set holds ( y in Y1 iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x,y,R ) ) ) & ( for y being set holds ( y in Y2 iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x,y,R ) ) ) implies Y1 = Y2 ) assume that A3: for y being set holds ( y in Y1 iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x,y,R ) ) and A4: for y being set holds ( y in Y2 iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x,y,R ) ) ; ::_thesis: Y1 = Y2 now__::_thesis:_for_y_being_set_holds_ (_y_in_Y1_iff_y_in_Y2_) let y be set ; ::_thesis: ( y in Y1 iff y in Y2 ) ( y in Y1 iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x,y,R ) ) by A3; hence ( y in Y1 iff y in Y2 ) by A4; ::_thesis: verum end; hence Y1 = Y2 by TARSKI:1; ::_thesis: verum end; end; :: deftheorem Def6 defines LModObjects MODCAT_1:def_6_:_ for UN being Universe for R being Ring for b3 being set holds ( b3 = LModObjects (UN,R) iff for y being set holds ( y in b3 iff ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x,y,R ) ) ); theorem Th6: :: MODCAT_1:6 for UN being Universe for R being Ring holds TrivialLMod R in LModObjects (UN,R) proof let UN be Universe; ::_thesis: for R being Ring holds TrivialLMod R in LModObjects (UN,R) let R be Ring; ::_thesis: TrivialLMod R in LModObjects (UN,R) ex x being set st ( x in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } & GO x, TrivialLMod R,R ) by Th5; hence TrivialLMod R in LModObjects (UN,R) by Def6; ::_thesis: verum end; registration let UN be Universe; let R be Ring; cluster LModObjects (UN,R) -> non empty ; coherence not LModObjects (UN,R) is empty by Th6; end; theorem Th7: :: MODCAT_1:7 for UN being Universe for R being Ring for x being Element of LModObjects (UN,R) holds x is strict LeftMod of R proof let UN be Universe; ::_thesis: for R being Ring for x being Element of LModObjects (UN,R) holds x is strict LeftMod of R let R be Ring; ::_thesis: for x being Element of LModObjects (UN,R) holds x is strict LeftMod of R let x be Element of LModObjects (UN,R); ::_thesis: x is strict LeftMod of R set N = { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } ; consider u being set such that u in { [G,f] where G is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } and A1: GO u,x,R by Def6; ex a1, a2 being set st ( u = [a1,a2] & ex G being strict LeftMod of R st ( x = G & a1 = addLoopStr(# the carrier of G, the addF of G, the ZeroF of G #) & a2 = the lmult of G ) ) by A1, Def5; hence x is strict LeftMod of R ; ::_thesis: verum end; definition let UN be Universe; let R be Ring; :: original: LModObjects redefine func LModObjects (UN,R) -> LeftMod_DOMAIN of R; coherence LModObjects (UN,R) is LeftMod_DOMAIN of R proof for x being Element of LModObjects (UN,R) holds x is strict LeftMod of R by Th7; hence LModObjects (UN,R) is LeftMod_DOMAIN of R by Def1; ::_thesis: verum end; end; definition let R be Ring; let V be LeftMod_DOMAIN of R; func Morphs V -> LModMorphism_DOMAIN of R means :Def7: :: MODCAT_1:def 7 for x being set holds ( x in it iff ex G, H being strict Element of V st x is strict Morphism of G,H ); existence ex b1 being LModMorphism_DOMAIN of R st for x being set holds ( x in b1 iff ex G, H being strict Element of V st x is strict Morphism of G,H ) proof set G0 = the strict Element of V; set M = Morphs ( the strict Element of V, the strict Element of V); set S = { (Morphs (G,H)) where G, H is strict Element of V : verum } ; ( ZERO ( the strict Element of V, the strict Element of V) is Element of Morphs ( the strict Element of V, the strict Element of V) & Morphs ( the strict Element of V, the strict Element of V) in { (Morphs (G,H)) where G, H is strict Element of V : verum } ) by Def4; then reconsider T = union { (Morphs (G,H)) where G, H is strict Element of V : verum } as non empty set by TARSKI:def_4; A1: for x being set holds ( x in T iff ex G, H being strict Element of V st x is strict Morphism of G,H ) proof let x be set ; ::_thesis: ( x in T iff ex G, H being strict Element of V st x is strict Morphism of G,H ) thus ( x in T implies ex G, H being strict Element of V st x is strict Morphism of G,H ) ::_thesis: ( ex G, H being strict Element of V st x is strict Morphism of G,H implies x in T ) proof assume x in T ; ::_thesis: ex G, H being strict Element of V st x is strict Morphism of G,H then consider Y being set such that A2: x in Y and A3: Y in { (Morphs (G,H)) where G, H is strict Element of V : verum } by TARSKI:def_4; consider G, H being strict Element of V such that A4: Y = Morphs (G,H) by A3; take G ; ::_thesis: ex H being strict Element of V st x is strict Morphism of G,H take H ; ::_thesis: x is strict Morphism of G,H thus x is strict Morphism of G,H by A2, A4, Def4; ::_thesis: verum end; thus ( ex G, H being strict Element of V st x is strict Morphism of G,H implies x in T ) ::_thesis: verum proof given G, H being strict Element of V such that A5: x is strict Morphism of G,H ; ::_thesis: x in T set M = Morphs (G,H); A6: Morphs (G,H) in { (Morphs (G,H)) where G, H is strict Element of V : verum } ; x in Morphs (G,H) by A5, Def4; hence x in T by A6, TARSKI:def_4; ::_thesis: verum end; end; now__::_thesis:_for_x_being_Element_of_T_holds_x_is_strict_LModMorphism_of_R let x be Element of T; ::_thesis: x is strict LModMorphism of R ex G, H being strict Element of V st x is strict Morphism of G,H by A1; hence x is strict LModMorphism of R ; ::_thesis: verum end; then reconsider T9 = T as LModMorphism_DOMAIN of R by Def2; take T9 ; ::_thesis: for x being set holds ( x in T9 iff ex G, H being strict Element of V st x is strict Morphism of G,H ) thus for x being set holds ( x in T9 iff ex G, H being strict Element of V st x is strict Morphism of G,H ) by A1; ::_thesis: verum end; uniqueness for b1, b2 being LModMorphism_DOMAIN of R st ( for x being set holds ( x in b1 iff ex G, H being strict Element of V st x is strict Morphism of G,H ) ) & ( for x being set holds ( x in b2 iff ex G, H being strict Element of V st x is strict Morphism of G,H ) ) holds b1 = b2 proof let D1, D2 be LModMorphism_DOMAIN of R; ::_thesis: ( ( for x being set holds ( x in D1 iff ex G, H being strict Element of V st x is strict Morphism of G,H ) ) & ( for x being set holds ( x in D2 iff ex G, H being strict Element of V st x is strict Morphism of G,H ) ) implies D1 = D2 ) assume that A7: for x being set holds ( x in D1 iff ex G, H being strict Element of V st x is strict Morphism of G,H ) and A8: for x being set holds ( x in D2 iff ex G, H being strict Element of V st x is strict Morphism of G,H ) ; ::_thesis: D1 = D2 now__::_thesis:_for_x_being_set_holds_ (_x_in_D1_iff_x_in_D2_) let x be set ; ::_thesis: ( x in D1 iff x in D2 ) ( x in D1 iff ex G, H being strict Element of V st x is strict Morphism of G,H ) by A7; hence ( x in D1 iff x in D2 ) by A8; ::_thesis: verum end; hence D1 = D2 by TARSKI:1; ::_thesis: verum end; end; :: deftheorem Def7 defines Morphs MODCAT_1:def_7_:_ for R being Ring for V being LeftMod_DOMAIN of R for b3 being LModMorphism_DOMAIN of R holds ( b3 = Morphs V iff for x being set holds ( x in b3 iff ex G, H being strict Element of V st x is strict Morphism of G,H ) ); definition let R be Ring; let V be LeftMod_DOMAIN of R; let F be Element of Morphs V; func dom' F -> Element of V equals :: MODCAT_1:def 8 dom F; coherence dom F is Element of V proof consider G, H being strict Element of V such that A1: F is strict Morphism of G,H by Def7; reconsider F9 = F as Morphism of G,H by A1; dom F9 = G by MOD_2:def_8; hence dom F is Element of V ; ::_thesis: verum end; func cod' F -> Element of V equals :: MODCAT_1:def 9 cod F; coherence cod F is Element of V proof consider G, H being strict Element of V such that A2: F is strict Morphism of G,H by Def7; reconsider F9 = F as Morphism of G,H by A2; cod F9 = H by MOD_2:def_8; hence cod F is Element of V ; ::_thesis: verum end; end; :: deftheorem defines dom' MODCAT_1:def_8_:_ for R being Ring for V being LeftMod_DOMAIN of R for F being Element of Morphs V holds dom' F = dom F; :: deftheorem defines cod' MODCAT_1:def_9_:_ for R being Ring for V being LeftMod_DOMAIN of R for F being Element of Morphs V holds cod' F = cod F; definition let R be Ring; let V be LeftMod_DOMAIN of R; let G be Element of V; func ID G -> strict Element of Morphs V equals :: MODCAT_1:def 10 ID G; coherence ID G is strict Element of Morphs V proof reconsider G = G as strict Element of V by Def1; ID G is strict Element of Morphs V by Def7; hence ID G is strict Element of Morphs V ; ::_thesis: verum end; end; :: deftheorem defines ID MODCAT_1:def_10_:_ for R being Ring for V being LeftMod_DOMAIN of R for G being Element of V holds ID G = ID G; definition let R be Ring; let V be LeftMod_DOMAIN of R; func dom V -> Function of (Morphs V),V means :Def11: :: MODCAT_1:def 11 for f being Element of Morphs V holds it . f = dom' f; existence ex b1 being Function of (Morphs V),V st for f being Element of Morphs V holds b1 . f = dom' f proof deffunc H1( Element of Morphs V) -> Element of V = dom' $1; consider F being Function of (Morphs V),V such that A1: for f being Element of Morphs V holds F . f = H1(f) from FUNCT_2:sch_4(); take F ; ::_thesis: for f being Element of Morphs V holds F . f = dom' f thus for f being Element of Morphs V holds F . f = dom' f by A1; ::_thesis: verum end; uniqueness for b1, b2 being Function of (Morphs V),V st ( for f being Element of Morphs V holds b1 . f = dom' f ) & ( for f being Element of Morphs V holds b2 . f = dom' f ) holds b1 = b2 proof let F1, F2 be Function of (Morphs V),V; ::_thesis: ( ( for f being Element of Morphs V holds F1 . f = dom' f ) & ( for f being Element of Morphs V holds F2 . f = dom' f ) implies F1 = F2 ) assume that A2: for f being Element of Morphs V holds F1 . f = dom' f and A3: for f being Element of Morphs V holds F2 . f = dom' f ; ::_thesis: F1 = F2 now__::_thesis:_for_f_being_Element_of_Morphs_V_holds_F1_._f_=_F2_._f let f be Element of Morphs V; ::_thesis: F1 . f = F2 . f F1 . f = dom' f by A2; hence F1 . f = F2 . f by A3; ::_thesis: verum end; hence F1 = F2 by FUNCT_2:63; ::_thesis: verum end; func cod V -> Function of (Morphs V),V means :Def12: :: MODCAT_1:def 12 for f being Element of Morphs V holds it . f = cod' f; existence ex b1 being Function of (Morphs V),V st for f being Element of Morphs V holds b1 . f = cod' f proof deffunc H1( Element of Morphs V) -> Element of V = cod' $1; consider F being Function of (Morphs V),V such that A4: for f being Element of Morphs V holds F . f = H1(f) from FUNCT_2:sch_4(); take F ; ::_thesis: for f being Element of Morphs V holds F . f = cod' f thus for f being Element of Morphs V holds F . f = cod' f by A4; ::_thesis: verum end; uniqueness for b1, b2 being Function of (Morphs V),V st ( for f being Element of Morphs V holds b1 . f = cod' f ) & ( for f being Element of Morphs V holds b2 . f = cod' f ) holds b1 = b2 proof let F1, F2 be Function of (Morphs V),V; ::_thesis: ( ( for f being Element of Morphs V holds F1 . f = cod' f ) & ( for f being Element of Morphs V holds F2 . f = cod' f ) implies F1 = F2 ) assume that A5: for f being Element of Morphs V holds F1 . f = cod' f and A6: for f being Element of Morphs V holds F2 . f = cod' f ; ::_thesis: F1 = F2 now__::_thesis:_for_f_being_Element_of_Morphs_V_holds_F1_._f_=_F2_._f let f be Element of Morphs V; ::_thesis: F1 . f = F2 . f F1 . f = cod' f by A5; hence F1 . f = F2 . f by A6; ::_thesis: verum end; hence F1 = F2 by FUNCT_2:63; ::_thesis: verum end; canceled; end; :: deftheorem Def11 defines dom MODCAT_1:def_11_:_ for R being Ring for V being LeftMod_DOMAIN of R for b3 being Function of (Morphs V),V holds ( b3 = dom V iff for f being Element of Morphs V holds b3 . f = dom' f ); :: deftheorem Def12 defines cod MODCAT_1:def_12_:_ for R being Ring for V being LeftMod_DOMAIN of R for b3 being Function of (Morphs V),V holds ( b3 = cod V iff for f being Element of Morphs V holds b3 . f = cod' f ); :: deftheorem MODCAT_1:def_13_:_ canceled; theorem Th8: :: MODCAT_1:8 for R being Ring for V being LeftMod_DOMAIN of R for g, f being Element of Morphs V st dom' g = cod' f holds ex G1, G2, G3 being strict Element of V st ( g is Morphism of G2,G3 & f is Morphism of G1,G2 ) proof let R be Ring; ::_thesis: for V being LeftMod_DOMAIN of R for g, f being Element of Morphs V st dom' g = cod' f holds ex G1, G2, G3 being strict Element of V st ( g is Morphism of G2,G3 & f is Morphism of G1,G2 ) let V be LeftMod_DOMAIN of R; ::_thesis: for g, f being Element of Morphs V st dom' g = cod' f holds ex G1, G2, G3 being strict Element of V st ( g is Morphism of G2,G3 & f is Morphism of G1,G2 ) set X = Morphs V; defpred S1[ Element of Morphs V, Element of Morphs V] means dom' $1 = cod' $2; let g, f be Element of Morphs V; ::_thesis: ( dom' g = cod' f implies ex G1, G2, G3 being strict Element of V st ( g is Morphism of G2,G3 & f is Morphism of G1,G2 ) ) assume A1: S1[g,f] ; ::_thesis: ex G1, G2, G3 being strict Element of V st ( g is Morphism of G2,G3 & f is Morphism of G1,G2 ) consider G2, G3 being strict Element of V such that A2: g is strict Morphism of G2,G3 by Def7; consider G1, G29 being strict Element of V such that A3: f is strict Morphism of G1,G29 by Def7; A4: G29 = cod' f by A3, MOD_2:def_8; G2 = dom' g by A2, MOD_2:def_8; hence ex G1, G2, G3 being strict Element of V st ( g is Morphism of G2,G3 & f is Morphism of G1,G2 ) by A1, A2, A3, A4; ::_thesis: verum end; theorem Th9: :: MODCAT_1:9 for R being Ring for V being LeftMod_DOMAIN of R for g, f being Element of Morphs V st dom' g = cod' f holds g * f in Morphs V proof let R be Ring; ::_thesis: for V being LeftMod_DOMAIN of R for g, f being Element of Morphs V st dom' g = cod' f holds g * f in Morphs V let V be LeftMod_DOMAIN of R; ::_thesis: for g, f being Element of Morphs V st dom' g = cod' f holds g * f in Morphs V set X = Morphs V; defpred S1[ Element of Morphs V, Element of Morphs V] means dom' $1 = cod' $2; let g, f be Element of Morphs V; ::_thesis: ( dom' g = cod' f implies g * f in Morphs V ) assume S1[g,f] ; ::_thesis: g * f in Morphs V then consider G1, G2, G3 being strict Element of V such that A1: g is Morphism of G2,G3 and A2: f is Morphism of G1,G2 by Th8; reconsider f9 = f as Morphism of G1,G2 by A2; reconsider g9 = g as Morphism of G2,G3 by A1; g9 * f9 = g9 *' f9 by MOD_2:def_11; hence g * f in Morphs V by Def7; ::_thesis: verum end; theorem Th10: :: MODCAT_1:10 for R being Ring for V being LeftMod_DOMAIN of R for g, f being Element of Morphs V st dom g = cod f holds g * f in Morphs V proof let R be Ring; ::_thesis: for V being LeftMod_DOMAIN of R for g, f being Element of Morphs V st dom g = cod f holds g * f in Morphs V let V be LeftMod_DOMAIN of R; ::_thesis: for g, f being Element of Morphs V st dom g = cod f holds g * f in Morphs V let g, f be Element of Morphs V; ::_thesis: ( dom g = cod f implies g * f in Morphs V ) assume dom g = cod f ; ::_thesis: g * f in Morphs V then dom' g = cod' f ; hence g * f in Morphs V by Th9; ::_thesis: verum end; definition let R be Ring; let V be LeftMod_DOMAIN of R; func comp V -> PartFunc of [:(Morphs V),(Morphs V):],(Morphs V) means :Def14: :: MODCAT_1:def 14 ( ( for g, f being Element of Morphs V holds ( [g,f] in dom it iff dom' g = cod' f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom it holds it . (g,f) = g * f ) ); existence ex b1 being PartFunc of [:(Morphs V),(Morphs V):],(Morphs V) st ( ( for g, f being Element of Morphs V holds ( [g,f] in dom b1 iff dom' g = cod' f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom b1 holds b1 . (g,f) = g * f ) ) proof set X = Morphs V; defpred S1[ Element of Morphs V, Element of Morphs V] means dom' $1 = cod' $2; deffunc H1( Element of Morphs V, Element of Morphs V) -> LModMorphismStr over R = $1 * $2; A1: for g, f being Element of Morphs V st S1[g,f] holds H1(g,f) in Morphs V by Th9; consider c being PartFunc of [:(Morphs V),(Morphs V):],(Morphs V) such that A2: ( ( for g, f being Element of Morphs V holds ( [g,f] in dom c iff S1[g,f] ) ) & ( for g, f being Element of Morphs V st [g,f] in dom c holds c . (g,f) = H1(g,f) ) ) from BINOP_1:sch_8(A1); take c ; ::_thesis: ( ( for g, f being Element of Morphs V holds ( [g,f] in dom c iff dom' g = cod' f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom c holds c . (g,f) = g * f ) ) thus ( ( for g, f being Element of Morphs V holds ( [g,f] in dom c iff dom' g = cod' f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom c holds c . (g,f) = g * f ) ) by A2; ::_thesis: verum end; uniqueness for b1, b2 being PartFunc of [:(Morphs V),(Morphs V):],(Morphs V) st ( for g, f being Element of Morphs V holds ( [g,f] in dom b1 iff dom' g = cod' f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom b1 holds b1 . (g,f) = g * f ) & ( for g, f being Element of Morphs V holds ( [g,f] in dom b2 iff dom' g = cod' f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom b2 holds b2 . (g,f) = g * f ) holds b1 = b2 proof set X = Morphs V; defpred S1[ Element of Morphs V, Element of Morphs V] means dom' $1 = cod' $2; let c1, c2 be PartFunc of [:(Morphs V),(Morphs V):],(Morphs V); ::_thesis: ( ( for g, f being Element of Morphs V holds ( [g,f] in dom c1 iff dom' g = cod' f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom c1 holds c1 . (g,f) = g * f ) & ( for g, f being Element of Morphs V holds ( [g,f] in dom c2 iff dom' g = cod' f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom c2 holds c2 . (g,f) = g * f ) implies c1 = c2 ) assume that A3: for g, f being Element of Morphs V holds ( [g,f] in dom c1 iff S1[g,f] ) and A4: for g, f being Element of Morphs V st [g,f] in dom c1 holds c1 . (g,f) = g * f and A5: for g, f being Element of Morphs V holds ( [g,f] in dom c2 iff S1[g,f] ) and A6: for g, f being Element of Morphs V st [g,f] in dom c2 holds c2 . (g,f) = g * f ; ::_thesis: c1 = c2 set V0 = dom c1; now__::_thesis:_for_x_being_set_st_x_in_dom_c1_holds_ x_in_dom_c2 let x be set ; ::_thesis: ( x in dom c1 implies x in dom c2 ) assume A8: x in dom c1 ; ::_thesis: x in dom c2 then consider g, f being Element of Morphs V such that A9: x = [g,f] by SUBSET_1:43; S1[g,f] by A3, A8, A9; hence x in dom c2 by A5, A9; ::_thesis: verum end; then A10: dom c1 c= dom c2 by TARSKI:def_3; A11: for x, y being set st [x,y] in dom c1 holds c1 . (x,y) = c2 . (x,y) proof let x, y be set ; ::_thesis: ( [x,y] in dom c1 implies c1 . (x,y) = c2 . (x,y) ) assume A12: [x,y] in dom c1 ; ::_thesis: c1 . (x,y) = c2 . (x,y) then reconsider x = x, y = y as Element of Morphs V by ZFMISC_1:87; c1 . (x,y) = x * y by A4, A12; hence c1 . (x,y) = c2 . (x,y) by A6, A10, A12; ::_thesis: verum end; now__::_thesis:_for_x_being_set_st_x_in_dom_c2_holds_ x_in_dom_c1 let x be set ; ::_thesis: ( x in dom c2 implies x in dom c1 ) assume A14: x in dom c2 ; ::_thesis: x in dom c1 then consider g, f being Element of Morphs V such that A15: x = [g,f] by SUBSET_1:43; S1[g,f] by A5, A14, A15; hence x in dom c1 by A3, A15; ::_thesis: verum end; then dom c2 c= dom c1 by TARSKI:def_3; then dom c1 = dom c2 by A10, XBOOLE_0:def_10; hence c1 = c2 by A11, BINOP_1:20; ::_thesis: verum end; end; :: deftheorem Def14 defines comp MODCAT_1:def_14_:_ for R being Ring for V being LeftMod_DOMAIN of R for b3 being PartFunc of [:(Morphs V),(Morphs V):],(Morphs V) holds ( b3 = comp V iff ( ( for g, f being Element of Morphs V holds ( [g,f] in dom b3 iff dom' g = cod' f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom b3 holds b3 . (g,f) = g * f ) ) ); theorem Th11: :: MODCAT_1:11 for R being Ring for V being LeftMod_DOMAIN of R for g, f being Element of Morphs V holds ( [g,f] in dom (comp V) iff dom g = cod f ) proof let R be Ring; ::_thesis: for V being LeftMod_DOMAIN of R for g, f being Element of Morphs V holds ( [g,f] in dom (comp V) iff dom g = cod f ) let V be LeftMod_DOMAIN of R; ::_thesis: for g, f being Element of Morphs V holds ( [g,f] in dom (comp V) iff dom g = cod f ) let g, f be Element of Morphs V; ::_thesis: ( [g,f] in dom (comp V) iff dom g = cod f ) ( dom g = dom' g & cod f = cod' f ) ; hence ( [g,f] in dom (comp V) iff dom g = cod f ) by Def14; ::_thesis: verum end; definition let UN be Universe; let R be Ring; func LModCat (UN,R) -> strict CatStr equals :: MODCAT_1:def 15 CatStr(# (LModObjects (UN,R)),(Morphs (LModObjects (UN,R))),(dom (LModObjects (UN,R))),(cod (LModObjects (UN,R))),(comp (LModObjects (UN,R))) #); coherence CatStr(# (LModObjects (UN,R)),(Morphs (LModObjects (UN,R))),(dom (LModObjects (UN,R))),(cod (LModObjects (UN,R))),(comp (LModObjects (UN,R))) #) is strict CatStr ; end; :: deftheorem defines LModCat MODCAT_1:def_15_:_ for UN being Universe for R being Ring holds LModCat (UN,R) = CatStr(# (LModObjects (UN,R)),(Morphs (LModObjects (UN,R))),(dom (LModObjects (UN,R))),(cod (LModObjects (UN,R))),(comp (LModObjects (UN,R))) #); registration let UN be Universe; let R be Ring; cluster LModCat (UN,R) -> non empty non void strict ; coherence ( not LModCat (UN,R) is void & not LModCat (UN,R) is empty ) ; end; theorem Th12: :: MODCAT_1:12 for UN being Universe for R being Ring for f, g being Morphism of (LModCat (UN,R)) holds ( [g,f] in dom the Comp of (LModCat (UN,R)) iff dom g = cod f ) proof let UN be Universe; ::_thesis: for R being Ring for f, g being Morphism of (LModCat (UN,R)) holds ( [g,f] in dom the Comp of (LModCat (UN,R)) iff dom g = cod f ) let R be Ring; ::_thesis: for f, g being Morphism of (LModCat (UN,R)) holds ( [g,f] in dom the Comp of (LModCat (UN,R)) iff dom g = cod f ) set C = LModCat (UN,R); set V = LModObjects (UN,R); let f, g be Morphism of (LModCat (UN,R)); ::_thesis: ( [g,f] in dom the Comp of (LModCat (UN,R)) iff dom g = cod f ) reconsider f9 = f as Element of Morphs (LModObjects (UN,R)) ; reconsider g9 = g as Element of Morphs (LModObjects (UN,R)) ; A1: cod f = cod' f9 by Def12 .= cod f9 ; A2: dom g = dom' g9 by Def11 .= dom g9 ; A3: now__::_thesis:_(_dom_g_=_cod_f_implies_[g,f]_in_dom_the_Comp_of_(LModCat_(UN,R))_) assume dom g = cod f ; ::_thesis: [g,f] in dom the Comp of (LModCat (UN,R)) then dom' g9 = cod' f9 by A2, A1; hence [g,f] in dom the Comp of (LModCat (UN,R)) by Def14; ::_thesis: verum end; now__::_thesis:_(_[g,f]_in_dom_the_Comp_of_(LModCat_(UN,R))_implies_dom_g_=_cod_f_) assume [g,f] in dom the Comp of (LModCat (UN,R)) ; ::_thesis: dom g = cod f then dom' g9 = cod' f9 by Def14 .= cod f9 ; hence dom g = cod f by A2, A1; ::_thesis: verum end; hence ( [g,f] in dom the Comp of (LModCat (UN,R)) iff dom g = cod f ) by A3; ::_thesis: verum end; registration let UN be Universe; let R be Ring; cluster -> strict for Element of Morphs (LModObjects (UN,R)); coherence for b1 being Element of Morphs (LModObjects (UN,R)) holds b1 is strict proof set V = LModObjects (UN,R); let f be Element of Morphs (LModObjects (UN,R)); ::_thesis: f is strict ex G, H being strict Element of LModObjects (UN,R) st f is strict Morphism of G,H by Def7; hence f is strict ; ::_thesis: verum end; end; theorem :: MODCAT_1:13 canceled; theorem :: MODCAT_1:14 canceled; theorem Th15: :: MODCAT_1:15 for UN being Universe for R being Ring for f being Morphism of (LModCat (UN,R)) for f9 being Element of Morphs (LModObjects (UN,R)) st f = f9 holds ( dom f = dom f9 & cod f = cod f9 ) proof let UN be Universe; ::_thesis: for R being Ring for f being Morphism of (LModCat (UN,R)) for f9 being Element of Morphs (LModObjects (UN,R)) st f = f9 holds ( dom f = dom f9 & cod f = cod f9 ) let R be Ring; ::_thesis: for f being Morphism of (LModCat (UN,R)) for f9 being Element of Morphs (LModObjects (UN,R)) st f = f9 holds ( dom f = dom f9 & cod f = cod f9 ) set C = LModCat (UN,R); set V = LModObjects (UN,R); set X = Morphs (LModObjects (UN,R)); let f be Morphism of (LModCat (UN,R)); ::_thesis: for f9 being Element of Morphs (LModObjects (UN,R)) st f = f9 holds ( dom f = dom f9 & cod f = cod f9 ) let f9 be Element of Morphs (LModObjects (UN,R)); ::_thesis: ( f = f9 implies ( dom f = dom f9 & cod f = cod f9 ) ) assume A1: f = f9 ; ::_thesis: ( dom f = dom f9 & cod f = cod f9 ) hence dom f = dom' f9 by Def11 .= dom f9 ; ::_thesis: cod f = cod f9 thus cod f = cod' f9 by A1, Def12 .= cod f9 ; ::_thesis: verum end; theorem Th16: :: MODCAT_1:16 for UN being Universe for R being Ring for f, g being Morphism of (LModCat (UN,R)) for f9, g9 being Element of Morphs (LModObjects (UN,R)) st f = f9 & g = g9 holds ( ( dom g = cod f implies dom g9 = cod f9 ) & ( dom g9 = cod f9 implies dom g = cod f ) & ( dom g = cod f implies [g9,f9] in dom (comp (LModObjects (UN,R))) ) & ( [g9,f9] in dom (comp (LModObjects (UN,R))) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) proof let UN be Universe; ::_thesis: for R being Ring for f, g being Morphism of (LModCat (UN,R)) for f9, g9 being Element of Morphs (LModObjects (UN,R)) st f = f9 & g = g9 holds ( ( dom g = cod f implies dom g9 = cod f9 ) & ( dom g9 = cod f9 implies dom g = cod f ) & ( dom g = cod f implies [g9,f9] in dom (comp (LModObjects (UN,R))) ) & ( [g9,f9] in dom (comp (LModObjects (UN,R))) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) let R be Ring; ::_thesis: for f, g being Morphism of (LModCat (UN,R)) for f9, g9 being Element of Morphs (LModObjects (UN,R)) st f = f9 & g = g9 holds ( ( dom g = cod f implies dom g9 = cod f9 ) & ( dom g9 = cod f9 implies dom g = cod f ) & ( dom g = cod f implies [g9,f9] in dom (comp (LModObjects (UN,R))) ) & ( [g9,f9] in dom (comp (LModObjects (UN,R))) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) set C = LModCat (UN,R); set V = LModObjects (UN,R); set X = Morphs (LModObjects (UN,R)); let f, g be Morphism of (LModCat (UN,R)); ::_thesis: for f9, g9 being Element of Morphs (LModObjects (UN,R)) st f = f9 & g = g9 holds ( ( dom g = cod f implies dom g9 = cod f9 ) & ( dom g9 = cod f9 implies dom g = cod f ) & ( dom g = cod f implies [g9,f9] in dom (comp (LModObjects (UN,R))) ) & ( [g9,f9] in dom (comp (LModObjects (UN,R))) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) let f9, g9 be Element of Morphs (LModObjects (UN,R)); ::_thesis: ( f = f9 & g = g9 implies ( ( dom g = cod f implies dom g9 = cod f9 ) & ( dom g9 = cod f9 implies dom g = cod f ) & ( dom g = cod f implies [g9,f9] in dom (comp (LModObjects (UN,R))) ) & ( [g9,f9] in dom (comp (LModObjects (UN,R))) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) ) assume that A1: f = f9 and A2: g = g9 ; ::_thesis: ( ( dom g = cod f implies dom g9 = cod f9 ) & ( dom g9 = cod f9 implies dom g = cod f ) & ( dom g = cod f implies [g9,f9] in dom (comp (LModObjects (UN,R))) ) & ( [g9,f9] in dom (comp (LModObjects (UN,R))) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) A3: cod f = cod f9 by A1, Th15; hence ( dom g = cod f iff dom g9 = cod f9 ) by A2, Th15; ::_thesis: ( ( dom g = cod f implies [g9,f9] in dom (comp (LModObjects (UN,R))) ) & ( [g9,f9] in dom (comp (LModObjects (UN,R))) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) dom g = dom g9 by A2, Th15; hence A4: ( dom g = cod f iff [g9,f9] in dom (comp (LModObjects (UN,R))) ) by A3, Th11; ::_thesis: ( ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) thus ( dom g = cod f implies g (*) f = g9 * f9 ) ::_thesis: ( ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) proof assume A5: dom g = cod f ; ::_thesis: g (*) f = g9 * f9 then [g,f] in dom the Comp of (LModCat (UN,R)) by Th12; hence g (*) f = (comp (LModObjects (UN,R))) . (g9,f9) by A1, A2, CAT_1:def_1 .= g9 * f9 by A4, A5, Def14 ; ::_thesis: verum end; dom f = dom f9 by A1, Th15; hence ( dom f = dom g iff dom f9 = dom g9 ) by A2, Th15; ::_thesis: ( cod f = cod g iff cod f9 = cod g9 ) cod g = cod g9 by A2, Th15; hence ( cod f = cod g iff cod f9 = cod g9 ) by A1, Th15; ::_thesis: verum end; Lm1: for UN being Universe for R being Ring for f, g being Morphism of (LModCat (UN,R)) st dom g = cod f holds ( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) proof let UN be Universe; ::_thesis: for R being Ring for f, g being Morphism of (LModCat (UN,R)) st dom g = cod f holds ( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) let R be Ring; ::_thesis: for f, g being Morphism of (LModCat (UN,R)) st dom g = cod f holds ( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) set X = Morphs (LModObjects (UN,R)); let f, g be Morphism of (LModCat (UN,R)); ::_thesis: ( dom g = cod f implies ( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) ) assume A1: dom g = cod f ; ::_thesis: ( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) reconsider g9 = g as strict Element of Morphs (LModObjects (UN,R)) ; reconsider f9 = f as strict Element of Morphs (LModObjects (UN,R)) ; A2: dom g9 = cod f9 by A1, Th16; then A3: ( dom (g9 * f9) = dom f9 & cod (g9 * f9) = cod g9 ) by MOD_2:15; reconsider gf = g9 * f9 as Element of Morphs (LModObjects (UN,R)) by A2, Th10; gf = g (*) f by A1, Th16; hence ( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) by A3, Th16; ::_thesis: verum end; Lm2: for UN being Universe for R being Ring for f, g, h being Morphism of (LModCat (UN,R)) st dom h = cod g & dom g = cod f holds h (*) (g (*) f) = (h (*) g) (*) f proof let UN be Universe; ::_thesis: for R being Ring for f, g, h being Morphism of (LModCat (UN,R)) st dom h = cod g & dom g = cod f holds h (*) (g (*) f) = (h (*) g) (*) f let R be Ring; ::_thesis: for f, g, h being Morphism of (LModCat (UN,R)) st dom h = cod g & dom g = cod f holds h (*) (g (*) f) = (h (*) g) (*) f set X = Morphs (LModObjects (UN,R)); let f, g, h be Morphism of (LModCat (UN,R)); ::_thesis: ( dom h = cod g & dom g = cod f implies h (*) (g (*) f) = (h (*) g) (*) f ) assume A1: ( dom h = cod g & dom g = cod f ) ; ::_thesis: h (*) (g (*) f) = (h (*) g) (*) f reconsider f9 = f, g9 = g, h9 = h as strict Element of Morphs (LModObjects (UN,R)) ; A2: ( h9 * g9 = h (*) g & dom (h (*) g) = cod f ) by A1, Lm1, Th16; A3: ( dom h9 = cod g9 & dom g9 = cod f9 ) by A1, Th16; then reconsider gf = g9 * f9, hg = h9 * g9 as strict Element of Morphs (LModObjects (UN,R)) by Th10; ( g9 * f9 = g (*) f & dom h = cod (g (*) f) ) by A1, Lm1, Th16; then h (*) (g (*) f) = h9 * gf by Th16 .= hg * f9 by A3, MOD_2:17 .= (h (*) g) (*) f by A2, Th16 ; hence h (*) (g (*) f) = (h (*) g) (*) f ; ::_thesis: verum end; registration let UN be Universe; let R be Ring; cluster LModCat (UN,R) -> strict Category-like transitive associative reflexive ; coherence ( LModCat (UN,R) is Category-like & LModCat (UN,R) is transitive & LModCat (UN,R) is associative & LModCat (UN,R) is reflexive ) proof set C = LModCat (UN,R); thus LModCat (UN,R) is Category-like ::_thesis: ( LModCat (UN,R) is transitive & LModCat (UN,R) is associative & LModCat (UN,R) is reflexive ) proof let f be Morphism of (LModCat (UN,R)); :: according to CAT_1:def_6 ::_thesis: for b1 being Element of the carrier' of (LModCat (UN,R)) holds ( ( not [b1,f] in dom the Comp of (LModCat (UN,R)) or dom b1 = cod f ) & ( not dom b1 = cod f or [b1,f] in dom the Comp of (LModCat (UN,R)) ) ) thus for b1 being Element of the carrier' of (LModCat (UN,R)) holds ( ( not [b1,f] in dom the Comp of (LModCat (UN,R)) or dom b1 = cod f ) & ( not dom b1 = cod f or [b1,f] in dom the Comp of (LModCat (UN,R)) ) ) by Th16; ::_thesis: verum end; thus LModCat (UN,R) is transitive ::_thesis: ( LModCat (UN,R) is associative & LModCat (UN,R) is reflexive ) proof let f be Morphism of (LModCat (UN,R)); :: according to CAT_1:def_7 ::_thesis: for b1 being Element of the carrier' of (LModCat (UN,R)) holds ( not dom b1 = cod f or ( dom (b1 (*) f) = dom f & cod (b1 (*) f) = cod b1 ) ) thus for b1 being Element of the carrier' of (LModCat (UN,R)) holds ( not dom b1 = cod f or ( dom (b1 (*) f) = dom f & cod (b1 (*) f) = cod b1 ) ) by Lm1; ::_thesis: verum end; thus LModCat (UN,R) is associative ::_thesis: LModCat (UN,R) is reflexive proof let f be Morphism of (LModCat (UN,R)); :: according to CAT_1:def_8 ::_thesis: for b1, b2 being Element of the carrier' of (LModCat (UN,R)) holds ( not dom b2 = cod b1 or not dom b1 = cod f or b2 (*) (b1 (*) f) = (b2 (*) b1) (*) f ) thus for b1, b2 being Element of the carrier' of (LModCat (UN,R)) holds ( not dom b2 = cod b1 or not dom b1 = cod f or b2 (*) (b1 (*) f) = (b2 (*) b1) (*) f ) by Lm2; ::_thesis: verum end; thus LModCat (UN,R) is reflexive ::_thesis: verum proof let a be Element of (LModCat (UN,R)); :: according to CAT_1:def_9 ::_thesis: not Hom (a,a) = {} reconsider G = a as Element of LModObjects (UN,R) ; consider x being set such that x in { [H,f] where H is Element of GroupObjects UN, f is Element of Funcs ([: the carrier of R,1:],1) : verum } and W2: GO x,G,R by Def6; set ii = ID G; consider x1, x2 being set such that x = [x1,x2] and W4: ex H being strict LeftMod of R st ( G = H & x1 = addLoopStr(# the carrier of H, the addF of H, the ZeroF of H #) & x2 = the lmult of H ) by W2, Def5; reconsider G = G as strict Element of LModObjects (UN,R) by W4; reconsider ii = ID G as Morphism of (LModCat (UN,R)) ; reconsider ia = ii as LModMorphismStr over R ; A: dom ii = dom ia by Th15 .= a by MOD_2:18 ; cod ii = cod ia by Th15 .= a by MOD_2:18 ; then ii in Hom (a,a) by A; hence Hom (a,a) <> {} ; ::_thesis: verum end; end; end;