Metamath Proof Explorer


Theorem imasip

Description: The inner product of an image structure. (Contributed by Thierry Arnoux, 16-Jun-2019)

Ref Expression
Hypotheses imasbas.u ⊢ ( 𝜑 → 𝑈 = ( 𝐹 “s 𝑅 ) )
imasbas.v ⊢ ( 𝜑 → 𝑉 = ( Base ‘ 𝑅 ) )
imasbas.f ⊢ ( 𝜑 → 𝐹 : 𝑉 –onto→ 𝐵 )
imasbas.r ⊢ ( 𝜑 → 𝑅 ∈ 𝑍 )
imasip.i ⊢ , = ( ·𝑖 ‘ 𝑅 )
imasip.w ⊢ 𝐼 = ( ·𝑖 ‘ 𝑈 )
Assertion imasip ( 𝜑 → 𝐼 = ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } )

Proof

Step Hyp Ref Expression
1 imasbas.u ⊢ ( 𝜑 → 𝑈 = ( 𝐹 “s 𝑅 ) )
2 imasbas.v ⊢ ( 𝜑 → 𝑉 = ( Base ‘ 𝑅 ) )
3 imasbas.f ⊢ ( 𝜑 → 𝐹 : 𝑉 –onto→ 𝐵 )
4 imasbas.r ⊢ ( 𝜑 → 𝑅 ∈ 𝑍 )
5 imasip.i ⊢ , = ( ·𝑖 ‘ 𝑅 )
6 imasip.w ⊢ 𝐼 = ( ·𝑖 ‘ 𝑈 )
7 eqid ⊢ ( +g ‘ 𝑅 ) = ( +g ‘ 𝑅 )
8 eqid ⊢ ( .r ‘ 𝑅 ) = ( .r ‘ 𝑅 )
9 eqid ⊢ ( Scalar ‘ 𝑅 ) = ( Scalar ‘ 𝑅 )
10 eqid ⊢ ( Base ‘ ( Scalar ‘ 𝑅 ) ) = ( Base ‘ ( Scalar ‘ 𝑅 ) )
11 eqid ⊢ ( ·𝑠 ‘ 𝑅 ) = ( ·𝑠 ‘ 𝑅 )
12 eqid ⊢ ( TopOpen ‘ 𝑅 ) = ( TopOpen ‘ 𝑅 )
13 eqid ⊢ ( dist ‘ 𝑅 ) = ( dist ‘ 𝑅 )
14 eqid ⊢ ( le ‘ 𝑅 ) = ( le ‘ 𝑅 )
15 eqid ⊢ ( +g ‘ 𝑈 ) = ( +g ‘ 𝑈 )
16 1 2 3 4 7 15 imasplusg ⊢ ( 𝜑 → ( +g ‘ 𝑈 ) = ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 ( +g ‘ 𝑅 ) 𝑞 ) ) ⟩ } )
17 eqid ⊢ ( .r ‘ 𝑈 ) = ( .r ‘ 𝑈 )
18 1 2 3 4 8 17 imasmulr ⊢ ( 𝜑 → ( .r ‘ 𝑈 ) = ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 ( .r ‘ 𝑅 ) 𝑞 ) ) ⟩ } )
19 eqid ⊢ ( ·𝑠 ‘ 𝑈 ) = ( ·𝑠 ‘ 𝑈 )
20 1 2 3 4 9 10 11 19 imasvsca ⊢ ( 𝜑 → ( ·𝑠 ‘ 𝑈 ) = ∪ 𝑞 ∈ 𝑉 ( 𝑝 ∈ ( Base ‘ ( Scalar ‘ 𝑅 ) ) , 𝑥 ∈ { ( 𝐹 ‘ 𝑞 ) } ↦ ( 𝐹 ‘ ( 𝑝 ( ·𝑠 ‘ 𝑅 ) 𝑞 ) ) ) )
21 eqidd ⊢ ( 𝜑 → ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } = ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } )
22 eqidd ⊢ ( 𝜑 → ( ( TopOpen ‘ 𝑅 ) qTop 𝐹 ) = ( ( TopOpen ‘ 𝑅 ) qTop 𝐹 ) )
23 eqid ⊢ ( dist ‘ 𝑈 ) = ( dist ‘ 𝑈 )
24 1 2 3 4 13 23 imasds ⊢ ( 𝜑 → ( dist ‘ 𝑈 ) = ( 𝑥 ∈ 𝐵 , 𝑦 ∈ 𝐵 ↦ inf ( ∪ 𝑢 ∈ ℕ ran ( 𝑧 ∈ { 𝑤 ∈ ( ( 𝑉 × 𝑉 ) ↑m ( 1 ... 𝑢 ) ) ∣ ( ( 𝐹 ‘ ( 1st ‘ ( 𝑤 ‘ 1 ) ) ) = 𝑥 ∧ ( 𝐹 ‘ ( 2nd ‘ ( 𝑤 ‘ 𝑢 ) ) ) = 𝑦 ∧ ∀ 𝑣 ∈ ( 1 ... ( 𝑢 − 1 ) ) ( 𝐹 ‘ ( 2nd ‘ ( 𝑤 ‘ 𝑣 ) ) ) = ( 𝐹 ‘ ( 1st ‘ ( 𝑤 ‘ ( 𝑣 + 1 ) ) ) ) ) } ↦ ( ℝ*𝑠 Σg ( ( dist ‘ 𝑅 ) ∘ 𝑧 ) ) ) , ℝ* , < ) ) )
25 eqidd ⊢ ( 𝜑 → ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ ◡ 𝐹 ) = ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ ◡ 𝐹 ) )
26 1 2 7 8 9 10 11 5 12 13 14 16 18 20 21 22 24 25 3 4 imasval ⊢ ( 𝜑 → 𝑈 = ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g ‘ 𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r ‘ 𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠 ‘ 𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( ( TopOpen ‘ 𝑅 ) qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ ◡ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } ) )
27 eqid ⊢ ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g ‘ 𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r ‘ 𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠 ‘ 𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( ( TopOpen ‘ 𝑅 ) qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ ◡ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } ) = ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g ‘ 𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r ‘ 𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠 ‘ 𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( ( TopOpen ‘ 𝑅 ) qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ ◡ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } )
28 27 imasvalstr ⊢ ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g ‘ 𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r ‘ 𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠 ‘ 𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( ( TopOpen ‘ 𝑅 ) qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ ◡ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } ) Struct ⟨ 1 , 1 2 ⟩
29 ipid ⊢ ·𝑖 = Slot ( ·𝑖 ‘ ndx )
30 snsstp3 ⊢ { ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } ⊆ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠 ‘ 𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ }
31 ssun2 ⊢ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠 ‘ 𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } ⊆ ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g ‘ 𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r ‘ 𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠 ‘ 𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } )
32 30 31 sstri ⊢ { ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } ⊆ ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g ‘ 𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r ‘ 𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠 ‘ 𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } )
33 ssun1 ⊢ ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g ‘ 𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r ‘ 𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠 ‘ 𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } ) ⊆ ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g ‘ 𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r ‘ 𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠 ‘ 𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( ( TopOpen ‘ 𝑅 ) qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ ◡ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } )
34 32 33 sstri ⊢ { ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } ⊆ ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g ‘ 𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r ‘ 𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠 ‘ 𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( ( TopOpen ‘ 𝑅 ) qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ ◡ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } )
35 fvex ⊢ ( Base ‘ 𝑅 ) ∈ V
36 2 35 eqeltrdi ⊢ ( 𝜑 → 𝑉 ∈ V )
37 snex ⊢ { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ∈ V
38 37 rgenw ⊢ ∀ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ∈ V
39 iunexg ⊢ ( ( 𝑉 ∈ V ∧ ∀ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ∈ V ) → ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ∈ V )
40 36 38 39 sylancl ⊢ ( 𝜑 → ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ∈ V )
41 40 ralrimivw ⊢ ( 𝜑 → ∀ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ∈ V )
42 iunexg ⊢ ( ( 𝑉 ∈ V ∧ ∀ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ∈ V ) → ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ∈ V )
43 36 41 42 syl2anc ⊢ ( 𝜑 → ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } ∈ V )
44 26 28 29 34 43 6 strfv3 ⊢ ( 𝜑 → 𝐼 = ∪ 𝑝 ∈ 𝑉 ∪ 𝑞 ∈ 𝑉 { ⟨ ⟨ ( 𝐹 ‘ 𝑝 ) , ( 𝐹 ‘ 𝑞 ) ⟩ , ( 𝑝 , 𝑞 ) ⟩ } )