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 ( 𝜑 → ∃ 𝑔𝐵 ( 𝑀 ‘ ( 𝑁 ‘ { 𝑋 } ) ) = ( 𝐽 ‘ { 𝑔 } ) )