let R be Ring; :: thesis: for V being RightMod of R
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 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

let V be RightMod of R; :: 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 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

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 v = v1 + v2 & v = 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
( v = v1 + v2 & v = 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 RMOD_2:39, RMOD_2:def 3;
then A2: {(0. V)} c= the carrier of (W1 /\ W2) by RMOD_2:def 2;
given v being Vector of V such that A3: 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 ) ; :: 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;
then the carrier of (W1 /\ W2) <> {(0. V)} by RMOD_2:def 3;
then {(0. V)} c< the carrier of (W1 /\ W2) by A2;
then consider x being object such that
A4: x in the carrier of (W1 /\ W2) and
A5: not x in {(0. V)} by XBOOLE_0:6;
A6: x in W1 /\ W2 by A4;
then x in V by RMOD_2:9;
then reconsider u = x as Vector of V ;
consider v1, v2 being Vector of V such that
A7: v1 in W1 and
A8: v2 in W2 and
A9: v = v1 + v2 by A1, Lm14;
A10: v = (v1 + v2) + (0. V) by A9, RLVECT_1:def 4
.= (v1 + v2) + (u - u) by VECTSP_1:19
.= ((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 A6, Th3;
then A11: v2 - u in W2 by A8, RMOD_2:23;
x in W1 by A6, Th3;
then v1 + u in W1 by A7, RMOD_2:20;
then v2 + (- u) = v2 by A3, A7, A8, A9, A10, A11
.= v2 + (0. V) by RLVECT_1:def 4 ;
then - u = 0. V by RLVECT_1:8;
then A12: u = - (0. V) by RLVECT_1:17;
x <> 0. V by A5, TARSKI:def 1;
hence contradiction by A12, RLVECT_1:12; :: thesis: verum