:: VECTSP_5 semantic presentation

definition
let GF be non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr ;
let M be non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF;
let W1 be Subspace of M;
let W2 be Subspace of M;
func c3 + c4 -> strict Subspace of a2 means :Def1: :: VECTSP_5:def 1
the carrier of it = { (v + u) where v is Element of M, u is Element of M : ( v in W1 & u in W2 ) } ;
existence
ex b1 being strict Subspace of M st the carrier of b1 = { (v + u) where v is Element of M, u is Element of M : ( v in W1 & u in W2 ) }
proof end;
uniqueness
for b1, b2 being strict Subspace of M st the carrier of b1 = { (v + u) where v is Element of M, u is Element of M : ( v in W1 & u in W2 ) } & the carrier of b2 = { (v + u) where v is Element of M, u is Element of M : ( v in W1 & u in W2 ) } holds
b1 = b2
by VECTSP_4:37;
end;

:: deftheorem Def1 defines + VECTSP_5:def 1 :
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M
for b5 being strict Subspace of M holds
( b5 = W1 + W2 iff the carrier of b5 = { (v + u) where v is Element of M, u is Element of M : ( v in W1 & u in W2 ) } );

Lemma37: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds W1 + W2 = W2 + W1
proof end;

definition
let GF be non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr ;
let M be non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF;
let W1 be Subspace of M;
let W2 be Subspace of M;
func c3 /\ c4 -> strict Subspace of a2 means :Def2: :: VECTSP_5:def 2
the carrier of it = the carrier of W1 /\ the carrier of W2;
existence
ex b1 being strict Subspace of M st the carrier of b1 = the carrier of W1 /\ the carrier of W2
proof end;
uniqueness
for b1, b2 being strict Subspace of M 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 VECTSP_4:37;
commutativity
for b1 being strict Subspace of M
for W1, W2 being Subspace of M 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 Def2 defines /\ VECTSP_5:def 2 :
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M
for b5 being strict Subspace of M holds
( b5 = W1 /\ W2 iff the carrier of b5 = the carrier of W1 /\ the carrier of W2 );

theorem Th1: :: VECTSP_5:1
canceled;

theorem Th2: :: VECTSP_5:2
canceled;

theorem Th3: :: VECTSP_5:3
canceled;

theorem Th4: :: VECTSP_5:4
canceled;

theorem Th5: :: VECTSP_5:5
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M
for x being set holds
( x in W1 + W2 iff ex v1, v2 being Element of M st
( v1 in W1 & v2 in W2 & x = v1 + v2 ) )
proof end;

theorem Th6: :: VECTSP_5:6
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M
for v being Element of M st ( v in W1 or v in W2 ) holds
v in W1 + W2
proof end;

theorem Th7: :: VECTSP_5:7
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M
for x being set holds
( x in W1 /\ W2 iff ( x in W1 & x in W2 ) )
proof end;

Lemma48: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds the carrier of W1 c= the carrier of (W1 + W2)
proof end;

Lemma49: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1 being Subspace of M
for W2 being strict Subspace of M st the carrier of W1 c= the carrier of W2 holds
W1 + W2 = W2
proof end;

theorem Th8: :: VECTSP_5:8
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W being strict Subspace of M holds W + W = W by ;

theorem Th9: :: VECTSP_5:9
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds W1 + W2 = W2 + W1 by ;

theorem Th10: :: VECTSP_5:10
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2, W3 being Subspace of M holds W1 + (W2 + W3) = (W1 + W2) + W3
proof end;

theorem Th11: :: VECTSP_5:11
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds
( W1 is Subspace of W1 + W2 & W2 is Subspace of W1 + W2 )
proof end;

theorem Th12: :: VECTSP_5:12
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1 being Subspace of M
for W2 being strict Subspace of M holds
( W1 is Subspace of W2 iff W1 + W2 = W2 )
proof end;

theorem Th13: :: VECTSP_5:13
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W being strict Subspace of M holds
( ((0). M) + W = W & W + ((0). M) = W )
proof end;

