Metamath Proof Explorer


Theorem islss3

Description: A linear subspace of a module is a subset which is a module in its own right. (Contributed by Stefan O'Rear, 6-Dec-2014) (Revised by Mario Carneiro, 30-Apr-2015)

Ref Expression
Hypotheses islss3.x 𝑋 = ( 𝑊s 𝑈 )
islss3.v 𝑉 = ( Base ‘ 𝑊 )
islss3.s 𝑆 = ( LSubSp ‘ 𝑊 )
Assertion islss3 ( 𝑊 ∈ LMod → ( 𝑈𝑆 ↔ ( 𝑈𝑉𝑋 ∈ LMod ) ) )

Proof

Step Hyp Ref Expression
1 islss3.x 𝑋 = ( 𝑊s 𝑈 )
2 islss3.v 𝑉 = ( Base ‘ 𝑊 )
3 islss3.s 𝑆 = ( LSubSp ‘ 𝑊 )
4 2 3 lssss ( 𝑈𝑆𝑈𝑉 )
5 4 adantl ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → 𝑈𝑉 )
6 1 2 ressbas2 ( 𝑈𝑉𝑈 = ( Base ‘ 𝑋 ) )
7 6 adantl ( ( 𝑊 ∈ LMod ∧ 𝑈𝑉 ) → 𝑈 = ( Base ‘ 𝑋 ) )
8 4 7 sylan2 ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → 𝑈 = ( Base ‘ 𝑋 ) )
9 eqid ( +g𝑊 ) = ( +g𝑊 )
10 1 9 ressplusg ( 𝑈𝑆 → ( +g𝑊 ) = ( +g𝑋 ) )
11 10 adantl ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → ( +g𝑊 ) = ( +g𝑋 ) )
12 eqid ( Scalar ‘ 𝑊 ) = ( Scalar ‘ 𝑊 )
13 1 12 resssca ( 𝑈𝑆 → ( Scalar ‘ 𝑊 ) = ( Scalar ‘ 𝑋 ) )
14 13 adantl ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → ( Scalar ‘ 𝑊 ) = ( Scalar ‘ 𝑋 ) )
15 eqid ( ·𝑠𝑊 ) = ( ·𝑠𝑊 )
16 1 15 ressvsca ( 𝑈𝑆 → ( ·𝑠𝑊 ) = ( ·𝑠𝑋 ) )
17 16 adantl ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → ( ·𝑠𝑊 ) = ( ·𝑠𝑋 ) )
18 eqidd ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → ( Base ‘ ( Scalar ‘ 𝑊 ) ) = ( Base ‘ ( Scalar ‘ 𝑊 ) ) )
19 eqidd ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → ( +g ‘ ( Scalar ‘ 𝑊 ) ) = ( +g ‘ ( Scalar ‘ 𝑊 ) ) )
20 eqidd ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → ( .r ‘ ( Scalar ‘ 𝑊 ) ) = ( .r ‘ ( Scalar ‘ 𝑊 ) ) )
21 eqidd ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → ( 1r ‘ ( Scalar ‘ 𝑊 ) ) = ( 1r ‘ ( Scalar ‘ 𝑊 ) ) )
22 12 lmodring ( 𝑊 ∈ LMod → ( Scalar ‘ 𝑊 ) ∈ Ring )
23 22 adantr ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → ( Scalar ‘ 𝑊 ) ∈ Ring )
24 3 lsssubg ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → 𝑈 ∈ ( SubGrp ‘ 𝑊 ) )
25 1 subggrp ( 𝑈 ∈ ( SubGrp ‘ 𝑊 ) → 𝑋 ∈ Grp )
26 24 25 syl ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → 𝑋 ∈ Grp )
27 eqid ( Base ‘ ( Scalar ‘ 𝑊 ) ) = ( Base ‘ ( Scalar ‘ 𝑊 ) )
28 12 15 27 3 lssvscl ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎𝑈 ) ) → ( 𝑥 ( ·𝑠𝑊 ) 𝑎 ) ∈ 𝑈 )
29 28 3impb ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎𝑈 ) → ( 𝑥 ( ·𝑠𝑊 ) 𝑎 ) ∈ 𝑈 )
30 simpll ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎𝑈𝑏𝑈 ) ) → 𝑊 ∈ LMod )
31 simpr1 ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎𝑈𝑏𝑈 ) ) → 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) )
32 4 ad2antlr ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎𝑈𝑏𝑈 ) ) → 𝑈𝑉 )
33 simpr2 ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎𝑈𝑏𝑈 ) ) → 𝑎𝑈 )
34 32 33 sseldd ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎𝑈𝑏𝑈 ) ) → 𝑎𝑉 )
35 simpr3 ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎𝑈𝑏𝑈 ) ) → 𝑏𝑈 )
36 32 35 sseldd ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎𝑈𝑏𝑈 ) ) → 𝑏𝑉 )
37 2 9 12 15 27 lmodvsdi ( ( 𝑊 ∈ LMod ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎𝑉𝑏𝑉 ) ) → ( 𝑥 ( ·𝑠𝑊 ) ( 𝑎 ( +g𝑊 ) 𝑏 ) ) = ( ( 𝑥 ( ·𝑠𝑊 ) 𝑎 ) ( +g𝑊 ) ( 𝑥 ( ·𝑠𝑊 ) 𝑏 ) ) )
38 30 31 34 36 37 syl13anc ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎𝑈𝑏𝑈 ) ) → ( 𝑥 ( ·𝑠𝑊 ) ( 𝑎 ( +g𝑊 ) 𝑏 ) ) = ( ( 𝑥 ( ·𝑠𝑊 ) 𝑎 ) ( +g𝑊 ) ( 𝑥 ( ·𝑠𝑊 ) 𝑏 ) ) )
39 simpll ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑏𝑈 ) ) → 𝑊 ∈ LMod )
40 simpr1 ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑏𝑈 ) ) → 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) )
41 simpr2 ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑏𝑈 ) ) → 𝑎 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) )
42 4 ad2antlr ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑏𝑈 ) ) → 𝑈𝑉 )
43 simpr3 ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑏𝑈 ) ) → 𝑏𝑈 )
44 42 43 sseldd ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑏𝑈 ) ) → 𝑏𝑉 )
45 eqid ( +g ‘ ( Scalar ‘ 𝑊 ) ) = ( +g ‘ ( Scalar ‘ 𝑊 ) )
46 2 9 12 15 27 45 lmodvsdir ( ( 𝑊 ∈ LMod ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑏𝑉 ) ) → ( ( 𝑥 ( +g ‘ ( Scalar ‘ 𝑊 ) ) 𝑎 ) ( ·𝑠𝑊 ) 𝑏 ) = ( ( 𝑥 ( ·𝑠𝑊 ) 𝑏 ) ( +g𝑊 ) ( 𝑎 ( ·𝑠𝑊 ) 𝑏 ) ) )
47 39 40 41 44 46 syl13anc ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑏𝑈 ) ) → ( ( 𝑥 ( +g ‘ ( Scalar ‘ 𝑊 ) ) 𝑎 ) ( ·𝑠𝑊 ) 𝑏 ) = ( ( 𝑥 ( ·𝑠𝑊 ) 𝑏 ) ( +g𝑊 ) ( 𝑎 ( ·𝑠𝑊 ) 𝑏 ) ) )
48 eqid ( .r ‘ ( Scalar ‘ 𝑊 ) ) = ( .r ‘ ( Scalar ‘ 𝑊 ) )
49 2 12 15 27 48 lmodvsass ( ( 𝑊 ∈ LMod ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑏𝑉 ) ) → ( ( 𝑥 ( .r ‘ ( Scalar ‘ 𝑊 ) ) 𝑎 ) ( ·𝑠𝑊 ) 𝑏 ) = ( 𝑥 ( ·𝑠𝑊 ) ( 𝑎 ( ·𝑠𝑊 ) 𝑏 ) ) )
50 39 40 41 44 49 syl13anc ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑎 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ 𝑏𝑈 ) ) → ( ( 𝑥 ( .r ‘ ( Scalar ‘ 𝑊 ) ) 𝑎 ) ( ·𝑠𝑊 ) 𝑏 ) = ( 𝑥 ( ·𝑠𝑊 ) ( 𝑎 ( ·𝑠𝑊 ) 𝑏 ) ) )
51 5 sselda ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ 𝑥𝑈 ) → 𝑥𝑉 )
52 eqid ( 1r ‘ ( Scalar ‘ 𝑊 ) ) = ( 1r ‘ ( Scalar ‘ 𝑊 ) )
53 2 12 15 52 lmodvs1 ( ( 𝑊 ∈ LMod ∧ 𝑥𝑉 ) → ( ( 1r ‘ ( Scalar ‘ 𝑊 ) ) ( ·𝑠𝑊 ) 𝑥 ) = 𝑥 )
54 53 adantlr ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ 𝑥𝑉 ) → ( ( 1r ‘ ( Scalar ‘ 𝑊 ) ) ( ·𝑠𝑊 ) 𝑥 ) = 𝑥 )
55 51 54 syldan ( ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) ∧ 𝑥𝑈 ) → ( ( 1r ‘ ( Scalar ‘ 𝑊 ) ) ( ·𝑠𝑊 ) 𝑥 ) = 𝑥 )
56 8 11 14 17 18 19 20 21 23 26 29 38 47 50 55 islmodd ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → 𝑋 ∈ LMod )
57 5 56 jca ( ( 𝑊 ∈ LMod ∧ 𝑈𝑆 ) → ( 𝑈𝑉𝑋 ∈ LMod ) )
58 simprl ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → 𝑈𝑉 )
59 58 6 syl ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → 𝑈 = ( Base ‘ 𝑋 ) )
60 fvex ( Base ‘ 𝑋 ) ∈ V
61 59 60 eqeltrdi ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → 𝑈 ∈ V )
62 1 12 resssca ( 𝑈 ∈ V → ( Scalar ‘ 𝑊 ) = ( Scalar ‘ 𝑋 ) )
63 61 62 syl ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → ( Scalar ‘ 𝑊 ) = ( Scalar ‘ 𝑋 ) )
64 63 eqcomd ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → ( Scalar ‘ 𝑋 ) = ( Scalar ‘ 𝑊 ) )
65 eqidd ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → ( Base ‘ ( Scalar ‘ 𝑋 ) ) = ( Base ‘ ( Scalar ‘ 𝑋 ) ) )
66 2 a1i ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → 𝑉 = ( Base ‘ 𝑊 ) )
67 1 9 ressplusg ( 𝑈 ∈ V → ( +g𝑊 ) = ( +g𝑋 ) )
68 61 67 syl ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → ( +g𝑊 ) = ( +g𝑋 ) )
69 68 eqcomd ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → ( +g𝑋 ) = ( +g𝑊 ) )
70 1 15 ressvsca ( 𝑈 ∈ V → ( ·𝑠𝑊 ) = ( ·𝑠𝑋 ) )
71 61 70 syl ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → ( ·𝑠𝑊 ) = ( ·𝑠𝑋 ) )
72 71 eqcomd ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → ( ·𝑠𝑋 ) = ( ·𝑠𝑊 ) )
73 3 a1i ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → 𝑆 = ( LSubSp ‘ 𝑊 ) )
74 59 58 eqsstrrd ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → ( Base ‘ 𝑋 ) ⊆ 𝑉 )
75 lmodgrp ( 𝑋 ∈ LMod → 𝑋 ∈ Grp )
76 75 ad2antll ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → 𝑋 ∈ Grp )
77 eqid ( Base ‘ 𝑋 ) = ( Base ‘ 𝑋 )
78 77 grpbn0 ( 𝑋 ∈ Grp → ( Base ‘ 𝑋 ) ≠ ∅ )
79 76 78 syl ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → ( Base ‘ 𝑋 ) ≠ ∅ )
80 eqid ( LSubSp ‘ 𝑋 ) = ( LSubSp ‘ 𝑋 )
81 77 80 lss1 ( 𝑋 ∈ LMod → ( Base ‘ 𝑋 ) ∈ ( LSubSp ‘ 𝑋 ) )
82 81 ad2antll ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → ( Base ‘ 𝑋 ) ∈ ( LSubSp ‘ 𝑋 ) )
83 eqid ( Scalar ‘ 𝑋 ) = ( Scalar ‘ 𝑋 )
84 eqid ( Base ‘ ( Scalar ‘ 𝑋 ) ) = ( Base ‘ ( Scalar ‘ 𝑋 ) )
85 eqid ( +g𝑋 ) = ( +g𝑋 )
86 eqid ( ·𝑠𝑋 ) = ( ·𝑠𝑋 )
87 83 84 85 86 80 lsscl ( ( ( Base ‘ 𝑋 ) ∈ ( LSubSp ‘ 𝑋 ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑋 ) ) ∧ 𝑎 ∈ ( Base ‘ 𝑋 ) ∧ 𝑏 ∈ ( Base ‘ 𝑋 ) ) ) → ( ( 𝑥 ( ·𝑠𝑋 ) 𝑎 ) ( +g𝑋 ) 𝑏 ) ∈ ( Base ‘ 𝑋 ) )
88 82 87 sylan ( ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑋 ) ) ∧ 𝑎 ∈ ( Base ‘ 𝑋 ) ∧ 𝑏 ∈ ( Base ‘ 𝑋 ) ) ) → ( ( 𝑥 ( ·𝑠𝑋 ) 𝑎 ) ( +g𝑋 ) 𝑏 ) ∈ ( Base ‘ 𝑋 ) )
89 64 65 66 69 72 73 74 79 88 islssd ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → ( Base ‘ 𝑋 ) ∈ 𝑆 )
90 59 89 eqeltrd ( ( 𝑊 ∈ LMod ∧ ( 𝑈𝑉𝑋 ∈ LMod ) ) → 𝑈𝑆 )
91 57 90 impbida ( 𝑊 ∈ LMod → ( 𝑈𝑆 ↔ ( 𝑈𝑉𝑋 ∈ LMod ) ) )