let X be non empty addLoopStr ; :: thesis: for A, B being Subset of X
for l1 being Linear_Combination of A
for l2 being Linear_Combination of B st A misses B holds
ex l being Linear_Combination of A \/ B st
( Carrier l = (Carrier l1) \/ (Carrier l2) & l = l1 + l2 )

let A, B be Subset of X; :: thesis: for l1 being Linear_Combination of A
for l2 being Linear_Combination of B st A misses B holds
ex l being Linear_Combination of A \/ B st
( Carrier l = (Carrier l1) \/ (Carrier l2) & l = l1 + l2 )

let l1 be Linear_Combination of A; :: thesis: for l2 being Linear_Combination of B st A misses B holds
ex l being Linear_Combination of A \/ B st
( Carrier l = (Carrier l1) \/ (Carrier l2) & l = l1 + l2 )

let l2 be Linear_Combination of B; :: thesis: ( A misses B implies ex l being Linear_Combination of A \/ B st
( Carrier l = (Carrier l1) \/ (Carrier l2) & l = l1 + l2 ) )

assume A1: A misses B ; :: thesis: ex l being Linear_Combination of A \/ B st
( Carrier l = (Carrier l1) \/ (Carrier l2) & l = l1 + l2 )

A2: ( Carrier l1 c= A & Carrier l2 c= B ) by RLVECT_2:def 6;
defpred S1[ object , object ] means ( ( $1 in Carrier l1 implies $2 = l1 . $1 ) & ( $1 in Carrier l2 implies $2 = l2 . $1 ) & ( not $1 in Carrier l1 & not $1 in Carrier l2 implies $2 = 0 ) );
A4: now :: thesis: for x being object st x in the carrier of X holds
ex y being object st
( y in REAL & S1[x,y] )
let x be object ; :: thesis: ( x in the carrier of X implies ex y being object st
( y in REAL & S1[x,y] ) )

assume x in the carrier of X ; :: thesis: ex y being object st
( y in REAL & S1[x,y] )

thus ex y being object st
( y in REAL & S1[x,y] ) :: thesis: verum
proof
per cases ( ( x in Carrier l1 & not x in Carrier l2 ) or ( not x in Carrier l1 & x in Carrier l2 ) or ( not x in Carrier l1 & not x in Carrier l2 ) ) by A1, A2, XBOOLE_0:3;
suppose A5: ( x in Carrier l1 & not x in Carrier l2 ) ; :: thesis: ex y being object st
( y in REAL & S1[x,y] )

take y = l1 . x; :: thesis: ( y in REAL & S1[x,y] )
thus ( y in REAL & S1[x,y] ) by A5, FUNCT_2:5; :: thesis: verum
end;
suppose A6: ( not x in Carrier l1 & x in Carrier l2 ) ; :: thesis: ex y being object st
( y in REAL & S1[x,y] )

take y = l2 . x; :: thesis: ( y in REAL & S1[x,y] )
thus ( y in REAL & S1[x,y] ) by A6, FUNCT_2:5; :: thesis: verum
end;
suppose A7: ( not x in Carrier l1 & not x in Carrier l2 ) ; :: thesis: ex y being object st
( y in REAL & S1[x,y] )

