Metamath Proof Explorer


Theorem ip2eq

Description: Two vectors are equal iff their inner products with all other vectors are equal. (Contributed by NM, 24-Jan-2008) (Revised by Mario Carneiro, 7-Oct-2015)

Ref Expression
Hypotheses ip2eq.h , = ( ·𝑖𝑊 )
ip2eq.v 𝑉 = ( Base ‘ 𝑊 )
Assertion ip2eq ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( 𝐴 = 𝐵 ↔ ∀ 𝑥𝑉 ( 𝑥 , 𝐴 ) = ( 𝑥 , 𝐵 ) ) )

Proof

Step Hyp Ref Expression
1 ip2eq.h , = ( ·𝑖𝑊 )
2 ip2eq.v 𝑉 = ( Base ‘ 𝑊 )
3 oveq2 ( 𝐴 = 𝐵 → ( 𝑥 , 𝐴 ) = ( 𝑥 , 𝐵 ) )
4 3 ralrimivw ( 𝐴 = 𝐵 → ∀ 𝑥𝑉 ( 𝑥 , 𝐴 ) = ( 𝑥 , 𝐵 ) )
5 phllmod ( 𝑊 ∈ PreHil → 𝑊 ∈ LMod )
6 eqid ( -g𝑊 ) = ( -g𝑊 )
7 2 6 lmodvsubcl ( ( 𝑊 ∈ LMod ∧ 𝐴𝑉𝐵𝑉 ) → ( 𝐴 ( -g𝑊 ) 𝐵 ) ∈ 𝑉 )
8 5 7 syl3an1 ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( 𝐴 ( -g𝑊 ) 𝐵 ) ∈ 𝑉 )
9 oveq1 ( 𝑥 = ( 𝐴 ( -g𝑊 ) 𝐵 ) → ( 𝑥 , 𝐴 ) = ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) )
10 oveq1 ( 𝑥 = ( 𝐴 ( -g𝑊 ) 𝐵 ) → ( 𝑥 , 𝐵 ) = ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) )
11 9 10 eqeq12d ( 𝑥 = ( 𝐴 ( -g𝑊 ) 𝐵 ) → ( ( 𝑥 , 𝐴 ) = ( 𝑥 , 𝐵 ) ↔ ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) = ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ) )
12 11 rspcv ( ( 𝐴 ( -g𝑊 ) 𝐵 ) ∈ 𝑉 → ( ∀ 𝑥𝑉 ( 𝑥 , 𝐴 ) = ( 𝑥 , 𝐵 ) → ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) = ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ) )
13 8 12 syl ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( ∀ 𝑥𝑉 ( 𝑥 , 𝐴 ) = ( 𝑥 , 𝐵 ) → ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) = ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ) )
14 simp1 ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → 𝑊 ∈ PreHil )
15 simp2 ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → 𝐴𝑉 )
16 simp3 ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → 𝐵𝑉 )
17 eqid ( Scalar ‘ 𝑊 ) = ( Scalar ‘ 𝑊 )
18 eqid ( -g ‘ ( Scalar ‘ 𝑊 ) ) = ( -g ‘ ( Scalar ‘ 𝑊 ) )
19 17 1 2 6 18 ipsubdi ( ( 𝑊 ∈ PreHil ∧ ( ( 𝐴 ( -g𝑊 ) 𝐵 ) ∈ 𝑉𝐴𝑉𝐵𝑉 ) ) → ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , ( 𝐴 ( -g𝑊 ) 𝐵 ) ) = ( ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) ( -g ‘ ( Scalar ‘ 𝑊 ) ) ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ) )
20 14 8 15 16 19 syl13anc ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , ( 𝐴 ( -g𝑊 ) 𝐵 ) ) = ( ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) ( -g ‘ ( Scalar ‘ 𝑊 ) ) ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ) )
21 20 eqeq1d ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , ( 𝐴 ( -g𝑊 ) 𝐵 ) ) = ( 0g ‘ ( Scalar ‘ 𝑊 ) ) ↔ ( ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) ( -g ‘ ( Scalar ‘ 𝑊 ) ) ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ) = ( 0g ‘ ( Scalar ‘ 𝑊 ) ) ) )
22 eqid ( 0g ‘ ( Scalar ‘ 𝑊 ) ) = ( 0g ‘ ( Scalar ‘ 𝑊 ) )
23 eqid ( 0g𝑊 ) = ( 0g𝑊 )
24 17 1 2 22 23 ipeq0 ( ( 𝑊 ∈ PreHil ∧ ( 𝐴 ( -g𝑊 ) 𝐵 ) ∈ 𝑉 ) → ( ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , ( 𝐴 ( -g𝑊 ) 𝐵 ) ) = ( 0g ‘ ( Scalar ‘ 𝑊 ) ) ↔ ( 𝐴 ( -g𝑊 ) 𝐵 ) = ( 0g𝑊 ) ) )
25 14 8 24 syl2anc ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , ( 𝐴 ( -g𝑊 ) 𝐵 ) ) = ( 0g ‘ ( Scalar ‘ 𝑊 ) ) ↔ ( 𝐴 ( -g𝑊 ) 𝐵 ) = ( 0g𝑊 ) ) )
26 21 25 bitr3d ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( ( ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) ( -g ‘ ( Scalar ‘ 𝑊 ) ) ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ) = ( 0g ‘ ( Scalar ‘ 𝑊 ) ) ↔ ( 𝐴 ( -g𝑊 ) 𝐵 ) = ( 0g𝑊 ) ) )
27 5 3ad2ant1 ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → 𝑊 ∈ LMod )
28 17 lmodfgrp ( 𝑊 ∈ LMod → ( Scalar ‘ 𝑊 ) ∈ Grp )
29 27 28 syl ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( Scalar ‘ 𝑊 ) ∈ Grp )
30 eqid ( Base ‘ ( Scalar ‘ 𝑊 ) ) = ( Base ‘ ( Scalar ‘ 𝑊 ) )
31 17 1 2 30 ipcl ( ( 𝑊 ∈ PreHil ∧ ( 𝐴 ( -g𝑊 ) 𝐵 ) ∈ 𝑉𝐴𝑉 ) → ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) )
32 14 8 15 31 syl3anc ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) )
33 17 1 2 30 ipcl ( ( 𝑊 ∈ PreHil ∧ ( 𝐴 ( -g𝑊 ) 𝐵 ) ∈ 𝑉𝐵𝑉 ) → ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) )
34 14 8 16 33 syl3anc ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) )
35 30 22 18 grpsubeq0 ( ( ( Scalar ‘ 𝑊 ) ∈ Grp ∧ ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∧ ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ) → ( ( ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) ( -g ‘ ( Scalar ‘ 𝑊 ) ) ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ) = ( 0g ‘ ( Scalar ‘ 𝑊 ) ) ↔ ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) = ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ) )
36 29 32 34 35 syl3anc ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( ( ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) ( -g ‘ ( Scalar ‘ 𝑊 ) ) ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ) = ( 0g ‘ ( Scalar ‘ 𝑊 ) ) ↔ ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) = ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ) )
37 lmodgrp ( 𝑊 ∈ LMod → 𝑊 ∈ Grp )
38 5 37 syl ( 𝑊 ∈ PreHil → 𝑊 ∈ Grp )
39 2 23 6 grpsubeq0 ( ( 𝑊 ∈ Grp ∧ 𝐴𝑉𝐵𝑉 ) → ( ( 𝐴 ( -g𝑊 ) 𝐵 ) = ( 0g𝑊 ) ↔ 𝐴 = 𝐵 ) )
40 38 39 syl3an1 ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( ( 𝐴 ( -g𝑊 ) 𝐵 ) = ( 0g𝑊 ) ↔ 𝐴 = 𝐵 ) )
41 26 36 40 3bitr3d ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐴 ) = ( ( 𝐴 ( -g𝑊 ) 𝐵 ) , 𝐵 ) ↔ 𝐴 = 𝐵 ) )
42 13 41 sylibd ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( ∀ 𝑥𝑉 ( 𝑥 , 𝐴 ) = ( 𝑥 , 𝐵 ) → 𝐴 = 𝐵 ) )
43 4 42 impbid2 ( ( 𝑊 ∈ PreHil ∧ 𝐴𝑉𝐵𝑉 ) → ( 𝐴 = 𝐵 ↔ ∀ 𝑥𝑉 ( 𝑥 , 𝐴 ) = ( 𝑥 , 𝐵 ) ) )