:: RLVECT_2 semantic presentation

definition
let c1 be 1-sorted ;
let c2 be set ;
assume E1: c2 in c1 ;
func vector c1,c2 -> Element of a1 equals :Def1: :: RLVECT_2:def 1
a2;
coherence
c2 is Element of c1
by E1, RLVECT_1:def 1;
end;

:: deftheorem Def1 defines vector RLVECT_2:def 1 :
for b1 being 1-sorted
for b2 being set st b2 in b1 holds
vector b1,b2 = b2;

theorem Th1: :: RLVECT_2:1
canceled;

theorem Th2: :: RLVECT_2:2
canceled;

theorem Th3: :: RLVECT_2:3
for b1 being non empty 1-sorted
for b2 being Element of b1 holds vector b1,b2 = b2
proof end;

theorem Th4: :: RLVECT_2:4
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2, b3, b4 being FinSequence of the carrier of b1 st len b2 = len b3 & len b2 = len b4 & ( for b5 being Nat st b5 in dom b2 holds
b4 . b5 = (b2 /. b5) + (b3 /. b5) ) holds
Sum b4 = (Sum b2) + (Sum b3)
proof end;

theorem Th5: :: RLVECT_2:5
for b1 being RealLinearSpace
for b2 being Real
for b3, b4 being FinSequence of the carrier of b1 st len b3 = len b4 & ( for b5 being Nat st b5 in dom b3 holds
b4 . b5 = b2 * (b3 /. b5) ) holds
Sum b4 = b2 * (Sum b3)
proof end;

theorem Th6: :: RLVECT_2:6
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2, b3 being FinSequence of the carrier of b1 st len b2 = len b3 & ( for b4 being Nat st b4 in dom b2 holds
b3 . b4 = - (b2 /. b4) ) holds
Sum b3 = - (Sum b2)
proof end;

theorem Th7: :: RLVECT_2:7
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2, b3, b4 being FinSequence of the carrier of b1 st len b2 = len b3 & len b2 = len b4 & ( for b5 being Nat st b5 in dom b2 holds
b4 . b5 = (b2 /. b5) - (b3 /. b5) ) holds
Sum b4 = (Sum b2) - (Sum b3)
proof end;

Lemma5: for b1, b2 being Nat st b1 < b2 holds
b2 - 1 is Nat
by NAT_1:60;

theorem Th8: :: RLVECT_2:8
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2, b3 being FinSequence of the carrier of b1
for b4 being Permutation of dom b2 st len b2 = len b3 & ( for b5 being Nat st b5 in dom b3 holds
b3 . b5 = b2 . (b4 . b5) ) holds
Sum b2 = Sum b3
proof end;

theorem Th9: :: RLVECT_2:9
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2, b3 being FinSequence of the carrier of b1
for b4 being Permutation of dom b2 st b3 = b2 * b4 holds
Sum b2 = Sum b3
proof end;

registration
let c1 be 1-sorted ;
cluster empty finite Element of bool the carrier of a1;
existence
ex b1 being Subset of c1 st
( b1 is empty & b1 is finite )
proof end;
end;

definition
let c1 be 1-sorted ;
let c2, c3 be finite Subset of c1;
redefine func \/ as c2 \/ c3 -> finite Subset of a1;
coherence
c2 \/ c3 is finite Subset of c1
proof end;
redefine func /\ as c2 /\ c3 -> finite Subset of a1;
coherence
c2 /\ c3 is finite Subset of c1
proof end;
redefine func \ as c2 \ c3 -> finite Subset of a1;
coherence
c2 \ c3 is finite Subset of c1
proof end;
redefine func \+\ as c2 \+\ c3 -> finite Subset of a1;
coherence
c2 \+\ c3 is finite Subset of c1
proof end;
end;

definition
let c1 be non empty LoopStr ;
let c2 be finite Subset of c1;
assume E7: ( c1 is Abelian & c1 is add-associative & c1 is right_zeroed ) ;
canceled;
canceled;
func Sum c2 -> Element of a1 means :Def4: :: RLVECT_2:def 4
ex b1 being FinSequence of the carrier of a1 st
( rng b1 = a2 & b1 is one-to-one & a3 = Sum b1 );
existence
ex b1 being Element of c1ex b2 being FinSequence of the carrier of c1 st
( rng b2 = c2 & b2 is one-to-one & b1 = Sum b2 )
proof end;
uniqueness
for b1, b2 being Element of c1 st ex b3 being FinSequence of the carrier of c1 st
( rng b3 = c2 & b3 is one-to-one & b1 = Sum b3 ) & ex b3 being FinSequence of the carrier of c1 st
( rng b3 = c2 & b3 is one-to-one & b2 = Sum b3 ) holds
b1 = b2
by E7, RLVECT_1:59;
end;