take y = 0 ; :: thesis: ( y in REAL & S1[x,y] )
thus ( y in REAL & S1[x,y] ) by A7, XREAL_0:def 1; :: thesis: verum
end;
end;
end;
end;
consider l being Function of the carrier of X,REAL such that
A8: for x being object st x in the carrier of X holds
S1[x,l . x] from FUNCT_2:sch 1(A4);
reconsider l = l as Element of Funcs ( the carrier of X,REAL) by FUNCT_2:8;
reconsider T = (Carrier l1) \/ (Carrier l2) as finite Subset of X ;
for x being Element of X st not x in T holds
l . x = 0
proof
let x be Element of X; :: thesis: ( not x in T implies l . x = 0 )
assume not x in T ; :: thesis: l . x = 0
then ( not x in Carrier l1 & not x in Carrier l2 ) by XBOOLE_0:def 3;
hence l . x = 0 by A8; :: thesis: verum
end;
then reconsider l = l as Linear_Combination of X by RLVECT_2:def 3;
now :: thesis: for x being object st x in Carrier l holds
x in (Carrier l1) \/ (Carrier l2)
let x be object ; :: thesis: ( x in Carrier l implies x in (Carrier l1) \/ (Carrier l2) )
assume x in Carrier l ; :: thesis: x in (Carrier l1) \/ (Carrier l2)
then consider p being Element of X such that
A9: ( x = p & l . p <> 0 ) ;
( x in Carrier l1 or x in Carrier l2 ) by A8, A9;
hence x in (Carrier l1) \/ (Carrier l2) by XBOOLE_0:def 3; :: thesis: verum
end;
then A10: Carrier l c= (Carrier l1) \/ (Carrier l2) ;
now :: thesis: for x being object st x in (Carrier l1) \/ (Carrier l2) holds
x in Carrier l
let x be object ; :: thesis: ( x in (Carrier l1) \/ (Carrier l2) implies b1 in Carrier l )
assume x in (Carrier l1) \/ (Carrier l2) ; :: thesis: b1 in Carrier l
per cases then ( x in Carrier l1 or x in Carrier l2 ) by XBOOLE_0:def 3;
suppose A11: x in Carrier l1 ; :: thesis: b1 in Carrier l
then consider p being Element of X such that
A12: ( x = p & l1 . p <> 0 ) ;
l . x <> 0 by A8, A11, A12;
hence x in Carrier l by A12; :: thesis: verum
end;
suppose A13: x in Carrier l2 ; :: thesis: b1 in Carrier l
then consider p being Element of X such that
A14: ( x = p & l2 . p <> 0 ) ;
l . x <> 0 by A8, A13, A14;
hence x in Carrier l by A14; :: thesis: verum
end;
end;
end;
then A15: (Carrier l1) \/ (Carrier l2) c= Carrier l ;
then A16: Carrier l = (Carrier l1) \/ (Carrier l2) by A10;
then reconsider l = l as Linear_Combination of A \/ B by A2, RLVECT_2:def 6, XBOOLE_1:13;
take l ; :: thesis: ( Carrier l = (Carrier l1) \/ (Carrier l2) & l = l1 + l2 )
thus Carrier l = (Carrier l1) \/ (Carrier l2) by A10, A15; :: thesis: l = l1 + l2
for v being Element of X holds l . v = (l1 . v) + (l2 . v)
proof
let v be Element of X; :: thesis: l . v = (l1 . v) + (l2 . v)
per cases ( v in Carrier l1 or v in Carrier l2 or not v in Carrier l ) by A10, XBOOLE_0:def 3;
suppose A17: v in Carrier l1 ; :: thesis: l . v = (l1 . v) + (l2 . v)
then not v in Carrier l2 by A1, A2, XBOOLE_0:3;
then ( l . v = l1 . v & l2 . v = 0 ) by A8, A17;
hence l . v = (l1 . v) + (l2 . v) ; :: thesis: verum
end;
suppose A18: v in Carrier l2 ; :: thesis: l . v = (l1 . v) + (l2 . v)
then not v in Carrier l1 by A1, A2, XBOOLE_0:3;
then ( l . v = l2 . v & l1 . v = 0 ) by A8, A18;
hence l . v = (l1 . v) + (l2 . v) ; :: thesis: verum
end;
suppose A19: not v in Carrier l ; :: thesis: l . v = (l1 . v) + (l2 . v)
then ( not v in Carrier l1 & not v in Carrier l2 ) by A16, XBOOLE_0:def 3;
then ( l1 . v = 0 & l2 . v = 0 ) ;
hence l . v = (l1 . v) + (l2 . v) by A19; :: thesis: verum
end;
end;
end;
hence l = l1 + l2 by RLVECT_2:def 10; :: thesis: verum