Metamath Proof Explorer


Theorem rrxmvallem

Description: Support of the function used for building the distance . (Contributed by Thierry Arnoux, 30-Jun-2019)

Ref Expression
Hypothesis rrxmval.1 𝑋 = { ∈ ( ℝ ↑m 𝐼 ) ∣ finSupp 0 }
Assertion rrxmvallem ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) → ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) supp 0 ) ⊆ ( ( 𝐹 supp 0 ) ∪ ( 𝐺 supp 0 ) ) )

Proof

Step Hyp Ref Expression
1 rrxmval.1 𝑋 = { ∈ ( ℝ ↑m 𝐼 ) ∣ finSupp 0 }
2 simprl ( ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) ∧ ( ( 𝐹𝑥 ) = 0 ∧ ( 𝐺𝑥 ) = 0 ) ) → ( 𝐹𝑥 ) = 0 )
3 0cn 0 ∈ ℂ
4 2 3 eqeltrdi ( ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) ∧ ( ( 𝐹𝑥 ) = 0 ∧ ( 𝐺𝑥 ) = 0 ) ) → ( 𝐹𝑥 ) ∈ ℂ )
5 simprr ( ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) ∧ ( ( 𝐹𝑥 ) = 0 ∧ ( 𝐺𝑥 ) = 0 ) ) → ( 𝐺𝑥 ) = 0 )
6 2 5 eqtr4d ( ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) ∧ ( ( 𝐹𝑥 ) = 0 ∧ ( 𝐺𝑥 ) = 0 ) ) → ( 𝐹𝑥 ) = ( 𝐺𝑥 ) )
7 4 6 subeq0bd ( ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) ∧ ( ( 𝐹𝑥 ) = 0 ∧ ( 𝐺𝑥 ) = 0 ) ) → ( ( 𝐹𝑥 ) − ( 𝐺𝑥 ) ) = 0 )
8 7 sq0id ( ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) ∧ ( ( 𝐹𝑥 ) = 0 ∧ ( 𝐺𝑥 ) = 0 ) ) → ( ( ( 𝐹𝑥 ) − ( 𝐺𝑥 ) ) ↑ 2 ) = 0 )
9 8 ex ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) → ( ( ( 𝐹𝑥 ) = 0 ∧ ( 𝐺𝑥 ) = 0 ) → ( ( ( 𝐹𝑥 ) − ( 𝐺𝑥 ) ) ↑ 2 ) = 0 ) )
10 ioran ( ¬ ( ( 𝐹𝑥 ) ≠ 0 ∨ ( 𝐺𝑥 ) ≠ 0 ) ↔ ( ¬ ( 𝐹𝑥 ) ≠ 0 ∧ ¬ ( 𝐺𝑥 ) ≠ 0 ) )
11 nne ( ¬ ( 𝐹𝑥 ) ≠ 0 ↔ ( 𝐹𝑥 ) = 0 )
12 nne ( ¬ ( 𝐺𝑥 ) ≠ 0 ↔ ( 𝐺𝑥 ) = 0 )
13 11 12 anbi12i ( ( ¬ ( 𝐹𝑥 ) ≠ 0 ∧ ¬ ( 𝐺𝑥 ) ≠ 0 ) ↔ ( ( 𝐹𝑥 ) = 0 ∧ ( 𝐺𝑥 ) = 0 ) )
14 10 13 bitri ( ¬ ( ( 𝐹𝑥 ) ≠ 0 ∨ ( 𝐺𝑥 ) ≠ 0 ) ↔ ( ( 𝐹𝑥 ) = 0 ∧ ( 𝐺𝑥 ) = 0 ) )
15 14 a1i ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) → ( ¬ ( ( 𝐹𝑥 ) ≠ 0 ∨ ( 𝐺𝑥 ) ≠ 0 ) ↔ ( ( 𝐹𝑥 ) = 0 ∧ ( 𝐺𝑥 ) = 0 ) ) )
16 eqidd ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) → ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) = ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) )
17 simpr ( ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) ∧ 𝑘 = 𝑥 ) → 𝑘 = 𝑥 )
18 17 fveq2d ( ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) ∧ 𝑘 = 𝑥 ) → ( 𝐹𝑘 ) = ( 𝐹𝑥 ) )
19 17 fveq2d ( ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) ∧ 𝑘 = 𝑥 ) → ( 𝐺𝑘 ) = ( 𝐺𝑥 ) )
20 18 19 oveq12d ( ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) ∧ 𝑘 = 𝑥 ) → ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) = ( ( 𝐹𝑥 ) − ( 𝐺𝑥 ) ) )
21 20 oveq1d ( ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) ∧ 𝑘 = 𝑥 ) → ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) = ( ( ( 𝐹𝑥 ) − ( 𝐺𝑥 ) ) ↑ 2 ) )
22 simpr ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) → 𝑥𝐼 )
23 ovex ( ( ( 𝐹𝑥 ) − ( 𝐺𝑥 ) ) ↑ 2 ) ∈ V
24 23 a1i ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) → ( ( ( 𝐹𝑥 ) − ( 𝐺𝑥 ) ) ↑ 2 ) ∈ V )
25 16 21 22 24 fvmptd ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) → ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) ‘ 𝑥 ) = ( ( ( 𝐹𝑥 ) − ( 𝐺𝑥 ) ) ↑ 2 ) )
26 25 neeq1d ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) → ( ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) ‘ 𝑥 ) ≠ 0 ↔ ( ( ( 𝐹𝑥 ) − ( 𝐺𝑥 ) ) ↑ 2 ) ≠ 0 ) )
27 26 bicomd ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) → ( ( ( ( 𝐹𝑥 ) − ( 𝐺𝑥 ) ) ↑ 2 ) ≠ 0 ↔ ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) ‘ 𝑥 ) ≠ 0 ) )
28 27 necon1bbid ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) → ( ¬ ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) ‘ 𝑥 ) ≠ 0 ↔ ( ( ( 𝐹𝑥 ) − ( 𝐺𝑥 ) ) ↑ 2 ) = 0 ) )
29 9 15 28 3imtr4d ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) → ( ¬ ( ( 𝐹𝑥 ) ≠ 0 ∨ ( 𝐺𝑥 ) ≠ 0 ) → ¬ ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) ‘ 𝑥 ) ≠ 0 ) )
30 29 con4d ( ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) ∧ 𝑥𝐼 ) → ( ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) ‘ 𝑥 ) ≠ 0 → ( ( 𝐹𝑥 ) ≠ 0 ∨ ( 𝐺𝑥 ) ≠ 0 ) ) )
31 30 ss2rabdv ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) → { 𝑥𝐼 ∣ ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) ‘ 𝑥 ) ≠ 0 } ⊆ { 𝑥𝐼 ∣ ( ( 𝐹𝑥 ) ≠ 0 ∨ ( 𝐺𝑥 ) ≠ 0 ) } )
32 unrab ( { 𝑥𝐼 ∣ ( 𝐹𝑥 ) ≠ 0 } ∪ { 𝑥𝐼 ∣ ( 𝐺𝑥 ) ≠ 0 } ) = { 𝑥𝐼 ∣ ( ( 𝐹𝑥 ) ≠ 0 ∨ ( 𝐺𝑥 ) ≠ 0 ) }
33 31 32 sseqtrrdi ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) → { 𝑥𝐼 ∣ ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) ‘ 𝑥 ) ≠ 0 } ⊆ ( { 𝑥𝐼 ∣ ( 𝐹𝑥 ) ≠ 0 } ∪ { 𝑥𝐼 ∣ ( 𝐺𝑥 ) ≠ 0 } ) )
34 simp1 ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) → 𝐼𝑉 )
35 ovex ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ∈ V
36 eqid ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) = ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) )
37 35 36 fnmpti ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) Fn 𝐼
38 suppvalfn ( ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) Fn 𝐼𝐼𝑉 ∧ 0 ∈ ℂ ) → ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) supp 0 ) = { 𝑥𝐼 ∣ ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) ‘ 𝑥 ) ≠ 0 } )
39 37 3 38 mp3an13 ( 𝐼𝑉 → ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) supp 0 ) = { 𝑥𝐼 ∣ ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) ‘ 𝑥 ) ≠ 0 } )
40 34 39 syl ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) → ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) supp 0 ) = { 𝑥𝐼 ∣ ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) ‘ 𝑥 ) ≠ 0 } )
41 elrabi ( 𝐹 ∈ { ∈ ( ℝ ↑m 𝐼 ) ∣ finSupp 0 } → 𝐹 ∈ ( ℝ ↑m 𝐼 ) )
42 41 1 eleq2s ( 𝐹𝑋𝐹 ∈ ( ℝ ↑m 𝐼 ) )
43 elmapi ( 𝐹 ∈ ( ℝ ↑m 𝐼 ) → 𝐹 : 𝐼 ⟶ ℝ )
44 ffn ( 𝐹 : 𝐼 ⟶ ℝ → 𝐹 Fn 𝐼 )
45 42 43 44 3syl ( 𝐹𝑋𝐹 Fn 𝐼 )
46 45 3ad2ant2 ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) → 𝐹 Fn 𝐼 )
47 3 a1i ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) → 0 ∈ ℂ )
48 suppvalfn ( ( 𝐹 Fn 𝐼𝐼𝑉 ∧ 0 ∈ ℂ ) → ( 𝐹 supp 0 ) = { 𝑥𝐼 ∣ ( 𝐹𝑥 ) ≠ 0 } )
49 46 34 47 48 syl3anc ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) → ( 𝐹 supp 0 ) = { 𝑥𝐼 ∣ ( 𝐹𝑥 ) ≠ 0 } )
50 elrabi ( 𝐺 ∈ { ∈ ( ℝ ↑m 𝐼 ) ∣ finSupp 0 } → 𝐺 ∈ ( ℝ ↑m 𝐼 ) )
51 50 1 eleq2s ( 𝐺𝑋𝐺 ∈ ( ℝ ↑m 𝐼 ) )
52 elmapi ( 𝐺 ∈ ( ℝ ↑m 𝐼 ) → 𝐺 : 𝐼 ⟶ ℝ )
53 ffn ( 𝐺 : 𝐼 ⟶ ℝ → 𝐺 Fn 𝐼 )
54 51 52 53 3syl ( 𝐺𝑋𝐺 Fn 𝐼 )
55 54 3ad2ant3 ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) → 𝐺 Fn 𝐼 )
56 suppvalfn ( ( 𝐺 Fn 𝐼𝐼𝑉 ∧ 0 ∈ ℂ ) → ( 𝐺 supp 0 ) = { 𝑥𝐼 ∣ ( 𝐺𝑥 ) ≠ 0 } )
57 55 34 47 56 syl3anc ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) → ( 𝐺 supp 0 ) = { 𝑥𝐼 ∣ ( 𝐺𝑥 ) ≠ 0 } )
58 49 57 uneq12d ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) → ( ( 𝐹 supp 0 ) ∪ ( 𝐺 supp 0 ) ) = ( { 𝑥𝐼 ∣ ( 𝐹𝑥 ) ≠ 0 } ∪ { 𝑥𝐼 ∣ ( 𝐺𝑥 ) ≠ 0 } ) )
59 33 40 58 3sstr4d ( ( 𝐼𝑉𝐹𝑋𝐺𝑋 ) → ( ( 𝑘𝐼 ↦ ( ( ( 𝐹𝑘 ) − ( 𝐺𝑘 ) ) ↑ 2 ) ) supp 0 ) ⊆ ( ( 𝐹 supp 0 ) ∪ ( 𝐺 supp 0 ) ) )