let R be Ring; :: thesis: for V being LeftMod of R
for A, B being Subset of V holds Lin (A \/ B) = (Lin A) + (Lin B)

let V be LeftMod of R; :: thesis: for A, B being Subset of V holds Lin (A \/ B) = (Lin A) + (Lin B)
let A, B be Subset of V; :: thesis: Lin (A \/ B) = (Lin A) + (Lin B)
now :: thesis: for v being Vector of V st v in Lin (A \/ B) holds
v in (Lin A) + (Lin B)
deffunc H1( object ) -> Element of the carrier of R = 0. R;
let v be Vector of V; :: thesis: ( v in Lin (A \/ B) implies v in (Lin A) + (Lin B) )
assume v in Lin (A \/ B) ; :: thesis: v in (Lin A) + (Lin B)
then consider l being Linear_Combination of A \/ B such that
A1: v = Sum l by Th4;
deffunc H2( object ) -> set = l . $1;
set D = (Carrier l) \ A;
set C = (Carrier l) /\ A;
defpred S1[ object ] means $1 in (Carrier l) /\ A;
A2: for x being object st x in the carrier of V holds
( ( S1[x] implies H2(x) in the carrier of R ) & ( not S1[x] implies H1(x) in the carrier of R ) )
proof
let x be object ; :: thesis: ( x in the carrier of V implies ( ( S1[x] implies H2(x) in the carrier of R ) & ( not S1[x] implies H1(x) in the carrier of R ) ) )
assume x in the carrier of V ; :: thesis: ( ( S1[x] implies H2(x) in the carrier of R ) & ( not S1[x] implies H1(x) in the carrier of R ) )
then reconsider v = x as Vector of V ;
for f being Function of the carrier of V, the carrier of R holds f . v in the carrier of R ;
hence ( x in (Carrier l) /\ A implies l . x in the carrier of R ) ; :: thesis: ( not S1[x] implies H1(x) in the carrier of R )
assume not x in (Carrier l) /\ A ; :: thesis: H1(x) in the carrier of R
thus H1(x) in the carrier of R ; :: thesis: verum
end;
reconsider C = (Carrier l) /\ A as finite Subset of V ;
defpred S2[ object ] means $1 in (Carrier l) \ A;
A3: for x being object st x in the carrier of V holds
( ( S2[x] implies H2(x) in the carrier of R ) & ( not S2[x] implies H1(x) in the carrier of R ) )
proof
let x be object ; :: thesis: ( x in the carrier of V implies ( ( S2[x] implies H2(x) in the carrier of R ) & ( not S2[x] implies H1(x) in the carrier of R ) ) )
assume x in the carrier of V ; :: thesis: ( ( S2[x] implies H2(x) in the carrier of R ) & ( not S2[x] implies H1(x) in the carrier of R ) )
then reconsider v = x as Vector of V ;
for g being Function of the carrier of V, the carrier of R holds g . v in the carrier of R ;
hence ( x in (Carrier l) \ A implies l . x in the carrier of R ) ; :: thesis: ( not S2[x] implies H1(x) in the carrier of R )
assume not x in (Carrier l) \ A ; :: thesis: H1(x) in the carrier of R
thus H1(x) in the carrier of R ; :: thesis: verum
end;
consider g being Function of the carrier of V, the carrier of R such that
A4: for x being object st x in the carrier of V holds
( ( S2[x] implies g . x = H2(x) ) & ( not S2[x] implies g . x = H1(x) ) ) from FUNCT_2:sch 5(A3);
reconsider D = (Carrier l) \ A as finite Subset of V ;
A5: D c= B
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in D or x in B )
assume x in D ; :: thesis: x in B
then A6: ( x in Carrier l & not x in A ) by XBOOLE_0:def 5;
Carrier l c= A \/ B by VECTSP_6:def 4;
hence x in B by A6, XBOOLE_0:def 3; :: thesis: verum
end;
reconsider g = g as Element of Funcs ( the carrier of V, the carrier of R) by FUNCT_2:8;
for u being Vector of V st not u in D holds
g . u = 0. R by A4;
then reconsider g = g as Linear_Combination of V by VECTSP_6:def 1;
Carrier g c= D
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in Carrier g or x in D )
assume x in Carrier g ; :: thesis: x in D
then A7: ex u being Vector of V st
( x = u & g . u <> 0. R ) ;
assume not x in D ; :: thesis: contradiction
hence contradiction by A4, A7; :: thesis: verum
end;
then Carrier g c= B by A5;
then reconsider g = g as Linear_Combination of B by VECTSP_6:def 4;
consider f being Function of the carrier of V, the carrier of R such that
A8: for x being object st x in the carrier of V holds
( ( S1[x] implies f . x = H2(x) ) & ( not S1[x] implies f . x = H1(x) ) ) from FUNCT_2:sch 5(A2);
reconsider f = f as Element of Funcs ( the carrier of V, the carrier of R) by FUNCT_2:8;
for u being Vector of V st not u in C holds
f . u = 0. R by A8;
then reconsider f = f as Linear_Combination of V by VECTSP_6:def 1;
A9: Carrier f c= C
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in Carrier f or x in C )
assume x in Carrier f ; :: thesis: x in C
then A10: ex u being Vector of V st
( x = u & f . u <> 0. R ) ;
assume not x in C ; :: thesis: contradiction
hence contradiction by A8, A10; :: thesis: verum
end;
C c= A by XBOOLE_1:17;
then Carrier f c= A by A9;
then reconsider f = f as Linear_Combination of A by VECTSP_6:def 4;
l = f + g
proof
let v be Vector of V; :: according to VECTSP_6:def 7 :: thesis: l . v = (f + g) . v
now :: thesis: (f + g) . v = l . v
per cases ( v in C or not v in C ) ;
suppose A11: v in C ; :: thesis: (f + g) . v = l . v
thus (f + g) . v = (f . v) + (g . v) by VECTSP_6:22
.= (l . v) + (g . v) by A8, A11
.= (l . v) + (0. R) by A4, A12
.= l . v by RLVECT_1:4 ; :: thesis: verum
end;
suppose A13: not v in C ; :: thesis: l . v = (f + g) . v
now :: thesis: (f + g) . v = l . v
per cases ( v in Carrier l or not v in Carrier l ) ;
suppose A14: v in Carrier l ; :: thesis: (f + g) . v = l . v
thus (f + g) . v = (f . v) + (g . v) by VECTSP_6:22
.= (0. R) + (g . v) by A8, A13
.= g . v by RLVECT_1:4
.= l . v by A4, A15 ; :: thesis: verum
end;
suppose A16: not v in Carrier l ; :: thesis: (f + g) . v = l . v
then A17: not v in D by XBOOLE_0:def 5;
A18: not v in C by A16, XBOOLE_0:def 4;
thus (f + g) . v = (f . v) + (g . v) by VECTSP_6:22
.= (0. R) + (g . v) by A8, A18
.= (0. R) + (0. R) by A4, A17
.= 0. R by RLVECT_1:4
.= l . v by A16 ; :: thesis: verum
end;
end;
end;
hence l . v = (f + g) . v ; :: thesis: verum
end;
end;
end;
hence l . v = (f + g) . v ; :: thesis: verum
end;
then A19: v = (Sum f) + (Sum g) by A1, VECTSP_6:44;
( Sum f in Lin A & Sum g in Lin B ) by Th4;
hence v in (Lin A) + (Lin B) by A19, VECTSP_5:1; :: thesis: verum
end;
then A20: Lin (A \/ B) is Subspace of (Lin A) + (Lin B) by VECTSP_4:28;
( Lin A is Subspace of Lin (A \/ B) & Lin B is Subspace of Lin (A \/ B) ) by Th10, XBOOLE_1:7;
then (Lin A) + (Lin B) is Subspace of Lin (A \/ B) by VECTSP_5:34;
hence Lin (A \/ B) = (Lin A) + (Lin B) by A20, VECTSP_4:25; :: thesis: verum