Metamath Proof Explorer


Theorem mapdspex

Description: The map of a span equals the dual span of some vector (functional). (Contributed by NM, 15-Mar-2015)

Ref Expression
Hypotheses mapdspex.h ⊢ 𝐻 = ( LHyp ‘ 𝐾 )
mapdspex.m ⊢ 𝑀 = ( ( mapd ‘ 𝐾 ) ‘ 𝑊 )
mapdspex.u ⊢ 𝑈 = ( ( DVecH ‘ 𝐾 ) ‘ 𝑊 )
mapdspex.v ⊢ 𝑉 = ( Base ‘ 𝑈 )
mapdspex.n ⊢ 𝑁 = ( LSpan ‘ 𝑈 )
mapdspex.c ⊢ 𝐶 = ( ( LCDual ‘ 𝐾 ) ‘ 𝑊 )
mapdspex.b ⊢ 𝐵 = ( Base ‘ 𝐶 )
mapdspex.j ⊢ 𝐽 = ( LSpan ‘ 𝐶 )
mapdspex.k ⊢ ( 𝜑 → ( 𝐾 ∈ HL ∧ 𝑊 ∈ 𝐻 ) )
mapdspex.x ⊢ ( 𝜑 → 𝑋 ∈ 𝑉 )
Assertion mapdspex ( 𝜑 → ∃ 𝑔 ∈ 𝐵 ( 𝑀 ‘ ( 𝑁 ‘ { 𝑋 } ) ) = ( 𝐽 ‘ { 𝑔 } ) )

Proof

