Metamath Proof Explorer


Theorem lincsumcl

Description: The sum of two linear combinations is a linear combination, see also the proof in Lang p. 129. (Contributed by AV, 4-Apr-2019) (Proof shortened by AV, 28-Jul-2019)

Ref Expression
Hypothesis lincsumcl.b +˙=+M
Assertion lincsumcl MLModV𝒫BaseMCMLinCoVDMLinCoVC+˙DMLinCoV

Proof

Step Hyp Ref Expression
1 lincsumcl.b +˙=+M
2 eqid BaseM=BaseM
3 eqid ScalarM=ScalarM
4 eqid BaseScalarM=BaseScalarM
5 2 3 4 lcoval MLModV𝒫BaseMCMLinCoVCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMV
6 2 3 4 lcoval MLModV𝒫BaseMDMLinCoVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMV
7 5 6 anbi12d MLModV𝒫BaseMCMLinCoVDMLinCoVCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMV
8 simpll MLModV𝒫BaseMCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLMod
9 simpll CBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVCBaseM
10 9 adantl MLModV𝒫BaseMCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVCBaseM
11 simprl CBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVDBaseM
12 11 adantl MLModV𝒫BaseMCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVDBaseM
13 2 1 lmodvacl MLModCBaseMDBaseMC+˙DBaseM
14 8 10 12 13 syl3anc MLModV𝒫BaseMCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVC+˙DBaseM
15 3 lmodfgrp MLModScalarMGrp
16 15 grpmndd MLModScalarMMnd
17 16 adantr MLModV𝒫BaseMScalarMMnd
18 17 adantl yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMScalarMMnd
19 simpr MLModV𝒫BaseMV𝒫BaseM
20 19 adantl yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMV𝒫BaseM
21 simpll yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMyBaseScalarMV
22 simpl xBaseScalarMVfinSupp0ScalarMxD=xlinCMVxBaseScalarMV
23 21 22 anim12i yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVyBaseScalarMVxBaseScalarMV
24 23 adantr yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMyBaseScalarMVxBaseScalarMV
25 eqid +ScalarM=+ScalarM
26 4 25 ofaddmndmap ScalarMMndV𝒫BaseMyBaseScalarMVxBaseScalarMVy+ScalarMfxBaseScalarMV
27 18 20 24 26 syl3anc yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMy+ScalarMfxBaseScalarMV
28 16 anim1i MLModV𝒫BaseMScalarMMndV𝒫BaseM
29 28 adantl yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMScalarMMndV𝒫BaseM
30 simprl yBaseScalarMVfinSupp0ScalarMyC=ylinCMVfinSupp0ScalarMy
31 30 adantr yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMfinSupp0ScalarMy
32 simprl xBaseScalarMVfinSupp0ScalarMxD=xlinCMVfinSupp0ScalarMx
33 31 32 anim12i yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVfinSupp0ScalarMyfinSupp0ScalarMx
34 33 adantr yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMfinSupp0ScalarMyfinSupp0ScalarMx
35 4 mndpfsupp ScalarMMndV𝒫BaseMyBaseScalarMVxBaseScalarMVfinSupp0ScalarMyfinSupp0ScalarMxfinSupp0ScalarMy+ScalarMfx
36 29 24 34 35 syl3anc yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMfinSupp0ScalarMy+ScalarMfx
37 oveq12 C=ylinCMVD=xlinCMVC+˙D=ylinCMV+˙xlinCMV
38 37 expcom D=xlinCMVC=ylinCMVC+˙D=ylinCMV+˙xlinCMV
39 38 adantl finSupp0ScalarMxD=xlinCMVC=ylinCMVC+˙D=ylinCMV+˙xlinCMV
40 39 adantl xBaseScalarMVfinSupp0ScalarMxD=xlinCMVC=ylinCMVC+˙D=ylinCMV+˙xlinCMV
41 40 com12 C=ylinCMVxBaseScalarMVfinSupp0ScalarMxD=xlinCMVC+˙D=ylinCMV+˙xlinCMV
42 41 adantl finSupp0ScalarMyC=ylinCMVxBaseScalarMVfinSupp0ScalarMxD=xlinCMVC+˙D=ylinCMV+˙xlinCMV
43 42 adantl yBaseScalarMVfinSupp0ScalarMyC=ylinCMVxBaseScalarMVfinSupp0ScalarMxD=xlinCMVC+˙D=ylinCMV+˙xlinCMV
44 43 adantr yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVC+˙D=ylinCMV+˙xlinCMV
45 44 imp yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVC+˙D=ylinCMV+˙xlinCMV
46 45 adantr yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMC+˙D=ylinCMV+˙xlinCMV
47 simpr yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMMLModV𝒫BaseM
48 eqid ylinCMV=ylinCMV
49 eqid xlinCMV=xlinCMV
50 1 48 49 3 4 25 lincsum MLModV𝒫BaseMyBaseScalarMVxBaseScalarMVfinSupp0ScalarMyfinSupp0ScalarMxylinCMV+˙xlinCMV=y+ScalarMfxlinCMV
51 47 24 34 50 syl3anc yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMylinCMV+˙xlinCMV=y+ScalarMfxlinCMV
52 46 51 eqtrd yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMC+˙D=y+ScalarMfxlinCMV
53 breq1 s=y+ScalarMfxfinSupp0ScalarMsfinSupp0ScalarMy+ScalarMfx
54 oveq1 s=y+ScalarMfxslinCMV=y+ScalarMfxlinCMV
55 54 eqeq2d s=y+ScalarMfxC+˙D=slinCMVC+˙D=y+ScalarMfxlinCMV
56 53 55 anbi12d s=y+ScalarMfxfinSupp0ScalarMsC+˙D=slinCMVfinSupp0ScalarMy+ScalarMfxC+˙D=y+ScalarMfxlinCMV
57 56 rspcev y+ScalarMfxBaseScalarMVfinSupp0ScalarMy+ScalarMfxC+˙D=y+ScalarMfxlinCMVsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
58 27 36 52 57 syl12anc yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
59 58 exp41 yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
60 59 rexlimiva yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
61 60 expd yBaseScalarMVfinSupp0ScalarMyC=ylinCMVCBaseMDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
62 61 impcom CBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
63 62 com13 xBaseScalarMVfinSupp0ScalarMxD=xlinCMVDBaseMCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVMLModV𝒫BaseMsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
64 63 rexlimiva xBaseScalarMVfinSupp0ScalarMxD=xlinCMVDBaseMCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVMLModV𝒫BaseMsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
65 64 impcom DBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVMLModV𝒫BaseMsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
66 65 impcom CBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVMLModV𝒫BaseMsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
67 66 impcom MLModV𝒫BaseMCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
68 2 3 4 lcoval MLModV𝒫BaseMC+˙DMLinCoVC+˙DBaseMsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
69 68 adantr MLModV𝒫BaseMCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVC+˙DMLinCoVC+˙DBaseMsBaseScalarMVfinSupp0ScalarMsC+˙D=slinCMV
70 14 67 69 mpbir2and MLModV𝒫BaseMCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVC+˙DMLinCoV
71 70 ex MLModV𝒫BaseMCBaseMyBaseScalarMVfinSupp0ScalarMyC=ylinCMVDBaseMxBaseScalarMVfinSupp0ScalarMxD=xlinCMVC+˙DMLinCoV
72 7 71 sylbid MLModV𝒫BaseMCMLinCoVDMLinCoVC+˙DMLinCoV
73 72 imp MLModV𝒫BaseMCMLinCoVDMLinCoVC+˙DMLinCoV