Metamath Proof Explorer


Theorem imastset

Description: The topology of an image structure. (Contributed by Mario Carneiro, 23-Feb-2015)

Ref Expression
Hypotheses imasbas.u ( 𝜑𝑈 = ( 𝐹s 𝑅 ) )
imasbas.v ( 𝜑𝑉 = ( Base ‘ 𝑅 ) )
imasbas.f ( 𝜑𝐹 : 𝑉onto𝐵 )
imasbas.r ( 𝜑𝑅𝑍 )
imastset.j 𝐽 = ( TopOpen ‘ 𝑅 )
imastset.o 𝑂 = ( TopSet ‘ 𝑈 )
Assertion imastset ( 𝜑𝑂 = ( 𝐽 qTop 𝐹 ) )

Proof

Step Hyp Ref Expression
1 imasbas.u ( 𝜑𝑈 = ( 𝐹s 𝑅 ) )
2 imasbas.v ( 𝜑𝑉 = ( Base ‘ 𝑅 ) )
3 imasbas.f ( 𝜑𝐹 : 𝑉onto𝐵 )
4 imasbas.r ( 𝜑𝑅𝑍 )
5 imastset.j 𝐽 = ( TopOpen ‘ 𝑅 )
6 imastset.o 𝑂 = ( TopSet ‘ 𝑈 )
7 eqid ( +g𝑅 ) = ( +g𝑅 )
8 eqid ( .r𝑅 ) = ( .r𝑅 )
9 eqid ( Scalar ‘ 𝑅 ) = ( Scalar ‘ 𝑅 )
10 eqid ( Base ‘ ( Scalar ‘ 𝑅 ) ) = ( Base ‘ ( Scalar ‘ 𝑅 ) )
11 eqid ( ·𝑠𝑅 ) = ( ·𝑠𝑅 )
12 eqid ( ·𝑖𝑅 ) = ( ·𝑖𝑅 )
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 ( 𝜑 → ( 𝐽 qTop 𝐹 ) = ( 𝐽 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 12 5 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 ) , ( 𝐽 qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } ) )
27 26 fveq2d ( 𝜑 → ( TopSet ‘ 𝑈 ) = ( TopSet ‘ ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝑝 ( ·𝑖𝑅 ) 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( 𝐽 qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } ) ) )
28 ovex ( 𝐽 qTop 𝐹 ) ∈ V
29 eqid ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝑝 ( ·𝑖𝑅 ) 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( 𝐽 qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } ) = ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝑝 ( ·𝑖𝑅 ) 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( 𝐽 qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } )
30 29 imasvalstr ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝑝 ( ·𝑖𝑅 ) 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( 𝐽 qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } ) Struct ⟨ 1 , 1 2 ⟩
31 tsetid TopSet = Slot ( TopSet ‘ ndx )
32 snsstp1 { ⟨ ( TopSet ‘ ndx ) , ( 𝐽 qTop 𝐹 ) ⟩ } ⊆ { ⟨ ( TopSet ‘ ndx ) , ( 𝐽 qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ }
33 ssun2 { ⟨ ( TopSet ‘ ndx ) , ( 𝐽 qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } ⊆ ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝑝 ( ·𝑖𝑅 ) 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( 𝐽 qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } )
34 32 33 sstri { ⟨ ( TopSet ‘ ndx ) , ( 𝐽 qTop 𝐹 ) ⟩ } ⊆ ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝑝 ( ·𝑖𝑅 ) 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( 𝐽 qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } )
35 30 31 34 strfv ( ( 𝐽 qTop 𝐹 ) ∈ V → ( 𝐽 qTop 𝐹 ) = ( TopSet ‘ ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝑝 ( ·𝑖𝑅 ) 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( 𝐽 qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } ) ) )
36 28 35 ax-mp ( 𝐽 qTop 𝐹 ) = ( TopSet ‘ ( ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , ( +g𝑈 ) ⟩ , ⟨ ( .r ‘ ndx ) , ( .r𝑈 ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑅 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( ·𝑠𝑈 ) ⟩ , ⟨ ( ·𝑖 ‘ ndx ) , 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝑝 ( ·𝑖𝑅 ) 𝑞 ) ⟩ } ⟩ } ) ∪ { ⟨ ( TopSet ‘ ndx ) , ( 𝐽 qTop 𝐹 ) ⟩ , ⟨ ( le ‘ ndx ) , ( ( 𝐹 ∘ ( le ‘ 𝑅 ) ) ∘ 𝐹 ) ⟩ , ⟨ ( dist ‘ ndx ) , ( dist ‘ 𝑈 ) ⟩ } ) )
37 27 6 36 3eqtr4g ( 𝜑𝑂 = ( 𝐽 qTop 𝐹 ) )