let R be domRing; :: thesis: for V being RightMod of R
for L being Linear_Combination of V
for a being Scalar of R holds Sum (L * a) = (Sum L) * a

let V be RightMod of R; :: thesis: for L being Linear_Combination of V
for a being Scalar of R holds Sum (L * a) = (Sum L) * a

let L be Linear_Combination of V; :: thesis: for a being Scalar of R holds Sum (L * a) = (Sum L) * a
let a be Scalar of R; :: thesis: Sum (L * a) = (Sum L) * a
per cases ( a <> 0. R or a = 0. R ) ;
suppose A1: a <> 0. R ; :: thesis: Sum (L * a) = (Sum L) * a
set l = L * a;
A2: Carrier (L * a) = Carrier L by A1, Th43;
consider G being FinSequence of V such that
A3: G is one-to-one and
A4: rng G = Carrier L and
A5: Sum L = Sum (L (#) G) by Def7;
set g = L (#) G;
consider F being FinSequence of V such that
A6: F is one-to-one and
A7: rng F = Carrier (L * a) and
A8: Sum (L * a) = Sum ((L * a) (#) F) by Def7;
A9: len G = len F by A1, A6, A7, A3, A4, Th43, FINSEQ_1:48;
set f = (L * a) (#) F;
deffunc H1( Nat) -> set = F <- (G . $1);
consider P being FinSequence such that
A10: len P = len F and
A11: for k being Nat st k in dom P holds
P . k = H1(k) from FINSEQ_1:sch 2();
A12: dom P = Seg (len F) by A10, FINSEQ_1:def 3;
A13: now :: thesis: for x being object st x in dom G holds
G . x = F . (P . x)
let x be object ; :: thesis: ( x in dom G implies G . x = F . (P . x) )
assume A14: x in dom G ; :: thesis: G . x = F . (P . x)
then reconsider n = x as Nat by FINSEQ_3:23;
G . n in rng F by A7, A4, A2, A14, FUNCT_1:def 3;
then A15: F just_once_values G . n by A6, FINSEQ_4:8;
n in Seg (len F) by A9, A14, FINSEQ_1:def 3;
then F . (P . n) = F . (F <- (G . n)) by A11, A12
.= G . n by A15, FINSEQ_4:def 3 ;
hence G . x = F . (P . x) ; :: thesis: verum
end;
A16: rng P c= dom F
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in rng P or x in dom F )
assume x in rng P ; :: thesis: x in dom F
then consider y being object such that
A17: y in dom P and
A18: P . y = x by FUNCT_1:def 3;
reconsider y = y as Nat by A17, FINSEQ_3:23;
y in dom G by A10, A9, A17, FINSEQ_3:29;
then G . y in rng F by A7, A4, A2, FUNCT_1:def 3;
then A19: F just_once_values G . y by A6, FINSEQ_4:8;
P . y = F <- (G . y) by A11, A17;
hence x in dom F by A18, A19, FINSEQ_4:def 3; :: thesis: verum
end;
now :: thesis: for x being object holds
( ( x in dom G implies ( x in dom P & P . x in dom F ) ) & ( x in dom P & P . x in dom F implies x in dom G ) )
let x be object ; :: thesis: ( ( x in dom G implies ( x in dom P & P . x in dom F ) ) & ( x in dom P & P . x in dom F implies x in dom G ) )
thus ( x in dom G implies ( x in dom P & P . x in dom F ) ) :: thesis: ( x in dom P & P . x in dom F implies x in dom G )
proof
assume x in dom G ; :: thesis: ( x in dom P & P . x in dom F )
then x in Seg (len P) by A10, A9, FINSEQ_1:def 3;
hence x in dom P by FINSEQ_1:def 3; :: thesis: P . x in dom F
then P . x in rng P by FUNCT_1:def 3;
hence P . x in dom F by A16; :: thesis: verum
end;
assume that
A20: x in dom P and
P . x in dom F ; :: thesis: x in dom G
x in Seg (len P) by A20, FINSEQ_1:def 3;
hence x in dom G by A10, A9, FINSEQ_1:def 3; :: thesis: verum
end;
then A21: G = F * P by A13, FUNCT_1:10;
dom F c= rng P
proof
set f = (F ") * G;
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in dom F or x in rng P )
assume A22: x in dom F ; :: thesis: x in rng P
dom (F ") = rng G by A6, A7, A4, A2, FUNCT_1:33;
then A23: rng ((F ") * G) = rng (F ") by RELAT_1:28
.= dom F by A6, FUNCT_1:33 ;
(F ") * G = ((F ") * F) * P by A21, RELAT_1:36
.= (id (dom F)) * P by A6, FUNCT_1:39
.= P by A16, RELAT_1:53 ;
hence x in rng P by A22, A23; :: thesis: verum
end;
then A24: dom F = rng P by A16;
A25: dom P = dom F by A10, FINSEQ_3:29;
then A26: P is one-to-one by A24, FINSEQ_4:60;
reconsider P = P as Function of (dom F),(dom F) by A16, A25, FUNCT_2:2;
A27: len ((L * a) (#) F) = len F by Def6;
then A28: dom ((L * a) (#) F) = dom F by FINSEQ_3:29;
then reconsider P = P as Function of (dom ((L * a) (#) F)),(dom ((L * a) (#) F)) ;
reconsider Fp = ((L * a) (#) F) * P as FinSequence of V by FINSEQ_2:47;
reconsider P = P as Permutation of (dom ((L * a) (#) F)) by A24, A26, A28, FUNCT_2:57;
A29: Fp = ((L * a) (#) F) * P ;
then A30: len Fp = len ((L * a) (#) F) by FINSEQ_2:44;
then A31: len Fp = len (L (#) G) by A9, A27, Def6;
A32: now :: thesis: for k being Nat
for v being Vector of V st k in dom Fp & v = (L (#) G) . k holds
Fp . k = v * a
let k be Nat; :: thesis: for v being Vector of V st k in dom Fp & v = (L (#) G) . k holds
Fp . k = v * a

let v be Vector of V; :: thesis: ( k in dom Fp & v = (L (#) G) . k implies Fp . k = v * a )
assume that
A33: k in dom Fp and
A34: v = (L (#) G) . k ; :: thesis: Fp . k = v * a
A35: k in Seg (len (L (#) G)) by A31, A33, FINSEQ_1:def 3;
then A36: k in dom P by A10, A27, A30, A31, FINSEQ_1:def 3;
A37: k in dom G by A9, A27, A30, A31, A35, FINSEQ_1:def 3;
then G . k in rng G by FUNCT_1:def 3;
then F just_once_values G . k by A6, A7, A4, A2, FINSEQ_4:8;
then A38: F <- (G . k) in dom F by FINSEQ_4:def 3;
then reconsider i = F <- (G . k) as Nat by FINSEQ_3:23;
A39: G /. k = G . k by A37, PARTFUN1:def 6
.= F . (P . k) by A21, A36, FUNCT_1:13
.= F . i by A11, A12, A27, A30, A31, A35
.= F /. i by A38, PARTFUN1:def 6 ;
A40: k in dom (L (#) G) by A35, FINSEQ_1:def 3;
i in Seg (len ((L * a) (#) F)) by A27, A38, FINSEQ_1:def 3;
then A41: i in dom ((L * a) (#) F) by FINSEQ_1:def 3;
thus Fp . k = ((L * a) (#) F) . (P . k) by A36, FUNCT_1:13
.= ((L * a) (#) F) . (F <- (G . k)) by A11, A12, A27, A30, A31, A35
.= (F /. i) * ((L * a) . (F /. i)) by A41, Def6
.= (F /. i) * ((L . (F /. i)) * a) by Def10
.= ((F /. i) * (L . (F /. i))) * a by VECTSP_2:def 9
.= v * a by A34, A40, A39, Def6 ; :: thesis: verum
end;
Sum Fp = Sum ((L * a) (#) F) by A29, RLVECT_2:7;
hence Sum (L * a) = (Sum L) * a by A8, A5, A31, A32, Th1; :: thesis: verum
end;
suppose A42: a = 0. R ; :: thesis: Sum (L * a) = (Sum L) * a
hence Sum (L * a) = Sum (ZeroLC V) by Th44
.= 0. V by Lm3
.= (Sum L) * a by A42, VECTSP_2:32 ;
:: thesis: verum
end;
end;