:: ZMODUL01 semantic presentation begin definition attrc1 is strict ; struct Z_ModuleStruct -> addLoopStr ; aggrZ_ModuleStruct(# carrier, ZeroF, addF, Mult #) -> Z_ModuleStruct ; sel Mult c1 -> Function of [:INT, the carrier of c1:], the carrier of c1; end; registration cluster non empty for Z_ModuleStruct ; existence not for b1 being Z_ModuleStruct holds b1 is empty proof set ZS = the non empty set ; set O = the Element of the non empty set ; set F = the BinOp of the non empty set ; set G = the Function of [:INT, the non empty set :], the non empty set ; take Z_ModuleStruct(# the non empty set , the Element of the non empty set , the BinOp of the non empty set , the Function of [:INT, the non empty set :], the non empty set #) ; ::_thesis: not Z_ModuleStruct(# the non empty set , the Element of the non empty set , the BinOp of the non empty set , the Function of [:INT, the non empty set :], the non empty set #) is empty thus not the carrier of Z_ModuleStruct(# the non empty set , the Element of the non empty set , the BinOp of the non empty set , the Function of [:INT, the non empty set :], the non empty set #) is empty ; :: according to STRUCT_0:def_1 ::_thesis: verum end; end; definition let V be Z_ModuleStruct ; mode VECTOR of V is Element of V; end; definition let V be non empty Z_ModuleStruct ; let v be VECTOR of V; let a be integer number ; funca * v -> Element of V equals :: ZMODUL01:def 1 the Mult of V . (a,v); coherence the Mult of V . (a,v) is Element of V proof reconsider a = a as Element of INT by INT_1:def_2; the Mult of V . (a,v) is Element of V ; hence the Mult of V . (a,v) is Element of V ; ::_thesis: verum end; end; :: deftheorem defines * ZMODUL01:def_1_:_ for V being non empty Z_ModuleStruct for v being VECTOR of V for a being integer number holds a * v = the Mult of V . (a,v); registration let ZS be non empty set ; let O be Element of ZS; let F be BinOp of ZS; let G be Function of [:INT,ZS:],ZS; cluster Z_ModuleStruct(# ZS,O,F,G #) -> non empty ; coherence not Z_ModuleStruct(# ZS,O,F,G #) is empty ; end; definition let IT be non empty Z_ModuleStruct ; attrIT is vector-distributive means :Def2: :: ZMODUL01:def 2 for a being integer number for v, w being VECTOR of IT holds a * (v + w) = (a * v) + (a * w); attrIT is scalar-distributive means :Def3: :: ZMODUL01:def 3 for a, b being integer number for v being VECTOR of IT holds (a + b) * v = (a * v) + (b * v); attrIT is scalar-associative means :Def4: :: ZMODUL01:def 4 for a, b being integer number for v being VECTOR of IT holds (a * b) * v = a * (b * v); attrIT is scalar-unital means :Def5: :: ZMODUL01:def 5 for v being VECTOR of IT holds 1 * v = v; end; :: deftheorem Def2 defines vector-distributive ZMODUL01:def_2_:_ for IT being non empty Z_ModuleStruct holds ( IT is vector-distributive iff for a being integer number for v, w being VECTOR of IT holds a * (v + w) = (a * v) + (a * w) ); :: deftheorem Def3 defines scalar-distributive ZMODUL01:def_3_:_ for IT being non empty Z_ModuleStruct holds ( IT is scalar-distributive iff for a, b being integer number for v being VECTOR of IT holds (a + b) * v = (a * v) + (b * v) ); :: deftheorem Def4 defines scalar-associative ZMODUL01:def_4_:_ for IT being non empty Z_ModuleStruct holds ( IT is scalar-associative iff for a, b being integer number for v being VECTOR of IT holds (a * b) * v = a * (b * v) ); :: deftheorem Def5 defines scalar-unital ZMODUL01:def_5_:_ for IT being non empty Z_ModuleStruct holds ( IT is scalar-unital iff for v being VECTOR of IT holds 1 * v = v ); definition func Trivial-Z_ModuleStruct -> strict Z_ModuleStruct equals :: ZMODUL01:def 6 Z_ModuleStruct(# 1,op0,op2,(pr2 (INT,1)) #); coherence Z_ModuleStruct(# 1,op0,op2,(pr2 (INT,1)) #) is strict Z_ModuleStruct ; end; :: deftheorem defines Trivial-Z_ModuleStruct ZMODUL01:def_6_:_ Trivial-Z_ModuleStruct = Z_ModuleStruct(# 1,op0,op2,(pr2 (INT,1)) #); registration cluster Trivial-Z_ModuleStruct -> non empty trivial strict ; coherence ( Trivial-Z_ModuleStruct is trivial & not Trivial-Z_ModuleStruct is empty ) by CARD_1:49; end; registration cluster non empty right_complementable Abelian add-associative right_zeroed strict vector-distributive scalar-distributive scalar-associative scalar-unital for Z_ModuleStruct ; existence ex b1 being non empty Z_ModuleStruct st ( b1 is strict & b1 is Abelian & b1 is add-associative & b1 is right_zeroed & b1 is right_complementable & b1 is scalar-distributive & b1 is vector-distributive & b1 is scalar-associative & b1 is scalar-unital ) proof take S = Trivial-Z_ModuleStruct ; ::_thesis: ( S is strict & S is Abelian & S is add-associative & S is right_zeroed & S is right_complementable & S is scalar-distributive & S is vector-distributive & S is scalar-associative & S is scalar-unital ) thus S is strict ; ::_thesis: ( S is Abelian & S is add-associative & S is right_zeroed & S is right_complementable & S is scalar-distributive & S is vector-distributive & S is scalar-associative & S is scalar-unital ) thus S is Abelian ; ::_thesis: ( S is add-associative & S is right_zeroed & S is right_complementable & S is scalar-distributive & S is vector-distributive & S is scalar-associative & S is scalar-unital ) thus S is add-associative ; ::_thesis: ( S is right_zeroed & S is right_complementable & S is scalar-distributive & S is vector-distributive & S is scalar-associative & S is scalar-unital ) thus S is right_zeroed ; ::_thesis: ( S is right_complementable & S is scalar-distributive & S is vector-distributive & S is scalar-associative & S is scalar-unital ) thus S is right_complementable ; ::_thesis: ( S is scalar-distributive & S is vector-distributive & S is scalar-associative & S is scalar-unital ) thus for a, b being integer number for v being VECTOR of S holds (a + b) * v = (a * v) + (b * v) by STRUCT_0:def_10; :: according to ZMODUL01:def_3 ::_thesis: ( S is vector-distributive & S is scalar-associative & S is scalar-unital ) thus for a being integer number for v, w being VECTOR of S holds a * (v + w) = (a * v) + (a * w) by STRUCT_0:def_10; :: according to ZMODUL01:def_2 ::_thesis: ( S is scalar-associative & S is scalar-unital ) thus for a, b being integer number for v being VECTOR of S holds (a * b) * v = a * (b * v) by STRUCT_0:def_10; :: according to ZMODUL01:def_4 ::_thesis: S is scalar-unital thus for v being VECTOR of S holds 1 * v = v by STRUCT_0:def_10; :: according to ZMODUL01:def_5 ::_thesis: verum end; end; definition mode Z_Module is non empty right_complementable Abelian add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital Z_ModuleStruct ; end; definition let IT be non empty Z_ModuleStruct ; attrIT is Mult-cancelable means :Def7: :: ZMODUL01:def 7 for a being integer number for v being VECTOR of IT holds ( not a * v = 0. IT or a = 0 or v = 0. IT ); end; :: deftheorem Def7 defines Mult-cancelable ZMODUL01:def_7_:_ for IT being non empty Z_ModuleStruct holds ( IT is Mult-cancelable iff for a being integer number for v being VECTOR of IT holds ( not a * v = 0. IT or a = 0 or v = 0. IT ) ); theorem Th1: :: ZMODUL01:1 for a being integer number for V being Z_Module for v being VECTOR of V st ( a = 0 or v = 0. V ) holds a * v = 0. V proof let a be integer number ; ::_thesis: for V being Z_Module for v being VECTOR of V st ( a = 0 or v = 0. V ) holds a * v = 0. V let V be Z_Module; ::_thesis: for v being VECTOR of V st ( a = 0 or v = 0. V ) holds a * v = 0. V let v be VECTOR of V; ::_thesis: ( ( a = 0 or v = 0. V ) implies a * v = 0. V ) reconsider N1 = 1, N0 = 0 as Integer ; assume A1: ( a = 0 or v = 0. V ) ; ::_thesis: a * v = 0. V now__::_thesis:_a_*_v_=_0._V percases ( a = 0 or v = 0. V ) by A1; supposeA2: a = 0 ; ::_thesis: a * v = 0. V v + (N0 * v) = (N1 * v) + (N0 * v) by Def5 .= (N1 + N0) * v by Def3 .= v by Def5 .= v + (0. V) by RLVECT_1:4 ; hence a * v = 0. V by A2, RLVECT_1:8; ::_thesis: verum end; supposeA3: v = 0. V ; ::_thesis: a * v = 0. V (a * (0. V)) + (a * (0. V)) = a * ((0. V) + (0. V)) by Def2 .= a * (0. V) by RLVECT_1:4 .= (a * (0. V)) + (0. V) by RLVECT_1:4 ; hence a * v = 0. V by A3, RLVECT_1:8; ::_thesis: verum end; end; end; hence a * v = 0. V ; ::_thesis: verum end; theorem Th2: :: ZMODUL01:2 for V being Z_Module for v being VECTOR of V holds - v = (- 1) * v proof let V be Z_Module; ::_thesis: for v being VECTOR of V holds - v = (- 1) * v let v be VECTOR of V; ::_thesis: - v = (- 1) * v reconsider N1 = 1, N0 = 0 , M1 = - 1 as Integer ; v + ((- 1) * v) = (1 * v) + ((- 1) * v) by Def5 .= (1 + (- 1)) * v by Def3 .= 0. V by Th1 ; hence - v = (- v) + (v + ((- 1) * v)) by RLVECT_1:4 .= ((- v) + v) + ((- 1) * v) by RLVECT_1:def_3 .= (0. V) + ((- 1) * v) by RLVECT_1:def_10 .= (- 1) * v by RLVECT_1:4 ; ::_thesis: verum end; theorem Th3: :: ZMODUL01:3 for V being Z_Module for v being VECTOR of V st V is Mult-cancelable & v = - v holds v = 0. V proof let V be Z_Module; ::_thesis: for v being VECTOR of V st V is Mult-cancelable & v = - v holds v = 0. V let v be VECTOR of V; ::_thesis: ( V is Mult-cancelable & v = - v implies v = 0. V ) assume A1: V is Mult-cancelable ; ::_thesis: ( not v = - v or v = 0. V ) assume v = - v ; ::_thesis: v = 0. V then 0. V = v + v by RLVECT_1:def_10 .= (1 * v) + v by Def5 .= (1 * v) + (1 * v) by Def5 .= (1 + 1) * v by Def3 .= 2 * v ; hence v = 0. V by A1, Def7; ::_thesis: verum end; theorem :: ZMODUL01:4 for V being Z_Module for v being VECTOR of V st V is Mult-cancelable & v + v = 0. V holds v = 0. V proof let V be Z_Module; ::_thesis: for v being VECTOR of V st V is Mult-cancelable & v + v = 0. V holds v = 0. V let v be VECTOR of V; ::_thesis: ( V is Mult-cancelable & v + v = 0. V implies v = 0. V ) assume A1: V is Mult-cancelable ; ::_thesis: ( not v + v = 0. V or v = 0. V ) assume v + v = 0. V ; ::_thesis: v = 0. V then v = - v by RLVECT_1:def_10; hence v = 0. V by A1, Th3; ::_thesis: verum end; theorem Th5: :: ZMODUL01:5 for a being integer number for V being Z_Module for v being VECTOR of V holds a * (- v) = (- a) * v proof let a be integer number ; ::_thesis: for V being Z_Module for v being VECTOR of V holds a * (- v) = (- a) * v let V be Z_Module; ::_thesis: for v being VECTOR of V holds a * (- v) = (- a) * v let v be VECTOR of V; ::_thesis: a * (- v) = (- a) * v thus a * (- v) = a * ((- 1) * v) by Th2 .= (a * (- 1)) * v by Def4 .= (- a) * v ; ::_thesis: verum end; theorem Th6: :: ZMODUL01:6 for a being integer number for V being Z_Module for v being VECTOR of V holds a * (- v) = - (a * v) proof let a be integer number ; ::_thesis: for V being Z_Module for v being VECTOR of V holds a * (- v) = - (a * v) let V be Z_Module; ::_thesis: for v being VECTOR of V holds a * (- v) = - (a * v) let v be VECTOR of V; ::_thesis: a * (- v) = - (a * v) thus a * (- v) = (- (1 * a)) * v by Th5 .= ((- 1) * a) * v .= (- 1) * (a * v) by Def4 .= - (a * v) by Th2 ; ::_thesis: verum end; theorem :: ZMODUL01:7 for a being integer number for V being Z_Module for v being VECTOR of V holds (- a) * (- v) = a * v proof let a be integer number ; ::_thesis: for V being Z_Module for v being VECTOR of V holds (- a) * (- v) = a * v let V be Z_Module; ::_thesis: for v being VECTOR of V holds (- a) * (- v) = a * v let v be VECTOR of V; ::_thesis: (- a) * (- v) = a * v thus (- a) * (- v) = (- (- a)) * v by Th5 .= a * v ; ::_thesis: verum end; theorem Th8: :: ZMODUL01:8 for a being integer number for V being Z_Module for v, w being VECTOR of V holds a * (v - w) = (a * v) - (a * w) proof let a be integer number ; ::_thesis: for V being Z_Module for v, w being VECTOR of V holds a * (v - w) = (a * v) - (a * w) let V be Z_Module; ::_thesis: for v, w being VECTOR of V holds a * (v - w) = (a * v) - (a * w) let v, w be VECTOR of V; ::_thesis: a * (v - w) = (a * v) - (a * w) thus a * (v - w) = (a * v) + (a * (- w)) by Def2 .= (a * v) - (a * w) by Th6 ; ::_thesis: verum end; theorem Th9: :: ZMODUL01:9 for a, b being integer number for V being Z_Module for v being VECTOR of V holds (a - b) * v = (a * v) - (b * v) proof let a, b be integer number ; ::_thesis: for V being Z_Module for v being VECTOR of V holds (a - b) * v = (a * v) - (b * v) let V be Z_Module; ::_thesis: for v being VECTOR of V holds (a - b) * v = (a * v) - (b * v) let v be VECTOR of V; ::_thesis: (a - b) * v = (a * v) - (b * v) thus (a - b) * v = (a + (- b)) * v .= (a * v) + ((- b) * v) by Def3 .= (a * v) + (b * (- v)) by Th5 .= (a * v) - (b * v) by Th6 ; ::_thesis: verum end; theorem :: ZMODUL01:10 for a being integer number for V being Z_Module for v, w being VECTOR of V st V is Mult-cancelable & a <> 0 & a * v = a * w holds v = w proof let a be integer number ; ::_thesis: for V being Z_Module for v, w being VECTOR of V st V is Mult-cancelable & a <> 0 & a * v = a * w holds v = w let V be Z_Module; ::_thesis: for v, w being VECTOR of V st V is Mult-cancelable & a <> 0 & a * v = a * w holds v = w let v, w be VECTOR of V; ::_thesis: ( V is Mult-cancelable & a <> 0 & a * v = a * w implies v = w ) assume A1: V is Mult-cancelable ; ::_thesis: ( not a <> 0 or not a * v = a * w or v = w ) assume that A2: a <> 0 and A3: a * v = a * w ; ::_thesis: v = w 0. V = (a * v) - (a * w) by A3, RLVECT_1:15 .= a * (v - w) by Th8 ; then v - w = 0. V by A2, A1, Def7; hence v = w by RLVECT_1:21; ::_thesis: verum end; theorem :: ZMODUL01:11 for a, b being integer number for V being Z_Module for v being VECTOR of V st V is Mult-cancelable & v <> 0. V & a * v = b * v holds a = b proof let a, b be integer number ; ::_thesis: for V being Z_Module for v being VECTOR of V st V is Mult-cancelable & v <> 0. V & a * v = b * v holds a = b let V be Z_Module; ::_thesis: for v being VECTOR of V st V is Mult-cancelable & v <> 0. V & a * v = b * v holds a = b let v be VECTOR of V; ::_thesis: ( V is Mult-cancelable & v <> 0. V & a * v = b * v implies a = b ) assume A1: V is Mult-cancelable ; ::_thesis: ( not v <> 0. V or not a * v = b * v or a = b ) assume that A2: v <> 0. V and A3: a * v = b * v ; ::_thesis: a = b 0. V = (a * v) - (b * v) by A3, RLVECT_1:15 .= (a - b) * v by Th9 ; then (- b) + a = 0 by A2, A1, Def7; hence a = b ; ::_thesis: verum end; Lm1: for V being Z_Module holds Sum (<*> the carrier of V) = 0. V proof let V be Z_Module; ::_thesis: Sum (<*> the carrier of V) = 0. V set S = <*> the carrier of V; ex f being Function of NAT, the carrier of V st ( Sum (<*> the carrier of V) = f . (len (<*> the carrier of V)) & f . 0 = 0. V & ( for j being Element of NAT for v being VECTOR of V st j < len (<*> the carrier of V) & v = (<*> the carrier of V) . (j + 1) holds f . (j + 1) = (f . j) + v ) ) by RLVECT_1:def_12; hence Sum (<*> the carrier of V) = 0. V ; ::_thesis: verum end; Lm2: for V being Z_Module for F being FinSequence of V st len F = 0 holds Sum F = 0. V proof let V be Z_Module; ::_thesis: for F being FinSequence of V st len F = 0 holds Sum F = 0. V let F be FinSequence of V; ::_thesis: ( len F = 0 implies Sum F = 0. V ) assume len F = 0 ; ::_thesis: Sum F = 0. V then F = <*> the carrier of V ; hence Sum F = 0. V by Lm1; ::_thesis: verum end; theorem Th12: :: ZMODUL01:12 for a being integer number for V being Z_Module for F, G being FinSequence of V st len F = len G & ( for k being Element of NAT for v being VECTOR of V st k in dom F & v = G . k holds F . k = a * v ) holds Sum F = a * (Sum G) proof let a be integer number ; ::_thesis: for V being Z_Module for F, G being FinSequence of V st len F = len G & ( for k being Element of NAT for v being VECTOR of V st k in dom F & v = G . k holds F . k = a * v ) holds Sum F = a * (Sum G) let V be Z_Module; ::_thesis: for F, G being FinSequence of V st len F = len G & ( for k being Element of NAT for v being VECTOR of V st k in dom F & v = G . k holds F . k = a * v ) holds Sum F = a * (Sum G) let F, G be FinSequence of V; ::_thesis: ( len F = len G & ( for k being Element of NAT for v being VECTOR of V st k in dom F & v = G . k holds F . k = a * v ) implies Sum F = a * (Sum G) ) defpred S1[ set ] means for H, I being FinSequence of V st len H = len I & len H = $1 & ( for k being Element of NAT for v being VECTOR of V st k in Seg (len H) & v = I . k holds H . k = a * v ) holds Sum H = a * (Sum I); A1: dom F = Seg (len F) by FINSEQ_1:def_3; now__::_thesis:_for_n_being_Element_of_NAT_st_(_for_H,_I_being_FinSequence_of_V_st_len_H_=_len_I_&_len_H_=_n_&_(_for_k_being_Element_of_NAT_ for_v_being_VECTOR_of_V_st_k_in_Seg_(len_H)_&_v_=_I_._k_holds_ H_._k_=_a_*_v_)_holds_ Sum_H_=_a_*_(Sum_I)_)_holds_ for_H,_I_being_FinSequence_of_V_st_len_H_=_len_I_&_len_H_=_n_+_1_&_(_for_k_being_Element_of_NAT_ for_v_being_VECTOR_of_V_st_k_in_Seg_(len_H)_&_v_=_I_._k_holds_ H_._k_=_a_*_v_)_holds_ Sum_H_=_a_*_(Sum_I) let n be Element of NAT ; ::_thesis: ( ( for H, I being FinSequence of V st len H = len I & len H = n & ( for k being Element of NAT for v being VECTOR of V st k in Seg (len H) & v = I . k holds H . k = a * v ) holds Sum H = a * (Sum I) ) implies for H, I being FinSequence of V st len H = len I & len H = n + 1 & ( for k being Element of NAT for v being VECTOR of V st k in Seg (len H) & v = I . k holds H . k = a * v ) holds Sum H = a * (Sum I) ) assume A2: for H, I being FinSequence of V st len H = len I & len H = n & ( for k being Element of NAT for v being VECTOR of V st k in Seg (len H) & v = I . k holds H . k = a * v ) holds Sum H = a * (Sum I) ; ::_thesis: for H, I being FinSequence of V st len H = len I & len H = n + 1 & ( for k being Element of NAT for v being VECTOR of V st k in Seg (len H) & v = I . k holds H . k = a * v ) holds Sum H = a * (Sum I) let H, I be FinSequence of V; ::_thesis: ( len H = len I & len H = n + 1 & ( for k being Element of NAT for v being VECTOR of V st k in Seg (len H) & v = I . k holds H . k = a * v ) implies Sum H = a * (Sum I) ) assume that A3: len H = len I and A4: len H = n + 1 and A5: for k being Element of NAT for v being VECTOR of V st k in Seg (len H) & v = I . k holds H . k = a * v ; ::_thesis: Sum H = a * (Sum I) reconsider p = H | (Seg n), q = I | (Seg n) as FinSequence of the carrier of V by FINSEQ_1:18; A6: n <= n + 1 by NAT_1:12; then A7: len q = n by A3, A4, FINSEQ_1:17; A8: len p = n by A4, A6, FINSEQ_1:17; A9: now__::_thesis:_for_k_being_Element_of_NAT_ for_v_being_VECTOR_of_V_st_k_in_Seg_(len_p)_&_v_=_q_._k_holds_ p_._k_=_a_*_v len p <= len H by A4, A6, FINSEQ_1:17; then A10: Seg (len p) c= Seg (len H) by FINSEQ_1:5; A11: dom p = Seg n by A4, A6, FINSEQ_1:17; let k be Element of NAT ; ::_thesis: for v being VECTOR of V st k in Seg (len p) & v = q . k holds p . k = a * v let v be VECTOR of V; ::_thesis: ( k in Seg (len p) & v = q . k implies p . k = a * v ) assume that A12: k in Seg (len p) and A13: v = q . k ; ::_thesis: p . k = a * v dom q = Seg n by A3, A4, A6, FINSEQ_1:17; then I . k = q . k by A8, A12, FUNCT_1:47; then H . k = a * v by A5, A12, A13, A10; hence p . k = a * v by A8, A12, A11, FUNCT_1:47; ::_thesis: verum end; 1 <= n + 1 by NAT_1:11; then ( n + 1 in dom H & n + 1 in dom I ) by A3, A4, FINSEQ_3:25; then reconsider v1 = H . (n + 1), v2 = I . (n + 1) as VECTOR of V by FUNCT_1:102; A14: v1 = a * v2 by A4, A5, FINSEQ_1:4; A15: dom q = Seg (len q) by FINSEQ_1:def_3; dom p = Seg (len p) by FINSEQ_1:def_3; hence Sum H = (Sum p) + v1 by A4, A8, RLVECT_1:38 .= (a * (Sum q)) + (a * v2) by A2, A8, A7, A9, A14 .= a * ((Sum q) + v2) by Def2 .= a * (Sum I) by A3, A4, A7, A15, RLVECT_1:38 ; ::_thesis: verum end; then A16: for n being Element of NAT st S1[n] holds S1[n + 1] ; now__::_thesis:_for_H,_I_being_FinSequence_of_V_st_len_H_=_len_I_&_len_H_=_0_&_(_for_k_being_Element_of_NAT_ for_v_being_VECTOR_of_V_st_k_in_Seg_(len_H)_&_v_=_I_._k_holds_ H_._k_=_a_*_v_)_holds_ Sum_H_=_a_*_(Sum_I) let H, I be FinSequence of V; ::_thesis: ( len H = len I & len H = 0 & ( for k being Element of NAT for v being VECTOR of V st k in Seg (len H) & v = I . k holds H . k = a * v ) implies Sum H = a * (Sum I) ) assume that A17: len H = len I and A18: len H = 0 and for k being Element of NAT for v being VECTOR of V st k in Seg (len H) & v = I . k holds H . k = a * v ; ::_thesis: Sum H = a * (Sum I) Sum H = 0. V by A18, Lm2; hence Sum H = a * (Sum I) by A17, A18, Lm2, Th1; ::_thesis: verum end; then A19: S1[ 0 ] ; for n being Element of NAT holds S1[n] from NAT_1:sch_1(A19, A16); hence ( len F = len G & ( for k being Element of NAT for v being VECTOR of V st k in dom F & v = G . k holds F . k = a * v ) implies Sum F = a * (Sum G) ) by A1; ::_thesis: verum end; theorem :: ZMODUL01:13 for V being Z_Module for a being Integer holds a * (Sum (<*> the carrier of V)) = 0. V by Lm1, Th1; theorem :: ZMODUL01:14 for V being Z_Module for a being Integer for v, u being VECTOR of V holds a * (Sum <*v,u*>) = (a * v) + (a * u) proof let V be Z_Module; ::_thesis: for a being Integer for v, u being VECTOR of V holds a * (Sum <*v,u*>) = (a * v) + (a * u) let a be Integer; ::_thesis: for v, u being VECTOR of V holds a * (Sum <*v,u*>) = (a * v) + (a * u) let v, u be VECTOR of V; ::_thesis: a * (Sum <*v,u*>) = (a * v) + (a * u) thus a * (Sum <*v,u*>) = a * (v + u) by RLVECT_1:45 .= (a * v) + (a * u) by Def2 ; ::_thesis: verum end; theorem :: ZMODUL01:15 for V being Z_Module for a being Integer for v, u, w being VECTOR of V holds a * (Sum <*v,u,w*>) = ((a * v) + (a * u)) + (a * w) proof let V be Z_Module; ::_thesis: for a being Integer for v, u, w being VECTOR of V holds a * (Sum <*v,u,w*>) = ((a * v) + (a * u)) + (a * w) let a be Integer; ::_thesis: for v, u, w being VECTOR of V holds a * (Sum <*v,u,w*>) = ((a * v) + (a * u)) + (a * w) let v, u, w be VECTOR of V; ::_thesis: a * (Sum <*v,u,w*>) = ((a * v) + (a * u)) + (a * w) thus a * (Sum <*v,u,w*>) = a * ((v + u) + w) by RLVECT_1:46 .= (a * (v + u)) + (a * w) by Def2 .= ((a * v) + (a * u)) + (a * w) by Def2 ; ::_thesis: verum end; theorem :: ZMODUL01:16 for a being integer number for V being Z_Module for v being VECTOR of V holds (- a) * v = - (a * v) proof let a be integer number ; ::_thesis: for V being Z_Module for v being VECTOR of V holds (- a) * v = - (a * v) let V be Z_Module; ::_thesis: for v being VECTOR of V holds (- a) * v = - (a * v) let v be VECTOR of V; ::_thesis: (- a) * v = - (a * v) thus (- a) * v = a * (- v) by Th5 .= - (a * v) by Th6 ; ::_thesis: verum end; theorem :: ZMODUL01:17 for a being integer number for V being Z_Module for F, G being FinSequence of V st len F = len G & ( for k being Element of NAT st k in dom F holds G . k = a * (F /. k) ) holds Sum G = a * (Sum F) proof let a be integer number ; ::_thesis: for V being Z_Module for F, G being FinSequence of V st len F = len G & ( for k being Element of NAT st k in dom F holds G . k = a * (F /. k) ) holds Sum G = a * (Sum F) let V be Z_Module; ::_thesis: for F, G being FinSequence of V st len F = len G & ( for k being Element of NAT st k in dom F holds G . k = a * (F /. k) ) holds Sum G = a * (Sum F) let F, G be FinSequence of V; ::_thesis: ( len F = len G & ( for k being Element of NAT st k in dom F holds G . k = a * (F /. k) ) implies Sum G = a * (Sum F) ) assume that A1: len F = len G and A2: for k being Element of NAT st k in dom F holds G . k = a * (F /. k) ; ::_thesis: Sum G = a * (Sum F) A3: ( dom F = Seg (len F) & dom G = Seg (len G) ) by FINSEQ_1:def_3; now__::_thesis:_for_k_being_Element_of_NAT_ for_v_being_VECTOR_of_V_st_k_in_dom_G_&_v_=_F_._k_holds_ G_._k_=_a_*_v let k be Element of NAT ; ::_thesis: for v being VECTOR of V st k in dom G & v = F . k holds G . k = a * v let v be VECTOR of V; ::_thesis: ( k in dom G & v = F . k implies G . k = a * v ) assume that A4: k in dom G and A5: v = F . k ; ::_thesis: G . k = a * v v = F /. k by A1, A3, A4, A5, PARTFUN1:def_6; hence G . k = a * v by A1, A2, A3, A4; ::_thesis: verum end; hence Sum G = a * (Sum F) by A1, Th12; ::_thesis: verum end; begin definition let V be Z_Module; let V1 be Subset of V; attrV1 is linearly-closed means :Def8: :: ZMODUL01:def 8 ( ( for v, u being VECTOR of V st v in V1 & u in V1 holds v + u in V1 ) & ( for a being integer number for v being VECTOR of V st v in V1 holds a * v in V1 ) ); end; :: deftheorem Def8 defines linearly-closed ZMODUL01:def_8_:_ for V being Z_Module for V1 being Subset of V holds ( V1 is linearly-closed iff ( ( for v, u being VECTOR of V st v in V1 & u in V1 holds v + u in V1 ) & ( for a being integer number for v being VECTOR of V st v in V1 holds a * v in V1 ) ) ); theorem Th18: :: ZMODUL01:18 for V being Z_Module for V1 being Subset of V st V1 <> {} & V1 is linearly-closed holds 0. V in V1 proof let V be Z_Module; ::_thesis: for V1 being Subset of V st V1 <> {} & V1 is linearly-closed holds 0. V in V1 let V1 be Subset of V; ::_thesis: ( V1 <> {} & V1 is linearly-closed implies 0. V in V1 ) assume that A1: V1 <> {} and A2: V1 is linearly-closed ; ::_thesis: 0. V in V1 set x = the Element of V1; reconsider x = the Element of V1 as Element of V by A1, TARSKI:def_3; 0 * x in V1 by A1, A2, Def8; hence 0. V in V1 by Th1; ::_thesis: verum end; theorem Th19: :: ZMODUL01:19 for V being Z_Module for V1 being Subset of V st V1 is linearly-closed holds for v being VECTOR of V st v in V1 holds - v in V1 proof let V be Z_Module; ::_thesis: for V1 being Subset of V st V1 is linearly-closed holds for v being VECTOR of V st v in V1 holds - v in V1 let V1 be Subset of V; ::_thesis: ( V1 is linearly-closed implies for v being VECTOR of V st v in V1 holds - v in V1 ) assume A1: V1 is linearly-closed ; ::_thesis: for v being VECTOR of V st v in V1 holds - v in V1 let v be VECTOR of V; ::_thesis: ( v in V1 implies - v in V1 ) assume v in V1 ; ::_thesis: - v in V1 then (- 1) * v in V1 by A1, Def8; hence - v in V1 by Th2; ::_thesis: verum end; theorem Th20: :: ZMODUL01:20 for V being Z_Module for V1 being Subset of V st V1 is linearly-closed holds for v, u being VECTOR of V st v in V1 & u in V1 holds v - u in V1 proof let V be Z_Module; ::_thesis: for V1 being Subset of V st V1 is linearly-closed holds for v, u being VECTOR of V st v in V1 & u in V1 holds v - u in V1 let V1 be Subset of V; ::_thesis: ( V1 is linearly-closed implies for v, u being VECTOR of V st v in V1 & u in V1 holds v - u in V1 ) assume A1: V1 is linearly-closed ; ::_thesis: for v, u being VECTOR of V st v in V1 & u in V1 holds v - u in V1 let v, u be VECTOR of V; ::_thesis: ( v in V1 & u in V1 implies v - u in V1 ) assume that A2: v in V1 and A3: u in V1 ; ::_thesis: v - u in V1 - u in V1 by A1, A3, Th19; hence v - u in V1 by A1, A2, Def8; ::_thesis: verum end; theorem :: ZMODUL01:21 for V being Z_Module for V1 being Subset of V st the carrier of V = V1 holds V1 is linearly-closed proof let V be Z_Module; ::_thesis: for V1 being Subset of V st the carrier of V = V1 holds V1 is linearly-closed let V1 be Subset of V; ::_thesis: ( the carrier of V = V1 implies V1 is linearly-closed ) assume A1: the carrier of V = V1 ; ::_thesis: V1 is linearly-closed hence for v, u being VECTOR of V st v in V1 & u in V1 holds v + u in V1 ; :: according to ZMODUL01:def_8 ::_thesis: for a being integer number for v being VECTOR of V st v in V1 holds a * v in V1 let a be integer number ; ::_thesis: for v being VECTOR of V st v in V1 holds a * v in V1 let v be VECTOR of V; ::_thesis: ( v in V1 implies a * v in V1 ) thus ( v in V1 implies a * v in V1 ) by A1; ::_thesis: verum end; theorem Th22: :: ZMODUL01:22 for V being Z_Module for V1, V2, V3 being Subset of V st V1 is linearly-closed & V2 is linearly-closed & V3 = { (v + u) where v, u is VECTOR of V : ( v in V1 & u in V2 ) } holds V3 is linearly-closed proof let V be Z_Module; ::_thesis: for V1, V2, V3 being Subset of V st V1 is linearly-closed & V2 is linearly-closed & V3 = { (v + u) where v, u is VECTOR of V : ( v in V1 & u in V2 ) } holds V3 is linearly-closed let V1, V2, V3 be Subset of V; ::_thesis: ( V1 is linearly-closed & V2 is linearly-closed & V3 = { (v + u) where v, u is VECTOR of V : ( v in V1 & u in V2 ) } implies V3 is linearly-closed ) assume that A1: ( V1 is linearly-closed & V2 is linearly-closed ) and A2: V3 = { (v + u) where v, u is VECTOR of V : ( v in V1 & u in V2 ) } ; ::_thesis: V3 is linearly-closed thus for v, u being VECTOR of V st v in V3 & u in V3 holds v + u in V3 :: according to ZMODUL01:def_8 ::_thesis: for a being integer number for v being VECTOR of V st v in V3 holds a * v in V3 proof let v, u be VECTOR of V; ::_thesis: ( v in V3 & u in V3 implies v + u in V3 ) assume that A3: v in V3 and A4: u in V3 ; ::_thesis: v + u in V3 consider v1, v2 being VECTOR of V such that A5: v = v1 + v2 and A6: ( v1 in V1 & v2 in V2 ) by A2, A3; consider u1, u2 being VECTOR of V such that A7: u = u1 + u2 and A8: ( u1 in V1 & u2 in V2 ) by A2, A4; A9: v + u = ((v1 + v2) + u1) + u2 by A5, A7, RLVECT_1:def_3 .= ((v1 + u1) + v2) + u2 by RLVECT_1:def_3 .= (v1 + u1) + (v2 + u2) by RLVECT_1:def_3 ; ( v1 + u1 in V1 & v2 + u2 in V2 ) by A1, A6, A8, Def8; hence v + u in V3 by A2, A9; ::_thesis: verum end; let a be integer number ; ::_thesis: for v being VECTOR of V st v in V3 holds a * v in V3 let v be VECTOR of V; ::_thesis: ( v in V3 implies a * v in V3 ) assume v in V3 ; ::_thesis: a * v in V3 then consider v1, v2 being VECTOR of V such that A10: v = v1 + v2 and A11: ( v1 in V1 & v2 in V2 ) by A2; A12: a * v = (a * v1) + (a * v2) by A10, Def2; ( a * v1 in V1 & a * v2 in V2 ) by A1, A11, Def8; hence a * v in V3 by A2, A12; ::_thesis: verum end; registration let V be Z_Module; cluster{(0. V)} -> linearly-closed for Subset of V; coherence for b1 being Subset of V st b1 = {(0. V)} holds b1 is linearly-closed proof let S be Subset of V; ::_thesis: ( S = {(0. V)} implies S is linearly-closed ) assume A1: S = {(0. V)} ; ::_thesis: S is linearly-closed thus for v, u being VECTOR of V st v in S & u in S holds v + u in S :: according to ZMODUL01:def_8 ::_thesis: for a being integer number for v being VECTOR of V st v in S holds a * v in S proof let v, u be VECTOR of V; ::_thesis: ( v in S & u in S implies v + u in S ) assume ( v in S & u in S ) ; ::_thesis: v + u in S then ( v = 0. V & u = 0. V ) by A1, TARSKI:def_1; then v + u = 0. V by RLVECT_1:4; hence v + u in S by A1, TARSKI:def_1; ::_thesis: verum end; let a be integer number ; ::_thesis: for v being VECTOR of V st v in S holds a * v in S let v be VECTOR of V; ::_thesis: ( v in S implies a * v in S ) assume A2: v in S ; ::_thesis: a * v in S then v = 0. V by A1, TARSKI:def_1; hence a * v in S by A2, Th1; ::_thesis: verum end; end; registration let V be Z_Module; cluster linearly-closed for Element of bool the carrier of V; existence ex b1 being Subset of V st b1 is linearly-closed proof take {(0. V)} ; ::_thesis: {(0. V)} is linearly-closed thus {(0. V)} is linearly-closed ; ::_thesis: verum end; end; registration let V be Z_Module; let V1, V2 be linearly-closed Subset of V; clusterV1 /\ V2 -> linearly-closed for Subset of V; coherence for b1 being Subset of V st b1 = V1 /\ V2 holds b1 is linearly-closed proof let S be Subset of V; ::_thesis: ( S = V1 /\ V2 implies S is linearly-closed ) assume A1: S = V1 /\ V2 ; ::_thesis: S is linearly-closed thus for v, u being VECTOR of V st v in S & u in S holds v + u in S :: according to ZMODUL01:def_8 ::_thesis: for a being integer number for v being VECTOR of V st v in S holds a * v in S proof let v, u be VECTOR of V; ::_thesis: ( v in S & u in S implies v + u in S ) assume A2: ( v in S & u in S ) ; ::_thesis: v + u in S then ( v in V2 & u in V2 ) by A1, XBOOLE_0:def_4; then A3: v + u in V2 by Def8; ( v in V1 & u in V1 ) by A2, A1, XBOOLE_0:def_4; then v + u in V1 by Def8; hence v + u in S by A3, A1, XBOOLE_0:def_4; ::_thesis: verum end; let a be integer number ; ::_thesis: for v being VECTOR of V st v in S holds a * v in S let v be VECTOR of V; ::_thesis: ( v in S implies a * v in S ) assume A4: v in S ; ::_thesis: a * v in S then v in V2 by A1, XBOOLE_0:def_4; then A5: a * v in V2 by Def8; v in V1 by A4, A1, XBOOLE_0:def_4; then a * v in V1 by Def8; hence a * v in S by A5, A1, XBOOLE_0:def_4; ::_thesis: verum end; end; definition let V be Z_Module; mode Submodule of V -> Z_Module means :Def9: :: ZMODUL01:def 9 ( the carrier of it c= the carrier of V & 0. it = 0. V & the addF of it = the addF of V || the carrier of it & the Mult of it = the Mult of V | [:INT, the carrier of it:] ); existence ex b1 being Z_Module st ( the carrier of b1 c= the carrier of V & 0. b1 = 0. V & the addF of b1 = the addF of V || the carrier of b1 & the Mult of b1 = the Mult of V | [:INT, the carrier of b1:] ) proof ( the addF of V = the addF of V || the carrier of V & the Mult of V = the Mult of V | [:INT, the carrier of V:] ) by RELSET_1:19; hence ex b1 being Z_Module st ( the carrier of b1 c= the carrier of V & 0. b1 = 0. V & the addF of b1 = the addF of V || the carrier of b1 & the Mult of b1 = the Mult of V | [:INT, the carrier of b1:] ) ; ::_thesis: verum end; end; :: deftheorem Def9 defines Submodule ZMODUL01:def_9_:_ for V, b2 being Z_Module holds ( b2 is Submodule of V iff ( the carrier of b2 c= the carrier of V & 0. b2 = 0. V & the addF of b2 = the addF of V || the carrier of b2 & the Mult of b2 = the Mult of V | [:INT, the carrier of b2:] ) ); theorem Th23: :: ZMODUL01:23 for V being Z_Module for x being set for W1, W2 being Submodule of V st x in W1 & W1 is Submodule of W2 holds x in W2 proof let V be Z_Module; ::_thesis: for x being set for W1, W2 being Submodule of V st x in W1 & W1 is Submodule of W2 holds x in W2 let x be set ; ::_thesis: for W1, W2 being Submodule of V st x in W1 & W1 is Submodule of W2 holds x in W2 let W1, W2 be Submodule of V; ::_thesis: ( x in W1 & W1 is Submodule of W2 implies x in W2 ) assume ( x in W1 & W1 is Submodule of W2 ) ; ::_thesis: x in W2 then ( x in the carrier of W1 & the carrier of W1 c= the carrier of W2 ) by Def9, STRUCT_0:def_5; hence x in W2 by STRUCT_0:def_5; ::_thesis: verum end; theorem Th24: :: ZMODUL01:24 for V being Z_Module for x being set for W being Submodule of V st x in W holds x in V proof let V be Z_Module; ::_thesis: for x being set for W being Submodule of V st x in W holds x in V let x be set ; ::_thesis: for W being Submodule of V st x in W holds x in V let W be Submodule of V; ::_thesis: ( x in W implies x in V ) assume x in W ; ::_thesis: x in V then A1: x in the carrier of W by STRUCT_0:def_5; the carrier of W c= the carrier of V by Def9; hence x in V by A1, STRUCT_0:def_5; ::_thesis: verum end; theorem Th25: :: ZMODUL01:25 for V being Z_Module for W being Submodule of V for w being VECTOR of W holds w is VECTOR of V proof let V be Z_Module; ::_thesis: for W being Submodule of V for w being VECTOR of W holds w is VECTOR of V let W be Submodule of V; ::_thesis: for w being VECTOR of W holds w is VECTOR of V let w be VECTOR of W; ::_thesis: w is VECTOR of V w in V by Th24, RLVECT_1:1; hence w is VECTOR of V by STRUCT_0:def_5; ::_thesis: verum end; theorem :: ZMODUL01:26 for V being Z_Module for W being Submodule of V holds 0. W = 0. V by Def9; theorem :: ZMODUL01:27 for V being Z_Module for W1, W2 being Submodule of V holds 0. W1 = 0. W2 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds 0. W1 = 0. W2 let W1, W2 be Submodule of V; ::_thesis: 0. W1 = 0. W2 thus 0. W1 = 0. V by Def9 .= 0. W2 by Def9 ; ::_thesis: verum end; theorem Th28: :: ZMODUL01:28 for V being Z_Module for v, u being VECTOR of V for W being Submodule of V for w1, w2 being VECTOR of W st w1 = v & w2 = u holds w1 + w2 = v + u proof let V be Z_Module; ::_thesis: for v, u being VECTOR of V for W being Submodule of V for w1, w2 being VECTOR of W st w1 = v & w2 = u holds w1 + w2 = v + u let v, u be VECTOR of V; ::_thesis: for W being Submodule of V for w1, w2 being VECTOR of W st w1 = v & w2 = u holds w1 + w2 = v + u let W be Submodule of V; ::_thesis: for w1, w2 being VECTOR of W st w1 = v & w2 = u holds w1 + w2 = v + u let w1, w2 be VECTOR of W; ::_thesis: ( w1 = v & w2 = u implies w1 + w2 = v + u ) assume A1: ( v = w1 & u = w2 ) ; ::_thesis: w1 + w2 = v + u w1 + w2 = ( the addF of V || the carrier of W) . [w1,w2] by Def9; hence w1 + w2 = v + u by A1, FUNCT_1:49; ::_thesis: verum end; theorem Th29: :: ZMODUL01:29 for V being Z_Module for v being VECTOR of V for a being integer number for W being Submodule of V for w being VECTOR of W st w = v holds a * w = a * v proof let V be Z_Module; ::_thesis: for v being VECTOR of V for a being integer number for W being Submodule of V for w being VECTOR of W st w = v holds a * w = a * v let v be VECTOR of V; ::_thesis: for a being integer number for W being Submodule of V for w being VECTOR of W st w = v holds a * w = a * v let a be integer number ; ::_thesis: for W being Submodule of V for w being VECTOR of W st w = v holds a * w = a * v let W be Submodule of V; ::_thesis: for w being VECTOR of W st w = v holds a * w = a * v let w be VECTOR of W; ::_thesis: ( w = v implies a * w = a * v ) reconsider a = a as Element of INT by INT_1:def_2; assume A1: w = v ; ::_thesis: a * w = a * v a * w = ( the Mult of V | [:INT, the carrier of W:]) . [a,w] by Def9; hence a * w = a * v by A1, FUNCT_1:49; ::_thesis: verum end; theorem Th30: :: ZMODUL01:30 for V being Z_Module for v being VECTOR of V for W being Submodule of V for w being VECTOR of W st w = v holds - v = - w proof let V be Z_Module; ::_thesis: for v being VECTOR of V for W being Submodule of V for w being VECTOR of W st w = v holds - v = - w let v be VECTOR of V; ::_thesis: for W being Submodule of V for w being VECTOR of W st w = v holds - v = - w let W be Submodule of V; ::_thesis: for w being VECTOR of W st w = v holds - v = - w let w be VECTOR of W; ::_thesis: ( w = v implies - v = - w ) A1: ( - v = (- 1) * v & - w = (- 1) * w ) by Th2; assume w = v ; ::_thesis: - v = - w hence - v = - w by A1, Th29; ::_thesis: verum end; theorem Th31: :: ZMODUL01:31 for V being Z_Module for v, u being VECTOR of V for W being Submodule of V for w1, w2 being VECTOR of W st w1 = v & w2 = u holds w1 - w2 = v - u proof let V be Z_Module; ::_thesis: for v, u being VECTOR of V for W being Submodule of V for w1, w2 being VECTOR of W st w1 = v & w2 = u holds w1 - w2 = v - u let v, u be VECTOR of V; ::_thesis: for W being Submodule of V for w1, w2 being VECTOR of W st w1 = v & w2 = u holds w1 - w2 = v - u let W be Submodule of V; ::_thesis: for w1, w2 being VECTOR of W st w1 = v & w2 = u holds w1 - w2 = v - u let w1, w2 be VECTOR of W; ::_thesis: ( w1 = v & w2 = u implies w1 - w2 = v - u ) assume that A1: w1 = v and A2: w2 = u ; ::_thesis: w1 - w2 = v - u - w2 = - u by A2, Th30; hence w1 - w2 = v - u by A1, Th28; ::_thesis: verum end; Lm3: for V being Z_Module for V1 being Subset of V for W being Submodule of V st the carrier of W = V1 holds V1 is linearly-closed proof let V be Z_Module; ::_thesis: for V1 being Subset of V for W being Submodule of V st the carrier of W = V1 holds V1 is linearly-closed let V1 be Subset of V; ::_thesis: for W being Submodule of V st the carrier of W = V1 holds V1 is linearly-closed let W be Submodule of V; ::_thesis: ( the carrier of W = V1 implies V1 is linearly-closed ) set VW = the carrier of W; reconsider WW = W as Z_Module ; assume A1: the carrier of W = V1 ; ::_thesis: V1 is linearly-closed thus for v, u being VECTOR of V st v in V1 & u in V1 holds v + u in V1 :: according to ZMODUL01:def_8 ::_thesis: for a being integer number for v being VECTOR of V st v in V1 holds a * v in V1 proof let v, u be VECTOR of V; ::_thesis: ( v in V1 & u in V1 implies v + u in V1 ) assume ( v in V1 & u in V1 ) ; ::_thesis: v + u in V1 then reconsider vv = v, uu = u as VECTOR of WW by A1; reconsider vw = vv + uu as Element of the carrier of W ; vw in V1 by A1; hence v + u in V1 by Th28; ::_thesis: verum end; let a be integer number ; ::_thesis: for v being VECTOR of V st v in V1 holds a * v in V1 let v be VECTOR of V; ::_thesis: ( v in V1 implies a * v in V1 ) assume v in V1 ; ::_thesis: a * v in V1 then reconsider vv = v as VECTOR of WW by A1; reconsider vw = a * vv as Element of the carrier of W ; vw in V1 by A1; hence a * v in V1 by Th29; ::_thesis: verum end; theorem Th32: :: ZMODUL01:32 for V being Z_Module holds V is Submodule of V proof let V be Z_Module; ::_thesis: V is Submodule of V thus ( the carrier of V c= the carrier of V & 0. V = 0. V ) ; :: according to ZMODUL01:def_9 ::_thesis: ( the addF of V = the addF of V || the carrier of V & the Mult of V = the Mult of V | [:INT, the carrier of V:] ) thus ( the addF of V = the addF of V || the carrier of V & the Mult of V = the Mult of V | [:INT, the carrier of V:] ) by RELSET_1:19; ::_thesis: verum end; theorem Th33: :: ZMODUL01:33 for V being Z_Module for W being Submodule of V holds 0. V in W proof let V be Z_Module; ::_thesis: for W being Submodule of V holds 0. V in W let W be Submodule of V; ::_thesis: 0. V in W 0. W in W by RLVECT_1:1; hence 0. V in W by Def9; ::_thesis: verum end; theorem :: ZMODUL01:34 for V being Z_Module for W1, W2 being Submodule of V holds 0. W1 in W2 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds 0. W1 in W2 let W1, W2 be Submodule of V; ::_thesis: 0. W1 in W2 0. W1 = 0. V by Def9; hence 0. W1 in W2 by Th33; ::_thesis: verum end; theorem :: ZMODUL01:35 for V being Z_Module for W being Submodule of V holds 0. W in V by Th24, RLVECT_1:1; theorem Th36: :: ZMODUL01:36 for V being Z_Module for u, v being VECTOR of V for W being Submodule of V st u in W & v in W holds u + v in W proof let V be Z_Module; ::_thesis: for u, v being VECTOR of V for W being Submodule of V st u in W & v in W holds u + v in W let u, v be VECTOR of V; ::_thesis: for W being Submodule of V st u in W & v in W holds u + v in W let W be Submodule of V; ::_thesis: ( u in W & v in W implies u + v in W ) reconsider VW = the carrier of W as Subset of V by Def9; assume ( u in W & v in W ) ; ::_thesis: u + v in W then A1: ( u in the carrier of W & v in the carrier of W ) by STRUCT_0:def_5; VW is linearly-closed by Lm3; then u + v in the carrier of W by A1, Def8; hence u + v in W by STRUCT_0:def_5; ::_thesis: verum end; theorem Th37: :: ZMODUL01:37 for V being Z_Module for v being VECTOR of V for a being integer number for W being Submodule of V st v in W holds a * v in W proof let V be Z_Module; ::_thesis: for v being VECTOR of V for a being integer number for W being Submodule of V st v in W holds a * v in W let v be VECTOR of V; ::_thesis: for a being integer number for W being Submodule of V st v in W holds a * v in W let a be integer number ; ::_thesis: for W being Submodule of V st v in W holds a * v in W let W be Submodule of V; ::_thesis: ( v in W implies a * v in W ) reconsider VW = the carrier of W as Subset of V by Def9; assume v in W ; ::_thesis: a * v in W then A1: v in the carrier of W by STRUCT_0:def_5; VW is linearly-closed by Lm3; then a * v in the carrier of W by A1, Def8; hence a * v in W by STRUCT_0:def_5; ::_thesis: verum end; theorem Th38: :: ZMODUL01:38 for V being Z_Module for v being VECTOR of V for W being Submodule of V st v in W holds - v in W proof let V be Z_Module; ::_thesis: for v being VECTOR of V for W being Submodule of V st v in W holds - v in W let v be VECTOR of V; ::_thesis: for W being Submodule of V st v in W holds - v in W let W be Submodule of V; ::_thesis: ( v in W implies - v in W ) assume v in W ; ::_thesis: - v in W then (- 1) * v in W by Th37; hence - v in W by Th2; ::_thesis: verum end; theorem Th39: :: ZMODUL01:39 for V being Z_Module for u, v being VECTOR of V for W being Submodule of V st u in W & v in W holds u - v in W proof let V be Z_Module; ::_thesis: for u, v being VECTOR of V for W being Submodule of V st u in W & v in W holds u - v in W let u, v be VECTOR of V; ::_thesis: for W being Submodule of V st u in W & v in W holds u - v in W let W be Submodule of V; ::_thesis: ( u in W & v in W implies u - v in W ) assume that A1: u in W and A2: v in W ; ::_thesis: u - v in W - v in W by A2, Th38; hence u - v in W by A1, Th36; ::_thesis: verum end; theorem Th40: :: ZMODUL01:40 for V being Z_Module for V1 being Subset of V for D being non empty set for d1 being Element of D for A being BinOp of D for M being Function of [:INT,D:],D st V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the Mult of V | [:INT,V1:] holds Z_ModuleStruct(# D,d1,A,M #) is Submodule of V proof let V be Z_Module; ::_thesis: for V1 being Subset of V for D being non empty set for d1 being Element of D for A being BinOp of D for M being Function of [:INT,D:],D st V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the Mult of V | [:INT,V1:] holds Z_ModuleStruct(# D,d1,A,M #) is Submodule of V let V1 be Subset of V; ::_thesis: for D being non empty set for d1 being Element of D for A being BinOp of D for M being Function of [:INT,D:],D st V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the Mult of V | [:INT,V1:] holds Z_ModuleStruct(# D,d1,A,M #) is Submodule of V let D be non empty set ; ::_thesis: for d1 being Element of D for A being BinOp of D for M being Function of [:INT,D:],D st V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the Mult of V | [:INT,V1:] holds Z_ModuleStruct(# D,d1,A,M #) is Submodule of V let d1 be Element of D; ::_thesis: for A being BinOp of D for M being Function of [:INT,D:],D st V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the Mult of V | [:INT,V1:] holds Z_ModuleStruct(# D,d1,A,M #) is Submodule of V let A be BinOp of D; ::_thesis: for M being Function of [:INT,D:],D st V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the Mult of V | [:INT,V1:] holds Z_ModuleStruct(# D,d1,A,M #) is Submodule of V let M be Function of [:INT,D:],D; ::_thesis: ( V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the Mult of V | [:INT,V1:] implies Z_ModuleStruct(# D,d1,A,M #) is Submodule of V ) assume that A1: V1 = D and A2: d1 = 0. V and A3: A = the addF of V || V1 and A4: M = the Mult of V | [:INT,V1:] ; ::_thesis: Z_ModuleStruct(# D,d1,A,M #) is Submodule of V set W = Z_ModuleStruct(# D,d1,A,M #); A5: for a being integer number for x being VECTOR of Z_ModuleStruct(# D,d1,A,M #) holds a * x = the Mult of V . (a,x) proof let a be integer number ; ::_thesis: for x being VECTOR of Z_ModuleStruct(# D,d1,A,M #) holds a * x = the Mult of V . (a,x) let x be VECTOR of Z_ModuleStruct(# D,d1,A,M #); ::_thesis: a * x = the Mult of V . (a,x) reconsider a1 = a as Element of INT by INT_1:def_2; thus a * x = the Mult of V . [a1,x] by A1, A4, FUNCT_1:49 .= the Mult of V . (a,x) ; ::_thesis: verum end; A6: for x, y being VECTOR of Z_ModuleStruct(# D,d1,A,M #) holds x + y = the addF of V . (x,y) proof let x, y be VECTOR of Z_ModuleStruct(# D,d1,A,M #); ::_thesis: x + y = the addF of V . (x,y) thus x + y = the addF of V . [x,y] by A1, A3, FUNCT_1:49 .= the addF of V . (x,y) ; ::_thesis: verum end; A7: ( Z_ModuleStruct(# D,d1,A,M #) is Abelian & Z_ModuleStruct(# D,d1,A,M #) is add-associative & Z_ModuleStruct(# D,d1,A,M #) is right_zeroed & Z_ModuleStruct(# D,d1,A,M #) is right_complementable & Z_ModuleStruct(# D,d1,A,M #) is vector-distributive & Z_ModuleStruct(# D,d1,A,M #) is scalar-distributive & Z_ModuleStruct(# D,d1,A,M #) is scalar-associative & Z_ModuleStruct(# D,d1,A,M #) is scalar-unital ) proof set MV = the Mult of V; set AV = the addF of V; thus Z_ModuleStruct(# D,d1,A,M #) is Abelian ::_thesis: ( Z_ModuleStruct(# D,d1,A,M #) is add-associative & Z_ModuleStruct(# D,d1,A,M #) is right_zeroed & Z_ModuleStruct(# D,d1,A,M #) is right_complementable & Z_ModuleStruct(# D,d1,A,M #) is vector-distributive & Z_ModuleStruct(# D,d1,A,M #) is scalar-distributive & Z_ModuleStruct(# D,d1,A,M #) is scalar-associative & Z_ModuleStruct(# D,d1,A,M #) is scalar-unital ) proof let x, y be VECTOR of Z_ModuleStruct(# D,d1,A,M #); :: according to RLVECT_1:def_2 ::_thesis: x + y = y + x reconsider x1 = x, y1 = y as VECTOR of V by A1, TARSKI:def_3; thus x + y = x1 + y1 by A6 .= y1 + x1 .= y + x by A6 ; ::_thesis: verum end; thus Z_ModuleStruct(# D,d1,A,M #) is add-associative ::_thesis: ( Z_ModuleStruct(# D,d1,A,M #) is right_zeroed & Z_ModuleStruct(# D,d1,A,M #) is right_complementable & Z_ModuleStruct(# D,d1,A,M #) is vector-distributive & Z_ModuleStruct(# D,d1,A,M #) is scalar-distributive & Z_ModuleStruct(# D,d1,A,M #) is scalar-associative & Z_ModuleStruct(# D,d1,A,M #) is scalar-unital ) proof let x, y, z be VECTOR of Z_ModuleStruct(# D,d1,A,M #); :: according to RLVECT_1:def_3 ::_thesis: (x + y) + z = x + (y + z) reconsider x1 = x, y1 = y, z1 = z as VECTOR of V by A1, TARSKI:def_3; thus (x + y) + z = the addF of V . ((x + y),z1) by A6 .= (x1 + y1) + z1 by A6 .= x1 + (y1 + z1) by RLVECT_1:def_3 .= the addF of V . (x1,(y + z)) by A6 .= x + (y + z) by A6 ; ::_thesis: verum end; thus Z_ModuleStruct(# D,d1,A,M #) is right_zeroed ::_thesis: ( Z_ModuleStruct(# D,d1,A,M #) is right_complementable & Z_ModuleStruct(# D,d1,A,M #) is vector-distributive & Z_ModuleStruct(# D,d1,A,M #) is scalar-distributive & Z_ModuleStruct(# D,d1,A,M #) is scalar-associative & Z_ModuleStruct(# D,d1,A,M #) is scalar-unital ) proof let x be VECTOR of Z_ModuleStruct(# D,d1,A,M #); :: according to RLVECT_1:def_4 ::_thesis: x + (0. Z_ModuleStruct(# D,d1,A,M #)) = x reconsider y = x as VECTOR of V by A1, TARSKI:def_3; thus x + (0. Z_ModuleStruct(# D,d1,A,M #)) = y + (0. V) by A2, A6 .= x by RLVECT_1:4 ; ::_thesis: verum end; thus Z_ModuleStruct(# D,d1,A,M #) is right_complementable ::_thesis: ( Z_ModuleStruct(# D,d1,A,M #) is vector-distributive & Z_ModuleStruct(# D,d1,A,M #) is scalar-distributive & Z_ModuleStruct(# D,d1,A,M #) is scalar-associative & Z_ModuleStruct(# D,d1,A,M #) is scalar-unital ) proof let x be VECTOR of Z_ModuleStruct(# D,d1,A,M #); :: according to ALGSTR_0:def_16 ::_thesis: x is right_complementable reconsider x1 = x as VECTOR of V by A1, TARSKI:def_3; consider v being VECTOR of V such that A8: x1 + v = 0. V by ALGSTR_0:def_11; v = - x1 by A8, RLVECT_1:def_10 .= (- 1) * x1 by Th2 .= (- 1) * x by A5 ; then reconsider y = v as VECTOR of Z_ModuleStruct(# D,d1,A,M #) ; take y ; :: according to ALGSTR_0:def_11 ::_thesis: x + y = 0. Z_ModuleStruct(# D,d1,A,M #) thus x + y = 0. Z_ModuleStruct(# D,d1,A,M #) by A2, A6, A8; ::_thesis: verum end; thus for a being integer number for x, y being VECTOR of Z_ModuleStruct(# D,d1,A,M #) holds a * (x + y) = (a * x) + (a * y) :: according to ZMODUL01:def_2 ::_thesis: ( Z_ModuleStruct(# D,d1,A,M #) is scalar-distributive & Z_ModuleStruct(# D,d1,A,M #) is scalar-associative & Z_ModuleStruct(# D,d1,A,M #) is scalar-unital ) proof let a be integer number ; ::_thesis: for x, y being VECTOR of Z_ModuleStruct(# D,d1,A,M #) holds a * (x + y) = (a * x) + (a * y) let x, y be VECTOR of Z_ModuleStruct(# D,d1,A,M #); ::_thesis: a * (x + y) = (a * x) + (a * y) reconsider x1 = x, y1 = y as VECTOR of V by A1, TARSKI:def_3; reconsider a = a as Integer ; a * (x + y) = the Mult of V . (a,(x + y)) by A5 .= a * (x1 + y1) by A6 .= (a * x1) + (a * y1) by Def2 .= the addF of V . (( the Mult of V . (a,x1)),(a * y)) by A5 .= the addF of V . ((a * x),(a * y)) by A5 .= (a * x) + (a * y) by A6 ; hence a * (x + y) = (a * x) + (a * y) ; ::_thesis: verum end; thus for a, b being integer number for x being VECTOR of Z_ModuleStruct(# D,d1,A,M #) holds (a + b) * x = (a * x) + (b * x) :: according to ZMODUL01:def_3 ::_thesis: ( Z_ModuleStruct(# D,d1,A,M #) is scalar-associative & Z_ModuleStruct(# D,d1,A,M #) is scalar-unital ) proof let a, b be integer number ; ::_thesis: for x being VECTOR of Z_ModuleStruct(# D,d1,A,M #) holds (a + b) * x = (a * x) + (b * x) let x be VECTOR of Z_ModuleStruct(# D,d1,A,M #); ::_thesis: (a + b) * x = (a * x) + (b * x) reconsider y = x as VECTOR of V by A1, TARSKI:def_3; reconsider a = a, b = b as Integer ; (a + b) * x = (a + b) * y by A5 .= (a * y) + (b * y) by Def3 .= the addF of V . (( the Mult of V . (a,y)),(b * x)) by A5 .= the addF of V . ((a * x),(b * x)) by A5 .= (a * x) + (b * x) by A6 ; hence (a + b) * x = (a * x) + (b * x) ; ::_thesis: verum end; thus for a, b being integer number for x being VECTOR of Z_ModuleStruct(# D,d1,A,M #) holds (a * b) * x = a * (b * x) :: according to ZMODUL01:def_4 ::_thesis: Z_ModuleStruct(# D,d1,A,M #) is scalar-unital proof let a, b be integer number ; ::_thesis: for x being VECTOR of Z_ModuleStruct(# D,d1,A,M #) holds (a * b) * x = a * (b * x) let x be VECTOR of Z_ModuleStruct(# D,d1,A,M #); ::_thesis: (a * b) * x = a * (b * x) reconsider y = x as VECTOR of V by A1, TARSKI:def_3; reconsider a = a, b = b as Integer ; (a * b) * x = (a * b) * y by A5 .= a * (b * y) by Def4 .= the Mult of V . (a,(b * x)) by A5 .= a * (b * x) by A5 ; hence (a * b) * x = a * (b * x) ; ::_thesis: verum end; let x be VECTOR of Z_ModuleStruct(# D,d1,A,M #); :: according to ZMODUL01:def_5 ::_thesis: 1 * x = x reconsider y = x as VECTOR of V by A1, TARSKI:def_3; thus 1 * x = 1 * y by A5 .= x by Def5 ; ::_thesis: verum end; 0. Z_ModuleStruct(# D,d1,A,M #) = 0. V by A2; hence Z_ModuleStruct(# D,d1,A,M #) is Submodule of V by A1, A3, A4, A7, Def9; ::_thesis: verum end; theorem Th41: :: ZMODUL01:41 for V, X being strict Z_Module st V is Submodule of X & X is Submodule of V holds V = X proof let V, X be strict Z_Module; ::_thesis: ( V is Submodule of X & X is Submodule of V implies V = X ) assume that A1: V is Submodule of X and A2: X is Submodule of V ; ::_thesis: V = X set VX = the carrier of X; set VV = the carrier of V; ( the carrier of V c= the carrier of X & the carrier of X c= the carrier of V ) by A1, A2, Def9; then A3: the carrier of V = the carrier of X by XBOOLE_0:def_10; set AX = the addF of X; set AV = the addF of V; ( the addF of V = the addF of X || the carrier of V & the addF of X = the addF of V || the carrier of X ) by A1, A2, Def9; then A4: the addF of V = the addF of X by A3, RELAT_1:72; set MX = the Mult of X; set MV = the Mult of V; A5: the Mult of X = the Mult of V | [:INT, the carrier of X:] by A2, Def9; ( 0. V = 0. X & the Mult of V = the Mult of X | [:INT, the carrier of V:] ) by A1, Def9; hence V = X by A3, A4, A5, RELAT_1:72; ::_thesis: verum end; theorem Th42: :: ZMODUL01:42 for V, X, Y being Z_Module st V is Submodule of X & X is Submodule of Y holds V is Submodule of Y proof let V, X, Y be Z_Module; ::_thesis: ( V is Submodule of X & X is Submodule of Y implies V is Submodule of Y ) assume that A1: V is Submodule of X and A2: X is Submodule of Y ; ::_thesis: V is Submodule of Y ( the carrier of V c= the carrier of X & the carrier of X c= the carrier of Y ) by A1, A2, Def9; hence the carrier of V c= the carrier of Y by XBOOLE_1:1; :: according to ZMODUL01:def_9 ::_thesis: ( 0. V = 0. Y & the addF of V = the addF of Y || the carrier of V & the Mult of V = the Mult of Y | [:INT, the carrier of V:] ) 0. V = 0. X by A1, Def9; hence 0. V = 0. Y by A2, Def9; ::_thesis: ( the addF of V = the addF of Y || the carrier of V & the Mult of V = the Mult of Y | [:INT, the carrier of V:] ) thus the addF of V = the addF of Y || the carrier of V ::_thesis: the Mult of V = the Mult of Y | [:INT, the carrier of V:] proof set AY = the addF of Y; set VX = the carrier of X; set AX = the addF of X; set VV = the carrier of V; set AV = the addF of V; the carrier of V c= the carrier of X by A1, Def9; then A3: [: the carrier of V, the carrier of V:] c= [: the carrier of X, the carrier of X:] by ZFMISC_1:96; the addF of V = the addF of X || the carrier of V by A1, Def9; then the addF of V = ( the addF of Y || the carrier of X) || the carrier of V by A2, Def9; hence the addF of V = the addF of Y || the carrier of V by A3, FUNCT_1:51; ::_thesis: verum end; set MY = the Mult of Y; set MX = the Mult of X; set MV = the Mult of V; set VX = the carrier of X; set VV = the carrier of V; the carrier of V c= the carrier of X by A1, Def9; then A4: [:INT, the carrier of V:] c= [:INT, the carrier of X:] by ZFMISC_1:95; the Mult of V = the Mult of X | [:INT, the carrier of V:] by A1, Def9; then the Mult of V = ( the Mult of Y | [:INT, the carrier of X:]) | [:INT, the carrier of V:] by A2, Def9; hence the Mult of V = the Mult of Y | [:INT, the carrier of V:] by A4, FUNCT_1:51; ::_thesis: verum end; theorem Th43: :: ZMODUL01:43 for V being Z_Module for W1, W2 being Submodule of V st the carrier of W1 c= the carrier of W2 holds W1 is Submodule of W2 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V st the carrier of W1 c= the carrier of W2 holds W1 is Submodule of W2 let W1, W2 be Submodule of V; ::_thesis: ( the carrier of W1 c= the carrier of W2 implies W1 is Submodule of W2 ) set VW1 = the carrier of W1; set VW2 = the carrier of W2; set AV = the addF of V; set MV = the Mult of V; assume A1: the carrier of W1 c= the carrier of W2 ; ::_thesis: W1 is Submodule of W2 then A2: [: the carrier of W1, the carrier of W1:] c= [: the carrier of W2, the carrier of W2:] by ZFMISC_1:96; 0. W1 = 0. V by Def9; hence ( the carrier of W1 c= the carrier of W2 & 0. W1 = 0. W2 ) by A1, Def9; :: according to ZMODUL01:def_9 ::_thesis: ( the addF of W1 = the addF of W2 || the carrier of W1 & the Mult of W1 = the Mult of W2 | [:INT, the carrier of W1:] ) ( the addF of W1 = the addF of V || the carrier of W1 & the addF of W2 = the addF of V || the carrier of W2 ) by Def9; hence the addF of W1 = the addF of W2 || the carrier of W1 by A2, FUNCT_1:51; ::_thesis: the Mult of W1 = the Mult of W2 | [:INT, the carrier of W1:] A3: [:INT, the carrier of W1:] c= [:INT, the carrier of W2:] by A1, ZFMISC_1:95; ( the Mult of W1 = the Mult of V | [:INT, the carrier of W1:] & the Mult of W2 = the Mult of V | [:INT, the carrier of W2:] ) by Def9; hence the Mult of W1 = the Mult of W2 | [:INT, the carrier of W1:] by A3, FUNCT_1:51; ::_thesis: verum end; theorem :: ZMODUL01:44 for V being Z_Module for W1, W2 being Submodule of V st ( for v being VECTOR of V st v in W1 holds v in W2 ) holds W1 is Submodule of W2 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V st ( for v being VECTOR of V st v in W1 holds v in W2 ) holds W1 is Submodule of W2 let W1, W2 be Submodule of V; ::_thesis: ( ( for v being VECTOR of V st v in W1 holds v in W2 ) implies W1 is Submodule of W2 ) assume A1: for v being VECTOR of V st v in W1 holds v in W2 ; ::_thesis: W1 is Submodule of W2 the carrier of W1 c= the carrier of W2 proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of W1 or x in the carrier of W2 ) assume A2: x in the carrier of W1 ; ::_thesis: x in the carrier of W2 the carrier of W1 c= the carrier of V by Def9; then reconsider v = x as VECTOR of V by A2; v in W1 by A2, STRUCT_0:def_5; then v in W2 by A1; hence x in the carrier of W2 by STRUCT_0:def_5; ::_thesis: verum end; hence W1 is Submodule of W2 by Th43; ::_thesis: verum end; registration let V be Z_Module; cluster non empty left_add-cancelable right_add-cancelable add-cancelable right_complementable Abelian add-associative right_zeroed V129() V130() V131() V132() strict vector-distributive scalar-distributive scalar-associative scalar-unital for Submodule of V; existence ex b1 being Submodule of V st b1 is strict proof ( the carrier of V is Subset of V iff the carrier of V c= the carrier of V ) ; then reconsider V1 = the carrier of V as Subset of V ; ( the addF of V = the addF of V || V1 & the Mult of V = the Mult of V | [:INT,V1:] ) by RELSET_1:19; then Z_ModuleStruct(# the carrier of V,(0. V), the addF of V, the Mult of V #) is Submodule of V by Th40; hence ex b1 being Submodule of V st b1 is strict ; ::_thesis: verum end; end; theorem Th45: :: ZMODUL01:45 for V being Z_Module for W1, W2 being strict Submodule of V st the carrier of W1 = the carrier of W2 holds W1 = W2 proof let V be Z_Module; ::_thesis: for W1, W2 being strict Submodule of V st the carrier of W1 = the carrier of W2 holds W1 = W2 let W1, W2 be strict Submodule of V; ::_thesis: ( the carrier of W1 = the carrier of W2 implies W1 = W2 ) assume the carrier of W1 = the carrier of W2 ; ::_thesis: W1 = W2 then ( W1 is Submodule of W2 & W2 is Submodule of W1 ) by Th43; hence W1 = W2 by Th41; ::_thesis: verum end; theorem Th46: :: ZMODUL01:46 for V being Z_Module for W1, W2 being strict Submodule of V st ( for v being VECTOR of V holds ( v in W1 iff v in W2 ) ) holds W1 = W2 proof let V be Z_Module; ::_thesis: for W1, W2 being strict Submodule of V st ( for v being VECTOR of V holds ( v in W1 iff v in W2 ) ) holds W1 = W2 let W1, W2 be strict Submodule of V; ::_thesis: ( ( for v being VECTOR of V holds ( v in W1 iff v in W2 ) ) implies W1 = W2 ) assume A1: for v being VECTOR of V holds ( v in W1 iff v in W2 ) ; ::_thesis: W1 = W2 for x being set holds ( x in the carrier of W1 iff x in the carrier of W2 ) proof let x be set ; ::_thesis: ( x in the carrier of W1 iff x in the carrier of W2 ) thus ( x in the carrier of W1 implies x in the carrier of W2 ) ::_thesis: ( x in the carrier of W2 implies x in the carrier of W1 ) proof assume A2: x in the carrier of W1 ; ::_thesis: x in the carrier of W2 the carrier of W1 c= the carrier of V by Def9; then reconsider v = x as VECTOR of V by A2; v in W1 by A2, STRUCT_0:def_5; then v in W2 by A1; hence x in the carrier of W2 by STRUCT_0:def_5; ::_thesis: verum end; assume A3: x in the carrier of W2 ; ::_thesis: x in the carrier of W1 the carrier of W2 c= the carrier of V by Def9; then reconsider v = x as VECTOR of V by A3; v in W2 by A3, STRUCT_0:def_5; then v in W1 by A1; hence x in the carrier of W1 by STRUCT_0:def_5; ::_thesis: verum end; then the carrier of W1 = the carrier of W2 by TARSKI:1; hence W1 = W2 by Th45; ::_thesis: verum end; theorem :: ZMODUL01:47 for V being strict Z_Module for W being strict Submodule of V st the carrier of W = the carrier of V holds W = V proof let V be strict Z_Module; ::_thesis: for W being strict Submodule of V st the carrier of W = the carrier of V holds W = V let W be strict Submodule of V; ::_thesis: ( the carrier of W = the carrier of V implies W = V ) assume A1: the carrier of W = the carrier of V ; ::_thesis: W = V V is Submodule of V by Th32; hence W = V by A1, Th45; ::_thesis: verum end; theorem :: ZMODUL01:48 for V being strict Z_Module for W being strict Submodule of V st ( for v being VECTOR of V holds ( v in W iff v in V ) ) holds W = V proof let V be strict Z_Module; ::_thesis: for W being strict Submodule of V st ( for v being VECTOR of V holds ( v in W iff v in V ) ) holds W = V let W be strict Submodule of V; ::_thesis: ( ( for v being VECTOR of V holds ( v in W iff v in V ) ) implies W = V ) assume A1: for v being VECTOR of V holds ( v in W iff v in V ) ; ::_thesis: W = V V is Submodule of V by Th32; hence W = V by A1, Th46; ::_thesis: verum end; theorem :: ZMODUL01:49 for V being Z_Module for V1 being Subset of V for W being Submodule of V st the carrier of W = V1 holds V1 is linearly-closed by Lm3; theorem Th50: :: ZMODUL01:50 for V being Z_Module for V1 being Subset of V st V1 <> {} & V1 is linearly-closed holds ex W being strict Submodule of V st V1 = the carrier of W proof let V be Z_Module; ::_thesis: for V1 being Subset of V st V1 <> {} & V1 is linearly-closed holds ex W being strict Submodule of V st V1 = the carrier of W let V1 be Subset of V; ::_thesis: ( V1 <> {} & V1 is linearly-closed implies ex W being strict Submodule of V st V1 = the carrier of W ) assume that A1: V1 <> {} and A2: V1 is linearly-closed ; ::_thesis: ex W being strict Submodule of V st V1 = the carrier of W reconsider D = V1 as non empty set by A1; set M = the Mult of V | [:INT,V1:]; set VV = the carrier of V; dom the Mult of V = [:INT, the carrier of V:] by FUNCT_2:def_1; then A3: dom ( the Mult of V | [:INT,V1:]) = [:INT, the carrier of V:] /\ [:INT,V1:] by RELAT_1:61; [:INT,V1:] c= [:INT, the carrier of V:] by ZFMISC_1:95; then A4: dom ( the Mult of V | [:INT,V1:]) = [:INT,D:] by A3, XBOOLE_1:28; now__::_thesis:_for_y_being_set_holds_ (_(_y_in_D_implies_ex_x_being_set_st_ (_x_in_dom_(_the_Mult_of_V_|_[:INT,V1:])_&_y_=_(_the_Mult_of_V_|_[:INT,V1:])_._x_)_)_&_(_ex_x_being_set_st_ (_x_in_dom_(_the_Mult_of_V_|_[:INT,V1:])_&_y_=_(_the_Mult_of_V_|_[:INT,V1:])_._x_)_implies_y_in_D_)_) let y be set ; ::_thesis: ( ( y in D implies ex x being set st ( x in dom ( the Mult of V | [:INT,V1:]) & y = ( the Mult of V | [:INT,V1:]) . x ) ) & ( ex x being set st ( x in dom ( the Mult of V | [:INT,V1:]) & y = ( the Mult of V | [:INT,V1:]) . x ) implies y in D ) ) thus ( y in D implies ex x being set st ( x in dom ( the Mult of V | [:INT,V1:]) & y = ( the Mult of V | [:INT,V1:]) . x ) ) ::_thesis: ( ex x being set st ( x in dom ( the Mult of V | [:INT,V1:]) & y = ( the Mult of V | [:INT,V1:]) . x ) implies y in D ) proof assume A5: y in D ; ::_thesis: ex x being set st ( x in dom ( the Mult of V | [:INT,V1:]) & y = ( the Mult of V | [:INT,V1:]) . x ) then reconsider v1 = y as Element of the carrier of V ; reconsider N1 = 1 as Element of INT by INT_1:def_2; A6: [N1,y] in [:INT,D:] by A5, ZFMISC_1:87; then ( the Mult of V | [:INT,V1:]) . [1,y] = 1 * v1 by FUNCT_1:49 .= y by Def5 ; hence ex x being set st ( x in dom ( the Mult of V | [:INT,V1:]) & y = ( the Mult of V | [:INT,V1:]) . x ) by A4, A6; ::_thesis: verum end; given x being set such that A7: x in dom ( the Mult of V | [:INT,V1:]) and A8: y = ( the Mult of V | [:INT,V1:]) . x ; ::_thesis: y in D consider x1, x2 being set such that A9: x1 in INT and A10: x2 in D and A11: x = [x1,x2] by A4, A7, ZFMISC_1:def_2; reconsider xx1 = x1 as Integer by A9; reconsider v2 = x2 as Element of the carrier of V by A10; [x1,x2] in [:INT,V1:] by A9, A10, ZFMISC_1:87; then y = xx1 * v2 by A8, A11, FUNCT_1:49; hence y in D by A2, A10, Def8; ::_thesis: verum end; then D = rng ( the Mult of V | [:INT,V1:]) by FUNCT_1:def_3; then reconsider M = the Mult of V | [:INT,V1:] as Function of [:INT,D:],D by A4, FUNCT_2:def_1, RELSET_1:4; set A = the addF of V || V1; reconsider d1 = 0. V as Element of D by A2, Th18; dom the addF of V = [: the carrier of V, the carrier of V:] by FUNCT_2:def_1; then dom ( the addF of V || V1) = [: the carrier of V, the carrier of V:] /\ [:V1,V1:] by RELAT_1:61; then A12: dom ( the addF of V || V1) = [:D,D:] by XBOOLE_1:28; now__::_thesis:_for_y_being_set_holds_ (_(_y_in_D_implies_ex_x_being_set_st_ (_x_in_dom_(_the_addF_of_V_||_V1)_&_y_=_(_the_addF_of_V_||_V1)_._x_)_)_&_(_ex_x_being_set_st_ (_x_in_dom_(_the_addF_of_V_||_V1)_&_y_=_(_the_addF_of_V_||_V1)_._x_)_implies_y_in_D_)_) let y be set ; ::_thesis: ( ( y in D implies ex x being set st ( x in dom ( the addF of V || V1) & y = ( the addF of V || V1) . x ) ) & ( ex x being set st ( x in dom ( the addF of V || V1) & y = ( the addF of V || V1) . x ) implies y in D ) ) thus ( y in D implies ex x being set st ( x in dom ( the addF of V || V1) & y = ( the addF of V || V1) . x ) ) ::_thesis: ( ex x being set st ( x in dom ( the addF of V || V1) & y = ( the addF of V || V1) . x ) implies y in D ) proof assume A13: y in D ; ::_thesis: ex x being set st ( x in dom ( the addF of V || V1) & y = ( the addF of V || V1) . x ) then reconsider v1 = y, v0 = d1 as Element of the carrier of V ; A14: [d1,y] in [:D,D:] by A13, ZFMISC_1:87; then ( the addF of V || V1) . [d1,y] = v0 + v1 by FUNCT_1:49 .= y by RLVECT_1:4 ; hence ex x being set st ( x in dom ( the addF of V || V1) & y = ( the addF of V || V1) . x ) by A12, A14; ::_thesis: verum end; given x being set such that A15: x in dom ( the addF of V || V1) and A16: y = ( the addF of V || V1) . x ; ::_thesis: y in D consider x1, x2 being set such that A17: ( x1 in D & x2 in D ) and A18: x = [x1,x2] by A12, A15, ZFMISC_1:def_2; reconsider v1 = x1, v2 = x2 as Element of the carrier of V by A17; [x1,x2] in [:V1,V1:] by A17, ZFMISC_1:87; then y = v1 + v2 by A16, A18, FUNCT_1:49; hence y in D by A2, A17, Def8; ::_thesis: verum end; then D = rng ( the addF of V || V1) by FUNCT_1:def_3; then reconsider A = the addF of V || V1 as Function of [:D,D:],D by A12, FUNCT_2:def_1, RELSET_1:4; set W = Z_ModuleStruct(# D,d1,A,M #); Z_ModuleStruct(# D,d1,A,M #) is Submodule of V by Th40; hence ex W being strict Submodule of V st V1 = the carrier of W ; ::_thesis: verum end; definition let V be Z_Module; func (0). V -> strict Submodule of V means :Def10: :: ZMODUL01:def 10 the carrier of it = {(0. V)}; correctness existence ex b1 being strict Submodule of V st the carrier of b1 = {(0. V)}; uniqueness for b1, b2 being strict Submodule of V st the carrier of b1 = {(0. V)} & the carrier of b2 = {(0. V)} holds b1 = b2; by Th45, Th50; end; :: deftheorem Def10 defines (0). ZMODUL01:def_10_:_ for V being Z_Module for b2 being strict Submodule of V holds ( b2 = (0). V iff the carrier of b2 = {(0. V)} ); definition let V be Z_Module; func (Omega). V -> strict Submodule of V equals :: ZMODUL01:def 11 Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #); coherence Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) is strict Submodule of V proof set W = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #); A1: for u, v, w being VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) holds (u + v) + w = u + (v + w) proof let u, v, w be VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #); ::_thesis: (u + v) + w = u + (v + w) reconsider u9 = u, v9 = v, w9 = w as VECTOR of V ; thus (u + v) + w = (u9 + v9) + w9 .= u9 + (v9 + w9) by RLVECT_1:def_3 .= u + (v + w) ; ::_thesis: verum end; A2: for v being VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) holds v + (0. Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #)) = v proof let v be VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #); ::_thesis: v + (0. Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #)) = v reconsider v9 = v as VECTOR of V ; thus v + (0. Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #)) = v9 + (0. V) .= v by RLVECT_1:4 ; ::_thesis: verum end; A3: Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) is right_complementable proof let v be VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #); :: according to ALGSTR_0:def_16 ::_thesis: v is right_complementable reconsider v9 = v as VECTOR of V ; consider w9 being VECTOR of V such that A4: v9 + w9 = 0. V by ALGSTR_0:def_11; reconsider w = w9 as VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) ; take w ; :: according to ALGSTR_0:def_11 ::_thesis: v + w = 0. Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) thus v + w = 0. Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) by A4; ::_thesis: verum end; A5: for a being integer number for v, w being VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) holds a * (v + w) = (a * v) + (a * w) proof let a be integer number ; ::_thesis: for v, w being VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) holds a * (v + w) = (a * v) + (a * w) let v, w be VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #); ::_thesis: a * (v + w) = (a * v) + (a * w) reconsider v9 = v, w9 = w as VECTOR of V ; thus a * (v + w) = a * (v9 + w9) .= (a * v9) + (a * w9) by Def2 .= (a * v) + (a * w) ; ::_thesis: verum end; A6: for a, b being integer number for v being VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) holds (a * b) * v = a * (b * v) proof let a, b be integer number ; ::_thesis: for v being VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) holds (a * b) * v = a * (b * v) let v be VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #); ::_thesis: (a * b) * v = a * (b * v) reconsider v9 = v as VECTOR of V ; thus (a * b) * v = (a * b) * v9 .= a * (b * v9) by Def4 .= a * (b * v) ; ::_thesis: verum end; A7: for a, b being integer number for v being VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) holds (a + b) * v = (a * v) + (b * v) proof let a, b be integer number ; ::_thesis: for v being VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) holds (a + b) * v = (a * v) + (b * v) let v be VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #); ::_thesis: (a + b) * v = (a * v) + (b * v) reconsider v9 = v as VECTOR of V ; thus (a + b) * v = (a + b) * v9 .= (a * v9) + (b * v9) by Def3 .= (a * v) + (b * v) ; ::_thesis: verum end; A8: for a being integer number for v, w being VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) for v9, w9 being VECTOR of V st v = v9 & w = w9 holds ( v + w = v9 + w9 & a * v = a * v9 ) ; A9: for v, w being VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) holds v + w = w + v proof let v, w be VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #); ::_thesis: v + w = w + v reconsider v9 = v, w9 = w as VECTOR of V ; thus v + w = w9 + v9 by A8 .= w + v ; ::_thesis: verum end; for v being VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) holds 1 * v = v proof let v be VECTOR of Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #); ::_thesis: 1 * v = v reconsider v9 = v as VECTOR of V ; thus 1 * v = 1 * v9 .= v by Def5 ; ::_thesis: verum end; then reconsider W = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) as Z_Module by A9, A1, A2, A3, A5, A7, A6, Def2, Def3, Def4, Def5, RLVECT_1:def_2, RLVECT_1:def_3, RLVECT_1:def_4; A10: the Mult of W = the Mult of V | [:INT, the carrier of W:] by RELSET_1:19; ( 0. W = 0. V & the addF of W = the addF of V || the carrier of W ) by RELSET_1:19; hence Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) is strict Submodule of V by A10, Def9; ::_thesis: verum end; end; :: deftheorem defines (Omega). ZMODUL01:def_11_:_ for V being Z_Module holds (Omega). V = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #); theorem Th51: :: ZMODUL01:51 for V being Z_Module for W being Submodule of V holds (0). W = (0). V proof let V be Z_Module; ::_thesis: for W being Submodule of V holds (0). W = (0). V let W be Submodule of V; ::_thesis: (0). W = (0). V ( the carrier of ((0). W) = {(0. W)} & the carrier of ((0). V) = {(0. V)} ) by Def10; then A1: the carrier of ((0). W) = the carrier of ((0). V) by Def9; (0). W is Submodule of V by Th42; hence (0). W = (0). V by A1, Th45; ::_thesis: verum end; theorem Th52: :: ZMODUL01:52 for V being Z_Module for W1, W2 being Submodule of V holds (0). W1 = (0). W2 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds (0). W1 = (0). W2 let W1, W2 be Submodule of V; ::_thesis: (0). W1 = (0). W2 (0). W1 = (0). V by Th51; hence (0). W1 = (0). W2 by Th51; ::_thesis: verum end; theorem :: ZMODUL01:53 for V being Z_Module for W being Submodule of V holds (0). W is Submodule of V by Th42; theorem Th54: :: ZMODUL01:54 for V being Z_Module for W being Submodule of V holds (0). V is Submodule of W proof let V be Z_Module; ::_thesis: for W being Submodule of V holds (0). V is Submodule of W let W be Submodule of V; ::_thesis: (0). V is Submodule of W the carrier of ((0). V) = {(0. V)} by Def10 .= {(0. W)} by Def9 ; hence (0). V is Submodule of W by Th43; ::_thesis: verum end; theorem :: ZMODUL01:55 for V being Z_Module for W1, W2 being Submodule of V holds (0). W1 is Submodule of W2 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds (0). W1 is Submodule of W2 let W1, W2 be Submodule of V; ::_thesis: (0). W1 is Submodule of W2 (0). W1 = (0). W2 by Th52; hence (0). W1 is Submodule of W2 ; ::_thesis: verum end; theorem :: ZMODUL01:56 for V being strict Z_Module holds V is Submodule of (Omega). V ; definition let V be Z_Module; let v be VECTOR of V; let W be Submodule of V; funcv + W -> Subset of V equals :: ZMODUL01:def 12 { (v + u) where u is VECTOR of V : u in W } ; coherence { (v + u) where u is VECTOR of V : u in W } is Subset of V proof set Y = { (v + u) where u is VECTOR of V : u in W } ; defpred S1[ set ] means ex u being VECTOR of V st ( $1 = v + u & u in W ); consider X being set such that A1: for x being set holds ( x in X iff ( x in the carrier of V & S1[x] ) ) from XBOOLE_0:sch_1(); X c= the carrier of V proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in X or x in the carrier of V ) assume x in X ; ::_thesis: x in the carrier of V hence x in the carrier of V by A1; ::_thesis: verum end; then reconsider X = X as Subset of V ; A2: { (v + u) where u is VECTOR of V : u in W } c= X proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { (v + u) where u is VECTOR of V : u in W } or x in X ) assume x in { (v + u) where u is VECTOR of V : u in W } ; ::_thesis: x in X then ex u being VECTOR of V st ( x = v + u & u in W ) ; hence x in X by A1; ::_thesis: verum end; X c= { (v + u) where u is VECTOR of V : u in W } proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in X or x in { (v + u) where u is VECTOR of V : u in W } ) assume x in X ; ::_thesis: x in { (v + u) where u is VECTOR of V : u in W } then ex u being VECTOR of V st ( x = v + u & u in W ) by A1; hence x in { (v + u) where u is VECTOR of V : u in W } ; ::_thesis: verum end; hence { (v + u) where u is VECTOR of V : u in W } is Subset of V by A2, XBOOLE_0:def_10; ::_thesis: verum end; end; :: deftheorem defines + ZMODUL01:def_12_:_ for V being Z_Module for v being VECTOR of V for W being Submodule of V holds v + W = { (v + u) where u is VECTOR of V : u in W } ; Lm4: for V being Z_Module for W being Submodule of V holds (0. V) + W = the carrier of W proof let V be Z_Module; ::_thesis: for W being Submodule of V holds (0. V) + W = the carrier of W let W be Submodule of V; ::_thesis: (0. V) + W = the carrier of W set A = { ((0. V) + u) where u is VECTOR of V : u in W } ; A1: the carrier of W c= { ((0. V) + u) where u is VECTOR of V : u in W } proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of W or x in { ((0. V) + u) where u is VECTOR of V : u in W } ) assume x in the carrier of W ; ::_thesis: x in { ((0. V) + u) where u is VECTOR of V : u in W } then A2: x in W by STRUCT_0:def_5; then x in V by Th24; then reconsider y = x as Element of V by STRUCT_0:def_5; (0. V) + y = x by RLVECT_1:4; hence x in { ((0. V) + u) where u is VECTOR of V : u in W } by A2; ::_thesis: verum end; { ((0. V) + u) where u is VECTOR of V : u in W } c= the carrier of W proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { ((0. V) + u) where u is VECTOR of V : u in W } or x in the carrier of W ) assume x in { ((0. V) + u) where u is VECTOR of V : u in W } ; ::_thesis: x in the carrier of W then consider u being VECTOR of V such that A3: x = (0. V) + u and A4: u in W ; x = u by A3, RLVECT_1:4; hence x in the carrier of W by A4, STRUCT_0:def_5; ::_thesis: verum end; hence (0. V) + W = the carrier of W by A1, XBOOLE_0:def_10; ::_thesis: verum end; definition let V be Z_Module; let W be Submodule of V; mode Coset of W -> Subset of V means :Def13: :: ZMODUL01:def 13 ex v being VECTOR of V st it = v + W; existence ex b1 being Subset of V ex v being VECTOR of V st b1 = v + W proof reconsider VW = the carrier of W as Subset of V by Def9; take VW ; ::_thesis: ex v being VECTOR of V st VW = v + W take 0. V ; ::_thesis: VW = (0. V) + W thus VW = (0. V) + W by Lm4; ::_thesis: verum end; end; :: deftheorem Def13 defines Coset ZMODUL01:def_13_:_ for V being Z_Module for W being Submodule of V for b3 being Subset of V holds ( b3 is Coset of W iff ex v being VECTOR of V st b3 = v + W ); theorem Th57: :: ZMODUL01:57 for V being Z_Module for v being VECTOR of V for W being Submodule of V holds ( 0. V in v + W iff v in W ) proof let V be Z_Module; ::_thesis: for v being VECTOR of V for W being Submodule of V holds ( 0. V in v + W iff v in W ) let v be VECTOR of V; ::_thesis: for W being Submodule of V holds ( 0. V in v + W iff v in W ) let W be Submodule of V; ::_thesis: ( 0. V in v + W iff v in W ) thus ( 0. V in v + W implies v in W ) ::_thesis: ( v in W implies 0. V in v + W ) proof assume 0. V in v + W ; ::_thesis: v in W then consider u being VECTOR of V such that A1: 0. V = v + u and A2: u in W ; v = - u by A1, RLVECT_1:def_10; hence v in W by A2, Th38; ::_thesis: verum end; assume v in W ; ::_thesis: 0. V in v + W then A3: - v in W by Th38; 0. V = v - v by RLVECT_1:15 .= v + (- v) ; hence 0. V in v + W by A3; ::_thesis: verum end; theorem Th58: :: ZMODUL01:58 for V being Z_Module for v being VECTOR of V for W being Submodule of V holds v in v + W proof let V be Z_Module; ::_thesis: for v being VECTOR of V for W being Submodule of V holds v in v + W let v be VECTOR of V; ::_thesis: for W being Submodule of V holds v in v + W let W be Submodule of V; ::_thesis: v in v + W ( v + (0. V) = v & 0. V in W ) by Th33, RLVECT_1:4; hence v in v + W ; ::_thesis: verum end; theorem :: ZMODUL01:59 for V being Z_Module for W being Submodule of V holds (0. V) + W = the carrier of W by Lm4; theorem Th60: :: ZMODUL01:60 for V being Z_Module for v being VECTOR of V holds v + ((0). V) = {v} proof let V be Z_Module; ::_thesis: for v being VECTOR of V holds v + ((0). V) = {v} let v be VECTOR of V; ::_thesis: v + ((0). V) = {v} thus v + ((0). V) c= {v} :: according to XBOOLE_0:def_10 ::_thesis: {v} c= v + ((0). V) proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in v + ((0). V) or x in {v} ) assume x in v + ((0). V) ; ::_thesis: x in {v} then consider u being VECTOR of V such that A1: x = v + u and A2: u in (0). V ; A3: the carrier of ((0). V) = {(0. V)} by Def10; u in the carrier of ((0). V) by A2, STRUCT_0:def_5; then u = 0. V by A3, TARSKI:def_1; then x = v by A1, RLVECT_1:4; hence x in {v} by TARSKI:def_1; ::_thesis: verum end; let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in {v} or x in v + ((0). V) ) assume x in {v} ; ::_thesis: x in v + ((0). V) then A4: x = v by TARSKI:def_1; ( 0. V in (0). V & v = v + (0. V) ) by Th33, RLVECT_1:4; hence x in v + ((0). V) by A4; ::_thesis: verum end; Lm5: for V being Z_Module for v being VECTOR of V for W being Submodule of V holds ( v in W iff v + W = the carrier of W ) proof let V be Z_Module; ::_thesis: for v being VECTOR of V for W being Submodule of V holds ( v in W iff v + W = the carrier of W ) let v be VECTOR of V; ::_thesis: for W being Submodule of V holds ( v in W iff v + W = the carrier of W ) let W be Submodule of V; ::_thesis: ( v in W iff v + W = the carrier of W ) ( 0. V in W & v + (0. V) = v ) by Th33, RLVECT_1:4; then A1: v in { (v + u) where u is VECTOR of V : u in W } ; thus ( v in W implies v + W = the carrier of W ) ::_thesis: ( v + W = the carrier of W implies v in W ) proof assume A2: v in W ; ::_thesis: v + W = the carrier of W thus v + W c= the carrier of W :: according to XBOOLE_0:def_10 ::_thesis: the carrier of W c= v + W proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in v + W or x in the carrier of W ) assume x in v + W ; ::_thesis: x in the carrier of W then consider u being VECTOR of V such that A3: x = v + u and A4: u in W ; v + u in W by A2, A4, Th36; hence x in the carrier of W by A3, STRUCT_0:def_5; ::_thesis: verum end; let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of W or x in v + W ) assume x in the carrier of W ; ::_thesis: x in v + W then reconsider y = x, z = v as Element of W by A2, STRUCT_0:def_5; reconsider y1 = y, z1 = z as VECTOR of V by Th25; A5: z + (y - z) = (y + z) - z by RLVECT_1:def_3 .= y + (z - z) by RLVECT_1:def_3 .= y + (0. W) by RLVECT_1:15 .= x by RLVECT_1:4 ; y - z in W by STRUCT_0:def_5; then A6: y1 - z1 in W by Th31; y - z = y1 - z1 by Th31; then z1 + (y1 - z1) = x by A5, Th28; hence x in v + W by A6; ::_thesis: verum end; thus ( v + W = the carrier of W implies v in W ) by A1, STRUCT_0:def_5; ::_thesis: verum end; theorem Th61: :: ZMODUL01:61 for V being Z_Module for v being VECTOR of V holds v + ((Omega). V) = the carrier of V proof let V be Z_Module; ::_thesis: for v being VECTOR of V holds v + ((Omega). V) = the carrier of V let v be VECTOR of V; ::_thesis: v + ((Omega). V) = the carrier of V v in (Omega). V by STRUCT_0:def_5; hence v + ((Omega). V) = the carrier of V by Lm5; ::_thesis: verum end; theorem Th62: :: ZMODUL01:62 for V being Z_Module for v being VECTOR of V for W being Submodule of V holds ( 0. V in v + W iff v + W = the carrier of W ) proof let V be Z_Module; ::_thesis: for v being VECTOR of V for W being Submodule of V holds ( 0. V in v + W iff v + W = the carrier of W ) let v be VECTOR of V; ::_thesis: for W being Submodule of V holds ( 0. V in v + W iff v + W = the carrier of W ) let W be Submodule of V; ::_thesis: ( 0. V in v + W iff v + W = the carrier of W ) ( 0. V in v + W iff v in W ) by Th57; hence ( 0. V in v + W iff v + W = the carrier of W ) by Lm5; ::_thesis: verum end; theorem :: ZMODUL01:63 for V being Z_Module for v being VECTOR of V for W being Submodule of V holds ( v in W iff v + W = the carrier of W ) by Lm5; theorem :: ZMODUL01:64 for V being Z_Module for v being VECTOR of V for a being integer number for W being Submodule of V st v in W holds (a * v) + W = the carrier of W proof let V be Z_Module; ::_thesis: for v being VECTOR of V for a being integer number for W being Submodule of V st v in W holds (a * v) + W = the carrier of W let v be VECTOR of V; ::_thesis: for a being integer number for W being Submodule of V st v in W holds (a * v) + W = the carrier of W let a be integer number ; ::_thesis: for W being Submodule of V st v in W holds (a * v) + W = the carrier of W let W be Submodule of V; ::_thesis: ( v in W implies (a * v) + W = the carrier of W ) assume A1: v in W ; ::_thesis: (a * v) + W = the carrier of W thus (a * v) + W c= the carrier of W :: according to XBOOLE_0:def_10 ::_thesis: the carrier of W c= (a * v) + W proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in (a * v) + W or x in the carrier of W ) assume x in (a * v) + W ; ::_thesis: x in the carrier of W then consider u being VECTOR of V such that A2: x = (a * v) + u and A3: u in W ; a * v in W by A1, Th37; then (a * v) + u in W by A3, Th36; hence x in the carrier of W by A2, STRUCT_0:def_5; ::_thesis: verum end; let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of W or x in (a * v) + W ) assume A4: x in the carrier of W ; ::_thesis: x in (a * v) + W then A5: x in W by STRUCT_0:def_5; the carrier of W c= the carrier of V by Def9; then reconsider y = x as Element of V by A4; A6: (a * v) + (y - (a * v)) = (y + (a * v)) - (a * v) by RLVECT_1:def_3 .= y + ((a * v) - (a * v)) by RLVECT_1:def_3 .= y + (0. V) by RLVECT_1:15 .= x by RLVECT_1:4 ; a * v in W by A1, Th37; then y - (a * v) in W by A5, Th39; hence x in (a * v) + W by A6; ::_thesis: verum end; theorem Th65: :: ZMODUL01:65 for V being Z_Module for u, v being VECTOR of V for W being Submodule of V holds ( u in W iff v + W = (v + u) + W ) proof let V be Z_Module; ::_thesis: for u, v being VECTOR of V for W being Submodule of V holds ( u in W iff v + W = (v + u) + W ) let u, v be VECTOR of V; ::_thesis: for W being Submodule of V holds ( u in W iff v + W = (v + u) + W ) let W be Submodule of V; ::_thesis: ( u in W iff v + W = (v + u) + W ) thus ( u in W implies v + W = (v + u) + W ) ::_thesis: ( v + W = (v + u) + W implies u in W ) proof assume A1: u in W ; ::_thesis: v + W = (v + u) + W thus v + W c= (v + u) + W :: according to XBOOLE_0:def_10 ::_thesis: (v + u) + W c= v + W proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in v + W or x in (v + u) + W ) assume x in v + W ; ::_thesis: x in (v + u) + W then consider v1 being VECTOR of V such that A2: x = v + v1 and A3: v1 in W ; A4: (v + u) + (v1 - u) = v + (u + (v1 - u)) by RLVECT_1:def_3 .= v + ((v1 + u) - u) by RLVECT_1:def_3 .= v + (v1 + (u - u)) by RLVECT_1:def_3 .= v + (v1 + (0. V)) by RLVECT_1:15 .= x by A2, RLVECT_1:4 ; v1 - u in W by A1, A3, Th39; hence x in (v + u) + W by A4; ::_thesis: verum end; let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in (v + u) + W or x in v + W ) assume x in (v + u) + W ; ::_thesis: x in v + W then consider v2 being VECTOR of V such that A5: x = (v + u) + v2 and A6: v2 in W ; A7: x = v + (u + v2) by A5, RLVECT_1:def_3; u + v2 in W by A1, A6, Th36; hence x in v + W by A7; ::_thesis: verum end; assume A8: v + W = (v + u) + W ; ::_thesis: u in W ( 0. V in W & v + (0. V) = v ) by Th33, RLVECT_1:4; then v in (v + u) + W by A8; then consider u1 being VECTOR of V such that A9: v = (v + u) + u1 and A10: u1 in W ; ( v = v + (0. V) & v = v + (u + u1) ) by A9, RLVECT_1:4, RLVECT_1:def_3; then u + u1 = 0. V by RLVECT_1:8; then u = - u1 by RLVECT_1:def_10; hence u in W by A10, Th38; ::_thesis: verum end; theorem :: ZMODUL01:66 for V being Z_Module for u, v being VECTOR of V for W being Submodule of V holds ( u in W iff v + W = (v - u) + W ) proof let V be Z_Module; ::_thesis: for u, v being VECTOR of V for W being Submodule of V holds ( u in W iff v + W = (v - u) + W ) let u, v be VECTOR of V; ::_thesis: for W being Submodule of V holds ( u in W iff v + W = (v - u) + W ) let W be Submodule of V; ::_thesis: ( u in W iff v + W = (v - u) + W ) A1: ( - u in W implies u in W ) proof assume - u in W ; ::_thesis: u in W then - (- u) in W by Th38; hence u in W by RLVECT_1:17; ::_thesis: verum end; ( - u in W iff v + W = (v + (- u)) + W ) by Th65; hence ( u in W iff v + W = (v - u) + W ) by A1, Th38; ::_thesis: verum end; theorem Th67: :: ZMODUL01:67 for V being Z_Module for v, u being VECTOR of V for W being Submodule of V holds ( v in u + W iff u + W = v + W ) proof let V be Z_Module; ::_thesis: for v, u being VECTOR of V for W being Submodule of V holds ( v in u + W iff u + W = v + W ) let v, u be VECTOR of V; ::_thesis: for W being Submodule of V holds ( v in u + W iff u + W = v + W ) let W be Submodule of V; ::_thesis: ( v in u + W iff u + W = v + W ) thus ( v in u + W implies u + W = v + W ) ::_thesis: ( u + W = v + W implies v in u + W ) proof assume v in u + W ; ::_thesis: u + W = v + W then consider z being VECTOR of V such that A1: v = u + z and A2: z in W ; thus u + W c= v + W :: according to XBOOLE_0:def_10 ::_thesis: v + W c= u + W proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in u + W or x in v + W ) assume x in u + W ; ::_thesis: x in v + W then consider v1 being VECTOR of V such that A3: x = u + v1 and A4: v1 in W ; v - z = u + (z - z) by A1, RLVECT_1:def_3 .= u + (0. V) by RLVECT_1:15 .= u by RLVECT_1:4 ; then A5: x = v + (v1 + (- z)) by A3, RLVECT_1:def_3 .= v + (v1 - z) ; v1 - z in W by A2, A4, Th39; hence x in v + W by A5; ::_thesis: verum end; let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in v + W or x in u + W ) assume x in v + W ; ::_thesis: x in u + W then consider v2 being VECTOR of V such that A6: ( x = v + v2 & v2 in W ) ; ( z + v2 in W & x = u + (z + v2) ) by A1, A2, A6, Th36, RLVECT_1:def_3; hence x in u + W ; ::_thesis: verum end; thus ( u + W = v + W implies v in u + W ) by Th58; ::_thesis: verum end; theorem Th68: :: ZMODUL01:68 for V being Z_Module for u, v1, v2 being VECTOR of V for W being Submodule of V st u in v1 + W & u in v2 + W holds v1 + W = v2 + W proof let V be Z_Module; ::_thesis: for u, v1, v2 being VECTOR of V for W being Submodule of V st u in v1 + W & u in v2 + W holds v1 + W = v2 + W let u, v1, v2 be VECTOR of V; ::_thesis: for W being Submodule of V st u in v1 + W & u in v2 + W holds v1 + W = v2 + W let W be Submodule of V; ::_thesis: ( u in v1 + W & u in v2 + W implies v1 + W = v2 + W ) assume that A1: u in v1 + W and A2: u in v2 + W ; ::_thesis: v1 + W = v2 + W consider x1 being VECTOR of V such that A3: u = v1 + x1 and A4: x1 in W by A1; consider x2 being VECTOR of V such that A5: u = v2 + x2 and A6: x2 in W by A2; thus v1 + W c= v2 + W :: according to XBOOLE_0:def_10 ::_thesis: v2 + W c= v1 + W proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in v1 + W or x in v2 + W ) assume x in v1 + W ; ::_thesis: x in v2 + W then consider u1 being VECTOR of V such that A7: x = v1 + u1 and A8: u1 in W ; x2 - x1 in W by A4, A6, Th39; then A9: (x2 - x1) + u1 in W by A8, Th36; u - x1 = v1 + (x1 - x1) by A3, RLVECT_1:def_3 .= v1 + (0. V) by RLVECT_1:15 .= v1 by RLVECT_1:4 ; then x = (v2 + (x2 - x1)) + u1 by A5, A7, RLVECT_1:def_3 .= v2 + ((x2 - x1) + u1) by RLVECT_1:def_3 ; hence x in v2 + W by A9; ::_thesis: verum end; let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in v2 + W or x in v1 + W ) assume x in v2 + W ; ::_thesis: x in v1 + W then consider u1 being VECTOR of V such that A10: x = v2 + u1 and A11: u1 in W ; x1 - x2 in W by A4, A6, Th39; then A12: (x1 - x2) + u1 in W by A11, Th36; u - x2 = v2 + (x2 - x2) by A5, RLVECT_1:def_3 .= v2 + (0. V) by RLVECT_1:15 .= v2 by RLVECT_1:4 ; then x = (v1 + (x1 - x2)) + u1 by A3, A10, RLVECT_1:def_3 .= v1 + ((x1 - x2) + u1) by RLVECT_1:def_3 ; hence x in v1 + W by A12; ::_thesis: verum end; theorem :: ZMODUL01:69 for V being Z_Module for v being VECTOR of V for a being integer number for W being Submodule of V st v in W holds a * v in v + W proof let V be Z_Module; ::_thesis: for v being VECTOR of V for a being integer number for W being Submodule of V st v in W holds a * v in v + W let v be VECTOR of V; ::_thesis: for a being integer number for W being Submodule of V st v in W holds a * v in v + W let a be integer number ; ::_thesis: for W being Submodule of V st v in W holds a * v in v + W let W be Submodule of V; ::_thesis: ( v in W implies a * v in v + W ) assume v in W ; ::_thesis: a * v in v + W then A1: (a - 1) * v in W by Th37; a * v = ((a - 1) + 1) * v .= ((a - 1) * v) + (1 * v) by Def3 .= v + ((a - 1) * v) by Def5 ; hence a * v in v + W by A1; ::_thesis: verum end; theorem Th70: :: ZMODUL01:70 for V being Z_Module for u, v being VECTOR of V for W being Submodule of V holds ( u + v in v + W iff u in W ) proof let V be Z_Module; ::_thesis: for u, v being VECTOR of V for W being Submodule of V holds ( u + v in v + W iff u in W ) let u, v be VECTOR of V; ::_thesis: for W being Submodule of V holds ( u + v in v + W iff u in W ) let W be Submodule of V; ::_thesis: ( u + v in v + W iff u in W ) thus ( u + v in v + W implies u in W ) ::_thesis: ( u in W implies u + v in v + W ) proof assume u + v in v + W ; ::_thesis: u in W then ex v1 being VECTOR of V st ( u + v = v + v1 & v1 in W ) ; hence u in W by RLVECT_1:8; ::_thesis: verum end; assume u in W ; ::_thesis: u + v in v + W hence u + v in v + W ; ::_thesis: verum end; theorem :: ZMODUL01:71 for V being Z_Module for v, u being VECTOR of V for W being Submodule of V holds ( v - u in v + W iff u in W ) proof let V be Z_Module; ::_thesis: for v, u being VECTOR of V for W being Submodule of V holds ( v - u in v + W iff u in W ) let v, u be VECTOR of V; ::_thesis: for W being Submodule of V holds ( v - u in v + W iff u in W ) let W be Submodule of V; ::_thesis: ( v - u in v + W iff u in W ) A1: v - u = (- u) + v ; A2: ( - u in W implies - (- u) in W ) by Th38; ( u in W implies - u in W ) by Th38; hence ( v - u in v + W iff u in W ) by A1, A2, Th70, RLVECT_1:17; ::_thesis: verum end; theorem Th72: :: ZMODUL01:72 for V being Z_Module for u, v being VECTOR of V for W being Submodule of V holds ( u in v + W iff ex v1 being VECTOR of V st ( v1 in W & u = v + v1 ) ) proof let V be Z_Module; ::_thesis: for u, v being VECTOR of V for W being Submodule of V holds ( u in v + W iff ex v1 being VECTOR of V st ( v1 in W & u = v + v1 ) ) let u, v be VECTOR of V; ::_thesis: for W being Submodule of V holds ( u in v + W iff ex v1 being VECTOR of V st ( v1 in W & u = v + v1 ) ) let W be Submodule of V; ::_thesis: ( u in v + W iff ex v1 being VECTOR of V st ( v1 in W & u = v + v1 ) ) thus ( u in v + W implies ex v1 being VECTOR of V st ( v1 in W & u = v + v1 ) ) ::_thesis: ( ex v1 being VECTOR of V st ( v1 in W & u = v + v1 ) implies u in v + W ) proof assume u in v + W ; ::_thesis: ex v1 being VECTOR of V st ( v1 in W & u = v + v1 ) then ex v1 being VECTOR of V st ( u = v + v1 & v1 in W ) ; hence ex v1 being VECTOR of V st ( v1 in W & u = v + v1 ) ; ::_thesis: verum end; given v1 being VECTOR of V such that A1: ( v1 in W & u = v + v1 ) ; ::_thesis: u in v + W thus u in v + W by A1; ::_thesis: verum end; theorem Th73: :: ZMODUL01:73 for V being Z_Module for u, v being VECTOR of V for W being Submodule of V holds ( u in v + W iff ex v1 being VECTOR of V st ( v1 in W & u = v - v1 ) ) proof let V be Z_Module; ::_thesis: for u, v being VECTOR of V for W being Submodule of V holds ( u in v + W iff ex v1 being VECTOR of V st ( v1 in W & u = v - v1 ) ) let u, v be VECTOR of V; ::_thesis: for W being Submodule of V holds ( u in v + W iff ex v1 being VECTOR of V st ( v1 in W & u = v - v1 ) ) let W be Submodule of V; ::_thesis: ( u in v + W iff ex v1 being VECTOR of V st ( v1 in W & u = v - v1 ) ) thus ( u in v + W implies ex v1 being VECTOR of V st ( v1 in W & u = v - v1 ) ) ::_thesis: ( ex v1 being VECTOR of V st ( v1 in W & u = v - v1 ) implies u in v + W ) proof assume u in v + W ; ::_thesis: ex v1 being VECTOR of V st ( v1 in W & u = v - v1 ) then consider v1 being VECTOR of V such that A1: u = v + v1 and A2: v1 in W ; take x = - v1; ::_thesis: ( x in W & u = v - x ) thus x in W by A2, Th38; ::_thesis: u = v - x thus u = v - x by A1, RLVECT_1:17; ::_thesis: verum end; given v1 being VECTOR of V such that A3: v1 in W and A4: u = v - v1 ; ::_thesis: u in v + W - v1 in W by A3, Th38; hence u in v + W by A4; ::_thesis: verum end; theorem Th74: :: ZMODUL01:74 for V being Z_Module for v1, v2 being VECTOR of V for W being Submodule of V holds ( ex v being VECTOR of V st ( v1 in v + W & v2 in v + W ) iff v1 - v2 in W ) proof let V be Z_Module; ::_thesis: for v1, v2 being VECTOR of V for W being Submodule of V holds ( ex v being VECTOR of V st ( v1 in v + W & v2 in v + W ) iff v1 - v2 in W ) let v1, v2 be VECTOR of V; ::_thesis: for W being Submodule of V holds ( ex v being VECTOR of V st ( v1 in v + W & v2 in v + W ) iff v1 - v2 in W ) let W be Submodule of V; ::_thesis: ( ex v being VECTOR of V st ( v1 in v + W & v2 in v + W ) iff v1 - v2 in W ) thus ( ex v being VECTOR of V st ( v1 in v + W & v2 in v + W ) implies v1 - v2 in W ) ::_thesis: ( v1 - v2 in W implies ex v being VECTOR of V st ( v1 in v + W & v2 in v + W ) ) proof given v being VECTOR of V such that A1: v1 in v + W and A2: v2 in v + W ; ::_thesis: v1 - v2 in W consider u2 being VECTOR of V such that A3: u2 in W and A4: v2 = v + u2 by A2, Th72; consider u1 being VECTOR of V such that A5: u1 in W and A6: v1 = v + u1 by A1, Th72; v1 - v2 = (u1 + v) + ((- v) - u2) by A6, A4, RLVECT_1:30 .= ((u1 + v) + (- v)) - u2 by RLVECT_1:def_3 .= (u1 + (v + (- v))) - u2 by RLVECT_1:def_3 .= (u1 + (0. V)) - u2 by RLVECT_1:5 .= u1 - u2 by RLVECT_1:4 ; hence v1 - v2 in W by A5, A3, Th39; ::_thesis: verum end; assume v1 - v2 in W ; ::_thesis: ex v being VECTOR of V st ( v1 in v + W & v2 in v + W ) then A7: - (v1 - v2) in W by Th38; take v1 ; ::_thesis: ( v1 in v1 + W & v2 in v1 + W ) thus v1 in v1 + W by Th58; ::_thesis: v2 in v1 + W v1 + (- (v1 - v2)) = v1 + ((- v1) + v2) by RLVECT_1:33 .= (v1 + (- v1)) + v2 by RLVECT_1:def_3 .= (0. V) + v2 by RLVECT_1:5 .= v2 by RLVECT_1:4 ; hence v2 in v1 + W by A7; ::_thesis: verum end; theorem Th75: :: ZMODUL01:75 for V being Z_Module for v, u being VECTOR of V for W being Submodule of V st v + W = u + W holds ex v1 being VECTOR of V st ( v1 in W & v + v1 = u ) proof let V be Z_Module; ::_thesis: for v, u being VECTOR of V for W being Submodule of V st v + W = u + W holds ex v1 being VECTOR of V st ( v1 in W & v + v1 = u ) let v, u be VECTOR of V; ::_thesis: for W being Submodule of V st v + W = u + W holds ex v1 being VECTOR of V st ( v1 in W & v + v1 = u ) let W be Submodule of V; ::_thesis: ( v + W = u + W implies ex v1 being VECTOR of V st ( v1 in W & v + v1 = u ) ) assume v + W = u + W ; ::_thesis: ex v1 being VECTOR of V st ( v1 in W & v + v1 = u ) then v in u + W by Th58; then consider u1 being VECTOR of V such that A1: v = u + u1 and A2: u1 in W ; take v1 = u - v; ::_thesis: ( v1 in W & v + v1 = u ) 0. V = (u + u1) - v by A1, RLVECT_1:15 .= u1 + (u - v) by RLVECT_1:def_3 ; then v1 = - u1 by RLVECT_1:def_10; hence v1 in W by A2, Th38; ::_thesis: v + v1 = u thus v + v1 = (u + v) - v by RLVECT_1:def_3 .= u + (v - v) by RLVECT_1:def_3 .= u + (0. V) by RLVECT_1:15 .= u by RLVECT_1:4 ; ::_thesis: verum end; theorem Th76: :: ZMODUL01:76 for V being Z_Module for v, u being VECTOR of V for W being Submodule of V st v + W = u + W holds ex v1 being VECTOR of V st ( v1 in W & v - v1 = u ) proof let V be Z_Module; ::_thesis: for v, u being VECTOR of V for W being Submodule of V st v + W = u + W holds ex v1 being VECTOR of V st ( v1 in W & v - v1 = u ) let v, u be VECTOR of V; ::_thesis: for W being Submodule of V st v + W = u + W holds ex v1 being VECTOR of V st ( v1 in W & v - v1 = u ) let W be Submodule of V; ::_thesis: ( v + W = u + W implies ex v1 being VECTOR of V st ( v1 in W & v - v1 = u ) ) assume v + W = u + W ; ::_thesis: ex v1 being VECTOR of V st ( v1 in W & v - v1 = u ) then u in v + W by Th58; then consider u1 being VECTOR of V such that A1: u = v + u1 and A2: u1 in W ; take v1 = v - u; ::_thesis: ( v1 in W & v - v1 = u ) 0. V = (v + u1) - u by A1, RLVECT_1:15 .= u1 + (v - u) by RLVECT_1:def_3 ; then v1 = - u1 by RLVECT_1:def_10; hence v1 in W by A2, Th38; ::_thesis: v - v1 = u thus v - v1 = (v - v) + u by RLVECT_1:29 .= (0. V) + u by RLVECT_1:15 .= u by RLVECT_1:4 ; ::_thesis: verum end; theorem Th77: :: ZMODUL01:77 for V being Z_Module for v being VECTOR of V for W1, W2 being strict Submodule of V st v + W1 = v + W2 holds W1 = W2 proof let V be Z_Module; ::_thesis: for v being VECTOR of V for W1, W2 being strict Submodule of V st v + W1 = v + W2 holds W1 = W2 let v be VECTOR of V; ::_thesis: for W1, W2 being strict Submodule of V st v + W1 = v + W2 holds W1 = W2 let W1, W2 be strict Submodule of V; ::_thesis: ( v + W1 = v + W2 implies W1 = W2 ) assume A1: v + W1 = v + W2 ; ::_thesis: W1 = W2 the carrier of W1 = the carrier of W2 proof A2: the carrier of W1 c= the carrier of V by Def9; thus the carrier of W1 c= the carrier of W2 :: according to XBOOLE_0:def_10 ::_thesis: the carrier of W2 c= the carrier of W1 proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of W1 or x in the carrier of W2 ) assume A3: x in the carrier of W1 ; ::_thesis: x in the carrier of W2 then reconsider y = x as Element of V by A2; set z = v + y; x in W1 by A3, STRUCT_0:def_5; then v + y in v + W2 by A1; then consider u being VECTOR of V such that A4: v + y = v + u and A5: u in W2 ; y = u by A4, RLVECT_1:8; hence x in the carrier of W2 by A5, STRUCT_0:def_5; ::_thesis: verum end; let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of W2 or x in the carrier of W1 ) assume A6: x in the carrier of W2 ; ::_thesis: x in the carrier of W1 the carrier of W2 c= the carrier of V by Def9; then reconsider y = x as Element of V by A6; set z = v + y; x in W2 by A6, STRUCT_0:def_5; then v + y in v + W1 by A1; then consider u being VECTOR of V such that A7: v + y = v + u and A8: u in W1 ; y = u by A7, RLVECT_1:8; hence x in the carrier of W1 by A8, STRUCT_0:def_5; ::_thesis: verum end; hence W1 = W2 by Th45; ::_thesis: verum end; theorem Th78: :: ZMODUL01:78 for V being Z_Module for v, u being VECTOR of V for W1, W2 being strict Submodule of V st v + W1 = u + W2 holds W1 = W2 proof let V be Z_Module; ::_thesis: for v, u being VECTOR of V for W1, W2 being strict Submodule of V st v + W1 = u + W2 holds W1 = W2 let v, u be VECTOR of V; ::_thesis: for W1, W2 being strict Submodule of V st v + W1 = u + W2 holds W1 = W2 let W1, W2 be strict Submodule of V; ::_thesis: ( v + W1 = u + W2 implies W1 = W2 ) assume A1: v + W1 = u + W2 ; ::_thesis: W1 = W2 set V2 = the carrier of W2; set V1 = the carrier of W1; assume A2: W1 <> W2 ; ::_thesis: contradiction A3: now__::_thesis:_not_the_carrier_of_W1_\_the_carrier_of_W2_<>_{} set x = the Element of the carrier of W1 \ the carrier of W2; assume the carrier of W1 \ the carrier of W2 <> {} ; ::_thesis: contradiction then the Element of the carrier of W1 \ the carrier of W2 in the carrier of W1 by XBOOLE_0:def_5; then A4: the Element of the carrier of W1 \ the carrier of W2 in W1 by STRUCT_0:def_5; then the Element of the carrier of W1 \ the carrier of W2 in V by Th24; then reconsider x = the Element of the carrier of W1 \ the carrier of W2 as Element of V by STRUCT_0:def_5; set z = v + x; v + x in u + W2 by A1, A4; then consider u1 being VECTOR of V such that A5: v + x = u + u1 and A6: u1 in W2 ; x = (0. V) + x by RLVECT_1:4 .= (v - v) + x by RLVECT_1:15 .= (- v) + (u + u1) by A5, RLVECT_1:def_3 ; then A7: (v + ((- v) + (u + u1))) + W1 = v + W1 by A4, Th65; v + ((- v) + (u + u1)) = (v - v) + (u + u1) by RLVECT_1:def_3 .= (0. V) + (u + u1) by RLVECT_1:15 .= u + u1 by RLVECT_1:4 ; then (u + u1) + W2 = (u + u1) + W1 by A1, A6, A7, Th65; hence contradiction by A2, Th77; ::_thesis: verum end; A8: now__::_thesis:_not_the_carrier_of_W2_\_the_carrier_of_W1_<>_{} set x = the Element of the carrier of W2 \ the carrier of W1; assume the carrier of W2 \ the carrier of W1 <> {} ; ::_thesis: contradiction then the Element of the carrier of W2 \ the carrier of W1 in the carrier of W2 by XBOOLE_0:def_5; then A9: the Element of the carrier of W2 \ the carrier of W1 in W2 by STRUCT_0:def_5; then the Element of the carrier of W2 \ the carrier of W1 in V by Th24; then reconsider x = the Element of the carrier of W2 \ the carrier of W1 as Element of V by STRUCT_0:def_5; set z = u + x; u + x in v + W1 by A1, A9; then consider u1 being VECTOR of V such that A10: u + x = v + u1 and A11: u1 in W1 ; x = (0. V) + x by RLVECT_1:4 .= (u - u) + x by RLVECT_1:15 .= (- u) + (v + u1) by A10, RLVECT_1:def_3 ; then A12: (u + ((- u) + (v + u1))) + W2 = u + W2 by A9, Th65; u + ((- u) + (v + u1)) = (u - u) + (v + u1) by RLVECT_1:def_3 .= (0. V) + (v + u1) by RLVECT_1:15 .= v + u1 by RLVECT_1:4 ; then (v + u1) + W1 = (v + u1) + W2 by A1, A11, A12, Th65; hence contradiction by A2, Th77; ::_thesis: verum end; the carrier of W1 <> the carrier of W2 by A2, Th45; then ( not the carrier of W1 c= the carrier of W2 or not the carrier of W2 c= the carrier of W1 ) by XBOOLE_0:def_10; hence contradiction by A3, A8, XBOOLE_1:37; ::_thesis: verum end; theorem :: ZMODUL01:79 for V being Z_Module for W being Submodule of V for C being Coset of W holds ( C is linearly-closed iff C = the carrier of W ) proof let V be Z_Module; ::_thesis: for W being Submodule of V for C being Coset of W holds ( C is linearly-closed iff C = the carrier of W ) let W be Submodule of V; ::_thesis: for C being Coset of W holds ( C is linearly-closed iff C = the carrier of W ) let C be Coset of W; ::_thesis: ( C is linearly-closed iff C = the carrier of W ) thus ( C is linearly-closed implies C = the carrier of W ) ::_thesis: ( C = the carrier of W implies C is linearly-closed ) proof assume A1: C is linearly-closed ; ::_thesis: C = the carrier of W consider v being VECTOR of V such that A2: C = v + W by Def13; C <> {} by A2, Th58; then 0. V in v + W by A1, A2, Th18; hence C = the carrier of W by A2, Th62; ::_thesis: verum end; thus ( C = the carrier of W implies C is linearly-closed ) by Lm3; ::_thesis: verum end; theorem :: ZMODUL01:80 for V being Z_Module for W1, W2 being strict Submodule of V for C1 being Coset of W1 for C2 being Coset of W2 st C1 = C2 holds W1 = W2 proof let V be Z_Module; ::_thesis: for W1, W2 being strict Submodule of V for C1 being Coset of W1 for C2 being Coset of W2 st C1 = C2 holds W1 = W2 let W1, W2 be strict Submodule of V; ::_thesis: for C1 being Coset of W1 for C2 being Coset of W2 st C1 = C2 holds W1 = W2 let C1 be Coset of W1; ::_thesis: for C2 being Coset of W2 st C1 = C2 holds W1 = W2 let C2 be Coset of W2; ::_thesis: ( C1 = C2 implies W1 = W2 ) ( ex v1 being VECTOR of V st C1 = v1 + W1 & ex v2 being VECTOR of V st C2 = v2 + W2 ) by Def13; hence ( C1 = C2 implies W1 = W2 ) by Th78; ::_thesis: verum end; theorem :: ZMODUL01:81 for V being Z_Module for v being VECTOR of V holds {v} is Coset of (0). V proof let V be Z_Module; ::_thesis: for v being VECTOR of V holds {v} is Coset of (0). V let v be VECTOR of V; ::_thesis: {v} is Coset of (0). V v + ((0). V) = {v} by Th60; hence {v} is Coset of (0). V by Def13; ::_thesis: verum end; theorem Th82: :: ZMODUL01:82 for V being Z_Module for V1 being Subset of V st V1 is Coset of (0). V holds ex v being VECTOR of V st V1 = {v} proof let V be Z_Module; ::_thesis: for V1 being Subset of V st V1 is Coset of (0). V holds ex v being VECTOR of V st V1 = {v} let V1 be Subset of V; ::_thesis: ( V1 is Coset of (0). V implies ex v being VECTOR of V st V1 = {v} ) assume V1 is Coset of (0). V ; ::_thesis: ex v being VECTOR of V st V1 = {v} then consider v being VECTOR of V such that A1: V1 = v + ((0). V) by Def13; take v ; ::_thesis: V1 = {v} thus V1 = {v} by A1, Th60; ::_thesis: verum end; theorem Th83: :: ZMODUL01:83 for V being Z_Module for W being Submodule of V holds the carrier of W is Coset of W proof let V be Z_Module; ::_thesis: for W being Submodule of V holds the carrier of W is Coset of W let W be Submodule of V; ::_thesis: the carrier of W is Coset of W the carrier of W = (0. V) + W by Lm4; hence the carrier of W is Coset of W by Def13; ::_thesis: verum end; theorem :: ZMODUL01:84 for V being Z_Module holds the carrier of V is Coset of (Omega). V proof let V be Z_Module; ::_thesis: the carrier of V is Coset of (Omega). V set v = the VECTOR of V; ( the carrier of V is Subset of V iff the carrier of V c= the carrier of V ) ; then reconsider A = the carrier of V as Subset of V ; A = the VECTOR of V + ((Omega). V) by Th61; hence the carrier of V is Coset of (Omega). V by Def13; ::_thesis: verum end; theorem :: ZMODUL01:85 for V being Z_Module for V1 being Subset of V st V1 is Coset of (Omega). V holds V1 = the carrier of V proof let V be Z_Module; ::_thesis: for V1 being Subset of V st V1 is Coset of (Omega). V holds V1 = the carrier of V let V1 be Subset of V; ::_thesis: ( V1 is Coset of (Omega). V implies V1 = the carrier of V ) assume V1 is Coset of (Omega). V ; ::_thesis: V1 = the carrier of V then ex v being VECTOR of V st V1 = v + ((Omega). V) by Def13; hence V1 = the carrier of V by Th61; ::_thesis: verum end; theorem :: ZMODUL01:86 for V being Z_Module for W being Submodule of V for C being Coset of W holds ( 0. V in C iff C = the carrier of W ) proof let V be Z_Module; ::_thesis: for W being Submodule of V for C being Coset of W holds ( 0. V in C iff C = the carrier of W ) let W be Submodule of V; ::_thesis: for C being Coset of W holds ( 0. V in C iff C = the carrier of W ) let C be Coset of W; ::_thesis: ( 0. V in C iff C = the carrier of W ) ex v being VECTOR of V st C = v + W by Def13; hence ( 0. V in C iff C = the carrier of W ) by Th62; ::_thesis: verum end; theorem Th87: :: ZMODUL01:87 for V being Z_Module for u being VECTOR of V for W being Submodule of V for C being Coset of W holds ( u in C iff C = u + W ) proof let V be Z_Module; ::_thesis: for u being VECTOR of V for W being Submodule of V for C being Coset of W holds ( u in C iff C = u + W ) let u be VECTOR of V; ::_thesis: for W being Submodule of V for C being Coset of W holds ( u in C iff C = u + W ) let W be Submodule of V; ::_thesis: for C being Coset of W holds ( u in C iff C = u + W ) let C be Coset of W; ::_thesis: ( u in C iff C = u + W ) thus ( u in C implies C = u + W ) ::_thesis: ( C = u + W implies u in C ) proof assume A1: u in C ; ::_thesis: C = u + W ex v being VECTOR of V st C = v + W by Def13; hence C = u + W by A1, Th67; ::_thesis: verum end; thus ( C = u + W implies u in C ) by Th58; ::_thesis: verum end; theorem :: ZMODUL01:88 for V being Z_Module for u, v being VECTOR of V for W being Submodule of V for C being Coset of W st u in C & v in C holds ex v1 being VECTOR of V st ( v1 in W & u + v1 = v ) proof let V be Z_Module; ::_thesis: for u, v being VECTOR of V for W being Submodule of V for C being Coset of W st u in C & v in C holds ex v1 being VECTOR of V st ( v1 in W & u + v1 = v ) let u, v be VECTOR of V; ::_thesis: for W being Submodule of V for C being Coset of W st u in C & v in C holds ex v1 being VECTOR of V st ( v1 in W & u + v1 = v ) let W be Submodule of V; ::_thesis: for C being Coset of W st u in C & v in C holds ex v1 being VECTOR of V st ( v1 in W & u + v1 = v ) let C be Coset of W; ::_thesis: ( u in C & v in C implies ex v1 being VECTOR of V st ( v1 in W & u + v1 = v ) ) assume ( u in C & v in C ) ; ::_thesis: ex v1 being VECTOR of V st ( v1 in W & u + v1 = v ) then ( C = u + W & C = v + W ) by Th87; hence ex v1 being VECTOR of V st ( v1 in W & u + v1 = v ) by Th75; ::_thesis: verum end; theorem Th89: :: ZMODUL01:89 for V being Z_Module for u, v being VECTOR of V for W being Submodule of V for C being Coset of W st u in C & v in C holds ex v1 being VECTOR of V st ( v1 in W & u - v1 = v ) proof let V be Z_Module; ::_thesis: for u, v being VECTOR of V for W being Submodule of V for C being Coset of W st u in C & v in C holds ex v1 being VECTOR of V st ( v1 in W & u - v1 = v ) let u, v be VECTOR of V; ::_thesis: for W being Submodule of V for C being Coset of W st u in C & v in C holds ex v1 being VECTOR of V st ( v1 in W & u - v1 = v ) let W be Submodule of V; ::_thesis: for C being Coset of W st u in C & v in C holds ex v1 being VECTOR of V st ( v1 in W & u - v1 = v ) let C be Coset of W; ::_thesis: ( u in C & v in C implies ex v1 being VECTOR of V st ( v1 in W & u - v1 = v ) ) assume ( u in C & v in C ) ; ::_thesis: ex v1 being VECTOR of V st ( v1 in W & u - v1 = v ) then ( C = u + W & C = v + W ) by Th87; hence ex v1 being VECTOR of V st ( v1 in W & u - v1 = v ) by Th76; ::_thesis: verum end; theorem :: ZMODUL01:90 for V being Z_Module for v1, v2 being VECTOR of V for W being Submodule of V holds ( ex C being Coset of W st ( v1 in C & v2 in C ) iff v1 - v2 in W ) proof let V be Z_Module; ::_thesis: for v1, v2 being VECTOR of V for W being Submodule of V holds ( ex C being Coset of W st ( v1 in C & v2 in C ) iff v1 - v2 in W ) let v1, v2 be VECTOR of V; ::_thesis: for W being Submodule of V holds ( ex C being Coset of W st ( v1 in C & v2 in C ) iff v1 - v2 in W ) let W be Submodule of V; ::_thesis: ( ex C being Coset of W st ( v1 in C & v2 in C ) iff v1 - v2 in W ) thus ( ex C being Coset of W st ( v1 in C & v2 in C ) implies v1 - v2 in W ) ::_thesis: ( v1 - v2 in W implies ex C being Coset of W st ( v1 in C & v2 in C ) ) proof given C being Coset of W such that A1: ( v1 in C & v2 in C ) ; ::_thesis: v1 - v2 in W ex v being VECTOR of V st C = v + W by Def13; hence v1 - v2 in W by A1, Th74; ::_thesis: verum end; assume v1 - v2 in W ; ::_thesis: ex C being Coset of W st ( v1 in C & v2 in C ) then consider v being VECTOR of V such that A2: ( v1 in v + W & v2 in v + W ) by Th74; reconsider C = v + W as Coset of W by Def13; take C ; ::_thesis: ( v1 in C & v2 in C ) thus ( v1 in C & v2 in C ) by A2; ::_thesis: verum end; theorem :: ZMODUL01:91 for V being Z_Module for u being VECTOR of V for W being Submodule of V for B, C being Coset of W st u in B & u in C holds B = C proof let V be Z_Module; ::_thesis: for u being VECTOR of V for W being Submodule of V for B, C being Coset of W st u in B & u in C holds B = C let u be VECTOR of V; ::_thesis: for W being Submodule of V for B, C being Coset of W st u in B & u in C holds B = C let W be Submodule of V; ::_thesis: for B, C being Coset of W st u in B & u in C holds B = C let B, C be Coset of W; ::_thesis: ( u in B & u in C implies B = C ) assume A1: ( u in B & u in C ) ; ::_thesis: B = C ( ex v1 being VECTOR of V st B = v1 + W & ex v2 being VECTOR of V st C = v2 + W ) by Def13; hence B = C by A1, Th68; ::_thesis: verum end; begin definition let V be Z_Module; let W1, W2 be Submodule of V; funcW1 + W2 -> strict Submodule of V means :Def14: :: ZMODUL01:def 14 the carrier of it = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } ; existence ex b1 being strict Submodule of V st the carrier of b1 = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } proof reconsider V1 = the carrier of W1, V2 = the carrier of W2 as Subset of V by Def9; set VS = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } ; { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } c= the carrier of V proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } or x in the carrier of V ) assume x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } ; ::_thesis: x in the carrier of V then ex v1, v2 being VECTOR of V st ( x = v1 + v2 & v1 in W1 & v2 in W2 ) ; hence x in the carrier of V ; ::_thesis: verum end; then reconsider VS = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } as Subset of V ; A1: 0. V = (0. V) + (0. V) by RLVECT_1:4; ( 0. V in W1 & 0. V in W2 ) by Th33; then A2: 0. V in VS by A1; A3: VS = { (v + u) where v, u is VECTOR of V : ( v in V1 & u in V2 ) } proof thus VS c= { (v + u) where v, u is VECTOR of V : ( v in V1 & u in V2 ) } :: according to XBOOLE_0:def_10 ::_thesis: { (v + u) where v, u is VECTOR of V : ( v in V1 & u in V2 ) } c= VS proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in VS or x in { (v + u) where v, u is VECTOR of V : ( v in V1 & u in V2 ) } ) assume x in VS ; ::_thesis: x in { (v + u) where v, u is VECTOR of V : ( v in V1 & u in V2 ) } then consider v, u being VECTOR of V such that A4: x = v + u and A5: ( v in W1 & u in W2 ) ; ( v in V1 & u in V2 ) by A5, STRUCT_0:def_5; hence x in { (v + u) where v, u is VECTOR of V : ( v in V1 & u in V2 ) } by A4; ::_thesis: verum end; let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { (v + u) where v, u is VECTOR of V : ( v in V1 & u in V2 ) } or x in VS ) assume x in { (v + u) where v, u is VECTOR of V : ( v in V1 & u in V2 ) } ; ::_thesis: x in VS then consider v, u being VECTOR of V such that A6: x = v + u and A7: ( v in V1 & u in V2 ) ; ( v in W1 & u in W2 ) by A7, STRUCT_0:def_5; hence x in VS by A6; ::_thesis: verum end; ( V1 is linearly-closed & V2 is linearly-closed ) by Lm3; hence ex b1 being strict Submodule of V st the carrier of b1 = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } by A2, A3, Th22, Th50; ::_thesis: verum end; uniqueness for b1, b2 being strict Submodule of V st the carrier of b1 = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } & the carrier of b2 = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } holds b1 = b2 by Th45; commutativity for b1 being strict Submodule of V for W1, W2 being Submodule of V st the carrier of b1 = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } holds the carrier of b1 = { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W1 ) } proof let W be strict Submodule of V; ::_thesis: for W1, W2 being Submodule of V st the carrier of W = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } holds the carrier of W = { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W1 ) } let W1, W2 be Submodule of V; ::_thesis: ( the carrier of W = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } implies the carrier of W = { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W1 ) } ) set A = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } ; set B = { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W1 ) } ; A8: { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W1 ) } c= { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W1 ) } or x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } ) assume x in { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W1 ) } ; ::_thesis: x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } then ex v, u being VECTOR of V st ( x = v + u & v in W2 & u in W1 ) ; hence x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } ; ::_thesis: verum end; { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } c= { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W1 ) } proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } or x in { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W1 ) } ) assume x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } ; ::_thesis: x in { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W1 ) } then ex v, u being VECTOR of V st ( x = v + u & v in W1 & u in W2 ) ; hence x in { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W1 ) } ; ::_thesis: verum end; hence ( the carrier of W = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } implies the carrier of W = { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W1 ) } ) by A8, XBOOLE_0:def_10; ::_thesis: verum end; end; :: deftheorem Def14 defines + ZMODUL01:def_14_:_ for V being Z_Module for W1, W2 being Submodule of V for b4 being strict Submodule of V holds ( b4 = W1 + W2 iff the carrier of b4 = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } ); definition let V be Z_Module; let W1, W2 be Submodule of V; funcW1 /\ W2 -> strict Submodule of V means :Def15: :: ZMODUL01:def 15 the carrier of it = the carrier of W1 /\ the carrier of W2; existence ex b1 being strict Submodule of V st the carrier of b1 = the carrier of W1 /\ the carrier of W2 proof set VW2 = the carrier of W2; set VW1 = the carrier of W1; set VV = the carrier of V; 0. V in W2 by Th33; then A1: 0. V in the carrier of W2 by STRUCT_0:def_5; ( the carrier of W1 c= the carrier of V & the carrier of W2 c= the carrier of V ) by Def9; then the carrier of W1 /\ the carrier of W2 c= the carrier of V /\ the carrier of V by XBOOLE_1:27; then reconsider V1 = the carrier of W1, V2 = the carrier of W2, V3 = the carrier of W1 /\ the carrier of W2 as Subset of V by Def9; ( V1 is linearly-closed & V2 is linearly-closed ) by Lm3; then A2: V3 is linearly-closed ; 0. V in W1 by Th33; then 0. V in the carrier of W1 by STRUCT_0:def_5; then the carrier of W1 /\ the carrier of W2 <> {} by A1, XBOOLE_0:def_4; hence ex b1 being strict Submodule of V st the carrier of b1 = the carrier of W1 /\ the carrier of W2 by A2, Th50; ::_thesis: verum end; uniqueness for b1, b2 being strict Submodule of V st the carrier of b1 = the carrier of W1 /\ the carrier of W2 & the carrier of b2 = the carrier of W1 /\ the carrier of W2 holds b1 = b2 by Th45; commutativity for b1 being strict Submodule of V for W1, W2 being Submodule of V st the carrier of b1 = the carrier of W1 /\ the carrier of W2 holds the carrier of b1 = the carrier of W2 /\ the carrier of W1 ; end; :: deftheorem Def15 defines /\ ZMODUL01:def_15_:_ for V being Z_Module for W1, W2 being Submodule of V for b4 being strict Submodule of V holds ( b4 = W1 /\ W2 iff the carrier of b4 = the carrier of W1 /\ the carrier of W2 ); theorem Th92: :: ZMODUL01:92 for x being set for V being Z_Module for W1, W2 being Submodule of V holds ( x in W1 + W2 iff ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & x = v1 + v2 ) ) proof let x be set ; ::_thesis: for V being Z_Module for W1, W2 being Submodule of V holds ( x in W1 + W2 iff ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & x = v1 + v2 ) ) let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds ( x in W1 + W2 iff ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & x = v1 + v2 ) ) let W1, W2 be Submodule of V; ::_thesis: ( x in W1 + W2 iff ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & x = v1 + v2 ) ) thus ( x in W1 + W2 implies ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & x = v1 + v2 ) ) ::_thesis: ( ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & x = v1 + v2 ) implies x in W1 + W2 ) proof assume x in W1 + W2 ; ::_thesis: ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & x = v1 + v2 ) then x in the carrier of (W1 + W2) by STRUCT_0:def_5; then x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } by Def14; then consider v1, v2 being VECTOR of V such that A1: ( x = v1 + v2 & v1 in W1 & v2 in W2 ) ; take v1 ; ::_thesis: ex v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & x = v1 + v2 ) take v2 ; ::_thesis: ( v1 in W1 & v2 in W2 & x = v1 + v2 ) thus ( v1 in W1 & v2 in W2 & x = v1 + v2 ) by A1; ::_thesis: verum end; given v1, v2 being VECTOR of V such that A2: ( v1 in W1 & v2 in W2 & x = v1 + v2 ) ; ::_thesis: x in W1 + W2 x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } by A2; then x in the carrier of (W1 + W2) by Def14; hence x in W1 + W2 by STRUCT_0:def_5; ::_thesis: verum end; theorem :: ZMODUL01:93 for V being Z_Module for W1, W2 being Submodule of V for v being VECTOR of V st ( v in W1 or v in W2 ) holds v in W1 + W2 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V for v being VECTOR of V st ( v in W1 or v in W2 ) holds v in W1 + W2 let W1, W2 be Submodule of V; ::_thesis: for v being VECTOR of V st ( v in W1 or v in W2 ) holds v in W1 + W2 let v be VECTOR of V; ::_thesis: ( ( v in W1 or v in W2 ) implies v in W1 + W2 ) assume A1: ( v in W1 or v in W2 ) ; ::_thesis: v in W1 + W2 now__::_thesis:_v_in_W1_+_W2 percases ( v in W1 or v in W2 ) by A1; supposeA2: v in W1 ; ::_thesis: v in W1 + W2 ( v = v + (0. V) & 0. V in W2 ) by Th33, RLVECT_1:4; hence v in W1 + W2 by A2, Th92; ::_thesis: verum end; supposeA3: v in W2 ; ::_thesis: v in W1 + W2 ( v = (0. V) + v & 0. V in W1 ) by Th33, RLVECT_1:4; hence v in W1 + W2 by A3, Th92; ::_thesis: verum end; end; end; hence v in W1 + W2 ; ::_thesis: verum end; theorem Th94: :: ZMODUL01:94 for x being set for V being Z_Module for W1, W2 being Submodule of V holds ( x in W1 /\ W2 iff ( x in W1 & x in W2 ) ) proof let x be set ; ::_thesis: for V being Z_Module for W1, W2 being Submodule of V holds ( x in W1 /\ W2 iff ( x in W1 & x in W2 ) ) let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds ( x in W1 /\ W2 iff ( x in W1 & x in W2 ) ) let W1, W2 be Submodule of V; ::_thesis: ( x in W1 /\ W2 iff ( x in W1 & x in W2 ) ) ( x in W1 /\ W2 iff x in the carrier of (W1 /\ W2) ) by STRUCT_0:def_5; then ( x in W1 /\ W2 iff x in the carrier of W1 /\ the carrier of W2 ) by Def15; then ( x in W1 /\ W2 iff ( x in the carrier of W1 & x in the carrier of W2 ) ) by XBOOLE_0:def_4; hence ( x in W1 /\ W2 iff ( x in W1 & x in W2 ) ) by STRUCT_0:def_5; ::_thesis: verum end; Lm6: for V being Z_Module for W1, W2 being Submodule of V holds the carrier of W1 c= the carrier of (W1 + W2) proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds the carrier of W1 c= the carrier of (W1 + W2) let W1, W2 be Submodule of V; ::_thesis: the carrier of W1 c= the carrier of (W1 + W2) let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of W1 or x in the carrier of (W1 + W2) ) set A = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } ; assume x in the carrier of W1 ; ::_thesis: x in the carrier of (W1 + W2) then reconsider v = x as Element of W1 ; reconsider v = v as VECTOR of V by Th25; A1: v = v + (0. V) by RLVECT_1:4; ( v in W1 & 0. V in W2 ) by Th33, STRUCT_0:def_5; then x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } by A1; hence x in the carrier of (W1 + W2) by Def14; ::_thesis: verum end; Lm7: for V being Z_Module for W1 being Submodule of V for W2 being strict Submodule of V st the carrier of W1 c= the carrier of W2 holds W1 + W2 = W2 proof let V be Z_Module; ::_thesis: for W1 being Submodule of V for W2 being strict Submodule of V st the carrier of W1 c= the carrier of W2 holds W1 + W2 = W2 let W1 be Submodule of V; ::_thesis: for W2 being strict Submodule of V st the carrier of W1 c= the carrier of W2 holds W1 + W2 = W2 let W2 be strict Submodule of V; ::_thesis: ( the carrier of W1 c= the carrier of W2 implies W1 + W2 = W2 ) assume A1: the carrier of W1 c= the carrier of W2 ; ::_thesis: W1 + W2 = W2 A2: the carrier of (W1 + W2) c= the carrier of W2 proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of (W1 + W2) or x in the carrier of W2 ) assume x in the carrier of (W1 + W2) ; ::_thesis: x in the carrier of W2 then x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } by Def14; then consider v, u being VECTOR of V such that A3: x = v + u and A4: v in W1 and A5: u in W2 ; W1 is Submodule of W2 by A1, Th43; then v in W2 by A4, Th23; then v + u in W2 by A5, Th36; hence x in the carrier of W2 by A3, STRUCT_0:def_5; ::_thesis: verum end; the carrier of W2 c= the carrier of (W1 + W2) by Lm6; then the carrier of (W1 + W2) = the carrier of W2 by A2, XBOOLE_0:def_10; hence W1 + W2 = W2 by Th45; ::_thesis: verum end; theorem :: ZMODUL01:95 for V being Z_Module for W being strict Submodule of V holds W + W = W by Lm7; theorem Th96: :: ZMODUL01:96 for V being Z_Module for W1, W2, W3 being Submodule of V holds W1 + (W2 + W3) = (W1 + W2) + W3 proof let V be Z_Module; ::_thesis: for W1, W2, W3 being Submodule of V holds W1 + (W2 + W3) = (W1 + W2) + W3 let W1, W2, W3 be Submodule of V; ::_thesis: W1 + (W2 + W3) = (W1 + W2) + W3 set A = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } ; set B = { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W3 ) } ; set C = { (v + u) where v, u is VECTOR of V : ( v in W1 + W2 & u in W3 ) } ; set D = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 + W3 ) } ; A1: the carrier of (W1 + (W2 + W3)) = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 + W3 ) } by Def14; A2: { (v + u) where v, u is VECTOR of V : ( v in W1 + W2 & u in W3 ) } c= { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 + W3 ) } proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { (v + u) where v, u is VECTOR of V : ( v in W1 + W2 & u in W3 ) } or x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 + W3 ) } ) assume x in { (v + u) where v, u is VECTOR of V : ( v in W1 + W2 & u in W3 ) } ; ::_thesis: x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 + W3 ) } then consider v, u being VECTOR of V such that A3: x = v + u and A4: v in W1 + W2 and A5: u in W3 ; v in the carrier of (W1 + W2) by A4, STRUCT_0:def_5; then v in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } by Def14; then consider u1, u2 being VECTOR of V such that A6: v = u1 + u2 and A7: u1 in W1 and A8: u2 in W2 ; u2 + u in { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W3 ) } by A5, A8; then u2 + u in the carrier of (W2 + W3) by Def14; then A9: u2 + u in W2 + W3 by STRUCT_0:def_5; v + u = u1 + (u2 + u) by A6, RLVECT_1:def_3; hence x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 + W3 ) } by A3, A7, A9; ::_thesis: verum end; { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 + W3 ) } c= { (v + u) where v, u is VECTOR of V : ( v in W1 + W2 & u in W3 ) } proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 + W3 ) } or x in { (v + u) where v, u is VECTOR of V : ( v in W1 + W2 & u in W3 ) } ) assume x in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 + W3 ) } ; ::_thesis: x in { (v + u) where v, u is VECTOR of V : ( v in W1 + W2 & u in W3 ) } then consider v, u being VECTOR of V such that A10: x = v + u and A11: v in W1 and A12: u in W2 + W3 ; u in the carrier of (W2 + W3) by A12, STRUCT_0:def_5; then u in { (v + u) where v, u is VECTOR of V : ( v in W2 & u in W3 ) } by Def14; then consider u1, u2 being VECTOR of V such that A13: u = u1 + u2 and A14: u1 in W2 and A15: u2 in W3 ; v + u1 in { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } by A11, A14; then v + u1 in the carrier of (W1 + W2) by Def14; then A16: v + u1 in W1 + W2 by STRUCT_0:def_5; v + u = (v + u1) + u2 by A13, RLVECT_1:def_3; hence x in { (v + u) where v, u is VECTOR of V : ( v in W1 + W2 & u in W3 ) } by A10, A15, A16; ::_thesis: verum end; then { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 + W3 ) } = { (v + u) where v, u is VECTOR of V : ( v in W1 + W2 & u in W3 ) } by A2, XBOOLE_0:def_10; hence W1 + (W2 + W3) = (W1 + W2) + W3 by A1, Def14; ::_thesis: verum end; theorem Th97: :: ZMODUL01:97 for V being Z_Module for W1, W2 being Submodule of V holds W1 is Submodule of W1 + W2 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds W1 is Submodule of W1 + W2 let W1, W2 be Submodule of V; ::_thesis: W1 is Submodule of W1 + W2 the carrier of W1 c= the carrier of (W1 + W2) by Lm6; hence W1 is Submodule of W1 + W2 by Th43; ::_thesis: verum end; theorem Th98: :: ZMODUL01:98 for V being Z_Module for W1 being Submodule of V for W2 being strict Submodule of V holds ( W1 is Submodule of W2 iff W1 + W2 = W2 ) proof let V be Z_Module; ::_thesis: for W1 being Submodule of V for W2 being strict Submodule of V holds ( W1 is Submodule of W2 iff W1 + W2 = W2 ) let W1 be Submodule of V; ::_thesis: for W2 being strict Submodule of V holds ( W1 is Submodule of W2 iff W1 + W2 = W2 ) let W2 be strict Submodule of V; ::_thesis: ( W1 is Submodule of W2 iff W1 + W2 = W2 ) thus ( W1 is Submodule of W2 implies W1 + W2 = W2 ) ::_thesis: ( W1 + W2 = W2 implies W1 is Submodule of W2 ) proof assume W1 is Submodule of W2 ; ::_thesis: W1 + W2 = W2 then the carrier of W1 c= the carrier of W2 by Def9; hence W1 + W2 = W2 by Lm7; ::_thesis: verum end; thus ( W1 + W2 = W2 implies W1 is Submodule of W2 ) by Th97; ::_thesis: verum end; theorem Th99: :: ZMODUL01:99 for V being Z_Module for W being strict Submodule of V holds ((0). V) + W = W proof let V be Z_Module; ::_thesis: for W being strict Submodule of V holds ((0). V) + W = W let W be strict Submodule of V; ::_thesis: ((0). V) + W = W (0). V is Submodule of W by Th54; then the carrier of ((0). V) c= the carrier of W by Def9; hence ((0). V) + W = W by Lm7; ::_thesis: verum end; theorem :: ZMODUL01:100 for V being Z_Module holds ((0). V) + ((Omega). V) = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) by Th99; theorem Th101: :: ZMODUL01:101 for V being Z_Module for W being Submodule of V holds ((Omega). V) + W = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) proof let V be Z_Module; ::_thesis: for W being Submodule of V holds ((Omega). V) + W = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) let W be Submodule of V; ::_thesis: ((Omega). V) + W = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) the carrier of W c= the carrier of V by Def9; hence ((Omega). V) + W = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) by Lm7; ::_thesis: verum end; theorem :: ZMODUL01:102 for V being strict Z_Module holds ((Omega). V) + ((Omega). V) = V by Th101; theorem :: ZMODUL01:103 for V being Z_Module for W being strict Submodule of V holds W /\ W = W proof let V be Z_Module; ::_thesis: for W being strict Submodule of V holds W /\ W = W let W be strict Submodule of V; ::_thesis: W /\ W = W the carrier of W = the carrier of W /\ the carrier of W ; hence W /\ W = W by Def15; ::_thesis: verum end; theorem Th104: :: ZMODUL01:104 for V being Z_Module for W1, W2, W3 being Submodule of V holds W1 /\ (W2 /\ W3) = (W1 /\ W2) /\ W3 proof let V be Z_Module; ::_thesis: for W1, W2, W3 being Submodule of V holds W1 /\ (W2 /\ W3) = (W1 /\ W2) /\ W3 let W1, W2, W3 be Submodule of V; ::_thesis: W1 /\ (W2 /\ W3) = (W1 /\ W2) /\ W3 set V1 = the carrier of W1; set V2 = the carrier of W2; set V3 = the carrier of W3; the carrier of (W1 /\ (W2 /\ W3)) = the carrier of W1 /\ the carrier of (W2 /\ W3) by Def15 .= the carrier of W1 /\ ( the carrier of W2 /\ the carrier of W3) by Def15 .= ( the carrier of W1 /\ the carrier of W2) /\ the carrier of W3 by XBOOLE_1:16 .= the carrier of (W1 /\ W2) /\ the carrier of W3 by Def15 ; hence W1 /\ (W2 /\ W3) = (W1 /\ W2) /\ W3 by Def15; ::_thesis: verum end; Lm8: for V being Z_Module for W1, W2 being Submodule of V holds the carrier of (W1 /\ W2) c= the carrier of W1 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds the carrier of (W1 /\ W2) c= the carrier of W1 let W1, W2 be Submodule of V; ::_thesis: the carrier of (W1 /\ W2) c= the carrier of W1 the carrier of (W1 /\ W2) = the carrier of W1 /\ the carrier of W2 by Def15; hence the carrier of (W1 /\ W2) c= the carrier of W1 by XBOOLE_1:17; ::_thesis: verum end; theorem Th105: :: ZMODUL01:105 for V being Z_Module for W1, W2 being Submodule of V holds W1 /\ W2 is Submodule of W1 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds W1 /\ W2 is Submodule of W1 let W1, W2 be Submodule of V; ::_thesis: W1 /\ W2 is Submodule of W1 the carrier of (W1 /\ W2) c= the carrier of W1 by Lm8; hence W1 /\ W2 is Submodule of W1 by Th43; ::_thesis: verum end; theorem Th106: :: ZMODUL01:106 for V being Z_Module for W2 being Submodule of V for W1 being strict Submodule of V holds ( W1 is Submodule of W2 iff W1 /\ W2 = W1 ) proof let V be Z_Module; ::_thesis: for W2 being Submodule of V for W1 being strict Submodule of V holds ( W1 is Submodule of W2 iff W1 /\ W2 = W1 ) let W2 be Submodule of V; ::_thesis: for W1 being strict Submodule of V holds ( W1 is Submodule of W2 iff W1 /\ W2 = W1 ) let W1 be strict Submodule of V; ::_thesis: ( W1 is Submodule of W2 iff W1 /\ W2 = W1 ) thus ( W1 is Submodule of W2 implies W1 /\ W2 = W1 ) ::_thesis: ( W1 /\ W2 = W1 implies W1 is Submodule of W2 ) proof assume W1 is Submodule of W2 ; ::_thesis: W1 /\ W2 = W1 then A1: the carrier of W1 c= the carrier of W2 by Def9; the carrier of (W1 /\ W2) = the carrier of W1 /\ the carrier of W2 by Def15; hence W1 /\ W2 = W1 by A1, Th45, XBOOLE_1:28; ::_thesis: verum end; thus ( W1 /\ W2 = W1 implies W1 is Submodule of W2 ) by Th105; ::_thesis: verum end; theorem Th107: :: ZMODUL01:107 for V being Z_Module for W being Submodule of V holds ((0). V) /\ W = (0). V proof let V be Z_Module; ::_thesis: for W being Submodule of V holds ((0). V) /\ W = (0). V let W be Submodule of V; ::_thesis: ((0). V) /\ W = (0). V 0. V in W by Th33; then 0. V in the carrier of W by STRUCT_0:def_5; then {(0. V)} c= the carrier of W by ZFMISC_1:31; then A1: {(0. V)} /\ the carrier of W = {(0. V)} by XBOOLE_1:28; the carrier of (((0). V) /\ W) = the carrier of ((0). V) /\ the carrier of W by Def15 .= {(0. V)} /\ the carrier of W by Def10 ; hence ((0). V) /\ W = (0). V by A1, Def10; ::_thesis: verum end; theorem :: ZMODUL01:108 for V being Z_Module holds ((0). V) /\ ((Omega). V) = (0). V by Th107; theorem Th109: :: ZMODUL01:109 for V being Z_Module for W being strict Submodule of V holds ((Omega). V) /\ W = W proof let V be Z_Module; ::_thesis: for W being strict Submodule of V holds ((Omega). V) /\ W = W let W be strict Submodule of V; ::_thesis: ((Omega). V) /\ W = W ( the carrier of (((Omega). V) /\ W) = the carrier of V /\ the carrier of W & the carrier of W c= the carrier of V ) by Def15, Def9; hence ((Omega). V) /\ W = W by Th45, XBOOLE_1:28; ::_thesis: verum end; theorem :: ZMODUL01:110 for V being strict Z_Module holds ((Omega). V) /\ ((Omega). V) = V by Th109; Lm9: for V being Z_Module for W1, W2 being Submodule of V holds the carrier of (W1 /\ W2) c= the carrier of (W1 + W2) proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds the carrier of (W1 /\ W2) c= the carrier of (W1 + W2) let W1, W2 be Submodule of V; ::_thesis: the carrier of (W1 /\ W2) c= the carrier of (W1 + W2) ( the carrier of (W1 /\ W2) c= the carrier of W1 & the carrier of W1 c= the carrier of (W1 + W2) ) by Lm6, Lm8; hence the carrier of (W1 /\ W2) c= the carrier of (W1 + W2) by XBOOLE_1:1; ::_thesis: verum end; theorem :: ZMODUL01:111 for V being Z_Module for W1, W2 being Submodule of V holds W1 /\ W2 is Submodule of W1 + W2 by Lm9, Th43; Lm10: for V being Z_Module for W1, W2 being Submodule of V holds the carrier of ((W1 /\ W2) + W2) = the carrier of W2 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds the carrier of ((W1 /\ W2) + W2) = the carrier of W2 let W1, W2 be Submodule of V; ::_thesis: the carrier of ((W1 /\ W2) + W2) = the carrier of W2 thus the carrier of ((W1 /\ W2) + W2) c= the carrier of W2 :: according to XBOOLE_0:def_10 ::_thesis: the carrier of W2 c= the carrier of ((W1 /\ W2) + W2) proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of ((W1 /\ W2) + W2) or x in the carrier of W2 ) assume x in the carrier of ((W1 /\ W2) + W2) ; ::_thesis: x in the carrier of W2 then x in { (u + v) where u, v is VECTOR of V : ( u in W1 /\ W2 & v in W2 ) } by Def14; then consider u, v being VECTOR of V such that A1: x = u + v and A2: u in W1 /\ W2 and A3: v in W2 ; u in W2 by A2, Th94; then u + v in W2 by A3, Th36; hence x in the carrier of W2 by A1, STRUCT_0:def_5; ::_thesis: verum end; let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of W2 or x in the carrier of ((W1 /\ W2) + W2) ) the carrier of W2 c= the carrier of ((W1 /\ W2) + W2) by Lm6; hence ( not x in the carrier of W2 or x in the carrier of ((W1 /\ W2) + W2) ) ; ::_thesis: verum end; theorem :: ZMODUL01:112 for V being Z_Module for W1 being Submodule of V for W2 being strict Submodule of V holds (W1 /\ W2) + W2 = W2 by Lm10, Th45; Lm11: for V being Z_Module for W1, W2 being Submodule of V holds the carrier of (W1 /\ (W1 + W2)) = the carrier of W1 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds the carrier of (W1 /\ (W1 + W2)) = the carrier of W1 let W1, W2 be Submodule of V; ::_thesis: the carrier of (W1 /\ (W1 + W2)) = the carrier of W1 thus the carrier of (W1 /\ (W1 + W2)) c= the carrier of W1 :: according to XBOOLE_0:def_10 ::_thesis: the carrier of W1 c= the carrier of (W1 /\ (W1 + W2)) proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of (W1 /\ (W1 + W2)) or x in the carrier of W1 ) assume A1: x in the carrier of (W1 /\ (W1 + W2)) ; ::_thesis: x in the carrier of W1 the carrier of (W1 /\ (W1 + W2)) = the carrier of W1 /\ the carrier of (W1 + W2) by Def15; hence x in the carrier of W1 by A1, XBOOLE_0:def_4; ::_thesis: verum end; let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of W1 or x in the carrier of (W1 /\ (W1 + W2)) ) assume A2: x in the carrier of W1 ; ::_thesis: x in the carrier of (W1 /\ (W1 + W2)) the carrier of W1 c= the carrier of V by Def9; then reconsider x1 = x as Element of V by A2; A3: ( x1 + (0. V) = x1 & 0. V in W2 ) by Th33, RLVECT_1:4; x in W1 by A2, STRUCT_0:def_5; then x in { (u + v) where u, v is VECTOR of V : ( u in W1 & v in W2 ) } by A3; then x in the carrier of (W1 + W2) by Def14; then x in the carrier of W1 /\ the carrier of (W1 + W2) by A2, XBOOLE_0:def_4; hence x in the carrier of (W1 /\ (W1 + W2)) by Def15; ::_thesis: verum end; theorem :: ZMODUL01:113 for V being Z_Module for W2 being Submodule of V for W1 being strict Submodule of V holds W1 /\ (W1 + W2) = W1 by Lm11, Th45; Lm12: for V being Z_Module for W1, W2, W3 being Submodule of V holds the carrier of ((W1 /\ W2) + (W2 /\ W3)) c= the carrier of (W2 /\ (W1 + W3)) proof let V be Z_Module; ::_thesis: for W1, W2, W3 being Submodule of V holds the carrier of ((W1 /\ W2) + (W2 /\ W3)) c= the carrier of (W2 /\ (W1 + W3)) let W1, W2, W3 be Submodule of V; ::_thesis: the carrier of ((W1 /\ W2) + (W2 /\ W3)) c= the carrier of (W2 /\ (W1 + W3)) let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of ((W1 /\ W2) + (W2 /\ W3)) or x in the carrier of (W2 /\ (W1 + W3)) ) assume x in the carrier of ((W1 /\ W2) + (W2 /\ W3)) ; ::_thesis: x in the carrier of (W2 /\ (W1 + W3)) then x in { (u + v) where u, v is VECTOR of V : ( u in W1 /\ W2 & v in W2 /\ W3 ) } by Def14; then consider u, v being VECTOR of V such that A1: x = u + v and A2: ( u in W1 /\ W2 & v in W2 /\ W3 ) ; ( u in W2 & v in W2 ) by A2, Th94; then A3: x in W2 by A1, Th36; ( u in W1 & v in W3 ) by A2, Th94; then x in W1 + W3 by A1, Th92; then x in W2 /\ (W1 + W3) by A3, Th94; hence x in the carrier of (W2 /\ (W1 + W3)) by STRUCT_0:def_5; ::_thesis: verum end; theorem :: ZMODUL01:114 for V being Z_Module for W1, W2, W3 being Submodule of V holds (W1 /\ W2) + (W2 /\ W3) is Submodule of W2 /\ (W1 + W3) by Lm12, Th43; Lm13: for V being Z_Module for W1, W2, W3 being Submodule of V st W1 is Submodule of W2 holds the carrier of (W2 /\ (W1 + W3)) = the carrier of ((W1 /\ W2) + (W2 /\ W3)) proof let V be Z_Module; ::_thesis: for W1, W2, W3 being Submodule of V st W1 is Submodule of W2 holds the carrier of (W2 /\ (W1 + W3)) = the carrier of ((W1 /\ W2) + (W2 /\ W3)) let W1, W2, W3 be Submodule of V; ::_thesis: ( W1 is Submodule of W2 implies the carrier of (W2 /\ (W1 + W3)) = the carrier of ((W1 /\ W2) + (W2 /\ W3)) ) assume A1: W1 is Submodule of W2 ; ::_thesis: the carrier of (W2 /\ (W1 + W3)) = the carrier of ((W1 /\ W2) + (W2 /\ W3)) thus the carrier of (W2 /\ (W1 + W3)) c= the carrier of ((W1 /\ W2) + (W2 /\ W3)) :: according to XBOOLE_0:def_10 ::_thesis: the carrier of ((W1 /\ W2) + (W2 /\ W3)) c= the carrier of (W2 /\ (W1 + W3)) proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of (W2 /\ (W1 + W3)) or x in the carrier of ((W1 /\ W2) + (W2 /\ W3)) ) assume x in the carrier of (W2 /\ (W1 + W3)) ; ::_thesis: x in the carrier of ((W1 /\ W2) + (W2 /\ W3)) then A2: x in the carrier of W2 /\ the carrier of (W1 + W3) by Def15; then x in the carrier of (W1 + W3) by XBOOLE_0:def_4; then x in { (u + v) where u, v is VECTOR of V : ( u in W1 & v in W3 ) } by Def14; then consider u1, v1 being VECTOR of V such that A3: x = u1 + v1 and A4: u1 in W1 and A5: v1 in W3 ; A6: u1 in W2 by A1, A4, Th23; x in the carrier of W2 by A2, XBOOLE_0:def_4; then u1 + v1 in W2 by A3, STRUCT_0:def_5; then (v1 + u1) - u1 in W2 by A6, Th39; then v1 + (u1 - u1) in W2 by RLVECT_1:def_3; then v1 + (0. V) in W2 by RLVECT_1:15; then v1 in W2 by RLVECT_1:4; then A7: v1 in W2 /\ W3 by A5, Th94; u1 in W1 /\ W2 by A4, A6, Th94; then x in (W1 /\ W2) + (W2 /\ W3) by A3, A7, Th92; hence x in the carrier of ((W1 /\ W2) + (W2 /\ W3)) by STRUCT_0:def_5; ::_thesis: verum end; thus the carrier of ((W1 /\ W2) + (W2 /\ W3)) c= the carrier of (W2 /\ (W1 + W3)) by Lm12; ::_thesis: verum end; theorem :: ZMODUL01:115 for V being Z_Module for W1, W2, W3 being Submodule of V st W1 is Submodule of W2 holds W2 /\ (W1 + W3) = (W1 /\ W2) + (W2 /\ W3) by Lm13, Th45; Lm14: for V being Z_Module for W2, W1, W3 being Submodule of V holds the carrier of (W2 + (W1 /\ W3)) c= the carrier of ((W1 + W2) /\ (W2 + W3)) proof let V be Z_Module; ::_thesis: for W2, W1, W3 being Submodule of V holds the carrier of (W2 + (W1 /\ W3)) c= the carrier of ((W1 + W2) /\ (W2 + W3)) let W2, W1, W3 be Submodule of V; ::_thesis: the carrier of (W2 + (W1 /\ W3)) c= the carrier of ((W1 + W2) /\ (W2 + W3)) let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of (W2 + (W1 /\ W3)) or x in the carrier of ((W1 + W2) /\ (W2 + W3)) ) assume x in the carrier of (W2 + (W1 /\ W3)) ; ::_thesis: x in the carrier of ((W1 + W2) /\ (W2 + W3)) then x in { (u + v) where u, v is VECTOR of V : ( u in W2 & v in W1 /\ W3 ) } by Def14; then consider u, v being VECTOR of V such that A1: ( x = u + v & u in W2 ) and A2: v in W1 /\ W3 ; v in W3 by A2, Th94; then x in { (u1 + u2) where u1, u2 is VECTOR of V : ( u1 in W2 & u2 in W3 ) } by A1; then A3: x in the carrier of (W2 + W3) by Def14; v in W1 by A2, Th94; then x in { (v1 + v2) where v1, v2 is VECTOR of V : ( v1 in W1 & v2 in W2 ) } by A1; then x in the carrier of (W1 + W2) by Def14; then x in the carrier of (W1 + W2) /\ the carrier of (W2 + W3) by A3, XBOOLE_0:def_4; hence x in the carrier of ((W1 + W2) /\ (W2 + W3)) by Def15; ::_thesis: verum end; theorem :: ZMODUL01:116 for V being Z_Module for W2, W1, W3 being Submodule of V holds W2 + (W1 /\ W3) is Submodule of (W1 + W2) /\ (W2 + W3) by Lm14, Th43; Lm15: for V being Z_Module for W1, W2, W3 being Submodule of V st W1 is Submodule of W2 holds the carrier of (W2 + (W1 /\ W3)) = the carrier of ((W1 + W2) /\ (W2 + W3)) proof let V be Z_Module; ::_thesis: for W1, W2, W3 being Submodule of V st W1 is Submodule of W2 holds the carrier of (W2 + (W1 /\ W3)) = the carrier of ((W1 + W2) /\ (W2 + W3)) let W1, W2, W3 be Submodule of V; ::_thesis: ( W1 is Submodule of W2 implies the carrier of (W2 + (W1 /\ W3)) = the carrier of ((W1 + W2) /\ (W2 + W3)) ) reconsider V2 = the carrier of W2 as Subset of V by Def9; A1: V2 is linearly-closed by Lm3; assume W1 is Submodule of W2 ; ::_thesis: the carrier of (W2 + (W1 /\ W3)) = the carrier of ((W1 + W2) /\ (W2 + W3)) then A2: the carrier of W1 c= the carrier of W2 by Def9; thus the carrier of (W2 + (W1 /\ W3)) c= the carrier of ((W1 + W2) /\ (W2 + W3)) by Lm14; :: according to XBOOLE_0:def_10 ::_thesis: the carrier of ((W1 + W2) /\ (W2 + W3)) c= the carrier of (W2 + (W1 /\ W3)) let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in the carrier of ((W1 + W2) /\ (W2 + W3)) or x in the carrier of (W2 + (W1 /\ W3)) ) assume x in the carrier of ((W1 + W2) /\ (W2 + W3)) ; ::_thesis: x in the carrier of (W2 + (W1 /\ W3)) then x in the carrier of (W1 + W2) /\ the carrier of (W2 + W3) by Def15; then x in the carrier of (W1 + W2) by XBOOLE_0:def_4; then x in { (u1 + u2) where u1, u2 is VECTOR of V : ( u1 in W1 & u2 in W2 ) } by Def14; then consider u1, u2 being VECTOR of V such that A3: x = u1 + u2 and A4: ( u1 in W1 & u2 in W2 ) ; ( u1 in the carrier of W1 & u2 in the carrier of W2 ) by A4, STRUCT_0:def_5; then u1 + u2 in V2 by A2, A1, Def8; then A5: u1 + u2 in W2 by STRUCT_0:def_5; ( 0. V in W1 /\ W3 & (u1 + u2) + (0. V) = u1 + u2 ) by Th33, RLVECT_1:4; then x in { (u + v) where u, v is VECTOR of V : ( u in W2 & v in W1 /\ W3 ) } by A3, A5; hence x in the carrier of (W2 + (W1 /\ W3)) by Def14; ::_thesis: verum end; theorem :: ZMODUL01:117 for V being Z_Module for W1, W2, W3 being Submodule of V st W1 is Submodule of W2 holds W2 + (W1 /\ W3) = (W1 + W2) /\ (W2 + W3) by Lm15, Th45; theorem Th118: :: ZMODUL01:118 for V being Z_Module for W1, W3, W2 being Submodule of V st W1 is strict Submodule of W3 holds W1 + (W2 /\ W3) = (W1 + W2) /\ W3 proof let V be Z_Module; ::_thesis: for W1, W3, W2 being Submodule of V st W1 is strict Submodule of W3 holds W1 + (W2 /\ W3) = (W1 + W2) /\ W3 let W1, W3, W2 be Submodule of V; ::_thesis: ( W1 is strict Submodule of W3 implies W1 + (W2 /\ W3) = (W1 + W2) /\ W3 ) assume A1: W1 is strict Submodule of W3 ; ::_thesis: W1 + (W2 /\ W3) = (W1 + W2) /\ W3 thus (W1 + W2) /\ W3 = (W1 /\ W3) + (W3 /\ W2) by A1, Lm13, Th45 .= W1 + (W2 /\ W3) by A1, Th106 ; ::_thesis: verum end; theorem :: ZMODUL01:119 for V being Z_Module for W1, W2 being strict Submodule of V holds ( W1 + W2 = W2 iff W1 /\ W2 = W1 ) proof let V be Z_Module; ::_thesis: for W1, W2 being strict Submodule of V holds ( W1 + W2 = W2 iff W1 /\ W2 = W1 ) let W1, W2 be strict Submodule of V; ::_thesis: ( W1 + W2 = W2 iff W1 /\ W2 = W1 ) ( W1 + W2 = W2 iff W1 is Submodule of W2 ) by Th98; hence ( W1 + W2 = W2 iff W1 /\ W2 = W1 ) by Th106; ::_thesis: verum end; theorem :: ZMODUL01:120 for V being Z_Module for W1 being Submodule of V for W2, W3 being strict Submodule of V st W1 is Submodule of W2 holds W1 + W3 is Submodule of W2 + W3 proof let V be Z_Module; ::_thesis: for W1 being Submodule of V for W2, W3 being strict Submodule of V st W1 is Submodule of W2 holds W1 + W3 is Submodule of W2 + W3 let W1 be Submodule of V; ::_thesis: for W2, W3 being strict Submodule of V st W1 is Submodule of W2 holds W1 + W3 is Submodule of W2 + W3 let W2, W3 be strict Submodule of V; ::_thesis: ( W1 is Submodule of W2 implies W1 + W3 is Submodule of W2 + W3 ) assume A1: W1 is Submodule of W2 ; ::_thesis: W1 + W3 is Submodule of W2 + W3 (W1 + W3) + (W2 + W3) = ((W1 + W3) + W3) + W2 by Th96 .= (W1 + (W3 + W3)) + W2 by Th96 .= (W1 + W3) + W2 by Lm7 .= (W1 + W2) + W3 by Th96 .= W2 + W3 by A1, Th98 ; hence W1 + W3 is Submodule of W2 + W3 by Th98; ::_thesis: verum end; theorem :: ZMODUL01:121 for V being Z_Module for W1, W2 being Submodule of V holds ( ( W1 is Submodule of W2 or W2 is Submodule of W1 ) iff ex W being Submodule of V st the carrier of W = the carrier of W1 \/ the carrier of W2 ) proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds ( ( W1 is Submodule of W2 or W2 is Submodule of W1 ) iff ex W being Submodule of V st the carrier of W = the carrier of W1 \/ the carrier of W2 ) let W1, W2 be Submodule of V; ::_thesis: ( ( W1 is Submodule of W2 or W2 is Submodule of W1 ) iff ex W being Submodule of V st the carrier of W = the carrier of W1 \/ the carrier of W2 ) set VW1 = the carrier of W1; set VW2 = the carrier of W2; thus ( for W being Submodule of V holds not the carrier of W = the carrier of W1 \/ the carrier of W2 or W1 is Submodule of W2 or W2 is Submodule of W1 ) ::_thesis: ( ( W1 is Submodule of W2 or W2 is Submodule of W1 ) implies ex W being Submodule of V st the carrier of W = the carrier of W1 \/ the carrier of W2 ) proof given W being Submodule of V such that A1: the carrier of W = the carrier of W1 \/ the carrier of W2 ; ::_thesis: ( W1 is Submodule of W2 or W2 is Submodule of W1 ) set VW = the carrier of W; assume that A2: W1 is not Submodule of W2 and A3: W2 is not Submodule of W1 ; ::_thesis: contradiction not the carrier of W2 c= the carrier of W1 by A3, Th43; then consider y being set such that A4: y in the carrier of W2 and A5: not y in the carrier of W1 by TARSKI:def_3; reconsider y = y as Element of the carrier of W2 by A4; reconsider y = y as VECTOR of V by Th25; reconsider A1 = the carrier of W as Subset of V by Def9; A6: A1 is linearly-closed by Lm3; not the carrier of W1 c= the carrier of W2 by A2, Th43; then consider x being set such that A7: x in the carrier of W1 and A8: not x in the carrier of W2 by TARSKI:def_3; reconsider x = x as Element of the carrier of W1 by A7; reconsider x = x as VECTOR of V by Th25; A9: now__::_thesis:_not_x_+_y_in_the_carrier_of_W2 reconsider A2 = the carrier of W2 as Subset of V by Def9; A10: A2 is linearly-closed by Lm3; assume x + y in the carrier of W2 ; ::_thesis: contradiction then (x + y) - y in the carrier of W2 by A10, Th20; then x + (y - y) in the carrier of W2 by RLVECT_1:def_3; then x + (0. V) in the carrier of W2 by RLVECT_1:15; hence contradiction by A8, RLVECT_1:4; ::_thesis: verum end; A11: now__::_thesis:_not_x_+_y_in_the_carrier_of_W1 reconsider A2 = the carrier of W1 as Subset of V by Def9; A12: A2 is linearly-closed by Lm3; assume x + y in the carrier of W1 ; ::_thesis: contradiction then (y + x) - x in the carrier of W1 by A12, Th20; then y + (x - x) in the carrier of W1 by RLVECT_1:def_3; then y + (0. V) in the carrier of W1 by RLVECT_1:15; hence contradiction by A5, RLVECT_1:4; ::_thesis: verum end; ( x in the carrier of W & y in the carrier of W ) by A1, XBOOLE_0:def_3; then x + y in the carrier of W by A6, Def8; hence contradiction by A1, A11, A9, XBOOLE_0:def_3; ::_thesis: verum end; A13: now__::_thesis:_(_W1_is_Submodule_of_W2_&_(_W1_is_Submodule_of_W2_or_W2_is_Submodule_of_W1_)_implies_ex_W_being_Submodule_of_V_st_the_carrier_of_W_=_the_carrier_of_W1_\/_the_carrier_of_W2_) assume W1 is Submodule of W2 ; ::_thesis: ( ( W1 is Submodule of W2 or W2 is Submodule of W1 ) implies ex W being Submodule of V st the carrier of W = the carrier of W1 \/ the carrier of W2 ) then the carrier of W1 c= the carrier of W2 by Def9; then the carrier of W1 \/ the carrier of W2 = the carrier of W2 by XBOOLE_1:12; hence ( ( W1 is Submodule of W2 or W2 is Submodule of W1 ) implies ex W being Submodule of V st the carrier of W = the carrier of W1 \/ the carrier of W2 ) ; ::_thesis: verum end; A14: now__::_thesis:_(_W2_is_Submodule_of_W1_&_(_W1_is_Submodule_of_W2_or_W2_is_Submodule_of_W1_)_implies_ex_W_being_Submodule_of_V_st_the_carrier_of_W_=_the_carrier_of_W1_\/_the_carrier_of_W2_) assume W2 is Submodule of W1 ; ::_thesis: ( ( W1 is Submodule of W2 or W2 is Submodule of W1 ) implies ex W being Submodule of V st the carrier of W = the carrier of W1 \/ the carrier of W2 ) then the carrier of W2 c= the carrier of W1 by Def9; then the carrier of W1 \/ the carrier of W2 = the carrier of W1 by XBOOLE_1:12; hence ( ( W1 is Submodule of W2 or W2 is Submodule of W1 ) implies ex W being Submodule of V st the carrier of W = the carrier of W1 \/ the carrier of W2 ) ; ::_thesis: verum end; assume ( W1 is Submodule of W2 or W2 is Submodule of W1 ) ; ::_thesis: ex W being Submodule of V st the carrier of W = the carrier of W1 \/ the carrier of W2 hence ex W being Submodule of V st the carrier of W = the carrier of W1 \/ the carrier of W2 by A13, A14; ::_thesis: verum end; definition let V be Z_Module; func Submodules V -> set means :Def16: :: ZMODUL01:def 16 for x being set holds ( x in it iff x is strict Submodule of V ); existence ex b1 being set st for x being set holds ( x in b1 iff x is strict Submodule of V ) proof defpred S1[ set , set ] means ex W being strict Submodule of V st ( $2 = W & $1 = the carrier of W ); defpred S2[ set ] means ex W being strict Submodule of V st $1 = the carrier of W; consider B being set such that A1: for x being set holds ( x in B iff ( x in bool the carrier of V & S2[x] ) ) from XBOOLE_0:sch_1(); A2: for x, y1, y2 being set st S1[x,y1] & S1[x,y2] holds y1 = y2 by Th45; consider f being Function such that A3: for x, y being set holds ( [x,y] in f iff ( x in B & S1[x,y] ) ) from FUNCT_1:sch_1(A2); for x being set holds ( x in B iff ex y being set st [x,y] in f ) proof let x be set ; ::_thesis: ( x in B iff ex y being set st [x,y] in f ) thus ( x in B implies ex y being set st [x,y] in f ) ::_thesis: ( ex y being set st [x,y] in f implies x in B ) proof assume A4: x in B ; ::_thesis: ex y being set st [x,y] in f then consider W being strict Submodule of V such that A5: x = the carrier of W by A1; reconsider y = W as set ; take y ; ::_thesis: [x,y] in f thus [x,y] in f by A3, A4, A5; ::_thesis: verum end; given y being set such that A6: [x,y] in f ; ::_thesis: x in B thus x in B by A3, A6; ::_thesis: verum end; then A7: B = dom f by XTUPLE_0:def_12; for y being set holds ( y in rng f iff y is strict Submodule of V ) proof let y be set ; ::_thesis: ( y in rng f iff y is strict Submodule of V ) thus ( y in rng f implies y is strict Submodule of V ) ::_thesis: ( y is strict Submodule of V implies y in rng f ) proof assume y in rng f ; ::_thesis: y is strict Submodule of V then consider x being set such that A8: ( x in dom f & y = f . x ) by FUNCT_1:def_3; [x,y] in f by A8, FUNCT_1:def_2; then ex W being strict Submodule of V st ( y = W & x = the carrier of W ) by A3; hence y is strict Submodule of V ; ::_thesis: verum end; assume y is strict Submodule of V ; ::_thesis: y in rng f then reconsider W = y as strict Submodule of V ; reconsider x = the carrier of W as set ; the carrier of W c= the carrier of V by Def9; then A9: x in dom f by A1, A7; then [x,y] in f by A3, A7; then y = f . x by A9, FUNCT_1:def_2; hence y in rng f by A9, FUNCT_1:def_3; ::_thesis: verum end; hence ex b1 being set st for x being set holds ( x in b1 iff x is strict Submodule of V ) ; ::_thesis: verum end; uniqueness for b1, b2 being set st ( for x being set holds ( x in b1 iff x is strict Submodule of V ) ) & ( for x being set holds ( x in b2 iff x is strict Submodule of V ) ) holds b1 = b2 proof let D1, D2 be set ; ::_thesis: ( ( for x being set holds ( x in D1 iff x is strict Submodule of V ) ) & ( for x being set holds ( x in D2 iff x is strict Submodule of V ) ) implies D1 = D2 ) assume A10: for x being set holds ( x in D1 iff x is strict Submodule of V ) ; ::_thesis: ( ex x being set st ( ( x in D2 implies x is strict Submodule of V ) implies ( x is strict Submodule of V & not x in D2 ) ) or D1 = D2 ) assume A11: for x being set holds ( x in D2 iff x is strict Submodule of V ) ; ::_thesis: D1 = D2 now__::_thesis:_for_x_being_set_holds_ (_(_x_in_D1_implies_x_in_D2_)_&_(_x_in_D2_implies_x_in_D1_)_) let x be set ; ::_thesis: ( ( x in D1 implies x in D2 ) & ( x in D2 implies x in D1 ) ) thus ( x in D1 implies x in D2 ) ::_thesis: ( x in D2 implies x in D1 ) proof assume x in D1 ; ::_thesis: x in D2 then x is strict Submodule of V by A10; hence x in D2 by A11; ::_thesis: verum end; assume x in D2 ; ::_thesis: x in D1 then x is strict Submodule of V by A11; hence x in D1 by A10; ::_thesis: verum end; hence D1 = D2 by TARSKI:1; ::_thesis: verum end; end; :: deftheorem Def16 defines Submodules ZMODUL01:def_16_:_ for V being Z_Module for b2 being set holds ( b2 = Submodules V iff for x being set holds ( x in b2 iff x is strict Submodule of V ) ); registration let V be Z_Module; cluster Submodules V -> non empty ; coherence not Submodules V is empty proof set x = the strict Submodule of V; the strict Submodule of V in Submodules V by Def16; hence not Submodules V is empty ; ::_thesis: verum end; end; theorem :: ZMODUL01:122 for V being strict Z_Module holds V in Submodules V proof let V be strict Z_Module; ::_thesis: V in Submodules V (Omega). V in Submodules V by Def16; hence V in Submodules V ; ::_thesis: verum end; definition let V be Z_Module; let W1, W2 be Submodule of V; predV is_the_direct_sum_of W1,W2 means :Def17: :: ZMODUL01:def 17 ( Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) = W1 + W2 & W1 /\ W2 = (0). V ); end; :: deftheorem Def17 defines is_the_direct_sum_of ZMODUL01:def_17_:_ for V being Z_Module for W1, W2 being Submodule of V holds ( V is_the_direct_sum_of W1,W2 iff ( Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) = W1 + W2 & W1 /\ W2 = (0). V ) ); Lm16: for V being Z_Module for W being strict Submodule of V st ( for v being VECTOR of V holds v in W ) holds W = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) proof let V be Z_Module; ::_thesis: for W being strict Submodule of V st ( for v being VECTOR of V holds v in W ) holds W = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) let W be strict Submodule of V; ::_thesis: ( ( for v being VECTOR of V holds v in W ) implies W = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) ) assume for v being VECTOR of V holds v in W ; ::_thesis: W = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) then for v being VECTOR of V holds ( v in W iff v in (Omega). V ) by RLVECT_1:1; hence W = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) by Th46; ::_thesis: verum end; Lm17: for V being Z_Module for W1, W2 being Submodule of V holds ( W1 + W2 = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) iff for v being VECTOR of V ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & v = v1 + v2 ) ) proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds ( W1 + W2 = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) iff for v being VECTOR of V ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & v = v1 + v2 ) ) let W1, W2 be Submodule of V; ::_thesis: ( W1 + W2 = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) iff for v being VECTOR of V ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & v = v1 + v2 ) ) thus ( W1 + W2 = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) implies for v being VECTOR of V ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & v = v1 + v2 ) ) ::_thesis: ( ( for v being VECTOR of V ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & v = v1 + v2 ) ) implies W1 + W2 = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) ) proof assume A1: W1 + W2 = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) ; ::_thesis: for v being VECTOR of V ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & v = v1 + v2 ) let v be VECTOR of V; ::_thesis: ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & v = v1 + v2 ) v in Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) by RLVECT_1:1; hence ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & v = v1 + v2 ) by A1, Th92; ::_thesis: verum end; assume A2: for v being VECTOR of V ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & v = v1 + v2 ) ; ::_thesis: W1 + W2 = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) now__::_thesis:_for_u_being_VECTOR_of_V_holds_u_in_W1_+_W2 let u be VECTOR of V; ::_thesis: u in W1 + W2 ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & u = v1 + v2 ) by A2; hence u in W1 + W2 by Th92; ::_thesis: verum end; hence W1 + W2 = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) by Lm16; ::_thesis: verum end; definition let V be Z_Module; let W be Submodule of V; attrW is with_Linear_Compl means :Def18: :: ZMODUL01:def 18 ex C being Submodule of V st V is_the_direct_sum_of C,W; end; :: deftheorem Def18 defines with_Linear_Compl ZMODUL01:def_18_:_ for V being Z_Module for W being Submodule of V holds ( W is with_Linear_Compl iff ex C being Submodule of V st V is_the_direct_sum_of C,W ); registration let V be Z_Module; cluster non empty left_add-cancelable right_add-cancelable add-cancelable right_complementable Abelian add-associative right_zeroed V129() V130() V131() V132() vector-distributive scalar-distributive scalar-associative scalar-unital with_Linear_Compl for Submodule of V; correctness existence ex b1 being Submodule of V st b1 is with_Linear_Compl ; proof ( ((0). V) + ((Omega). V) = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) & (0). V = ((0). V) /\ ((Omega). V) ) by Th99, Th107; then V is_the_direct_sum_of (0). V, (Omega). V by Def17; then (Omega). V is with_Linear_Compl by Def18; hence ex b1 being Submodule of V st b1 is with_Linear_Compl ; ::_thesis: verum end; end; definition let V be Z_Module; let W be Submodule of V; assume A1: W is with_Linear_Compl ; mode Linear_Compl of W -> Submodule of V means :Def19: :: ZMODUL01:def 19 V is_the_direct_sum_of it,W; existence ex b1 being Submodule of V st V is_the_direct_sum_of b1,W by A1, Def18; end; :: deftheorem Def19 defines Linear_Compl ZMODUL01:def_19_:_ for V being Z_Module for W being Submodule of V st W is with_Linear_Compl holds for b3 being Submodule of V holds ( b3 is Linear_Compl of W iff V is_the_direct_sum_of b3,W ); Lm18: for V being Z_Module for W1, W2 being Submodule of V st V is_the_direct_sum_of W1,W2 holds V is_the_direct_sum_of W2,W1 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V st V is_the_direct_sum_of W1,W2 holds V is_the_direct_sum_of W2,W1 let W1, W2 be Submodule of V; ::_thesis: ( V is_the_direct_sum_of W1,W2 implies V is_the_direct_sum_of W2,W1 ) assume A1: V is_the_direct_sum_of W1,W2 ; ::_thesis: V is_the_direct_sum_of W2,W1 then A2: W2 /\ W1 = (0). V by Def17; Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) = W1 + W2 by A1, Def17; hence V is_the_direct_sum_of W2,W1 by A2, Def17; ::_thesis: verum end; theorem :: ZMODUL01:123 for V being Z_Module for W1, W2 being Submodule of V st V is_the_direct_sum_of W1,W2 holds W2 is Linear_Compl of W1 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V st V is_the_direct_sum_of W1,W2 holds W2 is Linear_Compl of W1 let W1, W2 be Submodule of V; ::_thesis: ( V is_the_direct_sum_of W1,W2 implies W2 is Linear_Compl of W1 ) assume V is_the_direct_sum_of W1,W2 ; ::_thesis: W2 is Linear_Compl of W1 then A1: V is_the_direct_sum_of W2,W1 by Lm18; then W1 is with_Linear_Compl by Def18; hence W2 is Linear_Compl of W1 by Def19, A1; ::_thesis: verum end; theorem Th124: :: ZMODUL01:124 for V being Z_Module for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W holds ( V is_the_direct_sum_of L,W & V is_the_direct_sum_of W,L ) proof let V be Z_Module; ::_thesis: for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W holds ( V is_the_direct_sum_of L,W & V is_the_direct_sum_of W,L ) let W be with_Linear_Compl Submodule of V; ::_thesis: for L being Linear_Compl of W holds ( V is_the_direct_sum_of L,W & V is_the_direct_sum_of W,L ) let L be Linear_Compl of W; ::_thesis: ( V is_the_direct_sum_of L,W & V is_the_direct_sum_of W,L ) thus V is_the_direct_sum_of L,W by Def19; ::_thesis: V is_the_direct_sum_of W,L hence V is_the_direct_sum_of W,L by Lm18; ::_thesis: verum end; theorem :: ZMODUL01:125 for V being Z_Module for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W holds W + L = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) proof let V be Z_Module; ::_thesis: for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W holds W + L = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) let W be with_Linear_Compl Submodule of V; ::_thesis: for L being Linear_Compl of W holds W + L = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) let L be Linear_Compl of W; ::_thesis: W + L = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) V is_the_direct_sum_of W,L by Th124; hence W + L = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) by Def17; ::_thesis: verum end; theorem :: ZMODUL01:126 for V being Z_Module for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W holds W /\ L = (0). V proof let V be Z_Module; ::_thesis: for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W holds W /\ L = (0). V let W be with_Linear_Compl Submodule of V; ::_thesis: for L being Linear_Compl of W holds W /\ L = (0). V let L be Linear_Compl of W; ::_thesis: W /\ L = (0). V V is_the_direct_sum_of W,L by Th124; hence W /\ L = (0). V by Def17; ::_thesis: verum end; theorem :: ZMODUL01:127 for V being Z_Module for W1, W2 being Submodule of V st V is_the_direct_sum_of W1,W2 holds V is_the_direct_sum_of W2,W1 by Lm18; theorem :: ZMODUL01:128 for V being Z_Module for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W holds W is Linear_Compl of L proof let V be Z_Module; ::_thesis: for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W holds W is Linear_Compl of L let W be with_Linear_Compl Submodule of V; ::_thesis: for L being Linear_Compl of W holds W is Linear_Compl of L let L be Linear_Compl of W; ::_thesis: W is Linear_Compl of L V is_the_direct_sum_of L,W by Def19; then A1: V is_the_direct_sum_of W,L by Lm18; then L is with_Linear_Compl by Def18; hence W is Linear_Compl of L by Def19, A1; ::_thesis: verum end; theorem Th129: :: ZMODUL01:129 for V being Z_Module holds ( V is_the_direct_sum_of (0). V, (Omega). V & V is_the_direct_sum_of (Omega). V, (0). V ) proof let V be Z_Module; ::_thesis: ( V is_the_direct_sum_of (0). V, (Omega). V & V is_the_direct_sum_of (Omega). V, (0). V ) A1: ( ((0). V) + ((Omega). V) = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) & (0). V = ((0). V) /\ ((Omega). V) ) by Th99, Th107; hence V is_the_direct_sum_of (0). V, (Omega). V by Def17; ::_thesis: V is_the_direct_sum_of (Omega). V, (0). V thus V is_the_direct_sum_of (Omega). V, (0). V by A1, Def17; ::_thesis: verum end; theorem :: ZMODUL01:130 for V being Z_Module holds ( (0). V is Linear_Compl of (Omega). V & (Omega). V is Linear_Compl of (0). V ) proof let V be Z_Module; ::_thesis: ( (0). V is Linear_Compl of (Omega). V & (Omega). V is Linear_Compl of (0). V ) A1: ( V is_the_direct_sum_of (0). V, (Omega). V & V is_the_direct_sum_of (Omega). V, (0). V ) by Th129; then A2: (Omega). V is with_Linear_Compl by Def18; (0). V is with_Linear_Compl by A1, Def18; hence ( (0). V is Linear_Compl of (Omega). V & (Omega). V is Linear_Compl of (0). V ) by Def19, A1, A2; ::_thesis: verum end; theorem Th131: :: ZMODUL01:131 for V being Z_Module for W1, W2 being Submodule of V for C1 being Coset of W1 for C2 being Coset of W2 st C1 meets C2 holds C1 /\ C2 is Coset of W1 /\ W2 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V for C1 being Coset of W1 for C2 being Coset of W2 st C1 meets C2 holds C1 /\ C2 is Coset of W1 /\ W2 let W1, W2 be Submodule of V; ::_thesis: for C1 being Coset of W1 for C2 being Coset of W2 st C1 meets C2 holds C1 /\ C2 is Coset of W1 /\ W2 let C1 be Coset of W1; ::_thesis: for C2 being Coset of W2 st C1 meets C2 holds C1 /\ C2 is Coset of W1 /\ W2 let C2 be Coset of W2; ::_thesis: ( C1 meets C2 implies C1 /\ C2 is Coset of W1 /\ W2 ) set v = the Element of C1 /\ C2; set C = C1 /\ C2; assume A1: C1 /\ C2 <> {} ; :: according to XBOOLE_0:def_7 ::_thesis: C1 /\ C2 is Coset of W1 /\ W2 then reconsider v = the Element of C1 /\ C2 as Element of V by TARSKI:def_3; v in C2 by A1, XBOOLE_0:def_4; then A2: C2 = v + W2 by Th87; v in C1 by A1, XBOOLE_0:def_4; then A3: C1 = v + W1 by Th87; C1 /\ C2 is Coset of W1 /\ W2 proof take v ; :: according to ZMODUL01:def_13 ::_thesis: C1 /\ C2 = v + (W1 /\ W2) thus C1 /\ C2 c= v + (W1 /\ W2) :: according to XBOOLE_0:def_10 ::_thesis: v + (W1 /\ W2) c= C1 /\ C2 proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in C1 /\ C2 or x in v + (W1 /\ W2) ) assume A4: x in C1 /\ C2 ; ::_thesis: x in v + (W1 /\ W2) then x in C1 by XBOOLE_0:def_4; then consider u1 being VECTOR of V such that A5: u1 in W1 and A6: x = v + u1 by A3, Th72; x in C2 by A4, XBOOLE_0:def_4; then consider u2 being VECTOR of V such that A7: u2 in W2 and A8: x = v + u2 by A2, Th72; u1 = u2 by A6, A8, RLVECT_1:8; then u1 in W1 /\ W2 by A5, A7, Th94; hence x in v + (W1 /\ W2) by A6; ::_thesis: verum end; let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in v + (W1 /\ W2) or x in C1 /\ C2 ) assume x in v + (W1 /\ W2) ; ::_thesis: x in C1 /\ C2 then consider u being VECTOR of V such that A9: u in W1 /\ W2 and A10: x = v + u by Th72; u in W2 by A9, Th94; then A11: x in { (v + u2) where u2 is VECTOR of V : u2 in W2 } by A10; u in W1 by A9, Th94; then x in { (v + u1) where u1 is VECTOR of V : u1 in W1 } by A10; hence x in C1 /\ C2 by A3, A2, A11, XBOOLE_0:def_4; ::_thesis: verum end; hence C1 /\ C2 is Coset of W1 /\ W2 ; ::_thesis: verum end; Lm19: for V being Z_Module for W being Submodule of V for v being VECTOR of V ex C being Coset of W st v in C proof let V be Z_Module; ::_thesis: for W being Submodule of V for v being VECTOR of V ex C being Coset of W st v in C let W be Submodule of V; ::_thesis: for v being VECTOR of V ex C being Coset of W st v in C let v be VECTOR of V; ::_thesis: ex C being Coset of W st v in C reconsider C = v + W as Coset of W by Def13; take C ; ::_thesis: v in C thus v in C by Th58; ::_thesis: verum end; theorem Th132: :: ZMODUL01:132 for V being Z_Module for W1, W2 being Submodule of V holds ( V is_the_direct_sum_of W1,W2 iff for C1 being Coset of W1 for C2 being Coset of W2 ex v being VECTOR of V st C1 /\ C2 = {v} ) proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V holds ( V is_the_direct_sum_of W1,W2 iff for C1 being Coset of W1 for C2 being Coset of W2 ex v being VECTOR of V st C1 /\ C2 = {v} ) let W1, W2 be Submodule of V; ::_thesis: ( V is_the_direct_sum_of W1,W2 iff for C1 being Coset of W1 for C2 being Coset of W2 ex v being VECTOR of V st C1 /\ C2 = {v} ) set VW1 = the carrier of W1; set VW2 = the carrier of W2; 0. V in W2 by Th33; then A1: 0. V in the carrier of W2 by STRUCT_0:def_5; thus ( V is_the_direct_sum_of W1,W2 implies for C1 being Coset of W1 for C2 being Coset of W2 ex v being VECTOR of V st C1 /\ C2 = {v} ) ::_thesis: ( ( for C1 being Coset of W1 for C2 being Coset of W2 ex v being VECTOR of V st C1 /\ C2 = {v} ) implies V is_the_direct_sum_of W1,W2 ) proof assume A2: V is_the_direct_sum_of W1,W2 ; ::_thesis: for C1 being Coset of W1 for C2 being Coset of W2 ex v being VECTOR of V st C1 /\ C2 = {v} then A3: Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) = W1 + W2 by Def17; let C1 be Coset of W1; ::_thesis: for C2 being Coset of W2 ex v being VECTOR of V st C1 /\ C2 = {v} let C2 be Coset of W2; ::_thesis: ex v being VECTOR of V st C1 /\ C2 = {v} consider v1 being VECTOR of V such that A4: C1 = v1 + W1 by Def13; v1 in Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) by RLVECT_1:1; then consider v11, v12 being VECTOR of V such that A5: v11 in W1 and A6: v12 in W2 and A7: v1 = v11 + v12 by A3, Th92; consider v2 being VECTOR of V such that A8: C2 = v2 + W2 by Def13; v2 in Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) by RLVECT_1:1; then consider v21, v22 being VECTOR of V such that A9: v21 in W1 and A10: v22 in W2 and A11: v2 = v21 + v22 by A3, Th92; take v = v12 + v21; ::_thesis: C1 /\ C2 = {v} {v} = C1 /\ C2 proof thus A12: {v} c= C1 /\ C2 :: according to XBOOLE_0:def_10 ::_thesis: C1 /\ C2 c= {v} proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in {v} or x in C1 /\ C2 ) assume x in {v} ; ::_thesis: x in C1 /\ C2 then A13: x = v by TARSKI:def_1; v21 = v2 - v22 by A11, RLSUB_2:61; then v21 in C2 by A8, A10, Th73; then C2 = v21 + W2 by Th87; then A14: x in C2 by A6, A13; v12 = v1 - v11 by A7, RLSUB_2:61; then v12 in C1 by A4, A5, Th73; then C1 = v12 + W1 by Th87; then x in C1 by A9, A13; hence x in C1 /\ C2 by A14, XBOOLE_0:def_4; ::_thesis: verum end; let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in C1 /\ C2 or x in {v} ) assume A15: x in C1 /\ C2 ; ::_thesis: x in {v} then C1 meets C2 by XBOOLE_0:4; then reconsider C = C1 /\ C2 as Coset of W1 /\ W2 by Th131; A16: v in {v} by TARSKI:def_1; W1 /\ W2 = (0). V by A2, Def17; then ex u being VECTOR of V st C = {u} by Th82; hence x in {v} by A12, A15, A16, TARSKI:def_1; ::_thesis: verum end; hence C1 /\ C2 = {v} ; ::_thesis: verum end; assume A17: for C1 being Coset of W1 for C2 being Coset of W2 ex v being VECTOR of V st C1 /\ C2 = {v} ; ::_thesis: V is_the_direct_sum_of W1,W2 A18: the carrier of W2 is Coset of W2 by Th83; now__::_thesis:_for_u_being_VECTOR_of_V_holds_u_in_W1_+_W2 let u be VECTOR of V; ::_thesis: u in W1 + W2 consider C1 being Coset of W1 such that A19: u in C1 by Lm19; consider v being VECTOR of V such that A20: C1 /\ the carrier of W2 = {v} by A18, A17; A21: v in {v} by TARSKI:def_1; then v in C1 by A20, XBOOLE_0:def_4; then consider v1 being VECTOR of V such that A22: v1 in W1 and A23: u - v1 = v by A19, Th89; v in the carrier of W2 by A20, A21, XBOOLE_0:def_4; then A24: v in W2 by STRUCT_0:def_5; u = v1 + v by A23, RLSUB_2:61; hence u in W1 + W2 by A24, A22, Th92; ::_thesis: verum end; hence Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) = W1 + W2 by Lm16; :: according to ZMODUL01:def_17 ::_thesis: W1 /\ W2 = (0). V the carrier of W1 is Coset of W1 by Th83; then consider v being VECTOR of V such that A25: the carrier of W1 /\ the carrier of W2 = {v} by A18, A17; 0. V in W1 by Th33; then 0. V in the carrier of W1 by STRUCT_0:def_5; then A26: 0. V in {v} by A25, A1, XBOOLE_0:def_4; the carrier of ((0). V) = {(0. V)} by Def10 .= the carrier of W1 /\ the carrier of W2 by A25, A26, TARSKI:def_1 .= the carrier of (W1 /\ W2) by Def15 ; hence W1 /\ W2 = (0). V by Th45; ::_thesis: verum end; theorem :: ZMODUL01:133 for V being Z_Module for W1, W2 being Submodule of V holds ( W1 + W2 = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) iff for v being VECTOR of V ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & v = v1 + v2 ) ) by Lm17; theorem Th134: :: ZMODUL01:134 for V being Z_Module for W1, W2 being Submodule of V for v1, v2, u1, u2 being VECTOR of V st V is_the_direct_sum_of W1,W2 & v1 + v2 = u1 + u2 & v1 in W1 & u1 in W1 & v2 in W2 & u2 in W2 holds ( v1 = u1 & v2 = u2 ) proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V for v1, v2, u1, u2 being VECTOR of V st V is_the_direct_sum_of W1,W2 & v1 + v2 = u1 + u2 & v1 in W1 & u1 in W1 & v2 in W2 & u2 in W2 holds ( v1 = u1 & v2 = u2 ) let W1, W2 be Submodule of V; ::_thesis: for v1, v2, u1, u2 being VECTOR of V st V is_the_direct_sum_of W1,W2 & v1 + v2 = u1 + u2 & v1 in W1 & u1 in W1 & v2 in W2 & u2 in W2 holds ( v1 = u1 & v2 = u2 ) let v1, v2, u1, u2 be VECTOR of V; ::_thesis: ( V is_the_direct_sum_of W1,W2 & v1 + v2 = u1 + u2 & v1 in W1 & u1 in W1 & v2 in W2 & u2 in W2 implies ( v1 = u1 & v2 = u2 ) ) reconsider C2 = v1 + W2 as Coset of W2 by Def13; reconsider C1 = the carrier of W1 as Coset of W1 by Th83; A1: v1 in C2 by Th58; assume V is_the_direct_sum_of W1,W2 ; ::_thesis: ( not v1 + v2 = u1 + u2 or not v1 in W1 or not u1 in W1 or not v2 in W2 or not u2 in W2 or ( v1 = u1 & v2 = u2 ) ) then consider u being VECTOR of V such that A2: C1 /\ C2 = {u} by Th132; assume that A3: v1 + v2 = u1 + u2 and A4: v1 in W1 and A5: u1 in W1 and A6: ( v2 in W2 & u2 in W2 ) ; ::_thesis: ( v1 = u1 & v2 = u2 ) A7: v2 - u2 in W2 by A6, Th39; v1 in C1 by A4, STRUCT_0:def_5; then v1 in C1 /\ C2 by A1, XBOOLE_0:def_4; then A8: v1 = u by A2, TARSKI:def_1; u1 = (v1 + v2) - u2 by A3, RLSUB_2:61 .= v1 + (v2 - u2) by RLVECT_1:def_3 ; then A9: u1 in C2 by A7; u1 in C1 by A5, STRUCT_0:def_5; then A10: u1 in C1 /\ C2 by A9, XBOOLE_0:def_4; hence v1 = u1 by A2, A8, TARSKI:def_1; ::_thesis: v2 = u2 u1 = u by A10, A2, TARSKI:def_1; hence v2 = u2 by A3, A8, RLVECT_1:8; ::_thesis: verum end; theorem :: ZMODUL01:135 for V being Z_Module for W1, W2 being Submodule of V st V = W1 + W2 & ex v being VECTOR of V st for v1, v2, u1, u2 being VECTOR of V st v1 + v2 = u1 + u2 & v1 in W1 & u1 in W1 & v2 in W2 & u2 in W2 holds ( v1 = u1 & v2 = u2 ) holds V is_the_direct_sum_of W1,W2 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V st V = W1 + W2 & ex v being VECTOR of V st for v1, v2, u1, u2 being VECTOR of V st v1 + v2 = u1 + u2 & v1 in W1 & u1 in W1 & v2 in W2 & u2 in W2 holds ( v1 = u1 & v2 = u2 ) holds V is_the_direct_sum_of W1,W2 let W1, W2 be Submodule of V; ::_thesis: ( V = W1 + W2 & ex v being VECTOR of V st for v1, v2, u1, u2 being VECTOR of V st v1 + v2 = u1 + u2 & v1 in W1 & u1 in W1 & v2 in W2 & u2 in W2 holds ( v1 = u1 & v2 = u2 ) implies V is_the_direct_sum_of W1,W2 ) assume A1: V = W1 + W2 ; ::_thesis: ( for v being VECTOR of V ex v1, v2, u1, u2 being VECTOR of V st ( v1 + v2 = u1 + u2 & v1 in W1 & u1 in W1 & v2 in W2 & u2 in W2 & not ( v1 = u1 & v2 = u2 ) ) or V is_the_direct_sum_of W1,W2 ) ( the carrier of ((0). V) = {(0. V)} & (0). V is Submodule of W1 /\ W2 ) by Th54, Def10; then A2: {(0. V)} c= the carrier of (W1 /\ W2) by Def9; given v being VECTOR of V such that A3: for v1, v2, u1, u2 being VECTOR of V st v1 + v2 = u1 + u2 & v1 in W1 & u1 in W1 & v2 in W2 & u2 in W2 holds ( v1 = u1 & v2 = u2 ) ; ::_thesis: V is_the_direct_sum_of W1,W2 assume not V is_the_direct_sum_of W1,W2 ; ::_thesis: contradiction then W1 /\ W2 <> (0). V by A1, Def17; then the carrier of (W1 /\ W2) <> {(0. V)} by Def10; then {(0. V)} c< the carrier of (W1 /\ W2) by A2, XBOOLE_0:def_8; then consider x being set such that A4: x in the carrier of (W1 /\ W2) and A5: not x in {(0. V)} by XBOOLE_0:6; A6: x <> 0. V by A5, TARSKI:def_1; A7: x in W1 /\ W2 by A4, STRUCT_0:def_5; then x in V by Th24; then reconsider u = x as VECTOR of V by STRUCT_0:def_5; consider v1, v2 being VECTOR of V such that A8: v1 in W1 and A9: v2 in W2 and A10: v = v1 + v2 by A1, Lm17; A11: v = (v1 + v2) + (0. V) by A10, RLVECT_1:4 .= (v1 + v2) + (u - u) by RLVECT_1:15 .= ((v1 + v2) + u) - u by RLVECT_1:def_3 .= ((v1 + u) + v2) - u by RLVECT_1:def_3 .= (v1 + u) + (v2 - u) by RLVECT_1:def_3 ; x in W2 by A7, Th94; then A12: v2 - u in W2 by A9, Th39; x in W1 by A7, Th94; then v1 + u in W1 by A8, Th36; then v2 - u = v2 by A3, A8, A9, A10, A11, A12 .= v2 - (0. V) by RLVECT_1:13 ; hence contradiction by A6, RLVECT_1:23; ::_thesis: verum end; definition let V be Z_Module; let v be VECTOR of V; let W1, W2 be Submodule of V; assume A1: V is_the_direct_sum_of W1,W2 ; funcv |-- (W1,W2) -> Element of [: the carrier of V, the carrier of V:] means :Def20: :: ZMODUL01:def 20 ( v = (it `1) + (it `2) & it `1 in W1 & it `2 in W2 ); existence ex b1 being Element of [: the carrier of V, the carrier of V:] st ( v = (b1 `1) + (b1 `2) & b1 `1 in W1 & b1 `2 in W2 ) proof W1 + W2 = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) by A1, Def17; then consider v1, v2 being VECTOR of V such that A2: ( v1 in W1 & v2 in W2 & v = v1 + v2 ) by Lm17; take [v1,v2] ; ::_thesis: ( v = ([v1,v2] `1) + ([v1,v2] `2) & [v1,v2] `1 in W1 & [v1,v2] `2 in W2 ) [v1,v2] `1 = v1 by MCART_1:7; hence ( v = ([v1,v2] `1) + ([v1,v2] `2) & [v1,v2] `1 in W1 & [v1,v2] `2 in W2 ) by A2, MCART_1:7; ::_thesis: verum end; uniqueness for b1, b2 being Element of [: the carrier of V, the carrier of V:] st v = (b1 `1) + (b1 `2) & b1 `1 in W1 & b1 `2 in W2 & v = (b2 `1) + (b2 `2) & b2 `1 in W1 & b2 `2 in W2 holds b1 = b2 proof let t1, t2 be Element of [: the carrier of V, the carrier of V:]; ::_thesis: ( v = (t1 `1) + (t1 `2) & t1 `1 in W1 & t1 `2 in W2 & v = (t2 `1) + (t2 `2) & t2 `1 in W1 & t2 `2 in W2 implies t1 = t2 ) assume ( v = (t1 `1) + (t1 `2) & t1 `1 in W1 & t1 `2 in W2 & v = (t2 `1) + (t2 `2) & t2 `1 in W1 & t2 `2 in W2 ) ; ::_thesis: t1 = t2 then A3: ( t1 `1 = t2 `1 & t1 `2 = t2 `2 ) by A1, Th134; t1 = [(t1 `1),(t1 `2)] by MCART_1:21; hence t1 = t2 by A3, MCART_1:21; ::_thesis: verum end; end; :: deftheorem Def20 defines |-- ZMODUL01:def_20_:_ for V being Z_Module for v being VECTOR of V for W1, W2 being Submodule of V st V is_the_direct_sum_of W1,W2 holds for b5 being Element of [: the carrier of V, the carrier of V:] holds ( b5 = v |-- (W1,W2) iff ( v = (b5 `1) + (b5 `2) & b5 `1 in W1 & b5 `2 in W2 ) ); theorem Th136: :: ZMODUL01:136 for V being Z_Module for W1, W2 being Submodule of V for v being VECTOR of V st V is_the_direct_sum_of W1,W2 holds (v |-- (W1,W2)) `1 = (v |-- (W2,W1)) `2 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V for v being VECTOR of V st V is_the_direct_sum_of W1,W2 holds (v |-- (W1,W2)) `1 = (v |-- (W2,W1)) `2 let W1, W2 be Submodule of V; ::_thesis: for v being VECTOR of V st V is_the_direct_sum_of W1,W2 holds (v |-- (W1,W2)) `1 = (v |-- (W2,W1)) `2 let v be VECTOR of V; ::_thesis: ( V is_the_direct_sum_of W1,W2 implies (v |-- (W1,W2)) `1 = (v |-- (W2,W1)) `2 ) assume A1: V is_the_direct_sum_of W1,W2 ; ::_thesis: (v |-- (W1,W2)) `1 = (v |-- (W2,W1)) `2 then A2: (v |-- (W1,W2)) `2 in W2 by Def20; A3: V is_the_direct_sum_of W2,W1 by A1, Lm18; then A4: ( v = ((v |-- (W2,W1)) `2) + ((v |-- (W2,W1)) `1) & (v |-- (W2,W1)) `1 in W2 ) by Def20; A5: (v |-- (W2,W1)) `2 in W1 by A3, Def20; ( v = ((v |-- (W1,W2)) `1) + ((v |-- (W1,W2)) `2) & (v |-- (W1,W2)) `1 in W1 ) by A1, Def20; hence (v |-- (W1,W2)) `1 = (v |-- (W2,W1)) `2 by A1, A2, A4, A5, Th134; ::_thesis: verum end; theorem Th137: :: ZMODUL01:137 for V being Z_Module for W1, W2 being Submodule of V for v being VECTOR of V st V is_the_direct_sum_of W1,W2 holds (v |-- (W1,W2)) `2 = (v |-- (W2,W1)) `1 proof let V be Z_Module; ::_thesis: for W1, W2 being Submodule of V for v being VECTOR of V st V is_the_direct_sum_of W1,W2 holds (v |-- (W1,W2)) `2 = (v |-- (W2,W1)) `1 let W1, W2 be Submodule of V; ::_thesis: for v being VECTOR of V st V is_the_direct_sum_of W1,W2 holds (v |-- (W1,W2)) `2 = (v |-- (W2,W1)) `1 let v be VECTOR of V; ::_thesis: ( V is_the_direct_sum_of W1,W2 implies (v |-- (W1,W2)) `2 = (v |-- (W2,W1)) `1 ) assume A1: V is_the_direct_sum_of W1,W2 ; ::_thesis: (v |-- (W1,W2)) `2 = (v |-- (W2,W1)) `1 then A2: (v |-- (W1,W2)) `2 in W2 by Def20; A3: V is_the_direct_sum_of W2,W1 by A1, Lm18; then A4: ( v = ((v |-- (W2,W1)) `2) + ((v |-- (W2,W1)) `1) & (v |-- (W2,W1)) `1 in W2 ) by Def20; A5: (v |-- (W2,W1)) `2 in W1 by A3, Def20; ( v = ((v |-- (W1,W2)) `1) + ((v |-- (W1,W2)) `2) & (v |-- (W1,W2)) `1 in W1 ) by A1, Def20; hence (v |-- (W1,W2)) `2 = (v |-- (W2,W1)) `1 by A1, A2, A4, A5, Th134; ::_thesis: verum end; theorem :: ZMODUL01:138 for V being Z_Module for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W for v being VECTOR of V for t being Element of [: the carrier of V, the carrier of V:] st (t `1) + (t `2) = v & t `1 in W & t `2 in L holds t = v |-- (W,L) proof let V be Z_Module; ::_thesis: for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W for v being VECTOR of V for t being Element of [: the carrier of V, the carrier of V:] st (t `1) + (t `2) = v & t `1 in W & t `2 in L holds t = v |-- (W,L) let W be with_Linear_Compl Submodule of V; ::_thesis: for L being Linear_Compl of W for v being VECTOR of V for t being Element of [: the carrier of V, the carrier of V:] st (t `1) + (t `2) = v & t `1 in W & t `2 in L holds t = v |-- (W,L) let L be Linear_Compl of W; ::_thesis: for v being VECTOR of V for t being Element of [: the carrier of V, the carrier of V:] st (t `1) + (t `2) = v & t `1 in W & t `2 in L holds t = v |-- (W,L) V is_the_direct_sum_of W,L by Th124; hence for v being VECTOR of V for t being Element of [: the carrier of V, the carrier of V:] st (t `1) + (t `2) = v & t `1 in W & t `2 in L holds t = v |-- (W,L) by Def20; ::_thesis: verum end; theorem :: ZMODUL01:139 for V being Z_Module for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W for v being VECTOR of V holds ((v |-- (W,L)) `1) + ((v |-- (W,L)) `2) = v proof let V be Z_Module; ::_thesis: for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W for v being VECTOR of V holds ((v |-- (W,L)) `1) + ((v |-- (W,L)) `2) = v let W be with_Linear_Compl Submodule of V; ::_thesis: for L being Linear_Compl of W for v being VECTOR of V holds ((v |-- (W,L)) `1) + ((v |-- (W,L)) `2) = v let L be Linear_Compl of W; ::_thesis: for v being VECTOR of V holds ((v |-- (W,L)) `1) + ((v |-- (W,L)) `2) = v V is_the_direct_sum_of W,L by Th124; hence for v being VECTOR of V holds ((v |-- (W,L)) `1) + ((v |-- (W,L)) `2) = v by Def20; ::_thesis: verum end; theorem :: ZMODUL01:140 for V being Z_Module for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W for v being VECTOR of V holds ( (v |-- (W,L)) `1 in W & (v |-- (W,L)) `2 in L ) proof let V be Z_Module; ::_thesis: for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W for v being VECTOR of V holds ( (v |-- (W,L)) `1 in W & (v |-- (W,L)) `2 in L ) let W be with_Linear_Compl Submodule of V; ::_thesis: for L being Linear_Compl of W for v being VECTOR of V holds ( (v |-- (W,L)) `1 in W & (v |-- (W,L)) `2 in L ) let L be Linear_Compl of W; ::_thesis: for v being VECTOR of V holds ( (v |-- (W,L)) `1 in W & (v |-- (W,L)) `2 in L ) V is_the_direct_sum_of W,L by Th124; hence for v being VECTOR of V holds ( (v |-- (W,L)) `1 in W & (v |-- (W,L)) `2 in L ) by Def20; ::_thesis: verum end; theorem :: ZMODUL01:141 for V being Z_Module for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W for v being VECTOR of V holds (v |-- (W,L)) `1 = (v |-- (L,W)) `2 proof let V be Z_Module; ::_thesis: for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W for v being VECTOR of V holds (v |-- (W,L)) `1 = (v |-- (L,W)) `2 let W be with_Linear_Compl Submodule of V; ::_thesis: for L being Linear_Compl of W for v being VECTOR of V holds (v |-- (W,L)) `1 = (v |-- (L,W)) `2 let L be Linear_Compl of W; ::_thesis: for v being VECTOR of V holds (v |-- (W,L)) `1 = (v |-- (L,W)) `2 V is_the_direct_sum_of W,L by Th124; hence for v being VECTOR of V holds (v |-- (W,L)) `1 = (v |-- (L,W)) `2 by Th136; ::_thesis: verum end; theorem :: ZMODUL01:142 for V being Z_Module for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W for v being VECTOR of V holds (v |-- (W,L)) `2 = (v |-- (L,W)) `1 proof let V be Z_Module; ::_thesis: for W being with_Linear_Compl Submodule of V for L being Linear_Compl of W for v being VECTOR of V holds (v |-- (W,L)) `2 = (v |-- (L,W)) `1 let W be with_Linear_Compl Submodule of V; ::_thesis: for L being Linear_Compl of W for v being VECTOR of V holds (v |-- (W,L)) `2 = (v |-- (L,W)) `1 let L be Linear_Compl of W; ::_thesis: for v being VECTOR of V holds (v |-- (W,L)) `2 = (v |-- (L,W)) `1 V is_the_direct_sum_of W,L by Th124; hence for v being VECTOR of V holds (v |-- (W,L)) `2 = (v |-- (L,W)) `1 by Th137; ::_thesis: verum end; definition let V be Z_Module; func SubJoin V -> BinOp of (Submodules V) means :Def21: :: ZMODUL01:def 21 for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds it . (A1,A2) = W1 + W2; existence ex b1 being BinOp of (Submodules V) st for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds b1 . (A1,A2) = W1 + W2 proof defpred S1[ Element of Submodules V, Element of Submodules V, Element of Submodules V] means for W1, W2 being Submodule of V st $1 = W1 & $2 = W2 holds $3 = W1 + W2; A1: for A1, A2 being Element of Submodules V ex B being Element of Submodules V st S1[A1,A2,B] proof let A1, A2 be Element of Submodules V; ::_thesis: ex B being Element of Submodules V st S1[A1,A2,B] reconsider W1 = A1, W2 = A2 as Submodule of V by Def16; reconsider C = W1 + W2 as Element of Submodules V by Def16; take C ; ::_thesis: S1[A1,A2,C] thus S1[A1,A2,C] ; ::_thesis: verum end; ex o being BinOp of (Submodules V) st for a, b being Element of Submodules V holds S1[a,b,o . (a,b)] from BINOP_1:sch_3(A1); hence ex b1 being BinOp of (Submodules V) st for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds b1 . (A1,A2) = W1 + W2 ; ::_thesis: verum end; uniqueness for b1, b2 being BinOp of (Submodules V) st ( for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds b1 . (A1,A2) = W1 + W2 ) & ( for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds b2 . (A1,A2) = W1 + W2 ) holds b1 = b2 proof let o1, o2 be BinOp of (Submodules V); ::_thesis: ( ( for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds o1 . (A1,A2) = W1 + W2 ) & ( for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds o2 . (A1,A2) = W1 + W2 ) implies o1 = o2 ) assume A2: for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds o1 . (A1,A2) = W1 + W2 ; ::_thesis: ( ex A1, A2 being Element of Submodules V ex W1, W2 being Submodule of V st ( A1 = W1 & A2 = W2 & not o2 . (A1,A2) = W1 + W2 ) or o1 = o2 ) assume A3: for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds o2 . (A1,A2) = W1 + W2 ; ::_thesis: o1 = o2 now__::_thesis:_for_x,_y_being_set_st_x_in_Submodules_V_&_y_in_Submodules_V_holds_ o1_._(x,y)_=_o2_._(x,y) let x, y be set ; ::_thesis: ( x in Submodules V & y in Submodules V implies o1 . (x,y) = o2 . (x,y) ) assume A4: ( x in Submodules V & y in Submodules V ) ; ::_thesis: o1 . (x,y) = o2 . (x,y) then reconsider A = x, B = y as Element of Submodules V ; reconsider W1 = x, W2 = y as Submodule of V by A4, Def16; o1 . (A,B) = W1 + W2 by A2; hence o1 . (x,y) = o2 . (x,y) by A3; ::_thesis: verum end; hence o1 = o2 by BINOP_1:1; ::_thesis: verum end; end; :: deftheorem Def21 defines SubJoin ZMODUL01:def_21_:_ for V being Z_Module for b2 being BinOp of (Submodules V) holds ( b2 = SubJoin V iff for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds b2 . (A1,A2) = W1 + W2 ); definition let V be Z_Module; func SubMeet V -> BinOp of (Submodules V) means :Def22: :: ZMODUL01:def 22 for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds it . (A1,A2) = W1 /\ W2; existence ex b1 being BinOp of (Submodules V) st for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds b1 . (A1,A2) = W1 /\ W2 proof defpred S1[ Element of Submodules V, Element of Submodules V, Element of Submodules V] means for W1, W2 being Submodule of V st $1 = W1 & $2 = W2 holds $3 = W1 /\ W2; A1: for A1, A2 being Element of Submodules V ex B being Element of Submodules V st S1[A1,A2,B] proof let A1, A2 be Element of Submodules V; ::_thesis: ex B being Element of Submodules V st S1[A1,A2,B] reconsider W1 = A1, W2 = A2 as Submodule of V by Def16; reconsider C = W1 /\ W2 as Element of Submodules V by Def16; take C ; ::_thesis: S1[A1,A2,C] thus S1[A1,A2,C] ; ::_thesis: verum end; ex o being BinOp of (Submodules V) st for a, b being Element of Submodules V holds S1[a,b,o . (a,b)] from BINOP_1:sch_3(A1); hence ex b1 being BinOp of (Submodules V) st for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds b1 . (A1,A2) = W1 /\ W2 ; ::_thesis: verum end; uniqueness for b1, b2 being BinOp of (Submodules V) st ( for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds b1 . (A1,A2) = W1 /\ W2 ) & ( for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds b2 . (A1,A2) = W1 /\ W2 ) holds b1 = b2 proof let o1, o2 be BinOp of (Submodules V); ::_thesis: ( ( for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds o1 . (A1,A2) = W1 /\ W2 ) & ( for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds o2 . (A1,A2) = W1 /\ W2 ) implies o1 = o2 ) assume A2: for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds o1 . (A1,A2) = W1 /\ W2 ; ::_thesis: ( ex A1, A2 being Element of Submodules V ex W1, W2 being Submodule of V st ( A1 = W1 & A2 = W2 & not o2 . (A1,A2) = W1 /\ W2 ) or o1 = o2 ) assume A3: for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds o2 . (A1,A2) = W1 /\ W2 ; ::_thesis: o1 = o2 now__::_thesis:_for_x,_y_being_set_st_x_in_Submodules_V_&_y_in_Submodules_V_holds_ o1_._(x,y)_=_o2_._(x,y) let x, y be set ; ::_thesis: ( x in Submodules V & y in Submodules V implies o1 . (x,y) = o2 . (x,y) ) assume A4: ( x in Submodules V & y in Submodules V ) ; ::_thesis: o1 . (x,y) = o2 . (x,y) then reconsider A = x, B = y as Element of Submodules V ; reconsider W1 = x, W2 = y as Submodule of V by A4, Def16; o1 . (A,B) = W1 /\ W2 by A2; hence o1 . (x,y) = o2 . (x,y) by A3; ::_thesis: verum end; hence o1 = o2 by BINOP_1:1; ::_thesis: verum end; end; :: deftheorem Def22 defines SubMeet ZMODUL01:def_22_:_ for V being Z_Module for b2 being BinOp of (Submodules V) holds ( b2 = SubMeet V iff for A1, A2 being Element of Submodules V for W1, W2 being Submodule of V st A1 = W1 & A2 = W2 holds b2 . (A1,A2) = W1 /\ W2 ); theorem Th143: :: ZMODUL01:143 for V being Z_Module holds LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is Lattice proof let V be Z_Module; ::_thesis: LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is Lattice set S = LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); A1: for A, B being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) holds A "/\" B = B "/\" A proof let A, B be Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); ::_thesis: A "/\" B = B "/\" A reconsider W1 = A, W2 = B as Submodule of V by Def16; thus A "/\" B = W1 /\ W2 by Def22 .= B "/\" A by Def22 ; ::_thesis: verum end; A2: for A, B being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) holds (A "/\" B) "\/" B = B proof let A, B be Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); ::_thesis: (A "/\" B) "\/" B = B reconsider W1 = A, W2 = B as strict Submodule of V by Def16; reconsider AB = W1 /\ W2 as Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) by Def16; thus (A "/\" B) "\/" B = (SubJoin V) . (AB,B) by Def22 .= (W1 /\ W2) + W2 by Def21 .= B by Lm10, Th45 ; ::_thesis: verum end; A3: for A, B, C being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) holds A "\/" (B "\/" C) = (A "\/" B) "\/" C proof let A, B, C be Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); ::_thesis: A "\/" (B "\/" C) = (A "\/" B) "\/" C reconsider W1 = A, W2 = B, W3 = C as Submodule of V by Def16; reconsider AB = W1 + W2, BC = W2 + W3 as Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) by Def16; thus A "\/" (B "\/" C) = (SubJoin V) . (A,BC) by Def21 .= W1 + (W2 + W3) by Def21 .= (W1 + W2) + W3 by Th96 .= (SubJoin V) . (AB,C) by Def21 .= (A "\/" B) "\/" C by Def21 ; ::_thesis: verum end; A4: for A, B being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) holds A "/\" (A "\/" B) = A proof let A, B be Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); ::_thesis: A "/\" (A "\/" B) = A reconsider W1 = A, W2 = B as strict Submodule of V by Def16; reconsider AB = W1 + W2 as Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) by Def16; thus A "/\" (A "\/" B) = (SubMeet V) . (A,AB) by Def21 .= W1 /\ (W1 + W2) by Def22 .= A by Lm11, Th45 ; ::_thesis: verum end; A5: for A, B, C being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) holds A "/\" (B "/\" C) = (A "/\" B) "/\" C proof let A, B, C be Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); ::_thesis: A "/\" (B "/\" C) = (A "/\" B) "/\" C reconsider W1 = A, W2 = B, W3 = C as Submodule of V by Def16; reconsider AB = W1 /\ W2, BC = W2 /\ W3 as Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) by Def16; thus A "/\" (B "/\" C) = (SubMeet V) . (A,BC) by Def22 .= W1 /\ (W2 /\ W3) by Def22 .= (W1 /\ W2) /\ W3 by Th104 .= (SubMeet V) . (AB,C) by Def22 .= (A "/\" B) "/\" C by Def22 ; ::_thesis: verum end; for A, B being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) holds A "\/" B = B "\/" A proof let A, B be Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); ::_thesis: A "\/" B = B "\/" A reconsider W1 = A, W2 = B as Submodule of V by Def16; thus A "\/" B = W1 + W2 by Def21 .= B "\/" A by Def21 ; ::_thesis: verum end; then ( LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is join-commutative & LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is join-associative & LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is meet-absorbing & LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is meet-commutative & LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is meet-associative & LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is join-absorbing ) by A3, A2, A1, A5, A4, LATTICES:def_4, LATTICES:def_5, LATTICES:def_6, LATTICES:def_7, LATTICES:def_8, LATTICES:def_9; hence LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is Lattice ; ::_thesis: verum end; registration let V be Z_Module; cluster LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) -> Lattice-like ; coherence LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is Lattice-like by Th143; end; theorem Th144: :: ZMODUL01:144 for V being Z_Module holds LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is lower-bounded proof let V be Z_Module; ::_thesis: LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is lower-bounded set S = LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); ex C being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) st for A being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) holds ( C "/\" A = C & A "/\" C = C ) proof reconsider C = (0). V as Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) by Def16; take C ; ::_thesis: for A being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) holds ( C "/\" A = C & A "/\" C = C ) let A be Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); ::_thesis: ( C "/\" A = C & A "/\" C = C ) reconsider W = A as Submodule of V by Def16; thus C "/\" A = ((0). V) /\ W by Def22 .= C by Th107 ; ::_thesis: A "/\" C = C hence A "/\" C = C ; ::_thesis: verum end; hence LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is lower-bounded by LATTICES:def_13; ::_thesis: verum end; theorem Th145: :: ZMODUL01:145 for V being Z_Module holds LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is upper-bounded proof let V be Z_Module; ::_thesis: LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is upper-bounded set S = LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); ex C being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) st for A being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) holds ( C "\/" A = C & A "\/" C = C ) proof reconsider C = (Omega). V as Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) by Def16; take C ; ::_thesis: for A being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) holds ( C "\/" A = C & A "\/" C = C ) let A be Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); ::_thesis: ( C "\/" A = C & A "\/" C = C ) reconsider W = A as Submodule of V by Def16; thus C "\/" A = ((Omega). V) + W by Def21 .= C by Th101 ; ::_thesis: A "\/" C = C hence A "\/" C = C ; ::_thesis: verum end; hence LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is upper-bounded by LATTICES:def_14; ::_thesis: verum end; theorem :: ZMODUL01:146 for V being Z_Module holds LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is 01_Lattice proof let V be Z_Module; ::_thesis: LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is 01_Lattice LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is lower-bounded upper-bounded Lattice by Th144, Th145; hence LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is 01_Lattice ; ::_thesis: verum end; theorem :: ZMODUL01:147 for V being Z_Module holds LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is modular proof let V be Z_Module; ::_thesis: LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is modular set S = LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); for A, B, C being Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) st A [= C holds A "\/" (B "/\" C) = (A "\/" B) "/\" C proof let A, B, C be Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); ::_thesis: ( A [= C implies A "\/" (B "/\" C) = (A "\/" B) "/\" C ) reconsider W1 = A, W2 = B, W3 = C as strict Submodule of V by Def16; assume A1: A [= C ; ::_thesis: A "\/" (B "/\" C) = (A "\/" B) "/\" C reconsider AB = W1 + W2 as Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) by Def16; reconsider BC = W2 /\ W3 as Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) by Def16; W1 + W3 = A "\/" C by Def21 .= W3 by A1, LATTICES:def_3 ; then A2: W1 is Submodule of W3 by Th98; thus A "\/" (B "/\" C) = (SubJoin V) . (A,BC) by Def22 .= W1 + (W2 /\ W3) by Def21 .= (W1 + W2) /\ W3 by A2, Th118 .= (SubMeet V) . (AB,C) by Def22 .= (A "\/" B) "/\" C by Def21 ; ::_thesis: verum end; hence LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) is modular by LATTICES:def_12; ::_thesis: verum end; theorem :: ZMODUL01:148 for V being Z_Module for W1, W2, W3 being strict Submodule of V st W1 is Submodule of W2 holds W1 /\ W3 is Submodule of W2 /\ W3 proof let V be Z_Module; ::_thesis: for W1, W2, W3 being strict Submodule of V st W1 is Submodule of W2 holds W1 /\ W3 is Submodule of W2 /\ W3 let W1, W2, W3 be strict Submodule of V; ::_thesis: ( W1 is Submodule of W2 implies W1 /\ W3 is Submodule of W2 /\ W3 ) set S = LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #); reconsider A = W1, B = W2, C = W3, AC = W1 /\ W3, BC = W2 /\ W3 as Element of LattStr(# (Submodules V),(SubJoin V),(SubMeet V) #) by Def16; assume A1: W1 is Submodule of W2 ; ::_thesis: W1 /\ W3 is Submodule of W2 /\ W3 A "\/" B = W1 + W2 by Def21 .= B by A1, Th98 ; then A [= B by LATTICES:def_3; then A "/\" C [= B "/\" C by LATTICES:9; then A2: (A "/\" C) "\/" (B "/\" C) = B "/\" C by LATTICES:def_3; A3: B "/\" C = W2 /\ W3 by Def22; (A "/\" C) "\/" (B "/\" C) = (SubJoin V) . (((SubMeet V) . (A,C)),BC) by Def22 .= (SubJoin V) . (AC,BC) by Def22 .= (W1 /\ W3) + (W2 /\ W3) by Def21 ; hence W1 /\ W3 is Submodule of W2 /\ W3 by A2, A3, Th98; ::_thesis: verum end; theorem :: ZMODUL01:149 for V being Z_Module for W being strict Submodule of V st ( for v being VECTOR of V holds v in W ) holds W = Z_ModuleStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) by Lm16; theorem :: ZMODUL01:150 for V being Z_Module for W being Submodule of V for v being VECTOR of V ex C being Coset of W st v in C by Lm19; begin definition let AG be non empty addLoopStr ; func Int-mult-left AG -> Function of [:INT, the carrier of AG:], the carrier of AG means :Def23: :: ZMODUL01:def 23 for i being Element of INT for a being Element of AG holds ( ( i >= 0 implies it . (i,a) = (Nat-mult-left AG) . (i,a) ) & ( i < 0 implies it . (i,a) = (Nat-mult-left AG) . ((- i),(- a)) ) ); existence ex b1 being Function of [:INT, the carrier of AG:], the carrier of AG st for i being Element of INT for a being Element of AG holds ( ( i >= 0 implies b1 . (i,a) = (Nat-mult-left AG) . (i,a) ) & ( i < 0 implies b1 . (i,a) = (Nat-mult-left AG) . ((- i),(- a)) ) ) proof defpred S1[ Element of INT , Element of AG, Element of AG] means ( ( $1 >= 0 implies $3 = (Nat-mult-left AG) . ($1,$2) ) & ( $1 < 0 implies $3 = (Nat-mult-left AG) . ((- $1),(- $2)) ) ); A1: for x being Element of INT for y being Element of AG ex z being Element of AG st S1[x,y,z] proof let x be Element of INT ; ::_thesis: for y being Element of AG ex z being Element of AG st S1[x,y,z] let y be Element of AG; ::_thesis: ex z being Element of AG st S1[x,y,z] percases ( x >= 0 or x < 0 ) ; suppose x >= 0 ; ::_thesis: ex z being Element of AG st S1[x,y,z] then reconsider x0 = x as Element of NAT by INT_1:3; reconsider z = (Nat-mult-left AG) . (x0,y) as Element of AG ; S1[x,y,z] ; hence ex z being Element of AG st S1[x,y,z] ; ::_thesis: verum end; supposeA2: x < 0 ; ::_thesis: ex z being Element of AG st S1[x,y,z] then reconsider x0 = - x as Element of NAT by INT_1:3; reconsider z = (Nat-mult-left AG) . (x0,(- y)) as Element of AG ; S1[x,y,z] by A2; hence ex z being Element of AG st S1[x,y,z] ; ::_thesis: verum end; end; end; consider f being Function of [:INT, the carrier of AG:], the carrier of AG such that A3: for x being Element of INT for y being Element of the carrier of AG holds S1[x,y,f . (x,y)] from BINOP_1:sch_3(A1); take f ; ::_thesis: for i being Element of INT for a being Element of AG holds ( ( i >= 0 implies f . (i,a) = (Nat-mult-left AG) . (i,a) ) & ( i < 0 implies f . (i,a) = (Nat-mult-left AG) . ((- i),(- a)) ) ) thus for i being Element of INT for a being Element of AG holds ( ( i >= 0 implies f . (i,a) = (Nat-mult-left AG) . (i,a) ) & ( i < 0 implies f . (i,a) = (Nat-mult-left AG) . ((- i),(- a)) ) ) by A3; ::_thesis: verum end; uniqueness for b1, b2 being Function of [:INT, the carrier of AG:], the carrier of AG st ( for i being Element of INT for a being Element of AG holds ( ( i >= 0 implies b1 . (i,a) = (Nat-mult-left AG) . (i,a) ) & ( i < 0 implies b1 . (i,a) = (Nat-mult-left AG) . ((- i),(- a)) ) ) ) & ( for i being Element of INT for a being Element of AG holds ( ( i >= 0 implies b2 . (i,a) = (Nat-mult-left AG) . (i,a) ) & ( i < 0 implies b2 . (i,a) = (Nat-mult-left AG) . ((- i),(- a)) ) ) ) holds b1 = b2 proof let f1, f2 be Function of [:INT, the carrier of AG:], the carrier of AG; ::_thesis: ( ( for i being Element of INT for a being Element of AG holds ( ( i >= 0 implies f1 . (i,a) = (Nat-mult-left AG) . (i,a) ) & ( i < 0 implies f1 . (i,a) = (Nat-mult-left AG) . ((- i),(- a)) ) ) ) & ( for i being Element of INT for a being Element of AG holds ( ( i >= 0 implies f2 . (i,a) = (Nat-mult-left AG) . (i,a) ) & ( i < 0 implies f2 . (i,a) = (Nat-mult-left AG) . ((- i),(- a)) ) ) ) implies f1 = f2 ) assume A4: for i being Element of INT for a being Element of AG holds ( ( i >= 0 implies f1 . (i,a) = (Nat-mult-left AG) . (i,a) ) & ( i < 0 implies f1 . (i,a) = (Nat-mult-left AG) . ((- i),(- a)) ) ) ; ::_thesis: ( ex i being Element of INT ex a being Element of AG st ( ( i >= 0 implies f2 . (i,a) = (Nat-mult-left AG) . (i,a) ) implies ( i < 0 & not f2 . (i,a) = (Nat-mult-left AG) . ((- i),(- a)) ) ) or f1 = f2 ) assume A5: for i being Element of INT for a being Element of AG holds ( ( i >= 0 implies f2 . (i,a) = (Nat-mult-left AG) . (i,a) ) & ( i < 0 implies f2 . (i,a) = (Nat-mult-left AG) . ((- i),(- a)) ) ) ; ::_thesis: f1 = f2 for x, y being set st x in INT & y in the carrier of AG holds f1 . (x,y) = f2 . (x,y) proof let x, y be set ; ::_thesis: ( x in INT & y in the carrier of AG implies f1 . (x,y) = f2 . (x,y) ) assume A6: ( x in INT & y in the carrier of AG ) ; ::_thesis: f1 . (x,y) = f2 . (x,y) then reconsider x0 = x as Element of INT ; reconsider y0 = y as Element of AG by A6; percases ( 0 <= x0 or 0 > x0 ) ; supposeA7: 0 <= x0 ; ::_thesis: f1 . (x,y) = f2 . (x,y) hence f1 . (x,y) = (Nat-mult-left AG) . (x0,y0) by A4 .= f2 . (x,y) by A5, A7 ; ::_thesis: verum end; supposeA8: 0 > x0 ; ::_thesis: f1 . (x,y) = f2 . (x,y) hence f1 . (x,y) = (Nat-mult-left AG) . ((- x0),(- y0)) by A4 .= f2 . (x,y) by A5, A8 ; ::_thesis: verum end; end; end; hence f1 = f2 by BINOP_1:def_21; ::_thesis: verum end; end; :: deftheorem Def23 defines Int-mult-left ZMODUL01:def_23_:_ for AG being non empty addLoopStr for b2 being Function of [:INT, the carrier of AG:], the carrier of AG holds ( b2 = Int-mult-left AG iff for i being Element of INT for a being Element of AG holds ( ( i >= 0 implies b2 . (i,a) = (Nat-mult-left AG) . (i,a) ) & ( i < 0 implies b2 . (i,a) = (Nat-mult-left AG) . ((- i),(- a)) ) ) ); theorem :: ZMODUL01:151 for R being non empty addLoopStr for a being Element of R for i being Element of INT for i1 being Element of NAT st i = i1 holds (Int-mult-left R) . (i,a) = i1 * a by Def23; theorem Th152: :: ZMODUL01:152 for R being non empty addLoopStr for a being Element of R for i being Element of INT st i = 0 holds (Int-mult-left R) . (i,a) = 0. R proof let R be non empty addLoopStr ; ::_thesis: for a being Element of R for i being Element of INT st i = 0 holds (Int-mult-left R) . (i,a) = 0. R let a be Element of R; ::_thesis: for i being Element of INT st i = 0 holds (Int-mult-left R) . (i,a) = 0. R let i be Element of INT ; ::_thesis: ( i = 0 implies (Int-mult-left R) . (i,a) = 0. R ) assume i = 0 ; ::_thesis: (Int-mult-left R) . (i,a) = 0. R hence (Int-mult-left R) . (i,a) = 0 * a by Def23 .= 0. R by BINOM:12 ; ::_thesis: verum end; theorem Th153: :: ZMODUL01:153 for R being non empty right_complementable add-associative right_zeroed addLoopStr for i being Element of NAT holds (Nat-mult-left R) . (i,(0. R)) = 0. R proof let R be non empty right_complementable add-associative right_zeroed addLoopStr ; ::_thesis: for i being Element of NAT holds (Nat-mult-left R) . (i,(0. R)) = 0. R let i be Element of NAT ; ::_thesis: (Nat-mult-left R) . (i,(0. R)) = 0. R defpred S1[ Element of NAT ] means (Nat-mult-left R) . ($1,(0. R)) = 0. R; A1: S1[ 0 ] by BINOM:def_3; A2: for n being Element of NAT st S1[n] holds S1[n + 1] proof let n be Element of NAT ; ::_thesis: ( S1[n] implies S1[n + 1] ) assume A3: S1[n] ; ::_thesis: S1[n + 1] (Nat-mult-left R) . ((n + 1),(0. R)) = (0. R) + (0. R) by A3, BINOM:def_3 .= 0. R by RLVECT_1:4 ; hence S1[n + 1] ; ::_thesis: verum end; for n being Element of NAT holds S1[n] from NAT_1:sch_1(A1, A2); hence (Nat-mult-left R) . (i,(0. R)) = 0. R ; ::_thesis: verum end; theorem Th154: :: ZMODUL01:154 for R being non empty right_complementable add-associative right_zeroed addLoopStr for i being Element of INT holds (Int-mult-left R) . (i,(0. R)) = 0. R proof let R be non empty right_complementable add-associative right_zeroed addLoopStr ; ::_thesis: for i being Element of INT holds (Int-mult-left R) . (i,(0. R)) = 0. R let i be Element of INT ; ::_thesis: (Int-mult-left R) . (i,(0. R)) = 0. R percases ( 0 <= i or 0 > i ) ; suppose 0 <= i ; ::_thesis: (Int-mult-left R) . (i,(0. R)) = 0. R then reconsider i1 = i as Element of NAT by INT_1:3; thus (Int-mult-left R) . (i,(0. R)) = (Nat-mult-left R) . (i1,(0. R)) by Def23 .= 0. R by Th153 ; ::_thesis: verum end; supposeA1: 0 > i ; ::_thesis: (Int-mult-left R) . (i,(0. R)) = 0. R then reconsider i1 = - i as Element of NAT by INT_1:3; thus (Int-mult-left R) . (i,(0. R)) = (Nat-mult-left R) . (i1,(- (0. R))) by Def23, A1 .= (Nat-mult-left R) . (i1,(0. R)) by RLVECT_1:12 .= 0. R by Th153 ; ::_thesis: verum end; end; end; theorem Th155: :: ZMODUL01:155 for R being non empty right_zeroed addLoopStr for a being Element of R for i being Element of INT st i = 1 holds (Int-mult-left R) . (i,a) = a proof let R be non empty right_zeroed addLoopStr ; ::_thesis: for a being Element of R for i being Element of INT st i = 1 holds (Int-mult-left R) . (i,a) = a let a be Element of R; ::_thesis: for i being Element of INT st i = 1 holds (Int-mult-left R) . (i,a) = a let i be Element of INT ; ::_thesis: ( i = 1 implies (Int-mult-left R) . (i,a) = a ) assume i = 1 ; ::_thesis: (Int-mult-left R) . (i,a) = a hence (Int-mult-left R) . (i,a) = 1 * a by Def23 .= a by BINOM:13 ; ::_thesis: verum end; theorem Th156: :: ZMODUL01:156 for R being non empty right_complementable Abelian add-associative right_zeroed addLoopStr for a being Element of R for i, j, k being Element of NAT st i <= j & k = j - i holds (Nat-mult-left R) . (k,a) = ((Nat-mult-left R) . (j,a)) - ((Nat-mult-left R) . (i,a)) proof let R be non empty right_complementable Abelian add-associative right_zeroed addLoopStr ; ::_thesis: for a being Element of R for i, j, k being Element of NAT st i <= j & k = j - i holds (Nat-mult-left R) . (k,a) = ((Nat-mult-left R) . (j,a)) - ((Nat-mult-left R) . (i,a)) let a be Element of R; ::_thesis: for i, j, k being Element of NAT st i <= j & k = j - i holds (Nat-mult-left R) . (k,a) = ((Nat-mult-left R) . (j,a)) - ((Nat-mult-left R) . (i,a)) let i, j, k be Element of NAT ; ::_thesis: ( i <= j & k = j - i implies (Nat-mult-left R) . (k,a) = ((Nat-mult-left R) . (j,a)) - ((Nat-mult-left R) . (i,a)) ) assume A1: ( i <= j & k = j - i ) ; ::_thesis: (Nat-mult-left R) . (k,a) = ((Nat-mult-left R) . (j,a)) - ((Nat-mult-left R) . (i,a)) A2: j * a = (k + i) * a by A1 .= (k * a) + (i * a) by BINOM:15 ; thus ((Nat-mult-left R) . (j,a)) - ((Nat-mult-left R) . (i,a)) = (k * a) + ((i * a) - (i * a)) by A2, RLVECT_1:28 .= (k * a) + (0. R) by RLVECT_1:15 .= (Nat-mult-left R) . (k,a) by RLVECT_1:4 ; ::_thesis: verum end; theorem Th157: :: ZMODUL01:157 for R being non empty right_complementable Abelian add-associative right_zeroed addLoopStr for a being Element of R for i being Element of NAT holds - ((Nat-mult-left R) . (i,a)) = (Nat-mult-left R) . (i,(- a)) proof let R be non empty right_complementable Abelian add-associative right_zeroed addLoopStr ; ::_thesis: for a being Element of R for i being Element of NAT holds - ((Nat-mult-left R) . (i,a)) = (Nat-mult-left R) . (i,(- a)) let a be Element of R; ::_thesis: for i being Element of NAT holds - ((Nat-mult-left R) . (i,a)) = (Nat-mult-left R) . (i,(- a)) let i be Element of NAT ; ::_thesis: - ((Nat-mult-left R) . (i,a)) = (Nat-mult-left R) . (i,(- a)) defpred S1[ Element of NAT ] means ((Nat-mult-left R) . ($1,a)) + ((Nat-mult-left R) . ($1,(- a))) = 0. R; A1: S1[ 0 ] proof ((Nat-mult-left R) . (0,a)) + ((Nat-mult-left R) . (0,(- a))) = (0. R) + ((Nat-mult-left R) . (0,(- a))) by BINOM:def_3 .= (0. R) + (0. R) by BINOM:def_3 .= 0. R by RLVECT_1:4 ; hence S1[ 0 ] ; ::_thesis: verum end; A2: for n being Element of NAT st S1[n] holds S1[n + 1] proof let n be Element of NAT ; ::_thesis: ( S1[n] implies S1[n + 1] ) assume A3: S1[n] ; ::_thesis: S1[n + 1] ((Nat-mult-left R) . ((n + 1),a)) + ((Nat-mult-left R) . ((n + 1),(- a))) = (a + ((Nat-mult-left R) . (n,a))) + ((Nat-mult-left R) . ((n + 1),(- a))) by BINOM:def_3 .= (a + ((Nat-mult-left R) . (n,a))) + ((- a) + ((Nat-mult-left R) . (n,(- a)))) by BINOM:def_3 .= ((a + ((Nat-mult-left R) . (n,a))) + ((Nat-mult-left R) . (n,(- a)))) + (- a) by RLVECT_1:def_3 .= (a + (((Nat-mult-left R) . (n,a)) + ((Nat-mult-left R) . (n,(- a))))) + (- a) by RLVECT_1:def_3 .= a + (- a) by A3, RLVECT_1:4 .= 0. R by RLVECT_1:5 ; hence S1[n + 1] ; ::_thesis: verum end; for n being Element of NAT holds S1[n] from NAT_1:sch_1(A1, A2); then ((Nat-mult-left R) . (i,a)) + ((Nat-mult-left R) . (i,(- a))) = 0. R ; hence - ((Nat-mult-left R) . (i,a)) = (Nat-mult-left R) . (i,(- a)) by RLVECT_1:6; ::_thesis: verum end; theorem Th158: :: ZMODUL01:158 for R being non empty right_complementable Abelian add-associative right_zeroed addLoopStr for a being Element of R for i, j being Element of INT st i in NAT & not j in NAT holds (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) proof let R be non empty right_complementable Abelian add-associative right_zeroed addLoopStr ; ::_thesis: for a being Element of R for i, j being Element of INT st i in NAT & not j in NAT holds (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) let a be Element of R; ::_thesis: for i, j being Element of INT st i in NAT & not j in NAT holds (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) let i, j be Element of INT ; ::_thesis: ( i in NAT & not j in NAT implies (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) ) assume A1: ( i in NAT & not j in NAT ) ; ::_thesis: (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) then reconsider i1 = i as Element of NAT ; A2: j < 0 by A1, INT_1:3; then reconsider j1 = - j as Element of NAT by INT_1:3; A3: i + j is Element of INT by INT_1:def_2; percases ( j1 <= i1 or j1 > i1 ) ; supposeA4: j1 <= i1 ; ::_thesis: (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) reconsider k1 = i1 - j1 as Element of NAT by A4, INT_1:5; thus (Int-mult-left R) . ((i + j),a) = (Nat-mult-left R) . (k1,a) by A3, Def23 .= ((Nat-mult-left R) . (i1,a)) - ((Nat-mult-left R) . (j1,a)) by Th156, A4 .= ((Nat-mult-left R) . (i1,a)) + ((Nat-mult-left R) . (j1,(- a))) by Th157 .= ((Int-mult-left R) . (i,a)) + ((Nat-mult-left R) . (j1,(- a))) by Def23 .= ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) by A2, Def23 ; ::_thesis: verum end; supposeA5: j1 > i1 ; ::_thesis: (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) then reconsider k1 = j1 - i1 as Element of NAT by INT_1:5; A6: i1 - j1 < 0 by A5, XREAL_1:49; thus (Int-mult-left R) . ((i + j),a) = (Nat-mult-left R) . ((- (i1 - j1)),(- a)) by A3, A6, Def23 .= (Nat-mult-left R) . (k1,(- a)) .= ((Nat-mult-left R) . (j1,(- a))) - ((Nat-mult-left R) . (i1,(- a))) by Th156, A5 .= ((Nat-mult-left R) . (j1,(- a))) + ((Nat-mult-left R) . (i1,(- (- a)))) by Th157 .= ((Nat-mult-left R) . (j1,(- a))) + ((Nat-mult-left R) . (i1,a)) by RLVECT_1:17 .= ((Int-mult-left R) . (j,a)) + ((Nat-mult-left R) . (i1,a)) by A2, Def23 .= ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) by Def23 ; ::_thesis: verum end; end; end; theorem Th159: :: ZMODUL01:159 for R being non empty right_complementable Abelian add-associative right_zeroed addLoopStr for a being Element of R for i, j being Element of INT holds (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) proof let R be non empty right_complementable Abelian add-associative right_zeroed addLoopStr ; ::_thesis: for a being Element of R for i, j being Element of INT holds (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) let a be Element of R; ::_thesis: for i, j being Element of INT holds (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) let i, j be Element of INT ; ::_thesis: (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) percases ( ( i in NAT & j in NAT ) or ( i in NAT & not j in NAT ) or ( not i in NAT & j in NAT ) or ( not i in NAT & not j in NAT ) ) ; supposeA1: ( i in NAT & j in NAT ) ; ::_thesis: (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) then reconsider i1 = i as Element of NAT ; reconsider j1 = j as Element of NAT by A1; A2: i + j is Element of INT by INT_1:def_2; thus (Int-mult-left R) . ((i + j),a) = (i1 + j1) * a by A2, Def23 .= (i1 * a) + (j1 * a) by BINOM:15 .= ((Int-mult-left R) . (i,a)) + ((Nat-mult-left R) . (j1,a)) by Def23 .= ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) by Def23 ; ::_thesis: verum end; suppose ( i in NAT & not j in NAT ) ; ::_thesis: (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) hence (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) by Th158; ::_thesis: verum end; suppose ( not i in NAT & j in NAT ) ; ::_thesis: (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) hence (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) by Th158; ::_thesis: verum end; suppose ( not i in NAT & not j in NAT ) ; ::_thesis: (Int-mult-left R) . ((i + j),a) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) then A3: ( i < 0 & j < 0 ) by INT_1:3; then reconsider i1 = - i as Element of NAT by INT_1:3; reconsider j1 = - j as Element of NAT by A3, INT_1:3; A4: - (i + j) = i1 + j1 ; A5: i + j is Element of INT by INT_1:def_2; thus (Int-mult-left R) . ((i + j),a) = (i1 + j1) * (- a) by A3, A4, A5, Def23 .= (i1 * (- a)) + (j1 * (- a)) by BINOM:15 .= ((Int-mult-left R) . (i,a)) + ((Nat-mult-left R) . (j1,(- a))) by A3, Def23 .= ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (j,a)) by A3, Def23 ; ::_thesis: verum end; end; end; theorem Th160: :: ZMODUL01:160 for R being non empty right_complementable Abelian add-associative right_zeroed addLoopStr for a, b being Element of R for i being Element of NAT holds (Nat-mult-left R) . (i,(a + b)) = ((Nat-mult-left R) . (i,a)) + ((Nat-mult-left R) . (i,b)) proof let R be non empty right_complementable Abelian add-associative right_zeroed addLoopStr ; ::_thesis: for a, b being Element of R for i being Element of NAT holds (Nat-mult-left R) . (i,(a + b)) = ((Nat-mult-left R) . (i,a)) + ((Nat-mult-left R) . (i,b)) let a, b be Element of R; ::_thesis: for i being Element of NAT holds (Nat-mult-left R) . (i,(a + b)) = ((Nat-mult-left R) . (i,a)) + ((Nat-mult-left R) . (i,b)) let i be Element of NAT ; ::_thesis: (Nat-mult-left R) . (i,(a + b)) = ((Nat-mult-left R) . (i,a)) + ((Nat-mult-left R) . (i,b)) defpred S1[ Element of NAT ] means (Nat-mult-left R) . ($1,(a + b)) = ((Nat-mult-left R) . ($1,a)) + ((Nat-mult-left R) . ($1,b)); A1: S1[ 0 ] proof (Nat-mult-left R) . (0,(a + b)) = 0. R by BINOM:def_3 .= (0. R) + (0. R) by RLVECT_1:4 .= ((Nat-mult-left R) . (0,a)) + (0. R) by BINOM:def_3 .= ((Nat-mult-left R) . (0,a)) + ((Nat-mult-left R) . (0,b)) by BINOM:def_3 ; hence S1[ 0 ] ; ::_thesis: verum end; A2: for n being Element of NAT st S1[n] holds S1[n + 1] proof let n be Element of NAT ; ::_thesis: ( S1[n] implies S1[n + 1] ) assume A3: S1[n] ; ::_thesis: S1[n + 1] (Nat-mult-left R) . ((n + 1),(a + b)) = (a + b) + ((Nat-mult-left R) . (n,(a + b))) by BINOM:def_3 .= ((a + b) + ((Nat-mult-left R) . (n,a))) + ((Nat-mult-left R) . (n,b)) by A3, RLVECT_1:def_3 .= ((a + ((Nat-mult-left R) . (n,a))) + b) + ((Nat-mult-left R) . (n,b)) by RLVECT_1:def_3 .= (((Nat-mult-left R) . ((n + 1),a)) + b) + ((Nat-mult-left R) . (n,b)) by BINOM:def_3 .= ((Nat-mult-left R) . ((n + 1),a)) + (b + ((Nat-mult-left R) . (n,b))) by RLVECT_1:def_3 .= ((Nat-mult-left R) . ((n + 1),a)) + ((Nat-mult-left R) . ((n + 1),b)) by BINOM:def_3 ; hence S1[n + 1] ; ::_thesis: verum end; for n being Element of NAT holds S1[n] from NAT_1:sch_1(A1, A2); hence (Nat-mult-left R) . (i,(a + b)) = ((Nat-mult-left R) . (i,a)) + ((Nat-mult-left R) . (i,b)) ; ::_thesis: verum end; theorem Th161: :: ZMODUL01:161 for R being non empty right_complementable Abelian add-associative right_zeroed addLoopStr for a, b being Element of R for i being Element of INT holds (Int-mult-left R) . (i,(a + b)) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (i,b)) proof let R be non empty right_complementable Abelian add-associative right_zeroed addLoopStr ; ::_thesis: for a, b being Element of R for i being Element of INT holds (Int-mult-left R) . (i,(a + b)) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (i,b)) let a, b be Element of R; ::_thesis: for i being Element of INT holds (Int-mult-left R) . (i,(a + b)) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (i,b)) let i be Element of INT ; ::_thesis: (Int-mult-left R) . (i,(a + b)) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (i,b)) percases ( 0 <= i or 0 > i ) ; suppose 0 <= i ; ::_thesis: (Int-mult-left R) . (i,(a + b)) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (i,b)) then reconsider i1 = i as Element of NAT by INT_1:3; thus (Int-mult-left R) . (i,(a + b)) = (Nat-mult-left R) . (i1,(a + b)) by Def23 .= (i1 * a) + (i1 * b) by Th160 .= ((Int-mult-left R) . (i,a)) + ((Nat-mult-left R) . (i1,b)) by Def23 .= ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (i,b)) by Def23 ; ::_thesis: verum end; supposeA1: 0 > i ; ::_thesis: (Int-mult-left R) . (i,(a + b)) = ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (i,b)) then reconsider i1 = - i as Element of NAT by INT_1:3; (a + b) + ((- a) + (- b)) = ((b + a) + (- a)) + (- b) by RLVECT_1:def_3 .= (b + (a + (- a))) + (- b) by RLVECT_1:def_3 .= (b + (0. R)) + (- b) by RLVECT_1:5 .= b + (- b) by RLVECT_1:4 .= 0. R by RLVECT_1:5 ; then A2: - (a + b) = (- a) + (- b) by RLVECT_1:6; thus (Int-mult-left R) . (i,(a + b)) = (Nat-mult-left R) . (i1,(- (a + b))) by Def23, A1 .= (i1 * (- a)) + (i1 * (- b)) by A2, Th160 .= ((Int-mult-left R) . (i,a)) + ((Nat-mult-left R) . (i1,(- b))) by A1, Def23 .= ((Int-mult-left R) . (i,a)) + ((Int-mult-left R) . (i,b)) by A1, Def23 ; ::_thesis: verum end; end; end; theorem Th162: :: ZMODUL01:162 for R being non empty right_complementable Abelian add-associative right_zeroed addLoopStr for a being Element of R for i, j being Element of NAT holds (Nat-mult-left R) . ((i * j),a) = (Nat-mult-left R) . (i,((Nat-mult-left R) . (j,a))) proof let R be non empty right_complementable Abelian add-associative right_zeroed addLoopStr ; ::_thesis: for a being Element of R for i, j being Element of NAT holds (Nat-mult-left R) . ((i * j),a) = (Nat-mult-left R) . (i,((Nat-mult-left R) . (j,a))) let a be Element of R; ::_thesis: for i, j being Element of NAT holds (Nat-mult-left R) . ((i * j),a) = (Nat-mult-left R) . (i,((Nat-mult-left R) . (j,a))) let i, j be Element of NAT ; ::_thesis: (Nat-mult-left R) . ((i * j),a) = (Nat-mult-left R) . (i,((Nat-mult-left R) . (j,a))) defpred S1[ Element of NAT ] means (Nat-mult-left R) . (($1 * j),a) = (Nat-mult-left R) . ($1,((Nat-mult-left R) . (j,a))); A1: S1[ 0 ] proof (Nat-mult-left R) . ((0 * j),a) = 0. R by BINOM:def_3 .= (Nat-mult-left R) . (0,((Nat-mult-left R) . (j,a))) by BINOM:def_3 ; hence S1[ 0 ] ; ::_thesis: verum end; A2: for n being Element of NAT st S1[n] holds S1[n + 1] proof let n be Element of NAT ; ::_thesis: ( S1[n] implies S1[n + 1] ) assume A3: S1[n] ; ::_thesis: S1[n + 1] (Nat-mult-left R) . (((n + 1) * j),a) = (j + (n * j)) * a .= (j * a) + ((n * j) * a) by BINOM:15 .= (Nat-mult-left R) . ((n + 1),(j * a)) by A3, BINOM:def_3 ; hence S1[n + 1] ; ::_thesis: verum end; for n being Element of NAT holds S1[n] from NAT_1:sch_1(A1, A2); hence (Nat-mult-left R) . ((i * j),a) = (Nat-mult-left R) . (i,((Nat-mult-left R) . (j,a))) ; ::_thesis: verum end; Lm20: for R being non empty right_complementable Abelian add-associative right_zeroed addLoopStr for a being Element of R for i, j being Element of INT st i <> 0 & j <> 0 holds (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) proof let R be non empty right_complementable Abelian add-associative right_zeroed addLoopStr ; ::_thesis: for a being Element of R for i, j being Element of INT st i <> 0 & j <> 0 holds (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) let a be Element of R; ::_thesis: for i, j being Element of INT st i <> 0 & j <> 0 holds (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) let i, j be Element of INT ; ::_thesis: ( i <> 0 & j <> 0 implies (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) ) assume A1: ( i <> 0 & j <> 0 ) ; ::_thesis: (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) percases ( ( i in NAT & j in NAT ) or ( i in NAT & not j in NAT ) or ( not i in NAT & j in NAT ) or ( not i in NAT & not j in NAT ) ) ; supposeA2: ( i in NAT & j in NAT ) ; ::_thesis: (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) then reconsider i1 = i as Element of NAT ; reconsider j1 = j as Element of NAT by A2; A3: i * j is Element of INT by INT_1:def_2; thus (Int-mult-left R) . ((i * j),a) = (Nat-mult-left R) . ((i1 * j1),a) by A3, Def23 .= (Nat-mult-left R) . (i1,((Nat-mult-left R) . (j1,a))) by Th162 .= (Nat-mult-left R) . (i1,((Int-mult-left R) . (j,a))) by Def23 .= (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) by Def23 ; ::_thesis: verum end; supposeA4: ( i in NAT & not j in NAT ) ; ::_thesis: (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) then A5: ( 0 < i & j < 0 ) by A1, INT_1:3; reconsider i1 = i as Element of NAT by A4; reconsider j1 = - j as Element of NAT by A5, INT_1:3; A6: - (i * j) = i1 * j1 ; A7: j * i < 0 * i by A5, XREAL_1:68; i * j is Element of INT by INT_1:def_2; hence (Int-mult-left R) . ((i * j),a) = (Nat-mult-left R) . ((i1 * j1),(- a)) by A7, A6, Def23 .= (Nat-mult-left R) . (i1,((Nat-mult-left R) . (j1,(- a)))) by Th162 .= (Nat-mult-left R) . (i1,((Int-mult-left R) . (j,a))) by Def23, A5 .= (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) by Def23 ; ::_thesis: verum end; supposeA8: ( not i in NAT & j in NAT ) ; ::_thesis: (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) then A9: ( 0 < j & i < 0 ) by A1, INT_1:3; then reconsider i1 = - i as Element of NAT by INT_1:3; reconsider j1 = j as Element of NAT by A8; A10: - (i * j) = i1 * j1 ; A11: i * j < 0 * j by A9, XREAL_1:68; A12: i * j is Element of INT by INT_1:def_2; thus (Int-mult-left R) . ((i * j),a) = (Nat-mult-left R) . ((i1 * j1),(- a)) by A11, A10, A12, Def23 .= (Nat-mult-left R) . (i1,((Nat-mult-left R) . (j1,(- a)))) by Th162 .= (Nat-mult-left R) . (i1,(- ((Nat-mult-left R) . (j1,a)))) by Th157 .= (Nat-mult-left R) . (i1,(- ((Int-mult-left R) . (j,a)))) by Def23 .= (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) by A9, Def23 ; ::_thesis: verum end; suppose ( not i in NAT & not j in NAT ) ; ::_thesis: (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) then A13: ( i < 0 & j < 0 ) by INT_1:3; then reconsider i1 = - i as Element of NAT by INT_1:3; reconsider j1 = - j as Element of NAT by A13, INT_1:3; A14: i * j is Element of INT by INT_1:def_2; - ((Nat-mult-left R) . (j1,a)) = (Nat-mult-left R) . (j1,(- a)) by Th157; then ((Nat-mult-left R) . (j1,(- a))) + ((Nat-mult-left R) . (j1,a)) = 0. R by RLVECT_1:def_10; then A15: (Nat-mult-left R) . (j1,a) = - ((Nat-mult-left R) . (j1,(- a))) by RLVECT_1:def_10; thus (Int-mult-left R) . ((i * j),a) = (Nat-mult-left R) . ((i1 * j1),a) by A14, Def23 .= (Nat-mult-left R) . (i1,((Nat-mult-left R) . (j1,a))) by Th162 .= (Nat-mult-left R) . (i1,(- ((Int-mult-left R) . (j,a)))) by A13, A15, Def23 .= (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) by A13, Def23 ; ::_thesis: verum end; end; end; Lm21: for R being non empty right_complementable Abelian add-associative right_zeroed addLoopStr for a being Element of R for i, j being Element of INT st ( i = 0 or j = 0 ) holds (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) proof let R be non empty right_complementable Abelian add-associative right_zeroed addLoopStr ; ::_thesis: for a being Element of R for i, j being Element of INT st ( i = 0 or j = 0 ) holds (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) let a be Element of R; ::_thesis: for i, j being Element of INT st ( i = 0 or j = 0 ) holds (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) let i, j be Element of INT ; ::_thesis: ( ( i = 0 or j = 0 ) implies (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) ) assume A1: ( i = 0 or j = 0 ) ; ::_thesis: (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) percases ( i = 0 or j = 0 ) by A1; supposeA2: i = 0 ; ::_thesis: (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) hence (Int-mult-left R) . ((i * j),a) = 0. R by Th152 .= (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) by A2, Th152 ; ::_thesis: verum end; supposeA3: j = 0 ; ::_thesis: (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) hence (Int-mult-left R) . ((i * j),a) = 0. R by Th152 .= (Int-mult-left R) . (i,(0. R)) by Th154 .= (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) by Th152, A3 ; ::_thesis: verum end; end; end; theorem Th163: :: ZMODUL01:163 for R being non empty right_complementable Abelian add-associative right_zeroed addLoopStr for a being Element of R for i, j being Element of INT holds (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) proof let R be non empty right_complementable Abelian add-associative right_zeroed addLoopStr ; ::_thesis: for a being Element of R for i, j being Element of INT holds (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) let a be Element of R; ::_thesis: for i, j being Element of INT holds (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) let i, j be Element of INT ; ::_thesis: (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) percases ( i = 0 or j = 0 or ( not i = 0 & not j = 0 ) ) ; suppose ( i = 0 or j = 0 ) ; ::_thesis: (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) hence (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) by Lm21; ::_thesis: verum end; suppose ( not i = 0 & not j = 0 ) ; ::_thesis: (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) hence (Int-mult-left R) . ((i * j),a) = (Int-mult-left R) . (i,((Int-mult-left R) . (j,a))) by Lm20; ::_thesis: verum end; end; end; theorem :: ZMODUL01:164 for AG being non empty right_complementable Abelian add-associative right_zeroed addLoopStr holds Z_ModuleStruct(# the carrier of AG, the ZeroF of AG, the addF of AG,(Int-mult-left AG) #) is Z_Module proof let AG be non empty right_complementable Abelian add-associative right_zeroed addLoopStr ; ::_thesis: Z_ModuleStruct(# the carrier of AG, the ZeroF of AG, the addF of AG,(Int-mult-left AG) #) is Z_Module reconsider ZS = Z_ModuleStruct(# the carrier of AG, the ZeroF of AG, the addF of AG,(Int-mult-left AG) #) as non empty Z_ModuleStruct ; set ML = the Mult of ZS; set AD = the addF of ZS; set CA = the carrier of ZS; set Z0 = the ZeroF of ZS; set MLI = Int-mult-left AG; A1: for v, w being Element of ZS holds v + w = w + v proof let v, w be Element of ZS; ::_thesis: v + w = w + v reconsider v1 = v, w1 = w as Element of AG ; thus v + w = v1 + w1 .= w1 + v1 .= w + v ; ::_thesis: verum end; A2: for u, v, w being Element of ZS holds (u + v) + w = u + (v + w) proof let u, v, w be Element of ZS; ::_thesis: (u + v) + w = u + (v + w) reconsider u1 = u, v1 = v, w1 = w as Element of AG ; thus (u + v) + w = (u1 + v1) + w1 .= u1 + (v1 + w1) by RLVECT_1:def_3 .= u + (v + w) ; ::_thesis: verum end; A3: for v being Element of ZS holds v + (0. ZS) = v proof let v be VECTOR of ZS; ::_thesis: v + (0. ZS) = v reconsider v1 = v as Element of AG ; thus v + (0. ZS) = v1 + (0. AG) .= v by RLVECT_1:def_4 ; ::_thesis: verum end; A4: now__::_thesis:_for_v_being_VECTOR_of_ZS_holds_v_is_right_complementable let v be VECTOR of ZS; ::_thesis: v is right_complementable reconsider v1 = v as Element of AG ; consider w1 being Element of AG such that A5: v1 + w1 = 0. AG by ALGSTR_0:def_11; reconsider w = w1 as Element of ZS ; v + w = 0. ZS by A5; hence v is right_complementable by ALGSTR_0:def_11; ::_thesis: verum end; A6: for a, b being integer number for v being VECTOR of ZS holds (a + b) * v = (a * v) + (b * v) proof let a, b be integer number ; ::_thesis: for v being VECTOR of ZS holds (a + b) * v = (a * v) + (b * v) let v be VECTOR of ZS; ::_thesis: (a + b) * v = (a * v) + (b * v) reconsider a1 = a, b1 = b as Element of INT by INT_1:def_2; reconsider v1 = v as Element of AG ; thus (a + b) * v = ((Int-mult-left AG) . (a1,v1)) + ((Int-mult-left AG) . (b1,v1)) by Th159 .= (a * v) + (b * v) ; ::_thesis: verum end; A7: for a being integer number for v, w being VECTOR of ZS holds a * (v + w) = (a * v) + (a * w) proof let a be integer number ; ::_thesis: for v, w being VECTOR of ZS holds a * (v + w) = (a * v) + (a * w) let v, w be VECTOR of ZS; ::_thesis: a * (v + w) = (a * v) + (a * w) reconsider a1 = a as Element of INT by INT_1:def_2; reconsider v1 = v, w1 = w as Element of AG ; thus a * (v + w) = (Int-mult-left AG) . (a1,(v1 + w1)) .= ((Int-mult-left AG) . (a1,v1)) + ((Int-mult-left AG) . (a1,w1)) by Th161 .= (a * v) + (a * w) ; ::_thesis: verum end; A8: for a, b being integer number for v being VECTOR of ZS holds (a * b) * v = a * (b * v) proof let a, b be integer number ; ::_thesis: for v being VECTOR of ZS holds (a * b) * v = a * (b * v) let v be VECTOR of ZS; ::_thesis: (a * b) * v = a * (b * v) reconsider a1 = a, b1 = b as Element of INT by INT_1:def_2; reconsider v1 = v as Element of AG ; thus (a * b) * v = (Int-mult-left AG) . (a1,((Int-mult-left AG) . (b1,v1))) by Th163 .= a * (b * v) ; ::_thesis: verum end; for v being VECTOR of ZS holds 1 * v = v proof let v be VECTOR of ZS; ::_thesis: 1 * v = v reconsider i = 1 as Element of INT by INT_1:def_2; reconsider v1 = v as Element of AG ; thus 1 * v = (Int-mult-left AG) . (i,v1) .= v by Th155 ; ::_thesis: verum end; hence Z_ModuleStruct(# the carrier of AG, the ZeroF of AG, the addF of AG,(Int-mult-left AG) #) is Z_Module by A1, A2, A3, A4, A6, A7, A8, Def2, Def3, Def4, Def5, ALGSTR_0:def_16, RLVECT_1:def_2, RLVECT_1:def_3, RLVECT_1:def_4; ::_thesis: verum end;