:: deftheorem Def2 RLVECT_2:def 2 :
canceled;

:: deftheorem Def3 RLVECT_2:def 3 :
canceled;

:: deftheorem Def4 defines Sum RLVECT_2:def 4 :
for b1 being non empty LoopStr
for b2 being finite Subset of b1 st b1 is Abelian & b1 is add-associative & b1 is right_zeroed holds
for b3 being Element of b1 holds
( b3 = Sum b2 iff ex b4 being FinSequence of the carrier of b1 st
( rng b4 = b2 & b4 is one-to-one & b3 = Sum b4 ) );

registration
let c1 be non empty 1-sorted ;
cluster non empty finite Element of bool the carrier of a1;
existence
ex b1 being Subset of c1 st
( not b1 is empty & b1 is finite )
proof end;
end;

definition
let c1 be non empty 1-sorted ;
let c2 be Element of c1;
redefine func { as {c2} -> finite Subset of a1;
coherence
{c2} is finite Subset of c1
proof end;
end;

definition
let c1 be non empty 1-sorted ;
let c2, c3 be Element of c1;
redefine func { as {c2,c3} -> finite Subset of a1;
coherence
{c2,c3} is finite Subset of c1
proof end;
end;

definition
let c1 be non empty 1-sorted ;
let c2, c3, c4 be Element of c1;
redefine func { as {c2,c3,c4} -> finite Subset of a1;
coherence
{c2,c3,c4} is finite Subset of c1
proof end;
end;

theorem Th10: :: RLVECT_2:10
canceled;

theorem Th11: :: RLVECT_2:11
canceled;

theorem Th12: :: RLVECT_2:12
canceled;

theorem Th13: :: RLVECT_2:13
canceled;

theorem Th14: :: RLVECT_2:14
for b1 being non empty Abelian add-associative right_zeroed LoopStr holds Sum ({} b1) = 0. b1
proof end;

theorem Th15: :: RLVECT_2:15
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2 being Element of b1 holds Sum {b2} = b2
proof end;

theorem Th16: :: RLVECT_2:16
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2, b3 being Element of b1 st b2 <> b3 holds
Sum {b2,b3} = b2 + b3
proof end;

theorem Th17: :: RLVECT_2:17
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2, b3, b4 being Element of b1 st b2 <> b3 & b3 <> b4 & b2 <> b4 holds
Sum {b2,b3,b4} = (b2 + b3) + b4
proof end;

theorem Th18: :: RLVECT_2:18
for b1 being non empty Abelian add-associative right_zeroed LoopStr
for b2, b3 being finite Subset of b1 st b3 misses b2 holds
Sum (b3 \/ b2) = (Sum b3) + (Sum b2)
proof end;

theorem Th19: :: RLVECT_2:19
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2, b3 being finite Subset of b1 holds Sum (b3 \/ b2) = ((Sum b3) + (Sum b2)) - (Sum (b3 /\ b2))
proof end;

theorem Th20: :: RLVECT_2:20
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2, b3 being finite Subset of b1 holds Sum (b3 /\ b2) = ((Sum b3) + (Sum b2)) - (Sum (b3 \/ b2))
proof end;

theorem Th21: :: RLVECT_2:21
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2, b3 being finite Subset of b1 holds Sum (b3 \ b2) = (Sum (b3 \/ b2)) - (Sum b2)
proof end;

theorem Th22: :: RLVECT_2:22
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2, b3 being finite Subset of b1 holds Sum (b3 \ b2) = (Sum b3) - (Sum (b3 /\ b2))
proof end;

theorem Th23: :: RLVECT_2:23
for b1 being non empty Abelian add-associative right_zeroed right_complementable LoopStr
for b2, b3 being finite Subset of b1 holds Sum (b3 \+\ b2) = (Sum (b3 \/ b2)) - (Sum (b3 /\ b2))
proof end;

theorem Th24: :: RLVECT_2:24
for b1 being non empty Abelian add-associative right_zeroed LoopStr
for b2, b3 being finite Subset of b1 holds Sum (b3 \+\ b2) = (Sum (b3 \ b2)) + (Sum (b2 \ b3))
proof end;

definition
let c1 be non empty ZeroStr ;
mode Linear_Combination of c1 -> Element of Funcs the carrier of a1,REAL means :Def5: :: RLVECT_2:def 5
ex b1 being finite Subset of a1 st
for b2 being Element of a1 st not b2 in b1 holds
a2 . b2 = 0;
existence
ex b1 being Element of Funcs the carrier of c1,REAL ex b2 being finite Subset of c1 st
for b3 being Element of c1 st not b3 in b2 holds
b1 . b3 = 0
proof end;
end;

:: deftheorem Def5 defines Linear_Combination RLVECT_2:def 5 :
for b1 being non empty ZeroStr
for b2 being Element of Funcs the carrier of b1,REAL holds
( b2 is Linear_Combination of b1 iff ex b3 being finite Subset of b1 st
for b4 being Element of b1 st not b4 in b3 holds
b2 . b4 = 0 );

definition
let c1 be non empty LoopStr ;
let c2 be Linear_Combination of c1;
func Carrier c2 -> finite Subset of a1 equals :: RLVECT_2:def 6
{ b1 where B is Element of a1 : a2 . b1 <> 0 } ;
coherence
{ b1 where B is Element of c1 : c2 . b1 <> 0 } is finite Subset of c1
proof end;
end;

:: deftheorem Def6 defines Carrier RLVECT_2:def 6 :
for b1 being non empty LoopStr
for b2 being Linear_Combination of b1 holds Carrier b2 = { b3 where B is Element of b1 : b2 . b3 <> 0 } ;

theorem Th25: :: RLVECT_2:25
canceled;

theorem Th26: :: RLVECT_2:26
canceled;

theorem Th27: :: RLVECT_2:27
canceled;

theorem Th28: :: RLVECT_2:28
for b1 being non empty LoopStr
for b2 being Linear_Combination of b1
for b3 being Element of b1 holds
( b2 . b3 = 0 iff not b3 in Carrier b2 )
proof end;

definition
let c1 be non empty LoopStr ;
func ZeroLC c1 -> Linear_Combination of a1 means :Def7: :: RLVECT_2:def 7
Carrier a2 = {} ;
existence
ex b1 being Linear_Combination of c1 st Carrier b1 = {}
proof end;
uniqueness
for b1, b2 being Linear_Combination of c1 st Carrier b1 = {} & Carrier b2 = {} holds
b1 = b2
proof end;
end;

:: deftheorem Def7 defines ZeroLC RLVECT_2:def 7 :
for b1 being non empty LoopStr
for b2 being Linear_Combination of b1 holds
( b2 = ZeroLC b1 iff Carrier b2 = {} );

theorem Th29: :: RLVECT_2:29
canceled;

theorem Th30: :: RLVECT_2:30
for b1 being non empty LoopStr
for b2 being Element of b1 holds (ZeroLC b1) . b2 = 0
proof end;

definition
let c1 be non empty LoopStr ;
let c2 be Subset of c1;
mode Linear_Combination of c2 -> Linear_Combination of a1 means :Def8: :: RLVECT_2:def 8
Carrier a3 c= a2;
existence
ex b1 being Linear_Combination of c1 st Carrier b1 c= c2
proof end;
end;

:: deftheorem Def8 defines Linear_Combination RLVECT_2:def 8 :
for b1 being non empty LoopStr
for b2 being Subset of b1
for b3 being Linear_Combination of b1 holds
( b3 is Linear_Combination of b2 iff Carrier b3 c= b2 );

theorem Th31: :: RLVECT_2:31
canceled;

theorem Th32: :: RLVECT_2:32
canceled;

theorem Th33: :: RLVECT_2:33
for b1 being RealLinearSpace
for b2, b3 being Subset of b1
for b4 being Linear_Combination of b2 st b2 c= b3 holds
b4 is Linear_Combination of b3
proof end;

theorem Th34: :: RLVECT_2:34
for b1 being RealLinearSpace
for b2 being Subset of b1 holds ZeroLC b1 is Linear_Combination of b2
proof end;

theorem Th35: :: RLVECT_2:35
for b1 being RealLinearSpace
for b2 being Linear_Combination of {} the carrier of b1 holds b2 = ZeroLC b1
proof end;

definition
let c1 be RealLinearSpace;
let c2 be FinSequence of the carrier of c1;
let c3 be Function of the carrier of c1, REAL ;
func c3 (#) c2 -> FinSequence of the carrier of a1 means :Def9: :: RLVECT_2:def 9
( len a4 = len a2 & ( for b1 being Nat st b1 in dom a4 holds
a4 . b1 = (a3 . (a2 /. b1)) * (a2 /. b1) ) );
existence
ex b1 being FinSequence of the carrier of c1 st
( len b1 = len c2 & ( for b2 being Nat st b2 in dom b1 holds
b1 . b2 = (c3 . (c2 /. b2)) * (c2 /. b2) ) )
proof end;
uniqueness
for b1, b2 being FinSequence of the carrier of c1 st len b1 = len c2 & ( for b3 being Nat st b3 in dom b1 holds
b1 . b3 = (c3 . (c2 /. b3)) * (c2 /. b3) ) & len b2 = len c2 & ( for b3 being Nat st b3 in dom b2 holds
b2 . b3 = (c3 . (c2 /. b3)) * (c2 /. b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def9 defines (#) RLVECT_2:def 9 :
for b1 being RealLinearSpace
for b2 being FinSequence of the carrier of b1
for b3 being Function of the carrier of b1, REAL
for b4 being FinSequence of the carrier of b1 holds
( b4 = b3 (#) b2 iff ( len b4 = len b2 & ( for b5 being Nat st b5 in dom b4 holds
b4 . b5 = (b3 . (b2 /. b5)) * (b2 /. b5) ) ) );

theorem Th36: :: RLVECT_2:36
canceled;

theorem Th37: :: RLVECT_2:37
canceled;

theorem Th38: :: RLVECT_2:38
canceled;

theorem Th39: :: RLVECT_2:39
canceled;

theorem Th40: :: RLVECT_2:40
for b1 being Nat
for b2 being RealLinearSpace
for b3 being VECTOR of b2
for b4 being FinSequence of the carrier of b2
for b5 being Function of the carrier of b2, REAL st b1 in dom b4 & b3 = b4 . b1 holds
(b5 (#) b4) . b1 = (b5 . b3) * b3
proof end;

theorem Th41: :: RLVECT_2:41
for b1 being RealLinearSpace
for b2 being Function of the carrier of b1, REAL holds b2 (#) (<*> the carrier of b1) = <*> the carrier of b1
proof end;

theorem Th42: :: RLVECT_2:42
for b1 being RealLinearSpace
for b2 being VECTOR of b1
for b3 being Function of the carrier of b1, REAL holds b3 (#) <*b2*> = <*((b3 . b2) * b2)*>
proof end;

theorem Th43: :: RLVECT_2:43
for b1 being RealLinearSpace
for b2, b3 being VECTOR of b1
for b4 being Function of the carrier of b1, REAL holds b4 (#) <*b2,b3*> = <*((b4 . b2) * b2),((b4 . b3) * b3)*>
proof end;

theorem Th44: :: RLVECT_2:44
for b1 being RealLinearSpace
for b2, b3, b4 being VECTOR of b1
for b5 being Function of the carrier of b1, REAL holds b5 (#) <*b2,b3,b4*> = <*((b5 . b2) * b2),((b5 . b3) * b3),((b5 . b4) * b4)*>
proof end;

definition
let c1 be RealLinearSpace;
let c2 be Linear_Combination of c1;
func Sum c2 -> Element of a1 means :Def10: :: RLVECT_2:def 10
ex b1 being FinSequence of the carrier of a1 st
( b1 is one-to-one & rng b1 = Carrier a2 & a3 = Sum (a2 (#) b1) );
existence
ex b1 being Element of c1ex b2 being FinSequence of the carrier of c1 st
( b2 is one-to-one & rng b2 = Carrier c2 & b1 = Sum (c2 (#) b2) )
proof end;
uniqueness
for b1, b2 being Element of c1 st ex b3 being FinSequence of the carrier of c1 st
( b3 is one-to-one & rng b3 = Carrier c2 & b1 = Sum (c2 (#) b3) ) & ex b3 being FinSequence of the carrier of c1 st
( b3 is one-to-one & rng b3 = Carrier c2 & b2 = Sum (c2 (#) b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def10 defines Sum RLVECT_2:def 10 :
for b1 being RealLinearSpace
for b2 being Linear_Combination of b1
for b3 being Element of b1 holds
( b3 = Sum b2 iff ex b4 being FinSequence of the carrier of b1 st
( b4 is one-to-one & rng b4 = Carrier b2 & b3 = Sum (b2 (#) b4) ) );

Lemma24: for b1 being RealLinearSpace holds Sum (ZeroLC b1) = 0. b1
proof end;

theorem Th45: :: RLVECT_2:45
canceled;

theorem Th46: :: RLVECT_2:46
canceled;

theorem Th47: :: RLVECT_2:47
for b1 being RealLinearSpace
for b2 being Subset of b1 holds
( ( b2 <> {} & b2 is lineary-closed ) iff for b3 being Linear_Combination of b2 holds Sum b3 in b2 )
proof end;

theorem Th48: :: RLVECT_2:48
for b1 being RealLinearSpace holds Sum (ZeroLC b1) = 0. b1 by Lemma24;

theorem Th49: :: RLVECT_2:49
for b1 being RealLinearSpace
for b2 being Linear_Combination of {} the carrier of b1 holds Sum b2 = 0. b1
proof end;

theorem Th50: :: RLVECT_2:50
for b1 being RealLinearSpace
for b2 being VECTOR of b1
for b3 being Linear_Combination of {b2} holds Sum b3 = (b3 . b2) * b2
proof end;

theorem Th51: :: RLVECT_2:51
for b1 being RealLinearSpace
for b2, b3 being VECTOR of b1 st b2 <> b3 holds
for b4 being Linear_Combination of {b2,b3} holds Sum b4 = ((b4 . b2) * b2) + ((b4 . b3) * b3)
proof end;

theorem Th52: :: RLVECT_2:52
for b1 being RealLinearSpace
for b2 being Linear_Combination of b1 st Carrier b2 = {} holds
Sum b2 = 0. b1
proof end;

theorem Th53: :: RLVECT_2:53
for b1 being RealLinearSpace
for b2 being VECTOR of b1
for b3 being Linear_Combination of b1 st Carrier b3 = {b2} holds
Sum b3 = (b3 . b2) * b2
proof end;

theorem Th54: :: RLVECT_2:54
for b1 being RealLinearSpace
for b2, b3 being VECTOR of b1
for b4 being Linear_Combination of b1 st Carrier b4 = {b2,b3} & b2 <> b3 holds
Sum b4 = ((b4 . b2) * b2) + ((b4 . b3) * b3)
proof end;

definition
let c1 be non empty LoopStr ;
let c2, c3 be Linear_Combination of c1;
redefine pred = as c2 = c3 means :: RLVECT_2:def 11
for b1 being Element of a1 holds a2 . b1 = a3 . b1;
compatibility
( c2 = c3 iff for b1 being Element of c1 holds c2 . b1 = c3 . b1 )
by FUNCT_2:113;
end;

:: deftheorem Def11 defines = RLVECT_2:def 11 :
for b1 being non empty LoopStr
for b2, b3 being Linear_Combination of b1 holds
( b2 = b3 iff for b4 being Element of b1 holds b2 . b4 = b3 . b4 );

definition
let c1 be non empty LoopStr ;
let c2, c3 be Linear_Combination of c1;
func c2 + c3 -> Linear_Combination of a1 means :Def12: :: RLVECT_2:def 12
for b1 being Element of a1 holds a4 . b1 = (a2 . b1) + (a3 . b1);
existence
ex b1 being Linear_Combination of c1 st
for b2 being Element of c1 holds b1 . b2 = (c2 . b2) + (c3 . b2)
proof end;
uniqueness
for b1, b2 being Linear_Combination of c1 st ( for b3 being Element of c1 holds b1 . b3 = (c2 . b3) + (c3 . b3) ) & ( for b3 being Element of c1 holds b2 . b3 = (c2 . b3) + (c3 . b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def12 defines + RLVECT_2:def 12 :
for b1 being non empty LoopStr
for b2, b3, b4 being Linear_Combination of b1 holds
( b4 = b2 + b3 iff for b5 being Element of b1 holds b4 . b5 = (b2 . b5) + (b3 . b5) );

theorem Th55: :: RLVECT_2:55
canceled;

theorem Th56: :: RLVECT_2:56
canceled;

theorem Th57: :: RLVECT_2:57
canceled;

theorem Th58: :: RLVECT_2:58
for b1 being RealLinearSpace
for b2, b3 being Linear_Combination of b1 holds Carrier (b2 + b3) c= (Carrier b2) \/ (Carrier b3)
proof end;

theorem Th59: :: RLVECT_2:59
for b1 being RealLinearSpace
for b2 being Subset of b1
for b3, b4 being Linear_Combination of b1 st b3 is Linear_Combination of b2 & b4 is Linear_Combination of b2 holds
b3 + b4 is Linear_Combination of b2
proof end;

theorem Th60: :: RLVECT_2:60
for b1 being non empty LoopStr
for b2, b3 being Linear_Combination of b1 holds b2 + b3 = b3 + b2
proof end;

theorem Th61: :: RLVECT_2:61
for b1 being RealLinearSpace
for b2, b3, b4 being Linear_Combination of b1 holds b2 + (b3 + b4) = (b2 + b3) + b4
proof end;

theorem Th62: :: RLVECT_2:62
for b1 being RealLinearSpace
for b2 being Linear_Combination of b1 holds
( b2 + (ZeroLC b1) = b2 & (ZeroLC b1) + b2 = b2 )
proof end;

definition
let c1 be RealLinearSpace;
let c2 be Real;
let c3 be Linear_Combination of c1;
func c2 * c3 -> Linear_Combination of a1 means :Def13: :: RLVECT_2:def 13
for b1 being VECTOR of a1 holds a4 . b1 = a2 * (a3 . b1);
existence
ex b1 being Linear_Combination of c1 st
for b2 being VECTOR of c1 holds b1 . b2 = c2 * (c3 . b2)
proof end;
uniqueness
for b1, b2 being Linear_Combination of c1 st ( for b3 being VECTOR of c1 holds b1 . b3 = c2 * (c3 . b3) ) & ( for b3 being VECTOR of c1 holds b2 . b3 = c2 * (c3 . b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def13 defines * RLVECT_2:def 13 :
for b1 being RealLinearSpace
for b2 being Real
for b3, b4 being Linear_Combination of b1 holds
( b4 = b2 * b3 iff for b5 being VECTOR of b1 holds b4 . b5 = b2 * (b3 . b5) );

theorem Th63: :: RLVECT_2:63
canceled;

theorem Th64: :: RLVECT_2:64
canceled;

theorem Th65: :: RLVECT_2:65
for b1 being RealLinearSpace
for b2 being Real
for b3 being Linear_Combination of b1 st b2 <> 0 holds
Carrier (b2 * b3) = Carrier b3
proof end;

theorem Th66: :: RLVECT_2:66
for b1 being RealLinearSpace
for b2 being Linear_Combination of b1 holds 0 * b2 = ZeroLC b1
proof end;

theorem Th67: :: RLVECT_2:67
for b1 being RealLinearSpace
for b2 being Real
for b3 being Subset of b1
for b4 being Linear_Combination of b1 st b4 is Linear_Combination of b3 holds
b2 * b4 is Linear_Combination of b3
proof end;

theorem Th68: :: RLVECT_2:68
for b1 being RealLinearSpace
for b2, b3 being Real
for b4 being Linear_Combination of b1 holds (b2 + b3) * b4 = (b2 * b4) + (b3 * b4)
proof end;

theorem Th69: :: RLVECT_2:69
for b1 being RealLinearSpace
for b2 being Real
for b3, b4 being Linear_Combination of b1 holds b2 * (b3 + b4) = (b2 * b3) + (b2 * b4)
proof end;

theorem Th70: :: RLVECT_2:70
for b1 being RealLinearSpace
for b2, b3 being Real
for b4 being Linear_Combination of b1 holds b2 * (b3 * b4) = (b2 * b3) * b4
proof end;

theorem Th71: :: RLVECT_2:71
for b1 being RealLinearSpace
for b2 being Linear_Combination of b1 holds 1 * b2 = b2
proof end;

definition
let c1 be RealLinearSpace;
let c2 be Linear_Combination of c1;
func - c2 -> Linear_Combination of a1 equals :: RLVECT_2:def 14
(- 1) * a2;
correctness
coherence
(- 1) * c2 is Linear_Combination of c1
;
;
end;

:: deftheorem Def14 defines - RLVECT_2:def 14 :
for b1 being RealLinearSpace
for b2 being Linear_Combination of b1 holds - b2 = (- 1) * b2;

theorem Th72: :: RLVECT_2:72
canceled;

theorem Th73: :: RLVECT_2:73
for b1 being RealLinearSpace
for b2 being VECTOR of b1
for b3 being Linear_Combination of b1 holds (- b3) . b2 = - (b3 . b2)
proof end;

theorem Th74: :: RLVECT_2:74
for b1 being RealLinearSpace
for b2, b3 being Linear_Combination of b1 st b2 + b3 = ZeroLC b1 holds
b3 = - b2
proof end;

theorem Th75: :: RLVECT_2:75
for b1 being RealLinearSpace
for b2 being Linear_Combination of b1 holds Carrier (- b2) = Carrier b2 by Th65;

theorem Th76: :: RLVECT_2:76
for b1 being RealLinearSpace
for b2 being Subset of b1
for b3 being Linear_Combination of b1 st b3 is Linear_Combination of b2 holds
- b3 is Linear_Combination of b2 by Th67;

theorem Th77: :: RLVECT_2:77
for b1 being RealLinearSpace
for b2 being Linear_Combination of b1 holds - (- b2) = b2
proof end;

definition
let c1 be RealLinearSpace;
let c2, c3 be Linear_Combination of c1;
func c2 - c3 -> Linear_Combination of a1 equals :: RLVECT_2:def 15
a2 + (- a3);
correctness
coherence
c2 + (- c3) is Linear_Combination of c1
;
;
end;

:: deftheorem Def15 defines - RLVECT_2:def 15 :
for b1 being RealLinearSpace
for b2, b3 being Linear_Combination of b1 holds b2 - b3 = b2 + (- b3);

theorem Th78: :: RLVECT_2:78
canceled;

theorem Th79: :: RLVECT_2:79
for b1 being RealLinearSpace
for b2 being VECTOR of b1
for b3, b4 being Linear_Combination of b1 holds (b3 - b4) . b2 = (b3 . b2) - (b4 . b2)
proof end;

theorem Th80: :: RLVECT_2:80
for b1 being RealLinearSpace
for b2, b3 being Linear_Combination of b1 holds Carrier (b2 - b3) c= (Carrier b2) \/ (Carrier b3)
proof end;

theorem Th81: :: RLVECT_2:81
for b1 being RealLinearSpace
for b2 being Subset of b1
for b3, b4 being Linear_Combination of b1 st b3 is Linear_Combination of b2 & b4 is Linear_Combination of b2 holds
b3 - b4 is Linear_Combination of b2
proof end;

theorem Th82: :: RLVECT_2:82
for b1 being RealLinearSpace
for b2 being Linear_Combination of b1 holds b2 - b2 = ZeroLC b1
proof end;

definition
let c1 be RealLinearSpace;
func LinComb c1 -> set means :Def16: :: RLVECT_2:def 16
for b1 being set holds
( b1 in a2 iff b1 is Linear_Combination of a1 );
existence
ex b1 being set st
for b2 being set holds
( b2 in b1 iff b2 is Linear_Combination of c1 )
proof end;
uniqueness
for b1, b2 being set st ( for b3 being set holds
( b3 in b1 iff b3 is Linear_Combination of c1 ) ) & ( for b3 being set holds
( b3 in b2 iff b3 is Linear_Combination of c1 ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def16 defines LinComb RLVECT_2:def 16 :
for b1 being RealLinearSpace
for b2 being set holds
( b2 = LinComb b1 iff for b3 being set holds
( b3 in b2 iff b3 is Linear_Combination of b1 ) );

registration
let c1 be RealLinearSpace;
cluster LinComb a1 -> non empty ;
coherence
not LinComb c1 is empty
proof end;
end;

definition
let c1 be RealLinearSpace;
let c2 be Element of LinComb c1;
func @ c2 -> Linear_Combination of a1 equals :: RLVECT_2:def 17
a2;
coherence
c2 is Linear_Combination of c1
by Def16;
end;

:: deftheorem Def17 defines @ RLVECT_2:def 17 :
for b1 being RealLinearSpace
for b2 being Element of LinComb b1 holds @ b2 = b2;

definition
let c1 be RealLinearSpace;
let c2 be Linear_Combination of c1;
func @ c2 -> Element of LinComb a1 equals :: RLVECT_2:def 18
a2;
coherence
c2 is Element of LinComb c1
by Def16;
end;

:: deftheorem Def18 defines @ RLVECT_2:def 18 :
for b1 being RealLinearSpace
for b2 being Linear_Combination of b1 holds @ b2 = b2;

definition
let c1 be RealLinearSpace;
func LCAdd c1 -> BinOp of LinComb a1 means :Def19: :: RLVECT_2:def 19
for b1, b2 being Element of LinComb a1 holds a2 . b1,b2 = (@ b1) + (@ b2);
existence
ex b1 being BinOp of LinComb c1 st
for b2, b3 being Element of LinComb c1 holds b1 . b2,b3 = (@ b2) + (@ b3)
proof end;
uniqueness
for b1, b2 being BinOp of LinComb c1 st ( for b3, b4 being Element of LinComb c1 holds b1 . b3,b4 = (@ b3) + (@ b4) ) & ( for b3, b4 being Element of LinComb c1 holds b2 . b3,b4 = (@ b3) + (@ b4) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def19 defines LCAdd RLVECT_2:def 19 :
for b1 being RealLinearSpace
for b2 being BinOp of LinComb b1 holds
( b2 = LCAdd b1 iff for b3, b4 being Element of LinComb b1 holds b2 . b3,b4 = (@ b3) + (@ b4) );

definition
let c1 be RealLinearSpace;
func LCMult c1 -> Function of [:REAL ,(LinComb a1):], LinComb a1 means :Def20: :: RLVECT_2:def 20
for b1 being Real
for b2 being Element of LinComb a1 holds a2 . [b1,b2] = b1 * (@ b2);
existence
ex b1 being Function of [:REAL ,(LinComb c1):], LinComb c1 st
for b2 being Real
for b3 being Element of LinComb c1 holds b1 . [b2,b3] = b2 * (@ b3)
proof end;
uniqueness
for b1, b2 being Function of [:REAL ,(LinComb c1):], LinComb c1 st ( for b3 being Real
for b4 being Element of LinComb c1 holds b1 . [b3,b4] = b3 * (@ b4) ) & ( for b3 being Real
for b4 being Element of LinComb c1 holds b2 . [b3,b4] = b3 * (@ b4) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def20 defines LCMult RLVECT_2:def 20 :
for b1 being RealLinearSpace
for b2 being Function of [:REAL ,(LinComb b1):], LinComb b1 holds
( b2 = LCMult b1 iff for b3 being Real
for b4 being Element of LinComb b1 holds b2 . [b3,b4] = b3 * (@ b4) );

definition
let c1 be RealLinearSpace;
func LC_RLSpace c1 -> RealLinearSpace equals :: RLVECT_2:def 21
RLSStruct(# (LinComb a1),(@ (ZeroLC a1)),(LCAdd a1),(LCMult a1) #);
coherence
RLSStruct(# (LinComb c1),(@ (ZeroLC c1)),(LCAdd c1),(LCMult c1) #) is RealLinearSpace
proof end;
end;

:: deftheorem Def21 defines LC_RLSpace RLVECT_2:def 21 :
for b1 being RealLinearSpace holds LC_RLSpace b1 = RLSStruct(# (LinComb b1),(@ (ZeroLC b1)),(LCAdd b1),(LCMult b1) #);

registration
let c1 be RealLinearSpace;
cluster LC_RLSpace a1 -> strict ;
coherence
( LC_RLSpace c1 is strict & not LC_RLSpace c1 is empty )
;
end;

theorem Th83: :: RLVECT_2:83
canceled;

theorem Th84: :: RLVECT_2:84
canceled;

theorem Th85: :: RLVECT_2:85
canceled;

theorem Th86: :: RLVECT_2:86
canceled;

theorem Th87: :: RLVECT_2:87
canceled;

theorem Th88: :: RLVECT_2:88
canceled;

theorem Th89: :: RLVECT_2:89
canceled;

theorem Th90: :: RLVECT_2:90
canceled;

theorem Th91: :: RLVECT_2:91
canceled;

theorem Th92: :: RLVECT_2:92
for b1 being RealLinearSpace holds the carrier of (LC_RLSpace b1) = LinComb b1 ;

theorem Th93: :: RLVECT_2:93
for b1 being RealLinearSpace holds the Zero of (LC_RLSpace b1) = ZeroLC b1 ;

theorem Th94: :: RLVECT_2:94
for b1 being RealLinearSpace holds the add of (LC_RLSpace b1) = LCAdd b1 ;

theorem Th95: :: RLVECT_2:95
for b1 being RealLinearSpace holds the Mult of (LC_RLSpace b1) = LCMult b1 ;

theorem Th96: :: RLVECT_2:96
for b1 being RealLinearSpace
for b2, b3 being Linear_Combination of b1 holds (vector (LC_RLSpace b1),b2) + (vector (LC_RLSpace b1),b3) = b2 + b3
proof end;

theorem Th97: :: RLVECT_2:97
for b1 being RealLinearSpace
for b2 being Real
for b3 being Linear_Combination of b1 holds b2 * (vector (LC_RLSpace b1),b3) = b2 * b3
proof end;

theorem Th98: :: RLVECT_2:98
for b1 being RealLinearSpace
for b2 being Linear_Combination of b1 holds - (vector (LC_RLSpace b1),b2) = - b2
proof end;

theorem Th99: :: RLVECT_2:99
for b1 being RealLinearSpace
for b2, b3 being Linear_Combination of b1 holds (vector (LC_RLSpace b1),b2) - (vector (LC_RLSpace b1),b3) = b2 - b3
proof end;

definition
let c1 be RealLinearSpace;
let c2 be Subset of c1;
func LC_RLSpace c2 -> strict Subspace of LC_RLSpace a1 means :: RLVECT_2:def 22
the carrier of a3 = { b1 where B is Linear_Combination of a2 : verum } ;
existence
ex b1 being strict Subspace of LC_RLSpace c1 st the carrier of b1 = { b2 where B is Linear_Combination of c2 : verum }
proof end;
uniqueness
for b1, b2 being strict Subspace of LC_RLSpace c1 st the carrier of b1 = { b3 where B is Linear_Combination of c2 : verum } & the carrier of b2 = { b3 where B is Linear_Combination of c2 : verum } holds
b1 = b2
by RLSUB_1:38;
end;

:: deftheorem Def22 defines LC_RLSpace RLVECT_2:def 22 :
for b1 being RealLinearSpace
for b2 being Subset of b1
for b3 being strict Subspace of LC_RLSpace b1 holds
( b3 = LC_RLSpace b2 iff the carrier of b3 = { b4 where B is Linear_Combination of b2 : verum } );