Metamath Proof Explorer


Theorem lshpkrlem1

Description: Lemma for lshpkrex . The value of tentative functional G is zero iff its argument belongs to hyperplane U . (Contributed by NM, 14-Jul-2014)

Ref Expression
Hypotheses lshpkrlem.v 𝑉 = ( Base ‘ 𝑊 )
lshpkrlem.a + = ( +g𝑊 )
lshpkrlem.n 𝑁 = ( LSpan ‘ 𝑊 )
lshpkrlem.p = ( LSSum ‘ 𝑊 )
lshpkrlem.h 𝐻 = ( LSHyp ‘ 𝑊 )
lshpkrlem.w ( 𝜑𝑊 ∈ LVec )
lshpkrlem.u ( 𝜑𝑈𝐻 )
lshpkrlem.z ( 𝜑𝑍𝑉 )
lshpkrlem.x ( 𝜑𝑋𝑉 )
lshpkrlem.e ( 𝜑 → ( 𝑈 ( 𝑁 ‘ { 𝑍 } ) ) = 𝑉 )
lshpkrlem.d 𝐷 = ( Scalar ‘ 𝑊 )
lshpkrlem.k 𝐾 = ( Base ‘ 𝐷 )
lshpkrlem.t · = ( ·𝑠𝑊 )
lshpkrlem.o 0 = ( 0g𝐷 )
lshpkrlem.g 𝐺 = ( 𝑥𝑉 ↦ ( 𝑘𝐾𝑦𝑈 𝑥 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ) )
Assertion lshpkrlem1 ( 𝜑 → ( 𝑋𝑈 ↔ ( 𝐺𝑋 ) = 0 ) )

Proof