Step Hyp Ref Expression
1 mapdspex.h ⊢ 𝐻 = ( LHyp ‘ 𝐾 )
2 mapdspex.m ⊢ 𝑀 = ( ( mapd ‘ 𝐾 ) ‘ 𝑊 )
3 mapdspex.u ⊢ 𝑈 = ( ( DVecH ‘ 𝐾 ) ‘ 𝑊 )
4 mapdspex.v ⊢ 𝑉 = ( Base ‘ 𝑈 )
5 mapdspex.n ⊢ 𝑁 = ( LSpan ‘ 𝑈 )
6 mapdspex.c ⊢ 𝐶 = ( ( LCDual ‘ 𝐾 ) ‘ 𝑊 )
7 mapdspex.b ⊢ 𝐵 = ( Base ‘ 𝐶 )
8 mapdspex.j ⊢ 𝐽 = ( LSpan ‘ 𝐶 )
9 mapdspex.k ⊢ ( 𝜑 → ( 𝐾 ∈ HL ∧ 𝑊 ∈ 𝐻 ) )
10 mapdspex.x ⊢ ( 𝜑 → 𝑋 ∈ 𝑉 )
11 1 6 9 lcdlmod ⊢ ( 𝜑 → 𝐶 ∈ LMod )
12 11 adantr ⊢ ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ ( LSAtoms ‘ 𝑈 ) ) → 𝐶 ∈ LMod )
13 eqid ⊢ ( LSAtoms ‘ 𝑈 ) = ( LSAtoms ‘ 𝑈 )
14 eqid ⊢ ( LSAtoms ‘ 𝐶 ) = ( LSAtoms ‘ 𝐶 )
15 9 adantr ⊢ ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ ( LSAtoms ‘ 𝑈 ) ) → ( 𝐾 ∈ HL ∧ 𝑊 ∈ 𝐻 ) )
16 simpr ⊢ ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ ( LSAtoms ‘ 𝑈 ) ) → ( 𝑁 ‘ { 𝑋 } ) ∈ ( LSAtoms ‘ 𝑈 ) )
17 1 2 3 13 6 14 15 16 mapdat ⊢ ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ ( LSAtoms ‘ 𝑈 ) ) → ( 𝑀 ‘ ( 𝑁 ‘ { 𝑋 } ) ) ∈ ( LSAtoms ‘ 𝐶 ) )
18 7 8 14 islsati ⊢ ( ( 𝐶 ∈ LMod ∧ ( 𝑀 ‘ ( 𝑁 ‘ { 𝑋 } ) ) ∈ ( LSAtoms ‘ 𝐶 ) ) → ∃ 𝑔 ∈ 𝐵 ( 𝑀 ‘ ( 𝑁 ‘ { 𝑋 } ) ) = ( 𝐽 ‘ { 𝑔 } ) )
19 12 17 18 syl2anc ⊢ ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ ( LSAtoms ‘ 𝑈 ) ) → ∃ 𝑔 ∈ 𝐵 ( 𝑀 ‘ ( 𝑁 ‘ { 𝑋 } ) ) = ( 𝐽 ‘ { 𝑔 } ) )
20 eqid ⊢ ( 0g ‘ 𝐶 ) = ( 0g ‘ 𝐶 )
21 1 6 7 20 9 lcd0vcl ⊢ ( 𝜑 → ( 0g ‘ 𝐶 ) ∈ 𝐵 )
22 21 adantr ⊢ ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) = { ( 0g ‘ 𝑈 ) } ) → ( 0g ‘ 𝐶 ) ∈ 𝐵 )
23 fveq2 ⊢ ( ( 𝑁 ‘ { 𝑋 } ) = { ( 0g ‘ 𝑈 ) } → ( 𝑀 ‘ ( 𝑁 ‘ { 𝑋 } ) ) = ( 𝑀 ‘ { ( 0g ‘ 𝑈 ) } ) )
24 eqid ⊢ ( 0g ‘ 𝑈 ) = ( 0g ‘ 𝑈 )
25 1 2 3 24 6 20 9 mapd0 ⊢ ( 𝜑 → ( 𝑀 ‘ { ( 0g ‘ 𝑈 ) } ) = { ( 0g ‘ 𝐶 ) } )
26 20 8 lspsn0 ⊢ ( 𝐶 ∈ LMod → ( 𝐽 ‘ { ( 0g ‘ 𝐶 ) } ) = { ( 0g ‘ 𝐶 ) } )
27 11 26 syl ⊢ ( 𝜑 → ( 𝐽 ‘ { ( 0g ‘ 𝐶 ) } ) = { ( 0g ‘ 𝐶 ) } )
28 25 27 eqtr4d ⊢ ( 𝜑 → ( 𝑀 ‘ { ( 0g ‘ 𝑈 ) } ) = ( 𝐽 ‘ { ( 0g ‘ 𝐶 ) } ) )
29 23 28 sylan9eqr ⊢ ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) = { ( 0g ‘ 𝑈 ) } ) → ( 𝑀 ‘ ( 𝑁 ‘ { 𝑋 } ) ) = ( 𝐽 ‘ { ( 0g ‘ 𝐶 ) } ) )
30 sneq ⊢ ( 𝑔 = ( 0g ‘ 𝐶 ) → { 𝑔 } = { ( 0g ‘ 𝐶 ) } )
31 30 fveq2d ⊢ ( 𝑔 = ( 0g ‘ 𝐶 ) → ( 𝐽 ‘ { 𝑔 } ) = ( 𝐽 ‘ { ( 0g ‘ 𝐶 ) } ) )
32 31 rspceeqv ⊢ ( ( ( 0g ‘ 𝐶 ) ∈ 𝐵 ∧ ( 𝑀 ‘ ( 𝑁 ‘ { 𝑋 } ) ) = ( 𝐽 ‘ { ( 0g ‘ 𝐶 ) } ) ) → ∃ 𝑔 ∈ 𝐵 ( 𝑀 ‘ ( 𝑁 ‘ { 𝑋 } ) ) = ( 𝐽 ‘ { 𝑔 } ) )
33 22 29 32 syl2anc ⊢ ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) = { ( 0g ‘ 𝑈 ) } ) → ∃ 𝑔 ∈ 𝐵 ( 𝑀 ‘ ( 𝑁 ‘ { 𝑋 } ) ) = ( 𝐽 ‘ { 𝑔 } ) )
34 1 3 9 dvhlmod ⊢ ( 𝜑 → 𝑈 ∈ LMod )
35 4 5 24 13 34 10 lsator0sp ⊢ ( 𝜑 → ( ( 𝑁 ‘ { 𝑋 } ) ∈ ( LSAtoms ‘ 𝑈 ) ∨ ( 𝑁 ‘ { 𝑋 } ) = { ( 0g ‘ 𝑈 ) } ) )
36 19 33 35 mpjaodan ⊢ ( 𝜑 → ∃ 𝑔 ∈ 𝐵 ( 𝑀 ‘ ( 𝑁 ‘ { 𝑋 } ) ) = ( 𝐽 ‘ { 𝑔 } ) )