:: Linear Combinations in Right Module over Associative Ring
:: by Michal Muzalewski and Wojciech Skaba
::
:: Received October 22, 1990
:: Copyright (c) 1990-2018 Association of Mizar Users
:: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.
environ
vocabularies NUMBERS, FUNCSDOM, VECTSP_2, VECTSP_1, FINSEQ_1, NAT_1, SUBSET_1,
FUNCT_1, FINSET_1, ARYTM_3, RELAT_1, CARD_3, XXREAL_0, TARSKI, CARD_1,
STRUCT_0, SUPINF_2, PARTFUN1, XBOOLE_0, ORDINAL4, ARYTM_1, RLVECT_2,
FUNCT_2, FUNCOP_1, VALUED_1, GROUP_1, RLSUB_1, FINSEQ_4, RLVECT_3,
RMOD_2;
notations TARSKI, XBOOLE_0, SUBSET_1, XCMPLX_0, FINSET_1, FINSEQ_1, ORDINAL1,
NUMBERS, RELAT_1, FUNCT_1, PARTFUN1, FUNCT_2, NAT_1, CARD_1, DOMAIN_1,
STRUCT_0, ALGSTR_0, RLVECT_1, GROUP_1, VECTSP_1, FINSEQ_4, VECTSP_2,
RMOD_2, RMOD_3, FUNCOP_1, XXREAL_0;
constructors PARTFUN1, DOMAIN_1, FUNCOP_1, XXREAL_0, NAT_1, FINSEQ_4,
RLVECT_2, RMOD_2, RMOD_3, RELSET_1;
registrations XBOOLE_0, SUBSET_1, FUNCT_1, RELSET_1, FINSET_1, XREAL_0,
STRUCT_0, VECTSP_1, ORDINAL1, FINSEQ_1, VECTSP_2, RMOD_2, CARD_1;
requirements NUMERALS, REAL, BOOLE, SUBSET;
definitions FUNCT_1, TARSKI, RMOD_2, XBOOLE_0;
equalities RMOD_2, XBOOLE_0, RELAT_1;
expansions FUNCT_1, TARSKI, RMOD_2, XBOOLE_0;
theorems CARD_1, CARD_2, ENUMSET1, FINSEQ_1, FINSEQ_2, FINSEQ_3, FINSEQ_4,
FUNCT_1, FUNCT_2, RLVECT_1, RLVECT_2, TARSKI, VECTSP_1, VECTSP_2,
ZFMISC_1, RMOD_2, NAT_1, RELAT_1, XBOOLE_0, XBOOLE_1, RLSUB_2, XCMPLX_1,
GROUP_1, FUNCOP_1, XREAL_1, PARTFUN1, STRUCT_0, RMOD_3;
schemes FINSEQ_1, FUNCT_2, NAT_1;
begin
reserve R for Ring,
V for RightMod of R,
a,b for Scalar of R,
x,y for set,
p,q ,r for FinSequence,
i,k for Nat,
u,v,v1,v2,v3,w for Vector of V,
F,G,H for FinSequence of V,
A,B for Subset of V,
f for Function of V, R,
S,T for finite Subset of V;
Lm1: len F = len G + 1 & G = F | (Seg len G) & v = F.(len F) implies Sum(F) =
Sum(G) + v
proof
len F = len G + 1 & G = F | (dom G) & v = F.(len F) implies Sum(F) = Sum
(G) + v by RLVECT_1:38;
hence thesis by FINSEQ_1:def 3;
end;
theorem Th1:
len F = len G & (for k,v st k in dom F & v = G.k holds F.k = v *
a) implies Sum(F) = Sum(G) * a
proof
defpred P[Nat] means for H,I be FinSequence of V st len H = len I & len H =
$1 & (for k,v st k in dom H & v = I.k holds H.k = v * a) holds Sum(H) = Sum(I)
* a;
now
let n be Nat;
assume
A1: for H,I be FinSequence of V st len H = len I & len H = n & for k,
v st k in dom H & v = I.k holds H.k = v * a holds Sum(H) = Sum(I) * a;
let H,I be FinSequence of V;
assume that
A2: len H = len I and
A3: len H = n + 1 and
A4: for k,v st k in dom H & v = I.k holds H.k = v * a;
reconsider p = H | (Seg n),q = I | (Seg n) as FinSequence of V by
FINSEQ_1:18;
A5: n <= n + 1 by NAT_1:12;
then
A6: len p = n by A3,FINSEQ_1:17;
A7: len q = n by A2,A3,A5,FINSEQ_1:17;
A8: now
len p <= len H by A3,A5,FINSEQ_1:17;
then
A9: dom p c= dom H by FINSEQ_3:30;
let k,v;
assume that
A10: k in dom p and
A11: v = q.k;
dom p = dom q by A6,A7,FINSEQ_3:29;
then I.k = q.k by A10,FUNCT_1:47;
then H.k = v * a by A4,A10,A11,A9;
hence p.k = v * a by A10,FUNCT_1:47;
end;
A12: n + 1 in Seg(n + 1) by FINSEQ_1:4;
then n + 1 in dom H & n + 1 in dom I by A2,A3,FINSEQ_1:def 3;
then reconsider v1 = H.(n + 1),v2 = I.(n + 1) as Vector of V by FINSEQ_2:11
;
n + 1 in dom H by A3,A12,FINSEQ_1:def 3;
then
A13: v1 = v2 * a by A4;
thus Sum(H) = Sum(p) + v1 by A3,A6,Lm1
.= Sum(q) * a + v2 * a by A1,A6,A7,A8,A13
.= (Sum(q) + v2) * a by VECTSP_2:def 9
.= Sum(I) * a by A2,A3,A7,Lm1;
end;
then
A14: for i be Nat st P[i] holds P[i+1];
now
let H,I be FinSequence of V;
assume that
A15: len H = len I and
A16: len H = 0 and
for k,v st k in dom H & v = I.k holds H.k = v * a;
H = <*>(the carrier of V) by A16;
then
A17: Sum(H) = 0.V by RLVECT_1:43;
I = <*>(the carrier of V) by A15,A16;
then Sum(I) = 0.V by RLVECT_1:43;
hence Sum(H) = Sum(I) * a by A17,VECTSP_2:32;
end;
then
A18: P[0];
for n being Nat holds P[n] from NAT_1:sch 2(A18,A14);
hence thesis;
end;
Lm2: len F = len G & (for k st k in dom F holds G.k = F/.k * a) implies Sum(G)
= Sum(F) * a
proof
assume that
A1: len F = len G and
A2: for k st k in dom F holds G.k = F/.k * a;
now
let k,v;
assume that
A3: k in dom G and
A4: v = F.k;
A5: k in dom F by A1,A3,FINSEQ_3:29;
then v = F/.k by A4,PARTFUN1:def 6;
hence G.k = v * a by A2,A5;
end;
hence thesis by A1,Th1;
end;
theorem
Sum(<*>(the carrier of V)) * a = 0.V
proof
thus Sum(<*>(the carrier of V)) * a = 0.V * a by RLVECT_1:43
.= 0.V by VECTSP_2:32;
end;
theorem
Sum<* v,u *> * a = v * a + u * a
proof
thus Sum<* v,u *> * a = (v + u) * a by RLVECT_1:45
.= v * a + u * a by VECTSP_2:def 9;
end;
theorem
Sum<* v,u,w *> * a = v * a + u * a + w * a
proof
thus Sum<* v,u,w *> * a = (v + u + w) * a by RLVECT_1:46
.= (v + u) * a + w * a by VECTSP_2:def 9
.= v * a + u * a + w * a by VECTSP_2:def 9;
end;
definition
let R, V, T;
func Sum(T) -> Vector of V means
:Def1:
ex F st rng F = T & F is one-to-one & it = Sum(F);
existence
proof
consider p such that
A1: rng p = T and
A2: p is one-to-one by FINSEQ_4:58;
reconsider p as FinSequence of V by A1,FINSEQ_1:def 4;
take Sum(p);
take p;
thus thesis by A1,A2;
end;
uniqueness by RLVECT_1:42;
end;
theorem Th5:
Sum({}V) = 0.V
proof
Sum(<*>(the carrier of V)) = 0.V by RLVECT_1:43;
hence thesis by Def1,RELAT_1:38;
end;
theorem
Sum{v} = v
proof
A1: Sum<* v *> = v by RLVECT_1:44;
rng<* v *> = {v} & <* v *> is one-to-one by FINSEQ_1:39,FINSEQ_3:93;
hence thesis by A1,Def1;
end;
theorem
v1 <> v2 implies Sum{v1,v2} = v1 + v2
proof
assume v1 <> v2;
then
A1: <* v1,v2 *> is one-to-one by FINSEQ_3:94;
rng<* v1,v2 *> = {v1,v2} & Sum<* v1,v2 *> = v1 + v2 by FINSEQ_2:127
,RLVECT_1:45;
hence thesis by A1,Def1;
end;
theorem
v1 <> v2 & v2 <> v3 & v1 <> v3 implies Sum{v1,v2,v3} = v1 + v2 + v3
proof
assume v1 <> v2 & v2 <> v3 & v1 <> v3;
then
A1: <* v1,v2,v3 *> is one-to-one by FINSEQ_3:95;
rng<* v1,v2,v3 *> = {v1,v2,v3} & Sum<* v1,v2,v3 *> = v1 + v2 + v3 by
FINSEQ_2:128,RLVECT_1:46;
hence thesis by A1,Def1;
end;
theorem Th9:
T misses S implies Sum(T \/ S) = Sum(T) + Sum(S)
proof
consider F such that
A1: rng F = T \/ S and
A2: F is one-to-one & Sum(T \/ S) = Sum(F) by Def1;
consider G such that
A3: rng G = T and
A4: G is one-to-one and
A5: Sum(T) = Sum(G) by Def1;
consider H such that
A6: rng H = S and
A7: H is one-to-one and
A8: Sum(S) = Sum(H) by Def1;
set I = G ^ H;
assume T misses S;
then
A9: I is one-to-one by A3,A4,A6,A7,FINSEQ_3:91;
rng I = rng F by A1,A3,A6,FINSEQ_1:31;
hence Sum(T \/ S) = Sum(I) by A2,A9,RLVECT_1:42
.= Sum(T) + Sum(S) by A5,A8,RLVECT_1:41;
end;
theorem Th10:
Sum(T \/ S) = Sum(T) + Sum(S) - Sum(T /\ S)
proof
set A = S \ T;
set B = T \ S;
set Z = A \/ B;
set I = T /\ S;
A1: A \/ I = S by XBOOLE_1:51;
A2: B \/ I = T by XBOOLE_1:51;
A3: Z = T \+\ S;
then Z \/ I = T \/ S by XBOOLE_1:93;
then Sum(T \/ S) + Sum(I) = Sum(Z) + Sum(I) + Sum(I) by A3,Th9,XBOOLE_1:103
.= Sum(A) + Sum(B) + Sum(I) + Sum(I) by Th9,XBOOLE_1:82
.= Sum(A) + (Sum(I) + Sum(B)) + Sum(I) by RLVECT_1:def 3
.= (Sum(A) + Sum(I)) + (Sum(B) + Sum(I)) by RLVECT_1:def 3
.= Sum(S) + (Sum(B) + Sum(I)) by A1,Th9,XBOOLE_1:89
.= Sum(T) + Sum(S) by A2,Th9,XBOOLE_1:89;
hence thesis by RLSUB_2:61;
end;
theorem
Sum(T /\ S) = Sum(T) + Sum(S) - Sum(T \/ S)
proof
Sum(T \/ S) = Sum(T) + Sum(S) - Sum(T /\ S) by Th10;
then Sum(T) + Sum(S) = Sum(T /\ S) + Sum(T \/ S) by RLSUB_2:61;
hence thesis by RLSUB_2:61;
end;
theorem Th12:
Sum(T \ S) = Sum(T \/ S) - Sum(S)
proof
(T \ S) misses S by XBOOLE_1:79;
then
A1: (T \ S) /\ S = {}V;
(T \ S) \/ S = T \/ S by XBOOLE_1:39;
then Sum(T \/ S) = Sum(T \ S) + Sum(S) - Sum((T \ S) /\ S) by Th10;
then Sum(T \/ S) = Sum(T \ S) + Sum(S) - 0.V by A1,Th5
.= Sum(T \ S) + Sum(S) by VECTSP_1:18;
hence thesis by RLSUB_2:61;
end;
theorem Th13:
Sum(T \ S) = Sum(T) - Sum(T /\ S)
proof
T \ (T /\ S) = T \ S by XBOOLE_1:47;
then Sum(T \ S) = Sum(T \/ (T /\ S)) - Sum(T /\ S) by Th12;
hence thesis by XBOOLE_1:22;
end;
theorem
Sum(T \+\ S) = Sum(T \/ S) - Sum(T /\ S)
proof
T \+\ S = (T \/ S) \ (T /\ S) by XBOOLE_1:101;
hence Sum(T \+\ S) = Sum(T \/ S) - Sum((T \/ S) /\ (T /\ S)) by Th13
.= Sum(T \/ S) - Sum((T \/ S) /\ T /\ S) by XBOOLE_1:16
.= Sum(T \/ S) - Sum(T /\ S) by XBOOLE_1:21;
end;
theorem
Sum(T \+\ S) = Sum(T \ S) + Sum(S \ T) by Th9,XBOOLE_1:82;
definition
let R, V;
mode Linear_Combination of V -> Element of Funcs(the carrier of V, the
carrier of R) means
:Def2:
ex T st for v st not v in T holds it.v = 0.R;
existence
proof
{}V = {};
then reconsider P = {} as finite Subset of V;
reconsider f = (the carrier of V) --> 0.R as Function of V, R;
reconsider f as Element of Funcs(the carrier of V, the carrier of R) by
FUNCT_2:8;
take f;
take P;
thus thesis by FUNCOP_1:7;
end;
end;
reserve L,L1,L2,L3 for Linear_Combination of V;
definition
let R, V, L;
func Carrier(L) -> finite Subset of V equals
{v : L.v <> 0.R};
coherence
proof
set A = {v : L.v <> 0.R};
consider T such that
A1: for v st not v in T holds L.v = 0.R by Def2;
A c= T
proof
let x be object;
assume x in A;
then ex v st x = v & L.v <> 0.R;
hence thesis by A1;
end;
hence thesis by XBOOLE_1:1;
end;
end;
theorem
x in Carrier(L) iff ex v st x = v & L.v <> 0.R;
theorem
L.v = 0.R iff not v in Carrier(L)
proof
thus L.v = 0.R implies not v in Carrier(L)
proof
assume
A1: L.v = 0.R;
assume not thesis;
then ex u st u = v & L.u <> 0.R;
hence thesis by A1;
end;
assume not v in Carrier(L);
hence thesis;
end;
definition
let R, V;
func ZeroLC(V) -> Linear_Combination of V means
:Def4:
Carrier(it) = {};
existence
proof
reconsider f = (the carrier of V) --> 0.R as Function of V, R;
reconsider f as Element of Funcs(the carrier of V, the carrier of R) by
FUNCT_2:8;
f is Linear_Combination of V
proof
reconsider T = {}V as finite empty Subset of V;
take T;
thus thesis by FUNCOP_1:7;
end;
then reconsider f as Linear_Combination of V;
take f;
set C = {v : f.v <> 0.R};
now
set x = the Element of C;
assume C <> {};
then x in C;
then ex v st x = v & f.v <> 0.R;
hence contradiction by FUNCOP_1:7;
end;
hence thesis;
end;
uniqueness
proof
let L,L9 be Linear_Combination of V;
assume that
A1: Carrier(L) = {} and
A2: Carrier(L9) = {};
now
let x be object;
assume x in the carrier of V;
then reconsider v = x as Element of V;
A3: now
assume L9.v <> 0.R;
then v in {u : L9.u <> 0.R};
hence contradiction by A2;
end;
now
assume L.v <> 0.R;
then v in {u : L.u <> 0.R};
hence contradiction by A1;
end;
hence L.x = L9.x by A3;
end;
hence L = L9 by FUNCT_2:12;
end;
end;
theorem Th18:
ZeroLC(V).v = 0.R
proof
Carrier(ZeroLC(V)) = {} & not v in {} by Def4;
hence thesis;
end;
definition
let R, V, A;
mode Linear_Combination of A -> Linear_Combination of V means
:Def5:
Carrier (it) c= A;
existence
proof
take L = ZeroLC(V);
Carrier(L) = {} by Def4;
hence thesis;
end;
end;
reserve l for Linear_Combination of A;
theorem Th19:
A c= B implies l is Linear_Combination of B
proof
assume
A1: A c= B;
Carrier(l) c= A by Def5;
then Carrier(l) c= B by A1;
hence thesis by Def5;
end;
theorem Th20:
ZeroLC(V) is Linear_Combination of A
proof
Carrier(ZeroLC(V)) = {} & {} c= A by Def4;
hence thesis by Def5;
end;
theorem Th21:
for l being Linear_Combination of {}(the carrier of V) holds l = ZeroLC(V)
proof
let l be Linear_Combination of {}(the carrier of V);
Carrier(l) c= {} by Def5;
then Carrier(l) = {};
hence thesis by Def4;
end;
theorem
L is Linear_Combination of Carrier(L) by Def5;
definition
let R, V, F, f;
func f (#) F -> FinSequence of V means
:Def6:
len it = len F & for i being
Nat st i in dom it holds it.i = (F/.i) * f.(F/.i);
existence
proof
deffunc Q(Nat) = (F/.$1)*f.(F/.$1);
consider G being FinSequence such that
A1: len G = len F and
A2: for n be Nat st n in dom G holds G.n = Q(n) from FINSEQ_1:sch 2;
rng G c= the carrier of V
proof
let x be object;
assume x in rng G;
then consider y be object such that
A3: y in dom G and
A4: G.y = x by FUNCT_1:def 3;
y in Seg(len F) by A1,A3,FINSEQ_1:def 3;
then reconsider y as Element of NAT;
G.y = (F/.y) * f.(F/.y) by A2,A3;
hence thesis by A4;
end;
then reconsider G as FinSequence of V by FINSEQ_1:def 4;
take G;
thus thesis by A1,A2;
end;
uniqueness
proof
let H1,H2 be FinSequence of V;
assume that
A5: len H1 = len F and
A6: for i st i in dom H1 holds H1.i = (F/.i) * f.(F/.i) and
A7: len H2 = len F and
A8: for i st i in dom H2 holds H2.i = (F/.i) * f.(F/.i);
now
let k be Nat;
assume 1 <= k & k <= len H1;
then
A9: k in Seg(len H1) by FINSEQ_1:1;
then k in dom H1 by FINSEQ_1:def 3;
then
A10: H1.k = (F/.k) * f.(F/.k) by A6;
k in dom H2 by A5,A7,A9,FINSEQ_1:def 3;
hence H1.k = H2.k by A8,A10;
end;
hence thesis by A5,A7,FINSEQ_1:14;
end;
end;
theorem Th23:
i in dom F & v = F.i implies (f (#) F).i = v * f.v
proof
assume that
A1: i in dom F and
A2: v = F.i;
A3: F/.i = F.i by A1,PARTFUN1:def 6;
len(f (#) F) = len F by Def6;
then i in dom(f (#) F) by A1,FINSEQ_3:29;
hence thesis by A2,A3,Def6;
end;
theorem
f (#) <*>(the carrier of V) = <*>(the carrier of V)
proof
len(f (#) <*>(the carrier of V)) = len(<*>(the carrier of V)) by Def6
.= 0;
hence thesis;
end;
theorem Th25:
f (#) <* v *> = <* v * f.v *>
proof
A1: 1 in {1} by TARSKI:def 1;
A2: len(f (#) <* v *>) = len<* v *> by Def6
.= 1 by FINSEQ_1:40;
then dom(f (#) <* v *>) = {1} by FINSEQ_1:2,def 3;
then (f (#) <* v *>).1 = (<* v *>/.1) * f.(<* v *>/.1) by A1,Def6
.= v * f.(<* v *>/.1) by FINSEQ_4:16
.= v * f.v by FINSEQ_4:16;
hence thesis by A2,FINSEQ_1:40;
end;
theorem Th26:
f (#) <* v1,v2 *> = <* v1 * f.v1, v2 * f.v2 *>
proof
A1: len(f (#) <* v1,v2 *>) = len<* v1,v2 *> by Def6
.= 2 by FINSEQ_1:44;
then
A2: dom(f (#) <* v1,v2 *>) = {1,2} by FINSEQ_1:2,def 3;
2 in {1,2} by TARSKI:def 2;
then
A3: (f (#) <* v1,v2 *>).2 = (<* v1,v2 *>/.2) * f.(<* v1,v2 *>/.2) by A2,Def6
.= v2 * f.(<* v1,v2 *>/.2) by FINSEQ_4:17
.= v2 * f.v2 by FINSEQ_4:17;
1 in {1,2} by TARSKI:def 2;
then (f (#) <* v1,v2 *>).1 = (<* v1,v2 *>/.1) * f.(<* v1,v2 *>/.1) by A2,Def6
.= v1 * f.(<* v1,v2 *>/.1) by FINSEQ_4:17
.= v1 * f.v1 by FINSEQ_4:17;
hence thesis by A1,A3,FINSEQ_1:44;
end;
theorem
f (#) <* v1,v2,v3 *> = <* v1 * f.v1, v2 * f.v2, v3 * f.v3 *>
proof
A1: len(f (#) <* v1,v2,v3 *>) = len<* v1,v2,v3 *> by Def6
.= 3 by FINSEQ_1:45;
then
A2: dom(f (#) <* v1,v2,v3 *>) = {1,2,3} by FINSEQ_1:def 3,FINSEQ_3:1;
3 in {1,2,3} by ENUMSET1:def 1;
then
A3: (f (#) <* v1,v2,v3 *>).3 = (<* v1,v2,v3 *>/.3) * f.(<* v1,v2,v3 *>/.3)
by A2,Def6
.= v3 * f.(<* v1,v2,v3 *>/.3) by FINSEQ_4:18
.= v3 * f.v3 by FINSEQ_4:18;
2 in {1,2,3} by ENUMSET1:def 1;
then
A4: (f (#) <* v1,v2,v3 *>).2 = (<* v1,v2,v3 *>/.2) * f.(<* v1,v2,v3 *>/.2)
by A2,Def6
.= v2 * f.(<* v1,v2,v3 *>/.2) by FINSEQ_4:18
.= v2 * f.v2 by FINSEQ_4:18;
1 in {1,2,3} by ENUMSET1:def 1;
then (f (#) <* v1,v2,v3 *>).1 = (<* v1,v2,v3 *>/.1) * f.(<* v1,v2,v3 *>/.1)
by A2,Def6
.= v1 * f.(<* v1,v2,v3 *>/.1) by FINSEQ_4:18
.= v1 * f.v1 by FINSEQ_4:18;
hence thesis by A1,A4,A3,FINSEQ_1:45;
end;
theorem Th28:
f (#) (F ^ G) = (f (#) F) ^ (f (#) G)
proof
set H = (f (#) F) ^ (f (#) G);
set I = F ^ G;
A1: len F = len(f (#) F) by Def6;
A2: len H = len(f (#) F) + len(f (#) G) by FINSEQ_1:22
.= len F + len(f (#) G) by Def6
.= len F + len G by Def6
.= len I by FINSEQ_1:22;
A3: len G = len(f (#) G) by Def6;
now
let k be Nat;
assume
A4: k in dom H;
now
per cases by A4,FINSEQ_1:25;
suppose
A5: k in dom(f (#) F);
then
A6: k in dom F by A1,FINSEQ_3:29;
then
A7: k in dom(F ^ G) by FINSEQ_3:22;
A8: F/.k = F.k by A6,PARTFUN1:def 6
.= (F ^ G).k by A6,FINSEQ_1:def 7
.= (F ^ G)/.k by A7,PARTFUN1:def 6;
thus H.k = (f (#) F).k by A5,FINSEQ_1:def 7
.= (I/.k) * f.(I/.k) by A5,A8,Def6;
end;
suppose
A9: ex n be Nat st n in dom(f (#) G) & k = len(f (#) F) + n;
A10: k in dom I by A2,A4,FINSEQ_3:29;
consider n be Nat such that
A11: n in dom(f (#) G) and
A12: k = len(f (#) F) + n by A9;
A13: n in dom G by A3,A11,FINSEQ_3:29;
then
A14: G/.n = G.n by PARTFUN1:def 6
.= (F ^ G).k by A1,A12,A13,FINSEQ_1:def 7
.= (F ^ G)/.k by A10,PARTFUN1:def 6;
thus H.k = (f (#) G).n by A11,A12,FINSEQ_1:def 7
.= (I/.k) * f.(I/.k) by A11,A14,Def6;
end;
end;
hence H.k = (I/.k) * f.(I/.k);
end;
hence thesis by A2,Def6;
end;
definition
let R, V, L;
func Sum(L) -> Vector of V means
:Def7:
ex F st F is one-to-one & rng F = Carrier(L) & it = Sum(L (#) F);
existence
proof
consider F being FinSequence such that
A1: rng F = Carrier(L) and
A2: F is one-to-one by FINSEQ_4:58;
reconsider F as FinSequence of V by A1,FINSEQ_1:def 4;
take Sum(L (#) F);
take F;
thus F is one-to-one & rng F = Carrier(L) by A1,A2;
thus thesis;
end;
uniqueness
proof
let v1,v2;
given F1 being FinSequence of V such that
A3: F1 is one-to-one and
A4: rng F1 = Carrier(L) and
A5: v1 = Sum(L (#) F1);
given F2 being FinSequence of V such that
A6: F2 is one-to-one and
A7: rng F2 = Carrier(L) and
A8: v2 = Sum(L (#) F2);
defpred P[object,object] means {$2} = F1 " {F2.$1};
A9: len F1 = len F2 by A3,A4,A6,A7,FINSEQ_1:48;
A10: dom F1 = Seg(len F1) by FINSEQ_1:def 3;
A11: dom F2 = Seg(len F2) by FINSEQ_1:def 3;
A12: for x being object st x in dom F1
ex y being object st y in dom F1 & P[x,y]
proof
let x be object;
assume x in dom F1;
then F2.x in rng F1 by A4,A7,A9,A10,A11,FUNCT_1:def 3;
then consider y being object such that
A13: F1 " {F2.x} = {y} by A3,FUNCT_1:74;
take y;
y in F1 " {F2.x} by A13,TARSKI:def 1;
hence y in dom F1 by FUNCT_1:def 7;
thus thesis by A13;
end;
consider f being Function of dom F1, dom F1 such that
A14: for x being object st x in dom F1 holds P[x,f.x] from FUNCT_2:sch 1(A12);
A15: rng f = dom F1
proof
thus rng f c= dom F1 by RELAT_1:def 19;
let y be object;
assume
A16: y in dom F1;
then F1.y in rng F2 by A4,A7,FUNCT_1:def 3;
then consider x being object such that
A17: x in dom F2 and
A18: F2.x = F1.y by FUNCT_1:def 3;
F1 " {F2.x} = F1 " Im(F1,y) by A16,A18,FUNCT_1:59;
then F1 " {F2.x} c= {y} by A3,FUNCT_1:82;
then {f.x} c= {y} by A9,A10,A11,A14,A17;
then
A19: f.x = y by ZFMISC_1:18;
x in dom f by A9,A10,A11,A17,FUNCT_2:def 1;
hence thesis by A19,FUNCT_1:def 3;
end;
set G1 = L (#) F1;
A20: len G1 = len F1 by Def6;
A21: dom F1 = {} implies dom F1 = {};
A22: f is one-to-one
proof
let y1,y2 be object;
assume that
A23: y1 in dom f and
A24: y2 in dom f and
A25: f.y1 = f.y2;
A26: y2 in dom F1 by A21,A24,FUNCT_2:def 1;
then
A27: F1 " {F2.y2} = {f.y2} by A14;
A28: y1 in dom F1 by A21,A23,FUNCT_2:def 1;
then F2.y1 in rng F1 by A4,A7,A9,A10,A11,FUNCT_1:def 3;
then
A29: {F2.y1} c= rng F1 by ZFMISC_1:31;
F2.y2 in rng F1 by A4,A7,A9,A10,A11,A26,FUNCT_1:def 3;
then
A30: {F2.y2} c= rng F1 by ZFMISC_1:31;
F1 " {F2.y1} = {f.y1} by A14,A28;
then {F2.y1} = {F2.y2} by A25,A27,A29,A30,FUNCT_1:91;
then
A31: F2.y1 = F2.y2 by ZFMISC_1:3;
y1 in dom F2 & y2 in dom F2 by A9,A10,A11,A21,A23,A24,FUNCT_2:def 1;
hence thesis by A6,A31;
end;
set G2 = L (#) F2;
A32: dom G2 = Seg(len G2) by FINSEQ_1:def 3;
reconsider f as Permutation of dom F1 by A15,A22,FUNCT_2:57;
dom F1 = Seg len F1 & dom G1 = Seg len G1 by FINSEQ_1:def 3;
then reconsider f as Permutation of dom G1 by A20;
A33: len G2 = len F2 by Def6;
A34: dom(G1) = Seg(len G1) by FINSEQ_1:def 3;
now
let i be Nat;
assume
A35: i in dom G2;
then
A36: G2.i = (F2/.i) * L.(F2/.i) & F2.i = F2/.i by A33,A11,A32,Def6,
PARTFUN1:def 6;
i in dom F2 by A33,A35,FINSEQ_3:29;
then reconsider u = F2.i as Vector of V by FINSEQ_2:11;
i in dom f by A9,A20,A33,A34,A32,A35,FUNCT_2:def 1;
then
A37: f.i in dom F1 by A15,FUNCT_1:def 3;
then reconsider m = f.i as Element of NAT by A10;
reconsider v = F1.m as Vector of V by A37,FINSEQ_2:11;
{F1.(f.i)} = Im(F1,f.i) by A37,FUNCT_1:59
.= F1 .: (F1 " {F2.i}) by A9,A33,A10,A32,A14,A35;
then
A38: u = v by FUNCT_1:75,ZFMISC_1:18;
F1.m = F1/.m by A37,PARTFUN1:def 6;
hence G2.i = G1.(f.i) by A20,A10,A34,A37,A38,A36,Def6;
end;
hence thesis by A3,A4,A5,A6,A7,A8,A20,A33,FINSEQ_1:48,RLVECT_2:6;
end;
end;
Lm3: Sum(ZeroLC(V)) = 0.V
proof
consider F such that
F is one-to-one and
A1: rng F = Carrier(ZeroLC(V)) and
A2: Sum(ZeroLC(V)) = Sum(ZeroLC(V) (#) F) by Def7;
Carrier(ZeroLC(V)) = {} by Def4;
then F = {} by A1,RELAT_1:41;
then len F = 0;
then len(ZeroLC(V) (#) F) = 0 by Def6;
hence thesis by A2,RLVECT_1:75;
end;
theorem Th29:
0.R <> 1_R implies (A <> {} & A is linearly-closed iff for l
holds Sum l in A)
proof
assume
A1: 0.R <> 1_R;
thus A <> {} & A is linearly-closed implies for l holds Sum(l) in A
proof
defpred P[Nat] means for l st card(Carrier(l)) = $1 holds Sum (l) in A;
assume that
A2: A <> {} and
A3: A is linearly-closed;
now
let l;
assume card(Carrier(l)) = 0;
then Carrier(l) = {};
then l = ZeroLC(V) by Def4;
then Sum(l) = 0.V by Lm3;
hence Sum(l) in A by A2,A3,RMOD_2:1;
end;
then
A4: P[0];
now
let k be Nat;
assume
A5: for l st card Carrier l = k holds Sum(l) in A;
let l;
deffunc Q(Element of V) = l.$1;
consider F such that
A6: F is one-to-one and
A7: rng F = Carrier(l) and
A8: Sum(l) = Sum(l (#) F) by Def7;
reconsider G = F | Seg k as FinSequence of V by FINSEQ_1:18;
assume
A9: card Carrier l = k + 1;
then
A10: len F = k + 1 by A6,A7,FINSEQ_4:62;
then
A11: len(l (#) F) = k + 1 by Def6;
A12: k + 1 in Seg(k + 1) by FINSEQ_1:4;
then
A13: k + 1 in dom F by A10,FINSEQ_1:def 3;
k + 1 in dom F by A10,A12,FINSEQ_1:def 3;
then reconsider v = F.(k + 1) as Vector of V by FINSEQ_2:11;
consider f being Function of V, R such that
A14: f.v = 0.R and
A15: for u being Element of V st u <> v holds f.u = Q(u) from
FUNCT_2:sch 6;
reconsider f as Element of Funcs(the carrier of V, the carrier of R) by
FUNCT_2:8;
A16: v in Carrier(l) by A7,A13,FUNCT_1:def 3;
now
let u;
assume
A17: not u in Carrier(l);
hence f.u = l.u by A16,A15
.= 0.R by A17;
end;
then reconsider f as Linear_Combination of V by Def2;
A18: A \ {v} c= A by XBOOLE_1:36;
A19: Carrier(l) c= A by Def5;
then
A20: v * l.v in A by A3,A16;
A21: Carrier(f) = Carrier(l) \ {v}
proof
thus Carrier(f) c= Carrier(l) \ {v}
proof
let x be object;
assume x in Carrier(f);
then consider u such that
A22: u = x and
A23: f.u <> 0.R;
f.u = l.u by A14,A15,A23;
then
A24: x in Carrier(l) by A22,A23;
not x in {v} by A14,A22,A23,TARSKI:def 1;
hence thesis by A24,XBOOLE_0:def 5;
end;
let x be object;
assume
A25: x in Carrier(l) \ {v};
then x in Carrier(l) by XBOOLE_0:def 5;
then consider u such that
A26: x = u and
A27: l.u <> 0.R;
not x in {v} by A25,XBOOLE_0:def 5;
then x <> v by TARSKI:def 1;
then l.u = f.u by A15,A26;
hence thesis by A26,A27;
end;
then Carrier(f) c= A \ {v} by A19,XBOOLE_1:33;
then Carrier(f) c= A by A18;
then reconsider f as Linear_Combination of A by Def5;
A28: len G = k by A10,FINSEQ_3:53;
then
A29: len (f (#) G) = k by Def6;
A30: rng G = Carrier(f)
proof
thus rng G c= Carrier f
proof
let x be object;
assume x in rng G;
then consider y being object such that
A31: y in dom G and
A32: G.y = x by FUNCT_1:def 3;
reconsider y as Nat by A31,FINSEQ_3:23;
A33: dom G c= dom F & G.y = F.y by A31,FUNCT_1:47,RELAT_1:60;
now
assume x = v;
then
A34: k + 1 = y by A6,A13,A31,A32,A33;
y <= k by A28,A31,FINSEQ_3:25;
hence contradiction by A34,XREAL_1:29;
end;
then
A35: not x in {v} by TARSKI:def 1;
x in rng F by A31,A32,A33,FUNCT_1:def 3;
hence thesis by A7,A21,A35,XBOOLE_0:def 5;
end;
let x be object;
assume
A36: x in Carrier(f);
then x in rng F by A7,A21,XBOOLE_0:def 5;
then consider y being object such that
A37: y in dom F and
A38: F.y = x by FUNCT_1:def 3;
reconsider y as Element of NAT by A37,FINSEQ_3:23;
now
assume not y in Seg k;
then y in dom F \ Seg k by A37,XBOOLE_0:def 5;
then y in Seg(k + 1) \ Seg k by A10,FINSEQ_1:def 3;
then y in {k + 1} by FINSEQ_3:15;
then y = k + 1 by TARSKI:def 1;
then not v in {v} by A21,A36,A38,XBOOLE_0:def 5;
hence contradiction by TARSKI:def 1;
end;
then y in dom F /\ Seg k by A37,XBOOLE_0:def 4;
then
A39: y in dom G by RELAT_1:61;
then G.y = F.y by FUNCT_1:47;
hence thesis by A38,A39,FUNCT_1:def 3;
end;
Seg(k + 1) /\ Seg k = Seg k by FINSEQ_1:7,NAT_1:12
.= dom(f (#) G) by A29,FINSEQ_1:def 3;
then
A40: dom(f (#) G) = dom(l (#) F) /\ Seg k by A11,FINSEQ_1:def 3;
now
let x be object;
A41: rng F c= the carrier of V by FINSEQ_1:def 4;
assume
A42: x in dom(f (#) G);
then reconsider n = x as Nat by FINSEQ_3:23;
n in dom(l (#) F) by A40,A42,XBOOLE_0:def 4;
then
A43: n in dom F by A10,A11,FINSEQ_3:29;
then F.n in rng F by FUNCT_1:def 3;
then reconsider w = F.n as Vector of V by A41;
A44: n in dom G by A28,A29,A42,FINSEQ_3:29;
then
A45: G.n in rng G by FUNCT_1:def 3;
rng G c= the carrier of V by FINSEQ_1:def 4;
then reconsider u = G.n as Vector of V by A45;
not u in {v} by A21,A30,A45,XBOOLE_0:def 5;
then
A46: u <> v by TARSKI:def 1;
A47: (f (#) G).n = u * f.u by A44,Th23
.= u * l.u by A15,A46;
w = u by A44,FUNCT_1:47;
hence (f (#) G).x = (l (#) F).x by A47,A43,Th23;
end;
then f (#) G = (l (#) F) | Seg k by A40,FUNCT_1:46;
then
A48: f (#) G = (l (#) F) | dom (f (#) G) by A29,FINSEQ_1:def 3;
v in rng F by A13,FUNCT_1:def 3;
then {v} c= Carrier(l) by A7,ZFMISC_1:31;
then card(Carrier(f)) = k + 1 - card{v} by A9,A21,CARD_2:44
.= k + 1 - 1 by CARD_1:30
.= k by XCMPLX_1:26;
then
A49: Sum(f) in A by A5;
G is one-to-one by A6,FUNCT_1:52;
then
A50: Sum(f (#) G) = Sum(f) by A30,Def7;
(l (#) F).(len F) = v * l.v by A10,A13,Th23;
then Sum(l (#) F) = Sum (f (#) G) + v * l.v by A10,A11,A29,A48,
RLVECT_1:38;
hence Sum(l) in A by A3,A8,A20,A50,A49;
end;
then
A51: for k be Nat st P[k] holds P[k+1];
let l;
A52: card Carrier l = card Carrier l;
for k be Nat holds P[k] from NAT_1:sch 2(A4,A51);
hence thesis by A52;
end;
assume
A53: for l holds Sum(l) in A;
hence A <> {};
ZeroLC(V) is Linear_Combination of A & Sum(ZeroLC(V)) = 0.V by Lm3,Th20;
then
A54: 0.V in A by A53;
A55: for a,v st v in A holds v * a in A
proof
let a,v;
assume
A56: v in A;
now
per cases;
suppose
a = 0.R;
hence thesis by A54,VECTSP_2:32;
end;
suppose
A57: a <> 0.R;
deffunc F(Element of V)=0.R;
consider f such that
A58: f.v = a and
A59: for u being Element of V st u <> v holds f.u = F(u) from
FUNCT_2:sch 6;
reconsider f as Element of Funcs(the carrier of V, the carrier of R)
by FUNCT_2:8;
now
let u;
assume not u in {v};
then u <> v by TARSKI:def 1;
hence f.u = 0.R by A59;
end;
then reconsider f as Linear_Combination of V by Def2;
A60: Carrier(f) = {v}
proof
thus Carrier(f) c= {v}
proof
let x be object;
assume x in Carrier(f);
then consider u such that
A61: x = u and
A62: f.u <> 0.R;
u = v by A59,A62;
hence thesis by A61,TARSKI:def 1;
end;
let x be object;
assume x in {v};
then x = v by TARSKI:def 1;
hence thesis by A57,A58;
end;
{v} c= A by A56,ZFMISC_1:31;
then reconsider f as Linear_Combination of A by A60,Def5;
consider F such that
A63: F is one-to-one & rng F = Carrier(f) and
A64: Sum(f (#) F) = Sum(f) by Def7;
F = <* v *> by A60,A63,FINSEQ_3:97;
then f (#) F = <* v * f.v *> by Th25;
then Sum(f) = v * a by A58,A64,RLVECT_1:44;
hence thesis by A53;
end;
end;
hence thesis;
end;
thus for v,u st v in A & u in A holds v + u in A
proof
let v,u;
assume that
A65: v in A and
A66: u in A;
now
per cases;
suppose
u = v;
then v + u = v * 1_R + v by VECTSP_2:def 9
.= v * 1_R + v * 1_R by VECTSP_2:def 9
.= v * (1_R + 1_R) by VECTSP_2:def 9;
hence thesis by A55,A65;
end;
suppose
A67: v <> u;
deffunc F(Element of V)=0.R;
consider f such that
A68: f.v = 1_R & f.u = 1_R and
A69: for w being Element of V st w <> v & w <> u holds f.w = F(w)
from FUNCT_2:sch 7(A67);
reconsider f as Element of Funcs(the carrier of V, the carrier of R)
by FUNCT_2:8;
now
let w;
assume not w in {v,u};
then w <> v & w <> u by TARSKI:def 2;
hence f.w = 0.R by A69;
end;
then reconsider f as Linear_Combination of V by Def2;
A70: Carrier(f) = {v,u}
proof
thus Carrier(f) c= {v,u}
proof
let x be object;
assume x in Carrier(f);
then ex w st x = w & f.w <> 0.R;
then x = v or x = u by A69;
hence thesis by TARSKI:def 2;
end;
let x be object;
assume x in {v,u};
then x = v or x = u by TARSKI:def 2;
hence thesis by A1,A68;
end;
then
A71: Carrier(f) c= A by A65,A66,ZFMISC_1:32;
A72: u * 1_R = u & v * 1_R = v by VECTSP_2:def 9;
reconsider f as Linear_Combination of A by A71,Def5;
consider F such that
A73: F is one-to-one & rng F = Carrier(f) and
A74: Sum(f (#) F) = Sum(f) by Def7;
F = <* v,u *> or F = <* u,v *> by A67,A70,A73,FINSEQ_3:99;
then f (#) F = <* v * 1_R, u * 1_R *> or f (#) F = <* u * 1_R, v *
1_R *> by A68,Th26;
then Sum(f) = v + u by A74,A72,RLVECT_1:45;
hence thesis by A53;
end;
end;
hence thesis;
end;
thus thesis by A55;
end;
theorem
Sum(ZeroLC(V)) = 0.V by Lm3;
theorem Th31:
for l being Linear_Combination of {}(the carrier of V) holds Sum (l) = 0.V
proof
let l be Linear_Combination of {}(the carrier of V);
l = ZeroLC(V) by Th21;
hence thesis by Lm3;
end;
theorem Th32:
for l being Linear_Combination of {v} holds Sum(l) = v * l.v
proof
let l be Linear_Combination of {v};
A1: Carrier(l) c= {v} by Def5;
now
per cases by A1,ZFMISC_1:33;
suppose
Carrier(l) = {};
then
A2: l = ZeroLC(V) by Def4;
hence Sum(l) = 0.V by Lm3
.= v * 0.R by VECTSP_2:32
.= v * l.v by A2,Th18;
end;
suppose
Carrier(l) = {v};
then consider F such that
A3: F is one-to-one & rng F = {v} and
A4: Sum(l) = Sum(l (#) F) by Def7;
F = <* v *> by A3,FINSEQ_3:97;
then l (#) F = <* v * l.v *> by Th25;
hence thesis by A4,RLVECT_1:44;
end;
end;
hence thesis;
end;
theorem Th33:
v1 <> v2 implies for l being Linear_Combination of {v1,v2} holds
Sum (l) = v1 * l.v1 + v2 * l.v2
proof
assume
A1: v1 <> v2;
let l be Linear_Combination of {v1,v2};
A2: Carrier(l) c= {v1,v2} by Def5;
now
per cases by A2,ZFMISC_1:36;
suppose
Carrier(l) = {};
then
A3: l = ZeroLC(V) by Def4;
hence Sum(l) = 0.V by Lm3
.= 0.V + 0.V by RLVECT_1:def 4
.= v1 * 0.R + 0.V by VECTSP_2:32
.= v1 * 0.R + v2 * 0.R by VECTSP_2:32
.= v1 * l.v1 + v2 * 0.R by A3,Th18
.= v1 * l.v1 + v2 * l.v2 by A3,Th18;
end;
suppose
A4: Carrier(l) = {v1};
then reconsider L = l as Linear_Combination of {v1} by Def5;
A5: not v2 in Carrier(l) by A1,A4,TARSKI:def 1;
thus Sum(l) = Sum(L) .= v1 * l.v1 by Th32
.= v1 * l.v1 + 0.V by RLVECT_1:def 4
.= v1 * l.v1 + v2 * 0.R by VECTSP_2:32
.= v1 * l.v1 + v2 * l.v2 by A5;
end;
suppose
A6: Carrier(l) = {v2};
then reconsider L = l as Linear_Combination of {v2} by Def5;
A7: not v1 in Carrier(l) by A1,A6,TARSKI:def 1;
thus Sum(l) = Sum(L) .= v2 * l.v2 by Th32
.= 0.V + v2 * l.v2 by RLVECT_1:def 4
.= v1 * 0.R + v2 * l.v2 by VECTSP_2:32
.= v1 * l.v1 + v2 * l.v2 by A7;
end;
suppose
Carrier(l) = {v1,v2};
then consider F such that
A8: F is one-to-one & rng F = {v1,v2} and
A9: Sum(l) = Sum(l (#) F) by Def7;
F = <* v1,v2 *> or F = <* v2,v1 *> by A1,A8,FINSEQ_3:99;
then l (#) F = <* v1 * l.v1, v2 * l.v2 *> or l (#) F = <* v2 * l.v2, v1
* l.v1 *> by Th26;
hence thesis by A9,RLVECT_1:45;
end;
end;
hence thesis;
end;
theorem
Carrier(L) = {} implies Sum(L) = 0.V
proof
assume Carrier(L) = {};
then L = ZeroLC(V) by Def4;
hence thesis by Lm3;
end;
theorem Th35:
Carrier(L) = {v} implies Sum(L) = v * L.v
proof
assume Carrier(L) = {v};
then L is Linear_Combination of {v} by Def5;
hence thesis by Th32;
end;
theorem
Carrier(L) = {v1,v2} & v1 <> v2 implies Sum(L) = v1 * L.v1 + v2 * L.v2
proof
assume that
A1: Carrier(L) = {v1,v2} and
A2: v1 <> v2;
L is Linear_Combination of {v1,v2} by A1,Def5;
hence thesis by A2,Th33;
end;
definition
let R, V, L1, L2;
redefine pred L1 = L2 means
for v holds L1.v = L2.v;
compatibility by FUNCT_2:63;
end;
definition
let R, V, L1, L2;
func L1 + L2 -> Linear_Combination of V means
:Def9:
for v holds it.v = L1. v + L2.v;
existence
proof
deffunc F(Element of V)=L1.$1 + L2.$1;
consider f being Function of V, R such that
A1: for v being Element of V holds f.v = F(v) from FUNCT_2:sch 4;
reconsider f as Element of Funcs(the carrier of V,the carrier of R) by
FUNCT_2:8;
now
let v;
assume
A2: not v in (Carrier(L1) \/ Carrier(L2));
then not v in Carrier(L2) by XBOOLE_0:def 3;
then
A3: L2.v = 0.R;
not v in Carrier(L1) by A2,XBOOLE_0:def 3;
then L1.v = 0.R;
hence f.v = 0.R + 0.R by A1,A3
.= 0.R by RLVECT_1:4;
end;
then reconsider f as Linear_Combination of V by Def2;
take f;
let v;
thus thesis by A1;
end;
uniqueness
proof
let M,N be Linear_Combination of V;
assume
A4: for v holds M.v = L1.v + L2.v;
assume
A5: for v holds N.v = L1.v + L2.v;
let v;
thus M.v = L1.v + L2.v by A4
.= N.v by A5;
end;
end;
theorem Th37:
Carrier(L1 + L2) c= Carrier(L1) \/ Carrier(L2)
proof
let x be object;
assume x in Carrier(L1 + L2);
then consider u such that
A1: x = u and
A2: (L1 + L2).u <> 0.R;
(L1 + L2).u = L1.u + L2.u by Def9;
then L1.u <> 0.R or L2.u <> 0.R by A2,RLVECT_1:4;
then x in {v1 : L1.v1 <> 0.R} or x in {v2 : L2.v2 <> 0.R} by A1;
hence thesis by XBOOLE_0:def 3;
end;
theorem Th38:
L1 is Linear_Combination of A & L2 is Linear_Combination of A
implies L1 + L2 is Linear_Combination of A
proof
assume L1 is Linear_Combination of A & L2 is Linear_Combination of A;
then Carrier(L1) c= A & Carrier(L2) c= A by Def5;
then
A1: Carrier(L1) \/ Carrier(L2) c= A by XBOOLE_1:8;
Carrier(L1 + L2) c= Carrier(L1) \/ Carrier(L2) by Th37;
hence Carrier(L1 + L2) c= A by A1;
end;
theorem Th39:
for R being comRing for V being RightMod of R for L1, L2 being
Linear_Combination of V holds L1 + L2 = L2 + L1
proof
let R be comRing;
let V be RightMod of R;
let L1, L2 be Linear_Combination of V;
let v be Vector of V;
thus (L1 + L2).v = L2.v + L1.v by Def9
.= (L2 + L1).v by Def9;
end;
theorem
L1 + (L2 + L3) = L1 + L2 + L3
proof
let v;
thus (L1 + (L2 + L3)).v = L1.v + (L2 + L3).v by Def9
.= L1.v + (L2.v + L3.v) by Def9
.= L1.v + L2.v + L3.v by RLVECT_1:def 3
.= (L1 + L2).v + L3.v by Def9
.= (L1 + L2 + L3).v by Def9;
end;
theorem
for R being comRing for V being RightMod of R for L being
Linear_Combination of V holds L + ZeroLC(V) = L & ZeroLC(V) + L = L
proof
let R be comRing;
let V be RightMod of R;
let L be Linear_Combination of V;
thus L + ZeroLC(V) = L
proof
let v be Vector of V;
thus (L + ZeroLC(V)).v = L.v + ZeroLC(V).v by Def9
.= L.v + 0.R by Th18
.= L.v by RLVECT_1:4;
end;
hence thesis by Th39;
end;
definition
let R, V, a, L;
func L * a -> Linear_Combination of V means
:Def10:
for v holds it.v = L.v * a;
existence
proof
deffunc F(Element of V)=L.$1 * a;
consider f being Function of V, R such that
A1: for v being Element of V holds f.v = F(v) from FUNCT_2:sch 4;
reconsider f as Element of Funcs(the carrier of V,the carrier of R) by
FUNCT_2:8;
now
let v;
assume not v in Carrier(L);
then L.v = 0.R;
hence f.v = 0.R * a by A1
.= 0.R;
end;
then reconsider f as Linear_Combination of V by Def2;
take f;
let v;
thus thesis by A1;
end;
uniqueness
proof
let L1,L2;
assume
A2: for v holds L1.v = L.v * a;
assume
A3: for v holds L2.v = L.v * a;
let v;
thus L1.v = L.v * a by A2
.= L2.v by A3;
end;
end;
theorem Th42:
Carrier(L * a) c= Carrier(L)
proof
set T = {u : (L * a).u <> 0.R};
set S = {v : L.v <> 0.R};
T c= S
proof
let x be object;
assume x in T;
then consider u such that
A1: x = u and
A2: (L * a).u <> 0.R;
(L * a).u = L.u * a by Def10;
then L.u <> 0.R by A2;
hence thesis by A1;
end;
hence thesis;
end;
reserve RR for domRing;
reserve VV for RightMod of RR;
reserve LL for Linear_Combination of VV;
reserve aa for Scalar of RR;
reserve uu, vv for Vector of VV;
theorem Th43:
aa <> 0.RR implies Carrier(LL * aa) = Carrier(LL)
proof
set T = {uu : (LL * aa).uu <> 0.RR};
set S = {vv : LL.vv <> 0.RR};
assume
A1: aa <> 0.RR;
T = S
proof
thus T c= S
proof
let x be object;
assume x in T;
then consider uu such that
A2: x = uu and
A3: (LL * aa).uu <> 0.RR;
(LL * aa).uu = LL.uu * aa by Def10;
then LL.uu <> 0.RR by A3;
hence thesis by A2;
end;
let x be object;
assume x in S;
then consider vv such that
A4: x = vv and
A5: LL.vv <> 0.RR;
(LL * aa).vv = LL.vv * aa by Def10;
then (LL * aa).vv <> 0.RR by A1,A5,VECTSP_2:def 1;
hence thesis by A4;
end;
hence thesis;
end;
theorem Th44:
L * 0.R = ZeroLC(V)
proof
let v;
thus (L * 0.R).v = L.v * 0.R by Def10
.= 0.R
.= ZeroLC(V).v by Th18;
end;
theorem Th45:
L is Linear_Combination of A implies L * a is Linear_Combination of A
proof
assume L is Linear_Combination of A;
then
A1: Carrier(L) c= A by Def5;
Carrier(L * a) c= Carrier(L) by Th42;
then Carrier(L * a) c= A by A1;
hence thesis by Def5;
end;
theorem
L * (a + b) = L * a + L * b
proof
let v;
thus (L * (a + b)).v = L.v * (a + b) by Def10
.= L.v * a + L.v * b by VECTSP_1:def 7
.= (L * a).v + L.v * b by Def10
.= (L * a).v + (L * b).v by Def10
.= ((L * a) + (L * b)).v by Def9;
end;
theorem
(L1 + L2) * a = L1 * a + L2 * a
proof
let v;
thus ((L1 + L2) * a).v = (L1 + L2).v * a by Def10
.= (L1.v + L2.v) * a by Def9
.= L1.v * a + L2.v * a by VECTSP_1:def 7
.= (L1 * a).v + L2.v * a by Def10
.= (L1 * a).v + (L2 * a). v by Def10
.= ((L1 * a) + (L2 * a)).v by Def9;
end;
theorem Th48:
(L * b) * a = L * (b * a)
proof
let v;
thus ((L * b) * a).v = (L * b).v * a by Def10
.= L.v * b * a by Def10
.= L.v * (b * a) by GROUP_1:def 3
.= (L * (b * a)).v by Def10;
end;
theorem
L * 1_R = L
proof
let v;
thus (L * 1_R).v = L.v * 1_R by Def10
.= L.v;
end;
definition
let R, V, L;
func - L -> Linear_Combination of V equals
L * (- 1_R);
correctness;
involutiveness
proof
let L, L9 be Linear_Combination of V;
assume
A1: L = L9 * (- 1_R);
let v;
thus L9.v = L9.v * (1_R)
.= L9.v * ((1_R) * (1_R))
.= L9.v * ((- 1_R) * (- 1_R)) by VECTSP_1:10
.= (L9 * ((- 1_R) * (- 1_R))).v by Def10
.= (L * (- 1_R)).v by A1,Th48;
end;
end;
theorem Th50:
(- L).v = - L.v
proof
thus (- L).v = L.v * (- 1_R) by Def10
.= - L.v by VECTSP_2:28;
end;
theorem
L1 + L2 = ZeroLC(V) implies L2 = - L1
proof
assume
A1: L1 + L2 = ZeroLC(V);
let v;
L1.v + L2.v = ZeroLC(V).v by A1,Def9
.= 0.R by Th18;
hence L2.v = - L1.v by RLVECT_1:6
.= (- L1).v by Th50;
end;
theorem Th52:
Carrier(- L) = Carrier(L)
proof
set a = -1_R;
Carrier(L * a) = Carrier(L)
proof
set S = {v : L.v <> 0.R};
set T = {u : (L * a).u <> 0.R};
T = S
proof
thus T c= S
proof
let x be object;
assume x in T;
then consider u such that
A1: x = u and
A2: (L * a).u <> 0.R;
(L * a).u = L.u * a by Def10;
then L.u <> 0.R by A2;
hence thesis by A1;
end;
let x be object;
assume x in S;
then consider v such that
A3: x = v and
A4: L.v <> 0.R;
(L * a).v = L.v * a by Def10
.= -(L.v) by VECTSP_2:28;
then (L * a).v <> 0.R by A4,VECTSP_2:3;
hence thesis by A3;
end;
hence thesis;
end;
hence thesis;
end;
theorem
L is Linear_Combination of A implies - L is Linear_Combination of A by Th45;
definition
let R, V, L1, L2;
func L1 - L2 -> Linear_Combination of V equals
L1 + (- L2);
correctness;
end;
theorem Th54:
(L1 - L2).v = L1.v - L2.v
proof
thus (L1 - L2).v = L1.v + (- L2).v by Def9
.= L1.v + (- L2.v) by Th50
.= L1.v - L2.v by RLVECT_1:def 11;
end;
theorem
Carrier(L1 - L2) c= Carrier(L1) \/ Carrier(L2)
proof
Carrier(L1 - L2) c= Carrier(L1) \/ Carrier(- L2) by Th37;
hence thesis by Th52;
end;
theorem
L1 is Linear_Combination of A & L2 is Linear_Combination of A implies
L1 - L2 is Linear_Combination of A
proof
assume that
A1: L1 is Linear_Combination of A and
A2: L2 is Linear_Combination of A;
- L2 is Linear_Combination of A by A2,Th45;
hence thesis by A1,Th38;
end;
theorem
L - L = ZeroLC(V)
proof
let v;
thus (L - L).v = L.v - L.v by Th54
.= 0.R by RLVECT_1:15
.= ZeroLC(V).v by Th18;
end;
theorem Th58:
Sum(L1 + L2) = Sum(L1) + Sum(L2)
proof
set A = Carrier(L1 + L2) \/ Carrier(L1) \/ Carrier(L2);
set C1 = A \ Carrier(L1);
consider p such that
A1: rng p = C1 and
A2: p is one-to-one by FINSEQ_4:58;
reconsider p as FinSequence of V by A1,FINSEQ_1:def 4;
A3: A = Carrier(L1) \/ (Carrier(L1 + L2) \/ Carrier(L2)) by XBOOLE_1:4;
set C3 = A \ Carrier(L1 + L2);
consider r such that
A4: rng r = C3 and
A5: r is one-to-one by FINSEQ_4:58;
reconsider r as FinSequence of V by A4,FINSEQ_1:def 4;
A6: A = Carrier(L1 + L2) \/ (Carrier(L1) \/ Carrier(L2)) by XBOOLE_1:4;
set C2 = A \ Carrier(L2);
consider q such that
A7: rng q = C2 and
A8: q is one-to-one by FINSEQ_4:58;
reconsider q as FinSequence of V by A7,FINSEQ_1:def 4;
consider F such that
A9: F is one-to-one and
A10: rng F = Carrier(L1 + L2) and
A11: Sum((L1 + L2) (#) F) = Sum(L1 + L2) by Def7;
set FF = F ^ r;
consider G such that
A12: G is one-to-one and
A13: rng G = Carrier(L1) and
A14: Sum(L1 (#) G) = Sum(L1) by Def7;
rng FF = rng F \/ rng r by FINSEQ_1:31;
then rng FF = Carrier(L1 + L2) \/ A by A10,A4,XBOOLE_1:39;
then
A15: rng FF = A by A6,XBOOLE_1:7,12;
set GG = G ^ p;
rng GG = rng G \/ rng p by FINSEQ_1:31;
then rng GG = Carrier(L1) \/ A by A13,A1,XBOOLE_1:39;
then
A16: rng GG = A by A3,XBOOLE_1:7,12;
rng F misses rng r
proof
set x = the Element of rng F /\ rng r;
assume not thesis;
then rng F /\ rng r <> {};
then x in Carrier(L1 + L2) & x in C3 by A10,A4,XBOOLE_0:def 4;
hence thesis by XBOOLE_0:def 5;
end;
then
A17: FF is one-to-one by A9,A5,FINSEQ_3:91;
rng G misses rng p
proof
set x = the Element of rng G /\ rng p;
assume not thesis;
then rng G /\ rng p <> {};
then x in Carrier(L1) & x in C1 by A13,A1,XBOOLE_0:def 4;
hence thesis by XBOOLE_0:def 5;
end;
then
A18: GG is one-to-one by A12,A2,FINSEQ_3:91;
then
A19: len GG = len FF by A17,A16,A15,FINSEQ_1:48;
deffunc Q(Nat)=FF <- (GG.$1);
consider P being FinSequence such that
A20: len P = len FF and
A21: for k be Nat st k in dom P holds P.k = Q(k) from FINSEQ_1:sch 2;
A22: dom P = Seg len FF by A20,FINSEQ_1:def 3;
A23: now
let x be object;
assume
A24: x in dom GG;
then reconsider n = x as Nat by FINSEQ_3:23;
GG.n in rng FF by A16,A15,A24,FUNCT_1:def 3;
then
A25: FF just_once_values GG.n by A17,FINSEQ_4:8;
n in Seg(len FF) by A19,A24,FINSEQ_1:def 3;
then FF.(P.n) = FF.(FF <- (GG.n)) by A21,A22
.= GG.n by A25,FINSEQ_4:def 3;
hence GG.x = FF.(P.x);
end;
A26: dom GG = dom FF by A19,FINSEQ_3:29;
A27: rng P c= dom FF
proof
let x be object;
assume x in rng P;
then consider y being object such that
A28: y in dom P and
A29: P.y = x by FUNCT_1:def 3;
reconsider y as Nat by A28,FINSEQ_3:23;
y in dom FF by A20,A28,FINSEQ_3:29;
then GG.y in rng FF by A16,A15,A26,FUNCT_1:def 3;
then
A30: FF just_once_values GG.y by A17,FINSEQ_4:8;
P.y = FF <- (GG.y) by A21,A28;
hence thesis by A29,A30,FINSEQ_4:def 3;
end;
now
let x be object;
thus x in dom GG implies x in dom P & P.x in dom FF
proof
assume x in dom GG;
hence x in dom P by A19,A20,FINSEQ_3:29;
then P.x in rng P by FUNCT_1:def 3;
hence thesis by A27;
end;
assume that
A31: x in dom P and
P.x in dom FF;
x in Seg(len P) by A31,FINSEQ_1:def 3;
hence x in dom GG by A19,A20,FINSEQ_1:def 3;
end;
then
A32: GG = FF * P by A23,FUNCT_1:10;
dom FF c= rng P
proof
set f = FF" * GG;
let x be object;
assume
A33: x in dom FF;
dom(FF") = rng GG by A17,A16,A15,FUNCT_1:33;
then
A34: rng f = rng(FF") by RELAT_1:28
.= dom FF by A17,FUNCT_1:33;
f = FF " * FF * P by A32,RELAT_1:36
.= id(dom FF) * P by A17,FUNCT_1:39
.= P by A27,RELAT_1:53;
hence thesis by A33,A34;
end;
then
A35: dom FF = rng P by A27;
A36: len r = len((L1 + L2) (#) r) by Def6;
now
let k;
assume
A37: k in dom r;
then r/.k = r.k by PARTFUN1:def 6;
then r/.k in C3 by A4,A37,FUNCT_1:def 3;
then
A38: not r/.k in Carrier((L1 + L2)) by XBOOLE_0:def 5;
k in dom((L1 + L2) (#) r) by A36,A37,FINSEQ_3:29;
then ((L1 + L2) (#) r).k = (r/.k) * (L1 + L2).(r/.k) by Def6;
hence ((L1 + L2) (#) r).k = (r/.k) * 0.R by A38;
end;
then
A39: Sum((L1 + L2) (#) r) = Sum(r) * 0.R by A36,Lm2
.= 0.V by VECTSP_2:32;
A40: len p = len(L1 (#) p) by Def6;
now
let k;
assume
A41: k in dom p;
then p/.k = p.k by PARTFUN1:def 6;
then p/.k in C1 by A1,A41,FUNCT_1:def 3;
then
A42: not p/.k in Carrier(L1) by XBOOLE_0:def 5;
k in dom(L1 (#) p) by A40,A41,FINSEQ_3:29;
then (L1 (#) p).k = (p/.k) * L1.(p/.k) by Def6;
hence (L1 (#) p).k = (p/.k) * 0.R by A42;
end;
then
A43: Sum(L1 (#) p) = Sum(p) * 0.R by A40,Lm2
.= 0.V by VECTSP_2:32;
set f = (L1 + L2) (#) FF;
consider H such that
A44: H is one-to-one and
A45: rng H = Carrier(L2) and
A46: Sum(L2 (#) H) = Sum(L2) by Def7;
set HH = H ^ q;
rng H misses rng q
proof
set x = the Element of rng H /\ rng q;
assume not thesis;
then rng H /\ rng q <> {};
then x in Carrier(L2) & x in C2 by A45,A7,XBOOLE_0:def 4;
hence thesis by XBOOLE_0:def 5;
end;
then
A47: HH is one-to-one by A44,A8,FINSEQ_3:91;
A48: len q = len(L2 (#) q) by Def6;
now
let k;
assume
A49: k in dom q;
then q/.k = q.k by PARTFUN1:def 6;
then q/.k in C2 by A7,A49,FUNCT_1:def 3;
then
A50: not q/.k in Carrier(L2) by XBOOLE_0:def 5;
k in dom(L2 (#) q) by A48,A49,FINSEQ_3:29;
then (L2 (#) q).k = (q/.k) * L2.(q/.k) by Def6;
hence (L2 (#) q).k = (q/.k) * 0.R by A50;
end;
then
A51: Sum(L2 (#) q) = Sum(q) * 0.R by A48,Lm2
.= 0.V by VECTSP_2:32;
set g = L1 (#) GG;
A52: len g = len GG by Def6;
then
A53: Seg len GG = dom g by FINSEQ_1:def 3;
rng HH = rng H \/ rng q by FINSEQ_1:31;
then rng HH = Carrier(L2) \/ A by A45,A7,XBOOLE_1:39;
then
A54: rng HH = A by XBOOLE_1:7,12;
then
A55: len GG = len HH by A47,A18,A16,FINSEQ_1:48;
deffunc Q(Nat)=HH <- (GG.$1);
consider R being FinSequence such that
A56: len R = len HH and
A57: for k be Nat st k in dom R holds R.k = Q(k) from FINSEQ_1:sch 2;
A58: dom R = Seg len HH by A56,FINSEQ_1:def 3;
A59: now
let x be object;
assume
A60: x in dom GG;
then reconsider n = x as Nat by FINSEQ_3:23;
GG.n in rng HH by A16,A54,A60,FUNCT_1:def 3;
then
A61: HH just_once_values GG.n by A47,FINSEQ_4:8;
n in Seg(len HH) by A55,A60,FINSEQ_1:def 3;
then HH.(R.n) = HH.(HH <- (GG.n)) by A57,A58
.= GG.n by A61,FINSEQ_4:def 3;
hence GG.x = HH.(R.x);
end;
A62: dom GG = dom HH by A55,FINSEQ_3:29;
A63: rng R c= dom HH
proof
let x be object;
assume x in rng R;
then consider y being object such that
A64: y in dom R and
A65: R.y = x by FUNCT_1:def 3;
reconsider y as Nat by A64,FINSEQ_3:23;
y in dom HH by A56,A64,FINSEQ_3:29;
then GG.y in rng HH by A16,A54,A62,FUNCT_1:def 3;
then
A66: HH just_once_values GG.y by A47,FINSEQ_4:8;
R.y = HH <- (GG.y) by A57,A64;
hence thesis by A65,A66,FINSEQ_4:def 3;
end;
now
let x be object;
thus x in dom GG implies x in dom R & R.x in dom HH
proof
assume x in dom GG;
then x in Seg(len R) by A55,A56,FINSEQ_1:def 3;
hence x in dom R by FINSEQ_1:def 3;
then R.x in rng R by FUNCT_1:def 3;
hence thesis by A63;
end;
assume that
A67: x in dom R and
R.x in dom HH;
x in Seg(len R) by A67,FINSEQ_1:def 3;
hence x in dom GG by A55,A56,FINSEQ_1:def 3;
end;
then
A68: GG = HH * R by A59,FUNCT_1:10;
dom HH c= rng R
proof
set f = HH" * GG;
let x be object;
assume
A69: x in dom HH;
dom(HH") = rng GG by A47,A16,A54,FUNCT_1:33;
then
A70: rng f = rng(HH") by RELAT_1:28
.= dom HH by A47,FUNCT_1:33;
f = HH " * HH * R by A68,RELAT_1:36
.= id(dom HH) * R by A47,FUNCT_1:39
.= R by A63,RELAT_1:53;
hence thesis by A69,A70;
end;
then
A71: dom HH = rng R by A63;
A72: Sum(g) = Sum((L1 (#) G) ^ (L1 (#) p)) by Th28
.= Sum(L1 (#) G) + 0.V by A43,RLVECT_1:41
.= Sum(L1 (#) G) by RLVECT_1:def 4;
set h = L2 (#) HH;
A73: Sum(h) = Sum((L2 (#) H) ^ (L2 (#) q)) by Th28
.= Sum(L2 (#) H) + 0.V by A51,RLVECT_1:41
.= Sum(L2 (#) H) by RLVECT_1:def 4;
A74: Sum(f) = Sum(((L1 + L2) (#) F) ^ ((L1 + L2) (#) r)) by Th28
.= Sum((L1 + L2) (#) F) + 0.V by A39,RLVECT_1:41
.= Sum((L1 + L2) (#) F) by RLVECT_1:def 4;
A75: dom P = dom FF by A20,FINSEQ_3:29;
then
A76: P is one-to-one by A35,FINSEQ_4:60;
A77: dom R = dom HH by A56,FINSEQ_3:29;
then
A78: R is one-to-one by A71,FINSEQ_4:60;
reconsider R as Function of dom HH, dom HH by A63,A77,FUNCT_2:2;
A79: len h = len HH by Def6;
then
A80: dom h = dom HH by FINSEQ_3:29;
then reconsider R as Function of dom h, dom h;
reconsider Hp = h * R as FinSequence of V by FINSEQ_2:47;
reconsider R as Permutation of dom h by A71,A78,A80,FUNCT_2:57;
A81: Hp = h * R;
then
A82: len Hp = len GG by A55,A79,FINSEQ_2:44;
reconsider P as Function of dom FF, dom FF by A27,A75,FUNCT_2:2;
A83: len f = len FF by Def6;
then
A84: dom f = dom FF by FINSEQ_3:29;
then reconsider P as Function of dom f, dom f;
reconsider Fp = f * P as FinSequence of V by FINSEQ_2:47;
reconsider P as Permutation of dom f by A35,A76,A84,FUNCT_2:57;
A85: Fp = f * P;
then
A86: Sum(Fp) = Sum(f) by RLVECT_2:7;
deffunc Q(Nat) = (g/.$1) + (Hp/.$1);
consider I being FinSequence such that
A87: len I = len GG and
A88: for k be Nat st k in dom I holds I.k = Q(k) from FINSEQ_1:sch 2;
A89: dom I = Seg len GG by A87,FINSEQ_1:def 3;
then
A90: for k be Nat st k in Seg(len GG) holds I.k = Q(k) by A88;
rng I c= the carrier of V
proof
let x be object;
assume x in rng I;
then consider y being object such that
A91: y in dom I and
A92: I.y = x by FUNCT_1:def 3;
reconsider y as Nat by A91,FINSEQ_3:23;
I.y = (g/.y) + (Hp/.y) by A88,A91;
hence thesis by A92;
end;
then reconsider I as FinSequence of V by FINSEQ_1:def 4;
A93: len Fp = len I by A19,A83,A85,A87,FINSEQ_2:44;
A94: now
let x be object;
assume
A95: x in Seg(len I);
then reconsider k = x as Element of NAT;
A96: x in dom HH by A55,A87,A95,FINSEQ_1:def 3;
then R.k in dom R by A71,A77,FUNCT_1:def 3;
then reconsider j = R.k as Nat by FINSEQ_3:23;
A97: x in dom GG by A87,A95,FINSEQ_1:def 3;
then
A98: HH.j = GG.k by A59
.= GG/.k by A97,PARTFUN1:def 6;
P.k in dom P by A26,A62,A35,A75,A96,FUNCT_1:def 3;
then reconsider l = P.k as Nat by FINSEQ_3:23;
set v = GG/.k;
A99: x in dom Fp by A93,A95,FINSEQ_1:def 3;
A100: FF.l = GG.k by A23,A97
.= GG/.k by A97,PARTFUN1:def 6;
P.k in dom FF by A26,A62,A35,A75,A96,FUNCT_1:def 3;
then
A101: f.l = v * (L1 + L2).v by A100,Th23
.= v * (L1.v + L2.v) by Def9
.= v * L1.v + v * L2.v by VECTSP_2:def 9;
A102: x in dom Hp by A87,A82,A95,FINSEQ_1:def 3;
then
A103: Hp/.k = (h * R).k by PARTFUN1:def 6
.= h.(R.k) by A102,FUNCT_1:12;
R.k in dom HH by A71,A77,A96,FUNCT_1:def 3;
then
A104: h.j = v * L2.v by A98,Th23;
A105: x in dom g by A87,A52,A95,FINSEQ_1:def 3;
then g/.k = g.k by PARTFUN1:def 6
.= v * L1.v by A105,Def6;
hence I.x = v * L1.v + v * L2.v by A87,A88,A89,A95,A103,A104
.= Fp.x by A99,A101,FUNCT_1:12;
end;
dom I = Seg(len I) & dom Fp = Seg(len I) by A93,FINSEQ_1:def 3;
then
A106: I = Fp by A94;
Sum(Hp) = Sum(h) by A81,RLVECT_2:7;
hence thesis by A11,A14,A46,A72,A73,A74,A86,A87,A90,A82,A52,A106,A53,
RLVECT_2:2;
end;
reserve R for domRing;
reserve V for RightMod of R;
reserve L,L1,L2 for Linear_Combination of V;
reserve a for Scalar of R;
theorem Th59:
Sum(L * a) = Sum(L) * a
proof
per cases;
suppose
A1: a <> 0.R;
set l = L * a;
A2: Carrier(l) = 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 Q(Nat)= F <- (G.$1);
consider P being FinSequence such that
A10: len P = len F and
A11: for k be Nat st k in dom P holds P.k = Q(k) from FINSEQ_1:sch 2;
A12: dom P = Seg len F by A10,FINSEQ_1:def 3;
A13: now
let x be object;
assume
A14: x in dom G;
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);
end;
A16: rng P c= dom F
proof
let x be object;
assume x in rng P;
then consider y being object such that
A17: y in dom P and
A18: P.y = x by FUNCT_1:def 3;
reconsider 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 thesis by A18,A19,FINSEQ_4:def 3;
end;
now
let x be object;
thus x in dom G implies x in dom P & P.x in dom F
proof
assume x in dom G;
then x in Seg(len P) by A10,A9,FINSEQ_1:def 3;
hence x in dom P by FINSEQ_1:def 3;
then P.x in rng P by FUNCT_1:def 3;
hence thesis by A16;
end;
assume that
A20: x in dom P and
P.x in dom F;
x in Seg(len P) by A20,FINSEQ_1:def 3;
hence x in dom G by A10,A9,FINSEQ_1:def 3;
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;
assume
A22: x in dom F;
dom(F") = rng G by A6,A7,A4,A2,FUNCT_1:33;
then
A23: rng f = rng(F") by RELAT_1:28
.= dom F by A6,FUNCT_1:33;
f = F " * F * P by A21,RELAT_1:36
.= id(dom F) * P by A6,FUNCT_1:39
.= P by A16,RELAT_1:53;
hence thesis by A22,A23;
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 as Function of dom F, dom F by A16,A25,FUNCT_2:2;
A27: len f = len F by Def6;
then
A28: dom f = dom F by FINSEQ_3:29;
then reconsider P as Function of dom f, dom f;
reconsider Fp = f * P as FinSequence of V by FINSEQ_2:47;
reconsider P as Permutation of dom f by A24,A26,A28,FUNCT_2:57;
A29: Fp = f * P;
then
A30: len Fp = len f by FINSEQ_2:44;
then
A31: len Fp = len g by A9,A27,Def6;
A32: now
let k;
let v be Vector of V;
assume that
A33: k in dom Fp and
A34: v = g.k;
A35: k in Seg(len 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 g by A35,FINSEQ_1:def 3;
i in Seg(len f) by A27,A38,FINSEQ_1:def 3;
then
A41: i in dom f by FINSEQ_1:def 3;
thus Fp.k = f.(P.k) by A36,FUNCT_1:13
.= f.(F <- (G.k)) by A11,A12,A27,A30,A31,A35
.= (F/.i) * l.(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;
end;
Sum(Fp) = Sum(f) by A29,RLVECT_2:7;
hence thesis by A8,A5,A31,A32,Th1;
end;
suppose
A42: a = 0.R;
hence Sum(L * a) = Sum(ZeroLC(V)) by Th44
.= 0.V by Lm3
.= Sum(L) * a by A42,VECTSP_2:32;
end;
end;
theorem Th60:
Sum(- L) = - Sum(L)
proof
thus Sum(- L) = Sum(L) * (- 1_R) by Th59
.= - Sum(L) by VECTSP_2:32;
end;
theorem
Sum(L1 - L2) = Sum(L1) - Sum(L2)
proof
thus Sum(L1 - L2) = Sum(L1) + Sum(- L2) by Th58
.= Sum(L1) + (- Sum(L2)) by Th60
.= Sum(L1) - Sum(L2) by RLVECT_1:def 11;
end;
begin :: RMOD_5
reserve x for set;
reserve R for Ring;
reserve V for RightMod of R;
reserve v,v1,v2 for Vector of V;
reserve A,B for Subset of V;
definition
let R, V;
let IT be Subset of V;
attr IT is linearly-independent means
for l being Linear_Combination of IT st Sum(l) = 0.V holds Carrier(l) = {};
end;
notation
let R, V;
let IT be Subset of V;
antonym IT is linearly-dependent for IT is linearly-independent;
end;
theorem
A c= B & B is linearly-independent implies A is linearly-independent
proof
assume that
A1: A c= B and
A2: B is linearly-independent;
let l be Linear_Combination of A;
reconsider L = l as Linear_Combination of B by A1,Th19;
assume Sum(l) = 0.V;
then Carrier(L) = {} by A2;
hence thesis;
end;
theorem Th63:
0.R <> 1_R & A is linearly-independent implies not 0.V in A
proof
assume that
A1: 0.R <> 1_R and
A2: A is linearly-independent and
A3: 0.V in A;
deffunc F(Element of V)=0.R;
consider f being Function of the carrier of V, the carrier of R such that
A4: f.(0.V) = 1_R and
A5: for v being Element of V st v <> 0.V holds f.v = F(v) from FUNCT_2:
sch 6;
reconsider f as Element of Funcs(the carrier of V, the carrier of R) by
FUNCT_2:8;
ex T being finite Subset of V st for v st not v in T holds f.v = 0.R
proof
take T = {0.V};
let v;
assume not v in T;
then v <> 0.V by TARSKI:def 1;
hence thesis by A5;
end;
then reconsider f as Linear_Combination of V by Def2;
A6: Carrier(f) = {0.V}
proof
thus Carrier(f) c= {0.V}
proof
let x be object;
assume x in Carrier(f);
then consider v such that
A7: v = x and
A8: f.v <> 0.R;
v = 0.V by A5,A8;
hence thesis by A7,TARSKI:def 1;
end;
let x be object;
assume x in {0.V};
then x = 0.V by TARSKI:def 1;
hence thesis by A1,A4;
end;
then Carrier(f) c= A by A3,ZFMISC_1:31;
then reconsider f as Linear_Combination of A by Def5;
Sum(f) = 0.V * f.(0.V) by A6,Th35
.= 0.V by VECTSP_2:32;
hence contradiction by A2,A6;
end;
theorem
{}(the carrier of V) is linearly-independent
proof
let l be Linear_Combination of {}(the carrier of V);
Carrier(l) c= {} by Def5;
hence thesis;
end;
theorem Th65:
0.R <> 1_R & {v1,v2} is linearly-independent implies v1 <> 0.V & v2 <> 0.V
proof
A1: v1 in {v1,v2} & v2 in {v1,v2} by TARSKI:def 2;
assume 0.R <> 1_R & {v1,v2} is linearly-independent;
hence thesis by A1,Th63;
end;
theorem
0.R <> 1_R implies {v,0.V} is linearly-dependent & {0.V,v} is
linearly-dependent by Th65;
reserve R for domRing;
reserve V for RightMod of R;
reserve v,u for Vector of V;
reserve A,B for Subset of V;
reserve l for Linear_Combination of A;
reserve f,g for Function of the carrier of V, the carrier of R;
definition
let R, V, A;
func Lin(A) -> strict Submodule of V means
:Def14:
the carrier of it = the set of all Sum( l) ;
existence
proof
set A1 = the set of all Sum(l) ;
reconsider l = ZeroLC(V) as Linear_Combination of A by Th20;
A1 c= the carrier of V
proof
let x be object;
assume x in A1;
then ex l st x = Sum(l);
hence thesis;
end;
then reconsider A1 as Subset of V;
A1: A1 is linearly-closed
proof
thus for v,u st v in A1 & u in A1 holds v + u in A1
proof
let v,u;
assume that
A2: v in A1 and
A3: u in A1;
consider l1 being Linear_Combination of A such that
A4: v = Sum(l1) by A2;
consider l2 being Linear_Combination of A such that
A5: u = Sum(l2) by A3;
reconsider f = l1 + l2 as Linear_Combination of A by Th38;
v + u = Sum(f) by A4,A5,Th58;
hence thesis;
end;
let a be Scalar of R,v;
assume v in A1;
then consider l such that
A6: v = Sum(l);
reconsider f = l * a as Linear_Combination of A by Th45;
v * a = Sum(f) by A6,Th59;
hence thesis;
end;
Sum(l) = 0.V by Lm3;
then 0.V in A1;
hence thesis by A1,RMOD_2:34;
end;
uniqueness by RMOD_2:29;
end;
theorem Th67:
x in Lin(A) iff ex l st x = Sum(l)
proof
thus x in Lin(A) implies ex l st x = Sum(l)
proof
assume x in Lin(A);
then x in the carrier of Lin(A) by STRUCT_0:def 5;
then x in the set of all Sum(l) by Def14;
hence thesis;
end;
given k being Linear_Combination of A such that
A1: x = Sum(k);
x in the set of all Sum(l) by A1;
then x in the carrier of Lin(A) by Def14;
hence thesis by STRUCT_0:def 5;
end;
theorem Th68:
x in A implies x in Lin(A)
proof
deffunc F(Element of V)=0.R;
assume
A1: x in A;
then reconsider v = x as Vector of V;
consider f being Function of the carrier of V, the carrier of R such that
A2: f.v = 1_R and
A3: for u st u <> v holds f.u = F(u) from FUNCT_2:sch 6;
reconsider f as Element of Funcs(the carrier of V, the carrier of R) by
FUNCT_2:8;
ex T being finite Subset of V st for u st not u in T holds f.u = 0.R
proof
take T = {v};
let u;
assume not u in T;
then u <> v by TARSKI:def 1;
hence thesis by A3;
end;
then reconsider f as Linear_Combination of V by Def2;
A4: Carrier(f) c= {v}
proof
let x be object;
assume x in Carrier(f);
then consider u such that
A5: x = u and
A6: f.u <> 0.R;
u = v by A3,A6;
hence thesis by A5,TARSKI:def 1;
end;
then reconsider f as Linear_Combination of {v} by Def5;
A7: Sum(f) = v * 1_R by A2,Th32
.= v by VECTSP_2:def 9;
{v} c= A by A1,ZFMISC_1:31;
then Carrier(f) c= A by A4;
then reconsider f as Linear_Combination of A by Def5;
Sum(f) = v by A7;
hence thesis by Th67;
end;
theorem
Lin({}(the carrier of V)) = (0).V
proof
set A = Lin({}(the carrier of V));
now
let v;
thus v in A implies v in (0).V
proof
assume v in A;
then
A1: v in the carrier of A by STRUCT_0:def 5;
the carrier of A = the set of all
Sum(l0) where l0 is Linear_Combination of {}(the
carrier of V) by Def14;
then
ex l0 being Linear_Combination of {}(the carrier of V) st v = Sum(l0
) by A1;
then v = 0.V by Th31;
hence thesis by RMOD_2:35;
end;
assume v in (0).V;
then v = 0.V by RMOD_2:35;
hence v in A by RMOD_2:17;
end;
hence thesis by RMOD_2:30;
end;
theorem
Lin(A) = (0).V implies A = {} or A = {0.V}
proof
assume that
A1: Lin(A) = (0).V and
A2: A <> {};
thus A c= {0.V}
proof
let x be object;
assume x in A;
then x in Lin(A) by Th68;
then x = 0.V by A1,RMOD_2:35;
hence thesis by TARSKI:def 1;
end;
set y = the Element of A;
let x be object;
assume x in {0.V};
then
A3: x = 0.V by TARSKI:def 1;
y in A & y in Lin(A) by A2,Th68;
hence thesis by A1,A3,RMOD_2:35;
end;
theorem Th71:
for W being strict Submodule of V st 0.R <> 1_R & A = the
carrier of W holds Lin(A) = W
proof
let W be strict Submodule of V;
assume that
A1: 0.R <> 1_R and
A2: A = the carrier of W;
now
let v;
thus v in Lin(A) implies v in W
proof
assume v in Lin(A);
then
A3: ex l st v = Sum(l) by Th67;
A is linearly-closed by A2,RMOD_2:33;
then v in the carrier of W by A1,A2,A3,Th29;
hence thesis by STRUCT_0:def 5;
end;
v in W iff v in the carrier of W by STRUCT_0:def 5;
hence v in W implies v in Lin(A) by A2,Th68;
end;
hence thesis by RMOD_2:30;
end;
theorem
for V being strict RightMod of R, A being Subset of V st 0.R <> 1_R &
A = the carrier of V holds Lin(A) = V
proof
let V be strict RightMod of R, A be Subset of V such that
A1: 0.R <> 1_R;
assume
A2: A = the carrier of V;
(Omega).V = V;
hence thesis by A1,A2,Th71;
end;
theorem Th73:
A c= B implies Lin(A) is Submodule of Lin(B)
proof
assume
A1: A c= B;
now
let v;
assume v in Lin(A);
then consider l such that
A2: v = Sum(l) by Th67;
reconsider l as Linear_Combination of B by A1,Th19;
Sum(l) = v by A2;
hence v in Lin(B) by Th67;
end;
hence thesis by RMOD_2:28;
end;
theorem
for V being strict RightMod of R, A,B being Subset of V st Lin(A) = V
& A c= B holds Lin(B) = V
proof
let V be strict RightMod of R, A,B be Subset of V;
assume Lin(A) = V & A c= B;
then V is Submodule of Lin(B) by Th73;
hence thesis by RMOD_2:25;
end;
theorem
Lin(A \/ B) = Lin(A) + Lin(B)
proof
now
deffunc G(object)=0.R;
let v;
assume v in Lin(A \/ B);
then consider l being Linear_Combination of A \/ B such that
A1: v = Sum(l) by Th67;
deffunc F(object)=l.$1;
set D = Carrier(l) \ A;
set C = Carrier(l) /\ A;
defpred P[object] means $1 in C;
defpred C[object] means $1 in D;
now
let x;
assume x in the carrier of V;
then reconsider v = x as Vector of V;
f.v in the carrier of R;
hence x in C implies l.x in the carrier of R;
assume not x in C;
thus 0.R in the carrier of R;
end;
then
A2: for x being object st x in the carrier of V
holds (P[x] implies F(x) in the
carrier of R ) & (not P[x] implies G(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 (P[x] implies f.x = F(x)) &
(not P[x] implies f.x = G(x)) from FUNCT_2:sch 5(A2);
reconsider C as finite Subset of V;
reconsider f as Element of Funcs(the carrier of V, the carrier of R) by
FUNCT_2:8;
for u holds not u in C implies f.u = 0.R by A3;
then reconsider f as Linear_Combination of V by Def2;
A4: Carrier(f) c= C
proof
let x be object;
assume x in Carrier(f);
then
A5: ex u st x = u & f.u <> 0.R;
assume not x in C;
hence thesis by A3,A5;
end;
C c= A by XBOOLE_1:17;
then Carrier(f) c= A by A4;
then reconsider f as Linear_Combination of A by Def5;
now
let x;
assume x in the carrier of V;
then reconsider v = x as Vector of V;
g.v in the carrier of R;
hence x in D implies l.x in the carrier of R;
assume not x in D;
thus 0.R in the carrier of R;
end;
then
A6: for x being object st x in the carrier of V
holds (C[x] implies F(x) in the
carrier of R) & (not C[x] implies G(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 (C[x] implies g.x = F(x)) &
(not C[x] implies g.x = G(x)) from FUNCT_2:sch 5(A6);
reconsider D as finite Subset of V;
reconsider g as Element of Funcs(the carrier of V, the carrier of R) by
FUNCT_2:8;
for u holds not u in D implies g.u = 0.R by A7;
then reconsider g as Linear_Combination of V by Def2;
A8: D c= B
proof
let x be object;
assume x in D;
then
A9: x in Carrier(l) & not x in A by XBOOLE_0:def 5;
Carrier(l) c= A \/ B by Def5;
hence thesis by A9,XBOOLE_0:def 3;
end;
Carrier(g) c= D
proof
let x be object;
assume x in Carrier(g);
then
A10: ex u st x = u & g.u <> 0.R;
assume not x in D;
hence thesis by A7,A10;
end;
then Carrier(g) c= B by A8;
then reconsider g as Linear_Combination of B by Def5;
l = f + g
proof
let v;
now
per cases;
suppose
A11: v in C;
A12: now
assume v in D;
then not v in A by XBOOLE_0:def 5;
hence contradiction by A11,XBOOLE_0:def 4;
end;
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;
end;
suppose
A13: not v in C;
now
per cases;
suppose
A14: v in Carrier(l);
A15: now
assume not v in D;
then not v in Carrier(l) or v in A by XBOOLE_0:def 5;
hence contradiction by A13,A14,XBOOLE_0:def 4;
end;
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;
end;
suppose
A16: not v in Carrier(l);
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;
end;
end;
hence thesis;
end;
end;
hence thesis;
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;
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 thesis by A20,RMOD_2:25;
end;
theorem
Lin(A /\ B) is Submodule of Lin(A) /\ Lin(B)
proof
Lin(A /\ B) is Submodule of Lin(A) & Lin(A /\ B) is Submodule of Lin(B)
by Th73,XBOOLE_1:17;
hence thesis by RMOD_3:20;
end;