:: Operations on Subspaces in Real Linear Space :: by Wojciech A. Trybulec :: :: Received September 20, 1989 :: Copyright (c) 1990-2012 Association of Mizar Users begin :: :: Definitions of sum and intersection of subspaces. :: definition let V be RealLinearSpace; let W1, W2 be Subspace of V; funcW1 + W2 -> strict Subspace of V means :Def1: :: RLSUB_2:def 1 the carrier of it = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } ; existence ex b1 being strict Subspace of V st the carrier of b1 = { (v + u) where v, u is VECTOR of V : ( v in W1 & u in W2 ) } proofend; uniqueness for b1, b2 being strict Subspace 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 RLSUB_1:30; end; :: deftheorem Def1 defines + RLSUB_2:def_1_:_ for V being RealLinearSpace for W1, W2 being Subspace of V for b4 being strict Subspace 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 RealLinearSpace; let W1, W2 be Subspace of V; funcW1 /\ W2 -> strict Subspace of V means :Def2: :: RLSUB_2:def 2 the carrier of it = the carrier of W1 /\ the carrier of W2; existence ex b1 being strict Subspace of V st the carrier of b1 = the carrier of W1 /\ the carrier of W2 proofend; uniqueness for b1, b2 being strict Subspace 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 RLSUB_1:30; end; :: deftheorem Def2 defines /\ RLSUB_2:def_2_:_ for V being RealLinearSpace for W1, W2 being Subspace of V for b4 being strict Subspace of V holds ( b4 = W1 /\ W2 iff the carrier of b4 = the carrier of W1 /\ the carrier of W2 ); :: :: Definitional theorems of sum and intersection of subspaces. :: theorem Th1: :: RLSUB_2:1 for V being RealLinearSpace for W1, W2 being Subspace of V for x being set holds ( x in W1 + W2 iff ex v1, v2 being VECTOR of V st ( v1 in W1 & v2 in W2 & x = v1 + v2 ) ) proofend; theorem Th2: :: RLSUB_2:2 for V being RealLinearSpace for W1, W2 being Subspace of V for v being VECTOR of V st ( v in W1 or v in W2 ) holds v in W1 + W2 proofend; theorem Th3: :: RLSUB_2:3 for V being RealLinearSpace for W1, W2 being Subspace of V for x being set holds ( x in W1 /\ W2 iff ( x in W1 & x in W2 ) ) proofend; Lm1: for V being RealLinearSpace for W1, W2 being Subspace of V holds W1 + W2 = W2 + W1 proofend; Lm2: for V being RealLinearSpace for W1, W2 being Subspace of V holds the carrier of W1 c= the carrier of (W1 + W2) proofend; Lm3: for V being RealLinearSpace for W1 being Subspace of V for W2 being strict Subspace of V st the carrier of W1 c= the carrier of W2 holds W1 + W2 = W2 proofend; theorem :: RLSUB_2:4 for V being RealLinearSpace for W being strict Subspace of V holds W + W = W by Lm3; theorem :: RLSUB_2:5 for V being RealLinearSpace for W1, W2 being Subspace of V holds W1 + W2 = W2 + W1 by Lm1; theorem Th6: :: RLSUB_2:6 for V being RealLinearSpace for W1, W2, W3 being Subspace of V holds W1 + (W2 + W3) = (W1 + W2) + W3 proofend; theorem Th7: :: RLSUB_2:7 for V being RealLinearSpace for W1, W2 being Subspace of V holds ( W1 is Subspace of W1 + W2 & W2 is Subspace of W1 + W2 ) proofend; theorem Th8: :: RLSUB_2:8 for V being RealLinearSpace for W1 being Subspace of V for W2 being strict Subspace of V holds ( W1 is Subspace of W2 iff W1 + W2 = W2 ) proofend; theorem Th9: :: RLSUB_2:9 for V being RealLinearSpace for W being strict Subspace of V holds ( ((0). V) + W = W & W + ((0). V) = W ) proofend; theorem :: RLSUB_2:10 for V being RealLinearSpace holds ( ((0). V) + ((Omega). V) = RLSStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) & ((Omega). V) + ((0). V) = RLSStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) ) by Th9; theorem Th11: :: RLSUB_2:11 for V being RealLinearSpace for W being Subspace of V holds ( ((Omega). V) + W = RLSStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) & W + ((Omega). V) = RLSStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) ) proofend; theorem :: RLSUB_2:12 for V being strict RealLinearSpace holds ((Omega). V) + ((Omega). V) = V by Th11; theorem :: RLSUB_2:13 for V being RealLinearSpace for W being strict Subspace of V holds W /\ W = W proofend; theorem Th14: :: RLSUB_2:14 for V being RealLinearSpace for W1, W2 being Subspace of V holds W1 /\ W2 = W2 /\ W1 proofend; theorem Th15: :: RLSUB_2:15 for V being RealLinearSpace for W1, W2, W3 being Subspace of V holds W1 /\ (W2 /\ W3) = (W1 /\ W2) /\ W3 proofend; Lm4: for V being RealLinearSpace for W1, W2 being Subspace of V holds the carrier of (W1 /\ W2) c= the carrier of W1 proofend; theorem Th16: :: RLSUB_2:16 for V being RealLinearSpace for W1, W2 being Subspace of V holds ( W1 /\ W2 is Subspace of W1 & W1 /\ W2 is Subspace of W2 ) proofend; theorem Th17: :: RLSUB_2:17 for V being RealLinearSpace for W2 being Subspace of V for W1 being strict Subspace of V holds ( W1 is Subspace of W2 iff W1 /\ W2 = W1 ) proofend; theorem Th18: :: RLSUB_2:18 for V being RealLinearSpace for W being Subspace of V holds ( ((0). V) /\ W = (0). V & W /\ ((0). V) = (0). V ) proofend; theorem :: RLSUB_2:19 for V being RealLinearSpace holds ( ((0). V) /\ ((Omega). V) = (0). V & ((Omega). V) /\ ((0). V) = (0). V ) by Th18; theorem Th20: :: RLSUB_2:20 for V being RealLinearSpace for W being strict Subspace of V holds ( ((Omega). V) /\ W = W & W /\ ((Omega). V) = W ) proofend; theorem :: RLSUB_2:21 for V being strict RealLinearSpace holds ((Omega). V) /\ ((Omega). V) = V by Th20; Lm5: for V being RealLinearSpace for W1, W2 being Subspace of V holds the carrier of (W1 /\ W2) c= the carrier of (W1 + W2) proofend; theorem :: RLSUB_2:22 for V being RealLinearSpace for W1, W2 being Subspace of V holds W1 /\ W2 is Subspace of W1 + W2 by Lm5, RLSUB_1:28; Lm6: for V being RealLinearSpace for W1, W2 being Subspace of V holds the carrier of ((W1 /\ W2) + W2) = the carrier of W2 proofend; theorem :: RLSUB_2:23 for V being RealLinearSpace for W1 being Subspace of V for W2 being strict Subspace of V holds (W1 /\ W2) + W2 = W2 by Lm6, RLSUB_1:30; Lm7: for V being RealLinearSpace for W1, W2 being Subspace of V holds the carrier of (W1 /\ (W1 + W2)) = the carrier of W1 proofend; theorem :: RLSUB_2:24 for V being RealLinearSpace for W2 being Subspace of V for W1 being strict Subspace of V holds W1 /\ (W1 + W2) = W1 by Lm7, RLSUB_1:30; Lm8: for V being RealLinearSpace for W1, W2, W3 being Subspace of V holds the carrier of ((W1 /\ W2) + (W2 /\ W3)) c= the carrier of (W2 /\ (W1 + W3)) proofend; theorem :: RLSUB_2:25 for V being RealLinearSpace for W1, W2, W3 being Subspace of V holds (W1 /\ W2) + (W2 /\ W3) is Subspace of W2 /\ (W1 + W3) by Lm8, RLSUB_1:28; Lm9: for V being RealLinearSpace for W1, W2, W3 being Subspace of V st W1 is Subspace of W2 holds the carrier of (W2 /\ (W1 + W3)) = the carrier of ((W1 /\ W2) + (W2 /\ W3)) proofend; theorem :: RLSUB_2:26 for V being RealLinearSpace for W1, W2, W3 being Subspace of V st W1 is Subspace of W2 holds W2 /\ (W1 + W3) = (W1 /\ W2) + (W2 /\ W3) by Lm9, RLSUB_1:30; Lm10: for V being RealLinearSpace for W2, W1, W3 being Subspace of V holds the carrier of (W2 + (W1 /\ W3)) c= the carrier of ((W1 + W2) /\ (W2 + W3)) proofend; theorem :: RLSUB_2:27 for V being RealLinearSpace for W2, W1, W3 being Subspace of V holds W2 + (W1 /\ W3) is Subspace of (W1 + W2) /\ (W2 + W3) by Lm10, RLSUB_1:28; Lm11: for V being RealLinearSpace for W1, W2, W3 being Subspace of V st W1 is Subspace of W2 holds the carrier of (W2 + (W1 /\ W3)) = the carrier of ((W1 + W2) /\ (W2 + W3)) proofend; theorem :: RLSUB_2:28 for V being RealLinearSpace for W1, W2, W3 being Subspace of V st W1 is Subspace of W2 holds W2 + (W1 /\ W3) = (W1 + W2) /\ (W2 + W3) by Lm11, RLSUB_1:30; theorem Th29: :: RLSUB_2:29 for V being RealLinearSpace for W1, W3, W2 being Subspace of V st W1 is strict Subspace of W3 holds W1 + (W2 /\ W3) = (W1 + W2) /\ W3 proofend; theorem :: RLSUB_2:30 for V being RealLinearSpace for W1, W2 being strict Subspace of V holds ( W1 + W2 = W2 iff W1 /\ W2 = W1 ) proofend; theorem :: RLSUB_2:31 for V being RealLinearSpace for W1 being Subspace of V for W2, W3 being strict Subspace of V st W1 is Subspace of W2 holds W1 + W3 is Subspace of W2 + W3 proofend; theorem :: RLSUB_2:32 for V being RealLinearSpace for W1, W2 being Subspace of V holds ( ( W1 is Subspace of W2 or W2 is Subspace of W1 ) iff ex W being Subspace of V st the carrier of W = the carrier of W1 \/ the carrier of W2 ) proofend; :: :: Introduction of a set of subspaces of real linear space. :: definition let V be RealLinearSpace; func Subspaces V -> set means :Def3: :: RLSUB_2:def 3 for x being set holds ( x in it iff x is strict Subspace of V ); existence ex b1 being set st for x being set holds ( x in b1 iff x is strict Subspace of V ) proofend; uniqueness for b1, b2 being set st ( for x being set holds ( x in b1 iff x is strict Subspace of V ) ) & ( for x being set holds ( x in b2 iff x is strict Subspace of V ) ) holds b1 = b2 proofend; end; :: deftheorem Def3 defines Subspaces RLSUB_2:def_3_:_ for V being RealLinearSpace for b2 being set holds ( b2 = Subspaces V iff for x being set holds ( x in b2 iff x is strict Subspace of V ) ); registration let V be RealLinearSpace; cluster Subspaces V -> non empty ; coherence not Subspaces V is empty proofend; end; theorem :: RLSUB_2:33 for V being strict RealLinearSpace holds V in Subspaces V proofend; :: :: Introduction of the direct sum of subspaces and :: linear complement of subspace. :: definition let V be RealLinearSpace; let W1, W2 be Subspace of V; predV is_the_direct_sum_of W1,W2 means :Def4: :: RLSUB_2:def 4 ( RLSStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) = W1 + W2 & W1 /\ W2 = (0). V ); end; :: deftheorem Def4 defines is_the_direct_sum_of RLSUB_2:def_4_:_ for V being RealLinearSpace for W1, W2 being Subspace of V holds ( V is_the_direct_sum_of W1,W2 iff ( RLSStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) = W1 + W2 & W1 /\ W2 = (0). V ) ); Lm12: for V being RealLinearSpace for W being strict Subspace of V st ( for v being VECTOR of V holds v in W ) holds W = RLSStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) proofend; Lm13: for V being RealLinearSpace for W1, W2 being Subspace of V holds ( W1 + W2 = RLSStruct(# 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 ) ) proofend; Lm14: for V being non empty right_complementable add-associative right_zeroed addLoopStr for v, v1, v2 being Element of V holds ( v = v1 + v2 iff v1 = v - v2 ) proofend; Lm15: for V being RealLinearSpace for W being Subspace of V ex C being strict Subspace of V st V is_the_direct_sum_of C,W proofend; definition let V be RealLinearSpace; let W be Subspace of V; mode Linear_Compl of W -> Subspace of V means :Def5: :: RLSUB_2:def 5 V is_the_direct_sum_of it,W; existence ex b1 being Subspace of V st V is_the_direct_sum_of b1,W proofend; end; :: deftheorem Def5 defines Linear_Compl RLSUB_2:def_5_:_ for V being RealLinearSpace for W, b3 being Subspace of V holds ( b3 is Linear_Compl of W iff V is_the_direct_sum_of b3,W ); registration let V be RealLinearSpace; let W be Subspace of V; cluster non empty left_complementable right_complementable strict Abelian add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital V131() for Linear_Compl of W; existence ex b1 being Linear_Compl of W st b1 is strict proofend; end; Lm16: for V being RealLinearSpace for W1, W2 being Subspace of V st V is_the_direct_sum_of W1,W2 holds V is_the_direct_sum_of W2,W1 proofend; theorem :: RLSUB_2:34 for V being RealLinearSpace for W1, W2 being Subspace of V st V is_the_direct_sum_of W1,W2 holds W2 is Linear_Compl of W1 proofend; theorem Th35: :: RLSUB_2:35 for V being RealLinearSpace for W being Subspace 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 ) proofend; :: :: Theorems concerning the direct sum of a subspaces, :: linear complement of a subspace and coset of a subspace. :: theorem Th36: :: RLSUB_2:36 for V being RealLinearSpace for W being Subspace of V for L being Linear_Compl of W holds ( W + L = RLSStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) & L + W = RLSStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) ) proofend; theorem Th37: :: RLSUB_2:37 for V being RealLinearSpace for W being Subspace of V for L being Linear_Compl of W holds ( W /\ L = (0). V & L /\ W = (0). V ) proofend; theorem :: RLSUB_2:38 for V being RealLinearSpace for W1, W2 being Subspace of V st V is_the_direct_sum_of W1,W2 holds V is_the_direct_sum_of W2,W1 by Lm16; theorem Th39: :: RLSUB_2:39 for V being RealLinearSpace holds ( V is_the_direct_sum_of (0). V, (Omega). V & V is_the_direct_sum_of (Omega). V, (0). V ) proofend; theorem :: RLSUB_2:40 for V being RealLinearSpace for W being Subspace of V for L being Linear_Compl of W holds W is Linear_Compl of L proofend; theorem :: RLSUB_2:41 for V being RealLinearSpace holds ( (0). V is Linear_Compl of (Omega). V & (Omega). V is Linear_Compl of (0). V ) proofend; theorem Th42: :: RLSUB_2:42 for V being RealLinearSpace for W1, W2 being Subspace 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 proofend; Lm17: for V being RealLinearSpace for W being Subspace of V for v being VECTOR of V ex C being Coset of W st v in C proofend; theorem Th43: :: RLSUB_2:43 for V being RealLinearSpace for W1, W2 being Subspace 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} ) proofend; :: :: Decomposition of a vector. :: theorem :: RLSUB_2:44 for V being RealLinearSpace for W1, W2 being Subspace of V holds ( W1 + W2 = RLSStruct(# 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 Lm13; theorem Th45: :: RLSUB_2:45 for V being RealLinearSpace for W1, W2 being Subspace of V for v, v1, v2, u1, u2 being VECTOR of V st V is_the_direct_sum_of W1,W2 & v = v1 + v2 & v = u1 + u2 & v1 in W1 & u1 in W1 & v2 in W2 & u2 in W2 holds ( v1 = u1 & v2 = u2 ) proofend; theorem :: RLSUB_2:46 for V being RealLinearSpace for W1, W2 being Subspace of V st V = W1 + W2 & ex v being VECTOR of V st for v1, v2, u1, u2 being VECTOR of V st v = v1 + v2 & v = 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 proofend; definition let V be RealLinearSpace; let v be VECTOR of V; let W1, W2 be Subspace 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 :Def6: :: RLSUB_2:def 6 ( 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 ) proofend; 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 proofend; end; :: deftheorem Def6 defines |-- RLSUB_2:def_6_:_ for V being RealLinearSpace for v being VECTOR of V for W1, W2 being Subspace 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 Th47: :: RLSUB_2:47 for V being RealLinearSpace for W1, W2 being Subspace 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 proofend; theorem Th48: :: RLSUB_2:48 for V being RealLinearSpace for W1, W2 being Subspace 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 proofend; theorem :: RLSUB_2:49 for V being RealLinearSpace for W being Subspace 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) proofend; theorem :: RLSUB_2:50 for V being RealLinearSpace for W being Subspace 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 proofend; theorem :: RLSUB_2:51 for V being RealLinearSpace for W being Subspace 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 ) proofend; theorem :: RLSUB_2:52 for V being RealLinearSpace for W being Subspace of V for L being Linear_Compl of W for v being VECTOR of V holds (v |-- (W,L)) `1 = (v |-- (L,W)) `2 proofend; theorem :: RLSUB_2:53 for V being RealLinearSpace for W being Subspace of V for L being Linear_Compl of W for v being VECTOR of V holds (v |-- (W,L)) `2 = (v |-- (L,W)) `1 proofend; definition let V be RealLinearSpace; func SubJoin V -> BinOp of (Subspaces V) means :Def7: :: RLSUB_2:def 7 for A1, A2 being Element of Subspaces V for W1, W2 being Subspace of V st A1 = W1 & A2 = W2 holds it . (A1,A2) = W1 + W2; existence ex b1 being BinOp of (Subspaces V) st for A1, A2 being Element of Subspaces V for W1, W2 being Subspace of V st A1 = W1 & A2 = W2 holds b1 . (A1,A2) = W1 + W2 proofend; uniqueness for b1, b2 being BinOp of (Subspaces V) st ( for A1, A2 being Element of Subspaces V for W1, W2 being Subspace of V st A1 = W1 & A2 = W2 holds b1 . (A1,A2) = W1 + W2 ) & ( for A1, A2 being Element of Subspaces V for W1, W2 being Subspace of V st A1 = W1 & A2 = W2 holds b2 . (A1,A2) = W1 + W2 ) holds b1 = b2 proofend; end; :: deftheorem Def7 defines SubJoin RLSUB_2:def_7_:_ for V being RealLinearSpace for b2 being BinOp of (Subspaces V) holds ( b2 = SubJoin V iff for A1, A2 being Element of Subspaces V for W1, W2 being Subspace of V st A1 = W1 & A2 = W2 holds b2 . (A1,A2) = W1 + W2 ); definition let V be RealLinearSpace; func SubMeet V -> BinOp of (Subspaces V) means :Def8: :: RLSUB_2:def 8 for A1, A2 being Element of Subspaces V for W1, W2 being Subspace of V st A1 = W1 & A2 = W2 holds it . (A1,A2) = W1 /\ W2; existence ex b1 being BinOp of (Subspaces V) st for A1, A2 being Element of Subspaces V for W1, W2 being Subspace of V st A1 = W1 & A2 = W2 holds b1 . (A1,A2) = W1 /\ W2 proofend; uniqueness for b1, b2 being BinOp of (Subspaces V) st ( for A1, A2 being Element of Subspaces V for W1, W2 being Subspace of V st A1 = W1 & A2 = W2 holds b1 . (A1,A2) = W1 /\ W2 ) & ( for A1, A2 being Element of Subspaces V for W1, W2 being Subspace of V st A1 = W1 & A2 = W2 holds b2 . (A1,A2) = W1 /\ W2 ) holds b1 = b2 proofend; end; :: deftheorem Def8 defines SubMeet RLSUB_2:def_8_:_ for V being RealLinearSpace for b2 being BinOp of (Subspaces V) holds ( b2 = SubMeet V iff for A1, A2 being Element of Subspaces V for W1, W2 being Subspace of V st A1 = W1 & A2 = W2 holds b2 . (A1,A2) = W1 /\ W2 ); :: :: Definitional theorems of functions SubJoin, SubMeet. :: theorem Th54: :: RLSUB_2:54 for V being RealLinearSpace holds LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) is Lattice proofend; registration let V be RealLinearSpace; cluster LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) -> Lattice-like ; coherence LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) is Lattice-like by Th54; end; theorem Th55: :: RLSUB_2:55 for V being RealLinearSpace holds LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) is lower-bounded proofend; theorem Th56: :: RLSUB_2:56 for V being RealLinearSpace holds LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) is upper-bounded proofend; theorem Th57: :: RLSUB_2:57 for V being RealLinearSpace holds LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) is 01_Lattice proofend; theorem Th58: :: RLSUB_2:58 for V being RealLinearSpace holds LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) is modular proofend; Lm18: for l being Lattice for a, b being Element of l holds ( a is_a_complement_of b iff ( a "\/" b = Top l & a "/\" b = Bottom l ) ) proofend; Lm19: for l being Lattice for b being Element of l st ( for a being Element of l holds a "/\" b = b ) holds b = Bottom l proofend; Lm20: for l being Lattice for b being Element of l st ( for a being Element of l holds a "\/" b = b ) holds b = Top l proofend; theorem Th59: :: RLSUB_2:59 for V being RealLinearSpace holds LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) is complemented proofend; registration let V be RealLinearSpace; cluster LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) -> modular lower-bounded upper-bounded complemented ; coherence ( LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) is lower-bounded & LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) is upper-bounded & LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) is modular & LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) is complemented ) by Th55, Th56, Th58, Th59; end; :: :: Theorems concerning operations on subspaces (continuation). Proven :: on the basis that set of subspaces with operations is a lattice. :: theorem :: RLSUB_2:60 for V being RealLinearSpace for W1, W2, W3 being strict Subspace of V st W1 is Subspace of W2 holds W1 /\ W3 is Subspace of W2 /\ W3 proofend; :: :: Auxiliary theorems. :: theorem :: RLSUB_2:61 for V being non empty right_complementable add-associative right_zeroed addLoopStr for v, v1, v2 being Element of V holds ( v = v1 + v2 iff v1 = v - v2 ) by Lm14; theorem :: RLSUB_2:62 for V being RealLinearSpace for W being strict Subspace of V st ( for v being VECTOR of V holds v in W ) holds W = RLSStruct(# the carrier of V, the ZeroF of V, the addF of V, the Mult of V #) by Lm12; theorem :: RLSUB_2:63 for V being RealLinearSpace for W being Subspace of V for v being VECTOR of V ex C being Coset of W st v in C by Lm17; theorem :: RLSUB_2:64 for l being Lattice for b being Element of l st ( for a being Element of l holds a "/\" b = b ) holds b = Bottom l by Lm19; theorem :: RLSUB_2:65 for l being Lattice for b being Element of l st ( for a being Element of l holds a "\/" b = b ) holds b = Top l by Lm20;