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

let V be RightMod 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 Th67;
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;
defpred S2[ object ] means $1 in (Carrier l) \ A;
now :: thesis: for x being set st x in the carrier of V holds
( ( x in (Carrier l) /\ A implies l . x in the carrier of R ) & ( not x in (Carrier l) /\ A implies 0. R in the carrier of R ) )
let x be set ; :: thesis: ( x in the carrier of V implies ( ( x in (Carrier l) /\ A implies l . x in the carrier of R ) & ( not x in (Carrier l) /\ A implies 0. R in the carrier of R ) ) )
assume x in the carrier of V ; :: thesis: ( ( x in (Carrier l) /\ A implies l . x in the carrier of R ) & ( not x in (Carrier l) /\ A implies 0. R 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 x in (Carrier l) /\ A implies 0. R in the carrier of R )
assume not x in (Carrier l) /\ A ; :: thesis: 0. R in the carrier of R
thus 0. R in the carrier of R ; :: thesis: verum
end;
then 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 ) ) ;
consider f being Function of the carrier of V, the carrier of R such that
A3: 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 C = (Carrier l) /\ A as finite Subset of V ;
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 A3;
then reconsider f = f as Linear_Combination of V by Def2;
A4: 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 A5: ex u being Vector of V st
( x = u & f . u <> 0. R ) ;
assume not x in C ; :: thesis: contradiction
hence contradiction by A3, A5; :: thesis: verum
end;
C c= A by XBOOLE_1:17;
then Carrier f c= A by A4;
then reconsider f = f as Linear_Combination of A by Def5;
now :: thesis: for x being set st x in the carrier of V holds
( ( x in (Carrier l) \ A implies l . x in the carrier of R ) & ( not x in (Carrier l) \ A implies 0. R in the carrier of R ) )
let x be set ; :: thesis: ( x in the carrier of V implies ( ( x in (Carrier l) \ A implies l . x in the carrier of R ) & ( not x in (Carrier l) \ A implies 0. R in the carrier of R ) ) )
assume x in the carrier of V ; :: thesis: ( ( x in (Carrier l) \ A implies l . x in the carrier of R ) & ( not x in (Carrier l) \ A implies 0. R 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 x in (Carrier l) \ A implies 0. R in the carrier of R )
assume not x in (Carrier l) \ A ; :: thesis: 0. R in the carrier of R
thus 0. R in the carrier of R ; :: thesis: verum
end;
then A6: 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 ) ) ;
consider g being Function of the carrier of V, the carrier of R such that
A7: 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(A6);
reconsider D = (Carrier l) \ A as finite Subset of V ;
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 A7;
then reconsider g = g as Linear_Combination of V by Def2;
A8: 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 A9: ( x in Carrier l & not x in A ) by XBOOLE_0:def 5;
Carrier l c= A \/ B by Def5;
hence x in B by A9, XBOOLE_0:def 3; :: thesis: verum
end;
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 A10: ex u being Vector of V st
( x = u & g . u <> 0. R ) ;
assume not x in D ; :: thesis: contradiction
hence contradiction by A7, A10; :: thesis: verum
end;
then Carrier g c= B by A8;
then reconsider g = g as Linear_Combination of B by Def5;
l = f + g
proof
let v be Vector of V; :: according to RMOD_4:def 8 :: 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 Def9
.= (l . v) + (g . v) by A3, A11
.= (l . v) + (0. R) by A7, 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 Def9
.= (0. R) + (g . v) by A3, A13
.= g . v by RLVECT_1:4
.= l . v by A7, 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 Def9
.= (0. R) + (g . v) by A3, A18
.= (0. R) + (0. R) by A7, 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, Th58;
( Sum f in Lin A & Sum g in Lin B ) by Th67;
hence v in (Lin A) + (Lin B) by A19, RMOD_3:1; :: thesis: verum
end;
then A20: Lin (A \/ B) is Submodule of (Lin A) + (Lin B) by RMOD_2:28;
( Lin A is Submodule of Lin (A \/ B) & Lin B is Submodule of Lin (A \/ B) ) by Th73, XBOOLE_1:7;
then (Lin A) + (Lin B) is Submodule of Lin (A \/ B) by RMOD_3:35;
hence Lin (A \/ B) = (Lin A) + (Lin B) by A20, RMOD_2:25; :: thesis: verum