Metamath Proof Explorer


Theorem line

Description: The line passing through the two different points X and Y in a left module (or any extended structure having a base set, an addition, and a scalar multiplication). (Contributed by AV, 14-Jan-2023)

Ref Expression
Hypotheses lines.b 𝐵 = ( Base ‘ 𝑊 )
lines.l 𝐿 = ( LineM𝑊 )
lines.s 𝑆 = ( Scalar ‘ 𝑊 )
lines.k 𝐾 = ( Base ‘ 𝑆 )
lines.p · = ( ·𝑠𝑊 )
lines.a + = ( +g𝑊 )
lines.m = ( -g𝑆 )
lines.1 1 = ( 1r𝑆 )
Assertion line ( ( 𝑊𝑉 ∧ ( 𝑋𝐵𝑌𝐵𝑋𝑌 ) ) → ( 𝑋 𝐿 𝑌 ) = { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑋 ) + ( 𝑡 · 𝑌 ) ) } )

Proof

Step Hyp Ref Expression
1 lines.b 𝐵 = ( Base ‘ 𝑊 )
2 lines.l 𝐿 = ( LineM𝑊 )
3 lines.s 𝑆 = ( Scalar ‘ 𝑊 )
4 lines.k 𝐾 = ( Base ‘ 𝑆 )
5 lines.p · = ( ·𝑠𝑊 )
6 lines.a + = ( +g𝑊 )
7 lines.m = ( -g𝑆 )
8 lines.1 1 = ( 1r𝑆 )
9 1 2 3 4 5 6 7 8 lines ( 𝑊𝑉𝐿 = ( 𝑥𝐵 , 𝑦 ∈ ( 𝐵 ∖ { 𝑥 } ) ↦ { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑥 ) + ( 𝑡 · 𝑦 ) ) } ) )
10 9 oveqd ( 𝑊𝑉 → ( 𝑋 𝐿 𝑌 ) = ( 𝑋 ( 𝑥𝐵 , 𝑦 ∈ ( 𝐵 ∖ { 𝑥 } ) ↦ { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑥 ) + ( 𝑡 · 𝑦 ) ) } ) 𝑌 ) )
11 10 adantr ( ( 𝑊𝑉 ∧ ( 𝑋𝐵𝑌𝐵𝑋𝑌 ) ) → ( 𝑋 𝐿 𝑌 ) = ( 𝑋 ( 𝑥𝐵 , 𝑦 ∈ ( 𝐵 ∖ { 𝑥 } ) ↦ { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑥 ) + ( 𝑡 · 𝑦 ) ) } ) 𝑌 ) )
12 eqidd ( ( 𝑊𝑉 ∧ ( 𝑋𝐵𝑌𝐵𝑋𝑌 ) ) → ( 𝑥𝐵 , 𝑦 ∈ ( 𝐵 ∖ { 𝑥 } ) ↦ { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑥 ) + ( 𝑡 · 𝑦 ) ) } ) = ( 𝑥𝐵 , 𝑦 ∈ ( 𝐵 ∖ { 𝑥 } ) ↦ { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑥 ) + ( 𝑡 · 𝑦 ) ) } ) )
13 oveq2 ( 𝑥 = 𝑋 → ( ( 1 𝑡 ) · 𝑥 ) = ( ( 1 𝑡 ) · 𝑋 ) )
14 oveq2 ( 𝑦 = 𝑌 → ( 𝑡 · 𝑦 ) = ( 𝑡 · 𝑌 ) )
15 13 14 oveqan12d ( ( 𝑥 = 𝑋𝑦 = 𝑌 ) → ( ( ( 1 𝑡 ) · 𝑥 ) + ( 𝑡 · 𝑦 ) ) = ( ( ( 1 𝑡 ) · 𝑋 ) + ( 𝑡 · 𝑌 ) ) )
16 15 eqeq2d ( ( 𝑥 = 𝑋𝑦 = 𝑌 ) → ( 𝑝 = ( ( ( 1 𝑡 ) · 𝑥 ) + ( 𝑡 · 𝑦 ) ) ↔ 𝑝 = ( ( ( 1 𝑡 ) · 𝑋 ) + ( 𝑡 · 𝑌 ) ) ) )
17 16 rexbidv ( ( 𝑥 = 𝑋𝑦 = 𝑌 ) → ( ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑥 ) + ( 𝑡 · 𝑦 ) ) ↔ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑋 ) + ( 𝑡 · 𝑌 ) ) ) )
18 17 rabbidv ( ( 𝑥 = 𝑋𝑦 = 𝑌 ) → { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑥 ) + ( 𝑡 · 𝑦 ) ) } = { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑋 ) + ( 𝑡 · 𝑌 ) ) } )
19 18 adantl ( ( ( 𝑊𝑉 ∧ ( 𝑋𝐵𝑌𝐵𝑋𝑌 ) ) ∧ ( 𝑥 = 𝑋𝑦 = 𝑌 ) ) → { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑥 ) + ( 𝑡 · 𝑦 ) ) } = { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑋 ) + ( 𝑡 · 𝑌 ) ) } )
20 sneq ( 𝑥 = 𝑋 → { 𝑥 } = { 𝑋 } )
21 20 difeq2d ( 𝑥 = 𝑋 → ( 𝐵 ∖ { 𝑥 } ) = ( 𝐵 ∖ { 𝑋 } ) )
22 21 adantl ( ( ( 𝑊𝑉 ∧ ( 𝑋𝐵𝑌𝐵𝑋𝑌 ) ) ∧ 𝑥 = 𝑋 ) → ( 𝐵 ∖ { 𝑥 } ) = ( 𝐵 ∖ { 𝑋 } ) )
23 simpr1 ( ( 𝑊𝑉 ∧ ( 𝑋𝐵𝑌𝐵𝑋𝑌 ) ) → 𝑋𝐵 )
24 id ( 𝑋𝑌𝑋𝑌 )
25 24 necomd ( 𝑋𝑌𝑌𝑋 )
26 25 anim2i ( ( 𝑌𝐵𝑋𝑌 ) → ( 𝑌𝐵𝑌𝑋 ) )
27 26 3adant1 ( ( 𝑋𝐵𝑌𝐵𝑋𝑌 ) → ( 𝑌𝐵𝑌𝑋 ) )
28 eldifsn ( 𝑌 ∈ ( 𝐵 ∖ { 𝑋 } ) ↔ ( 𝑌𝐵𝑌𝑋 ) )
29 27 28 sylibr ( ( 𝑋𝐵𝑌𝐵𝑋𝑌 ) → 𝑌 ∈ ( 𝐵 ∖ { 𝑋 } ) )
30 29 adantl ( ( 𝑊𝑉 ∧ ( 𝑋𝐵𝑌𝐵𝑋𝑌 ) ) → 𝑌 ∈ ( 𝐵 ∖ { 𝑋 } ) )
31 1 fvexi 𝐵 ∈ V
32 31 rabex { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑋 ) + ( 𝑡 · 𝑌 ) ) } ∈ V
33 32 a1i ( ( 𝑊𝑉 ∧ ( 𝑋𝐵𝑌𝐵𝑋𝑌 ) ) → { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑋 ) + ( 𝑡 · 𝑌 ) ) } ∈ V )
34 12 19 22 23 30 33 ovmpodx ( ( 𝑊𝑉 ∧ ( 𝑋𝐵𝑌𝐵𝑋𝑌 ) ) → ( 𝑋 ( 𝑥𝐵 , 𝑦 ∈ ( 𝐵 ∖ { 𝑥 } ) ↦ { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑥 ) + ( 𝑡 · 𝑦 ) ) } ) 𝑌 ) = { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑋 ) + ( 𝑡 · 𝑌 ) ) } )
35 11 34 eqtrd ( ( 𝑊𝑉 ∧ ( 𝑋𝐵𝑌𝐵𝑋𝑌 ) ) → ( 𝑋 𝐿 𝑌 ) = { 𝑝𝐵 ∣ ∃ 𝑡𝐾 𝑝 = ( ( ( 1 𝑡 ) · 𝑋 ) + ( 𝑡 · 𝑌 ) ) } )