Step Hyp Ref Expression
1 lshpkrlem.v 𝑉 = ( Base ‘ 𝑊 )
2 lshpkrlem.a + = ( +g𝑊 )
3 lshpkrlem.n 𝑁 = ( LSpan ‘ 𝑊 )
4 lshpkrlem.p = ( LSSum ‘ 𝑊 )
5 lshpkrlem.h 𝐻 = ( LSHyp ‘ 𝑊 )
6 lshpkrlem.w ( 𝜑𝑊 ∈ LVec )
7 lshpkrlem.u ( 𝜑𝑈𝐻 )
8 lshpkrlem.z ( 𝜑𝑍𝑉 )
9 lshpkrlem.x ( 𝜑𝑋𝑉 )
10 lshpkrlem.e ( 𝜑 → ( 𝑈 ( 𝑁 ‘ { 𝑍 } ) ) = 𝑉 )
11 lshpkrlem.d 𝐷 = ( Scalar ‘ 𝑊 )
12 lshpkrlem.k 𝐾 = ( Base ‘ 𝐷 )
13 lshpkrlem.t · = ( ·𝑠𝑊 )
14 lshpkrlem.o 0 = ( 0g𝐷 )
15 lshpkrlem.g 𝐺 = ( 𝑥𝑉 ↦ ( 𝑘𝐾𝑦𝑈 𝑥 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ) )
16 lveclmod ( 𝑊 ∈ LVec → 𝑊 ∈ LMod )
17 6 16 syl ( 𝜑𝑊 ∈ LMod )
18 11 lmodfgrp ( 𝑊 ∈ LMod → 𝐷 ∈ Grp )
19 12 14 grpidcl ( 𝐷 ∈ Grp → 0𝐾 )
20 17 18 19 3syl ( 𝜑0𝐾 )
21 1 2 3 4 5 6 7 8 9 10 11 12 13 lshpsmreu ( 𝜑 → ∃! 𝑘𝐾𝑏𝑈 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) )
22 oveq1 ( 𝑘 = 0 → ( 𝑘 · 𝑍 ) = ( 0 · 𝑍 ) )
23 22 oveq2d ( 𝑘 = 0 → ( 𝑏 + ( 𝑘 · 𝑍 ) ) = ( 𝑏 + ( 0 · 𝑍 ) ) )
24 23 eqeq2d ( 𝑘 = 0 → ( 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) ↔ 𝑋 = ( 𝑏 + ( 0 · 𝑍 ) ) ) )
25 24 rexbidv ( 𝑘 = 0 → ( ∃ 𝑏𝑈 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) ↔ ∃ 𝑏𝑈 𝑋 = ( 𝑏 + ( 0 · 𝑍 ) ) ) )
26 25 riota2 ( ( 0𝐾 ∧ ∃! 𝑘𝐾𝑏𝑈 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) ) → ( ∃ 𝑏𝑈 𝑋 = ( 𝑏 + ( 0 · 𝑍 ) ) ↔ ( 𝑘𝐾𝑏𝑈 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) ) = 0 ) )
27 20 21 26 syl2anc ( 𝜑 → ( ∃ 𝑏𝑈 𝑋 = ( 𝑏 + ( 0 · 𝑍 ) ) ↔ ( 𝑘𝐾𝑏𝑈 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) ) = 0 ) )
28 simpr ( ( 𝜑𝑋𝑈 ) → 𝑋𝑈 )
29 eqidd ( ( 𝜑𝑋𝑈 ) → 𝑋 = 𝑋 )
30 eqeq2 ( 𝑏 = 𝑋 → ( 𝑋 = 𝑏𝑋 = 𝑋 ) )
31 30 rspcev ( ( 𝑋𝑈𝑋 = 𝑋 ) → ∃ 𝑏𝑈 𝑋 = 𝑏 )
32 28 29 31 syl2anc ( ( 𝜑𝑋𝑈 ) → ∃ 𝑏𝑈 𝑋 = 𝑏 )
33 32 ex ( 𝜑 → ( 𝑋𝑈 → ∃ 𝑏𝑈 𝑋 = 𝑏 ) )
34 eleq1a ( 𝑏𝑈 → ( 𝑋 = 𝑏𝑋𝑈 ) )
35 34 a1i ( 𝜑 → ( 𝑏𝑈 → ( 𝑋 = 𝑏𝑋𝑈 ) ) )
36 35 rexlimdv ( 𝜑 → ( ∃ 𝑏𝑈 𝑋 = 𝑏𝑋𝑈 ) )
37 33 36 impbid ( 𝜑 → ( 𝑋𝑈 ↔ ∃ 𝑏𝑈 𝑋 = 𝑏 ) )
38 eqid ( 0g𝑊 ) = ( 0g𝑊 )
39 1 11 13 14 38 lmod0vs ( ( 𝑊 ∈ LMod ∧ 𝑍𝑉 ) → ( 0 · 𝑍 ) = ( 0g𝑊 ) )
40 17 8 39 syl2anc ( 𝜑 → ( 0 · 𝑍 ) = ( 0g𝑊 ) )
41 40 adantr ( ( 𝜑𝑏𝑈 ) → ( 0 · 𝑍 ) = ( 0g𝑊 ) )
42 41 oveq2d ( ( 𝜑𝑏𝑈 ) → ( 𝑏 + ( 0 · 𝑍 ) ) = ( 𝑏 + ( 0g𝑊 ) ) )
43 6 adantr ( ( 𝜑𝑏𝑈 ) → 𝑊 ∈ LVec )
44 43 16 syl ( ( 𝜑𝑏𝑈 ) → 𝑊 ∈ LMod )
45 eqid ( LSubSp ‘ 𝑊 ) = ( LSubSp ‘ 𝑊 )
46 45 5 17 7 lshplss ( 𝜑𝑈 ∈ ( LSubSp ‘ 𝑊 ) )
47 1 45 lssel ( ( 𝑈 ∈ ( LSubSp ‘ 𝑊 ) ∧ 𝑏𝑈 ) → 𝑏𝑉 )
48 46 47 sylan ( ( 𝜑𝑏𝑈 ) → 𝑏𝑉 )
49 1 2 38 lmod0vrid ( ( 𝑊 ∈ LMod ∧ 𝑏𝑉 ) → ( 𝑏 + ( 0g𝑊 ) ) = 𝑏 )
50 44 48 49 syl2anc ( ( 𝜑𝑏𝑈 ) → ( 𝑏 + ( 0g𝑊 ) ) = 𝑏 )
51 42 50 eqtrd ( ( 𝜑𝑏𝑈 ) → ( 𝑏 + ( 0 · 𝑍 ) ) = 𝑏 )
52 51 eqeq2d ( ( 𝜑𝑏𝑈 ) → ( 𝑋 = ( 𝑏 + ( 0 · 𝑍 ) ) ↔ 𝑋 = 𝑏 ) )
53 52 bicomd ( ( 𝜑𝑏𝑈 ) → ( 𝑋 = 𝑏𝑋 = ( 𝑏 + ( 0 · 𝑍 ) ) ) )
54 53 rexbidva ( 𝜑 → ( ∃ 𝑏𝑈 𝑋 = 𝑏 ↔ ∃ 𝑏𝑈 𝑋 = ( 𝑏 + ( 0 · 𝑍 ) ) ) )
55 37 54 bitrd ( 𝜑 → ( 𝑋𝑈 ↔ ∃ 𝑏𝑈 𝑋 = ( 𝑏 + ( 0 · 𝑍 ) ) ) )
56 eqeq1 ( 𝑥 = 𝑋 → ( 𝑥 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ↔ 𝑋 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ) )
57 56 rexbidv ( 𝑥 = 𝑋 → ( ∃ 𝑦𝑈 𝑥 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ↔ ∃ 𝑦𝑈 𝑋 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ) )
58 57 riotabidv ( 𝑥 = 𝑋 → ( 𝑘𝐾𝑦𝑈 𝑥 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ) = ( 𝑘𝐾𝑦𝑈 𝑋 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ) )
59 riotaex ( 𝑘𝐾𝑦𝑈 𝑋 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ) ∈ V
60 58 15 59 fvmpt ( 𝑋𝑉 → ( 𝐺𝑋 ) = ( 𝑘𝐾𝑦𝑈 𝑋 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ) )
61 oveq1 ( 𝑦 = 𝑏 → ( 𝑦 + ( 𝑘 · 𝑍 ) ) = ( 𝑏 + ( 𝑘 · 𝑍 ) ) )
62 61 eqeq2d ( 𝑦 = 𝑏 → ( 𝑋 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ↔ 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) ) )
63 62 cbvrexvw ( ∃ 𝑦𝑈 𝑋 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ↔ ∃ 𝑏𝑈 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) )
64 63 a1i ( 𝑘𝐾 → ( ∃ 𝑦𝑈 𝑋 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ↔ ∃ 𝑏𝑈 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) ) )
65 64 riotabiia ( 𝑘𝐾𝑦𝑈 𝑋 = ( 𝑦 + ( 𝑘 · 𝑍 ) ) ) = ( 𝑘𝐾𝑏𝑈 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) )
66 60 65 eqtrdi ( 𝑋𝑉 → ( 𝐺𝑋 ) = ( 𝑘𝐾𝑏𝑈 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) ) )
67 9 66 syl ( 𝜑 → ( 𝐺𝑋 ) = ( 𝑘𝐾𝑏𝑈 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) ) )
68 67 eqeq1d ( 𝜑 → ( ( 𝐺𝑋 ) = 0 ↔ ( 𝑘𝐾𝑏𝑈 𝑋 = ( 𝑏 + ( 𝑘 · 𝑍 ) ) ) = 0 ) )
69 27 55 68 3bitr4d ( 𝜑 → ( 𝑋𝑈 ↔ ( 𝐺𝑋 ) = 0 ) )