Lemma66: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W being Subspace of M ex W' being strict Subspace of M st the carrier of W = the carrier of W'
proof end;

Lemma68: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W, W', W1 being Subspace of M st the carrier of W = the carrier of W' holds
( W1 + W = W1 + W' & W + W1 = W' + W1 )
proof end;

Lemma71: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W being Subspace of M holds W is Subspace of (Omega). M
proof end;

theorem Th14: :: VECTSP_5:14
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF holds
( ((0). M) + ((Omega). M) = VectSpStr(# the carrier of M,the add of M,the Zero of M,the lmult of M #) & ((Omega). M) + ((0). M) = VectSpStr(# the carrier of M,the add of M,the Zero of M,the lmult of M #) ) by ;

theorem Th15: :: VECTSP_5:15
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W being Subspace of M holds
( ((Omega). M) + W = VectSpStr(# the carrier of M,the add of M,the Zero of M,the lmult of M #) & W + ((Omega). M) = VectSpStr(# the carrier of M,the add of M,the Zero of M,the lmult of M #) )
proof end;

theorem Th16: :: VECTSP_5:16
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable strict VectSp-like VectSpStr of GF holds ((Omega). M) + ((Omega). M) = M by ;

theorem Th17: :: VECTSP_5:17
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W being strict Subspace of M holds W /\ W = W
proof end;

theorem Th18: :: VECTSP_5:18
canceled;

theorem Th19: :: VECTSP_5:19
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2, W3 being Subspace of M holds W1 /\ (W2 /\ W3) = (W1 /\ W2) /\ W3
proof end;

Lemma75: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds the carrier of (W1 /\ W2) c= the carrier of W1
proof end;

theorem Th20: :: VECTSP_5:20
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds
( W1 /\ W2 is Subspace of W1 & W1 /\ W2 is Subspace of W2 )
proof end;

Lemma77: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W, W', W1 being Subspace of M st the carrier of W = the carrier of W' holds
( W1 /\ W = W1 /\ W' & W /\ W1 = W' /\ W1 )
proof end;

theorem Th21: :: VECTSP_5:21
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W2 being Subspace of M holds
( ( for W1 being strict Subspace of M st W1 is Subspace of W2 holds
W1 /\ W2 = W1 ) & ( for W1 being Subspace of M st W1 /\ W2 = W1 holds
W1 is Subspace of W2 ) )
proof end;

theorem Th22: :: VECTSP_5:22
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2, W3 being Subspace of M st W1 is Subspace of W2 holds
W1 /\ W3 is Subspace of W2 /\ W3
proof end;

theorem Th23: :: VECTSP_5:23
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W3, W2 being Subspace of M st W1 is Subspace of W3 holds
W1 /\ W2 is Subspace of W3
proof end;

theorem Th24: :: VECTSP_5:24
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2, W3 being Subspace of M st W1 is Subspace of W2 & W1 is Subspace of W3 holds
W1 is Subspace of W2 /\ W3
proof end;

theorem Th25: :: VECTSP_5:25
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W being Subspace of M holds
( ((0). M) /\ W = (0). M & W /\ ((0). M) = (0). M )
proof end;

theorem Th26: :: VECTSP_5:26
canceled;

theorem Th27: :: VECTSP_5:27
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W being strict Subspace of M holds
( ((Omega). M) /\ W = W & W /\ ((Omega). M) = W )
proof end;

theorem Th28: :: VECTSP_5:28
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable strict VectSp-like VectSpStr of GF holds ((Omega). M) /\ ((Omega). M) = M by ;

Lemma81: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds the carrier of (W1 /\ W2) c= the carrier of (W1 + W2)
proof end;

theorem Th29: :: VECTSP_5:29
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds W1 /\ W2 is Subspace of W1 + W2
proof end;

Lemma82: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds the carrier of ((W1 /\ W2) + W2) = the carrier of W2
proof end;

theorem Th30: :: VECTSP_5:30
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1 being Subspace of M
for W2 being strict Subspace of M holds (W1 /\ W2) + W2 = W2
proof end;

Lemma84: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds the carrier of (W1 /\ (W1 + W2)) = the carrier of W1
proof end;

theorem Th31: :: VECTSP_5:31
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W2 being Subspace of M
for W1 being strict Subspace of M holds W1 /\ (W1 + W2) = W1
proof end;

Lemma87: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2, W3 being Subspace of M holds the carrier of ((W1 /\ W2) + (W2 /\ W3)) c= the carrier of (W2 /\ (W1 + W3))
proof end;

theorem Th32: :: VECTSP_5:32
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2, W3 being Subspace of M holds (W1 /\ W2) + (W2 /\ W3) is Subspace of W2 /\ (W1 + W3)
proof end;

Lemma88: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2, W3 being Subspace of M st W1 is Subspace of W2 holds
the carrier of (W2 /\ (W1 + W3)) = the carrier of ((W1 /\ W2) + (W2 /\ W3))
proof end;

theorem Th33: :: VECTSP_5:33
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2, W3 being Subspace of M st W1 is Subspace of W2 holds
W2 /\ (W1 + W3) = (W1 /\ W2) + (W2 /\ W3)
proof end;

Lemma90: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W2, W1, W3 being Subspace of M holds the carrier of (W2 + (W1 /\ W3)) c= the carrier of ((W1 + W2) /\ (W2 + W3))
proof end;

theorem Th34: :: VECTSP_5:34
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W2, W1, W3 being Subspace of M holds W2 + (W1 /\ W3) is Subspace of (W1 + W2) /\ (W2 + W3)
proof end;

Lemma91: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2, W3 being Subspace of M st W1 is Subspace of W2 holds
the carrier of (W2 + (W1 /\ W3)) = the carrier of ((W1 + W2) /\ (W2 + W3))
proof end;

theorem Th35: :: VECTSP_5:35
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2, W3 being Subspace of M st W1 is Subspace of W2 holds
W2 + (W1 /\ W3) = (W1 + W2) /\ (W2 + W3)
proof end;

theorem Th36: :: VECTSP_5:36
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W3, W2 being Subspace of M
for W1 being strict Subspace of M st W1 is Subspace of W3 holds
W1 + (W2 /\ W3) = (W1 + W2) /\ W3
proof end;

theorem Th37: :: VECTSP_5:37
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being strict Subspace of M holds
( W1 + W2 = W2 iff W1 /\ W2 = W1 )
proof end;

theorem Th38: :: VECTSP_5:38
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1 being Subspace of M
for W2, W3 being strict Subspace of M st W1 is Subspace of W2 holds
W1 + W3 is Subspace of W2 + W3
proof end;

theorem Th39: :: VECTSP_5:39
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2, W3 being Subspace of M st W1 is Subspace of W2 holds
W1 is Subspace of W2 + W3
proof end;

theorem Th40: :: VECTSP_5:40
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W3, W2 being Subspace of M st W1 is Subspace of W3 & W2 is Subspace of W3 holds
W1 + W2 is Subspace of W3
proof end;

theorem Th41: :: VECTSP_5:41
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds
( ( W1 is Subspace of W2 or W2 is Subspace of W1 ) iff ex W being Subspace of M st the carrier of W = the carrier of W1 \/ the carrier of W2 )
proof end;

definition
let GF be non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr ;
let M be non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF;
func Subspaces c2 -> set means :Def3: :: VECTSP_5:def 3
for x being set holds
( x in it iff ex W being strict Subspace of M st W = x );
existence
ex b1 being set st
for x being set holds
( x in b1 iff ex W being strict Subspace of M st W = x )
proof end;
uniqueness
for b1, b2 being set st ( for x being set holds
( x in b1 iff ex W being strict Subspace of M st W = x ) ) & ( for x being set holds
( x in b2 iff ex W being strict Subspace of M st W = x ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines Subspaces VECTSP_5:def 3 :
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for b3 being set holds
( b3 = Subspaces M iff for x being set holds
( x in b3 iff ex W being strict Subspace of M st W = x ) );

registration
let GF be non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr ;
let M be non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF;
cluster Subspaces a2 -> non empty ;
coherence
not Subspaces M is empty
proof end;
end;

theorem Th42: :: VECTSP_5:42
canceled;

theorem Th43: :: VECTSP_5:43
canceled;

theorem Th44: :: VECTSP_5:44
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable strict VectSp-like VectSpStr of GF holds M in Subspaces M
proof end;

definition
let GF be non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr ;
let M be non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF;
let W1 be Subspace of M;
let W2 be Subspace of M;
pred c2 is_the_direct_sum_of c3,c4 means :Def4: :: VECTSP_5:def 4
( VectSpStr(# the carrier of M,the add of M,the Zero of M,the lmult of M #) = W1 + W2 & W1 /\ W2 = (0). M );
end;

:: deftheorem Def4 defines is_the_direct_sum_of VECTSP_5:def 4 :
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds
( M is_the_direct_sum_of W1,W2 iff ( VectSpStr(# the carrier of M,the add of M,the Zero of M,the lmult of M #) = W1 + W2 & W1 /\ W2 = (0). M ) );

Lemma101: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds
( W1 + W2 = VectSpStr(# the carrier of M,the add of M,the Zero of M,the lmult of M #) iff for v being Element of M ex v1, v2 being Element of M st
( v1 in W1 & v2 in W2 & v = v1 + v2 ) )
proof end;

definition
let F be Field;
let V be VectSp of F;
let W be Subspace of V;
mode Linear_Compl of c3 -> Subspace of a2 means :Def5: :: VECTSP_5: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
proof end;
end;

:: deftheorem Def5 defines Linear_Compl VECTSP_5:def 5 :
for F being Field
for V being VectSp of F
for W, b4 being Subspace of V holds
( b4 is Linear_Compl of W iff V is_the_direct_sum_of b4,W );

Lemma193: for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M st M is_the_direct_sum_of W1,W2 holds
M is_the_direct_sum_of W2,W1
proof end;

theorem Th45: :: VECTSP_5:45
canceled;

theorem Th46: :: VECTSP_5:46
canceled;

theorem Th47: :: VECTSP_5:47
for F being Field
for V being VectSp of F
for W1, W2 being Subspace of V st V is_the_direct_sum_of W1,W2 holds
W2 is Linear_Compl of W1
proof end;

theorem Th48: :: VECTSP_5:48
for F being Field
for V being VectSp of F
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 )
proof end;

theorem Th49: :: VECTSP_5:49
for F being Field
for V being VectSp of F
for W being Subspace of V
for L being Linear_Compl of W holds
( W + L = VectSpStr(# the carrier of V,the add of V,the Zero of V,the lmult of V #) & L + W = VectSpStr(# the carrier of V,the add of V,the Zero of V,the lmult of V #) )
proof end;

theorem Th50: :: VECTSP_5:50
for F being Field
for V being VectSp of F
for W being Subspace of V
for L being Linear_Compl of W holds
( W /\ L = (0). V & L /\ W = (0). V )
proof end;

theorem Th51: :: VECTSP_5:51
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M st M is_the_direct_sum_of W1,W2 holds
M is_the_direct_sum_of W2,W1 by Def2;

theorem Th52: :: VECTSP_5:52
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF holds
( M is_the_direct_sum_of (0). M, (Omega). M & M is_the_direct_sum_of (Omega). M, (0). M )
proof end;

theorem Th53: :: VECTSP_5:53
for F being Field
for V being VectSp of F
for W being Subspace of V
for L being Linear_Compl of W holds W is Linear_Compl of L
proof end;

theorem Th54: :: VECTSP_5:54
for F being Field
for V being VectSp of F holds
( (0). V is Linear_Compl of (Omega). V & (Omega). V is Linear_Compl of (0). V )
proof end;

theorem Th55: :: VECTSP_5:55
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M
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 end;

theorem Th56: :: VECTSP_5:56
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds
( M is_the_direct_sum_of W1,W2 iff for C1 being Coset of W1
for C2 being Coset of W2 ex v being Element of M st C1 /\ C2 = {v} )
proof end;

theorem Th57: :: VECTSP_5:57
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable strict VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M holds
( W1 + W2 = M iff for v being Element of M ex v1, v2 being Element of M st
( v1 in W1 & v2 in W2 & v = v1 + v2 ) ) by ;

theorem Th58: :: VECTSP_5:58
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M
for v, v1, v2, u1, u2 being Element of M st M 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 )
proof end;

theorem Th59: :: VECTSP_5:59
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M st M = W1 + W2 & ex v being Element of M st
for v1, v2, u1, u2 being Element of M 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
M is_the_direct_sum_of W1,W2
proof end;

definition
let GF be non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr ;
let M be non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF;
let v be Element of M;
let W1 be Subspace of M;
let W2 be Subspace of M;
assume E29: M is_the_direct_sum_of W1,W2 ;
func c3 |-- c4,c5 -> Element of [:the carrier of a2,the carrier of a2:] means :Def6: :: VECTSP_5:def 6
( v = (it `1 ) + (it `2 ) & it `1 in W1 & it `2 in W2 );
existence
ex b1 being Element of [:the carrier of M,the carrier of M:] st
( v = (b1 `1 ) + (b1 `2 ) & b1 `1 in W1 & b1 `2 in W2 )
proof end;
uniqueness
for b1, b2 being Element of [:the carrier of M,the carrier of M:] 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 end;
end;

:: deftheorem Def6 defines |-- VECTSP_5:def 6 :
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for v being Element of M
for W1, W2 being Subspace of M st M is_the_direct_sum_of W1,W2 holds
for b6 being Element of [:the carrier of M,the carrier of M:] holds
( b6 = v |-- W1,W2 iff ( v = (b6 `1 ) + (b6 `2 ) & b6 `1 in W1 & b6 `2 in W2 ) );

theorem Th60: :: VECTSP_5:60
canceled;

theorem Th61: :: VECTSP_5:61
canceled;

theorem Th62: :: VECTSP_5:62
canceled;

theorem Th63: :: VECTSP_5:63
canceled;

theorem Th64: :: VECTSP_5:64
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M
for v being Element of M st M is_the_direct_sum_of W1,W2 holds
(v |-- W1,W2) `1 = (v |-- W2,W1) `2
proof end;

theorem Th65: :: VECTSP_5:65
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for W1, W2 being Subspace of M
for v being Element of M st M is_the_direct_sum_of W1,W2 holds
(v |-- W1,W2) `2 = (v |-- W2,W1) `1
proof end;

theorem Th66: :: VECTSP_5:66
for F being Field
for V being VectSp of F
for W being Subspace of V
for L being Linear_Compl of W
for v being Element 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 end;

theorem Th67: :: VECTSP_5:67
for F being Field
for V being VectSp of F
for W being Subspace of V
for L being Linear_Compl of W
for v being Element of V holds ((v |-- W,L) `1 ) + ((v |-- W,L) `2 ) = v
proof end;

theorem Th68: :: VECTSP_5:68
for F being Field
for V being VectSp of F
for W being Subspace of V
for L being Linear_Compl of W
for v being Element of V holds
( (v |-- W,L) `1 in W & (v |-- W,L) `2 in L )
proof end;

theorem Th69: :: VECTSP_5:69
for F being Field
for V being VectSp of F
for W being Subspace of V
for L being Linear_Compl of W
for v being Element of V holds (v |-- W,L) `1 = (v |-- L,W) `2
proof end;

theorem Th70: :: VECTSP_5:70
for F being Field
for V being VectSp of F
for W being Subspace of V
for L being Linear_Compl of W
for v being Element of V holds (v |-- W,L) `2 = (v |-- L,W) `1
proof end;

definition
let GF be non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr ;
let M be non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF;
func SubJoin c2 -> BinOp of Subspaces a2 means :Def7: :: VECTSP_5:def 7
for A1, A2 being Element of Subspaces M
for W1, W2 being Subspace of M st A1 = W1 & A2 = W2 holds
it . A1,A2 = W1 + W2;
existence
ex b1 being BinOp of Subspaces M st
for A1, A2 being Element of Subspaces M
for W1, W2 being Subspace of M st A1 = W1 & A2 = W2 holds
b1 . A1,A2 = W1 + W2
proof end;
uniqueness
for b1, b2 being BinOp of Subspaces M st ( for A1, A2 being Element of Subspaces M
for W1, W2 being Subspace of M st A1 = W1 & A2 = W2 holds
b1 . A1,A2 = W1 + W2 ) & ( for A1, A2 being Element of Subspaces M
for W1, W2 being Subspace of M st A1 = W1 & A2 = W2 holds
b2 . A1,A2 = W1 + W2 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def7 defines SubJoin VECTSP_5:def 7 :
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for b3 being BinOp of Subspaces M holds
( b3 = SubJoin M iff for A1, A2 being Element of Subspaces M
for W1, W2 being Subspace of M st A1 = W1 & A2 = W2 holds
b3 . A1,A2 = W1 + W2 );

definition
let GF be non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr ;
let M be non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF;
func SubMeet c2 -> BinOp of Subspaces a2 means :Def8: :: VECTSP_5:def 8
for A1, A2 being Element of Subspaces M
for W1, W2 being Subspace of M st A1 = W1 & A2 = W2 holds
it . A1,A2 = W1 /\ W2;
existence
ex b1 being BinOp of Subspaces M st
for A1, A2 being Element of Subspaces M
for W1, W2 being Subspace of M st A1 = W1 & A2 = W2 holds
b1 . A1,A2 = W1 /\ W2
proof end;
uniqueness
for b1, b2 being BinOp of Subspaces M st ( for A1, A2 being Element of Subspaces M
for W1, W2 being Subspace of M st A1 = W1 & A2 = W2 holds
b1 . A1,A2 = W1 /\ W2 ) & ( for A1, A2 being Element of Subspaces M
for W1, W2 being Subspace of M st A1 = W1 & A2 = W2 holds
b2 . A1,A2 = W1 /\ W2 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def8 defines SubMeet VECTSP_5:def 8 :
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF
for b3 being BinOp of Subspaces M holds
( b3 = SubMeet M iff for A1, A2 being Element of Subspaces M
for W1, W2 being Subspace of M st A1 = W1 & A2 = W2 holds
b3 . A1,A2 = W1 /\ W2 );

theorem Th71: :: VECTSP_5:71
canceled;

theorem Th72: :: VECTSP_5:72
canceled;

theorem Th73: :: VECTSP_5:73
canceled;

theorem Th74: :: VECTSP_5:74
canceled;

theorem Th75: :: VECTSP_5:75
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF holds LattStr(# (Subspaces M),(SubJoin M),(SubMeet M) #) is Lattice
proof end;

theorem Th76: :: VECTSP_5:76
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF holds LattStr(# (Subspaces M),(SubJoin M),(SubMeet M) #) is 0_Lattice
proof end;

theorem Th77: :: VECTSP_5:77
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF holds LattStr(# (Subspaces M),(SubJoin M),(SubMeet M) #) is 1_Lattice
proof end;

theorem Th78: :: VECTSP_5:78
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF holds LattStr(# (Subspaces M),(SubJoin M),(SubMeet M) #) is 01_Lattice
proof end;

theorem Th79: :: VECTSP_5:79
for GF being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for M being non empty Abelian add-associative right_zeroed right_complementable VectSp-like VectSpStr of GF holds LattStr(# (Subspaces M),(SubJoin M),(SubMeet M) #) is M_Lattice
proof end;

theorem Th80: :: VECTSP_5:80
for F being Field
for V being VectSp of F holds LattStr(# (Subspaces V),(SubJoin V),(SubMeet V) #) is C_Lattice
proof end;