Metamath Proof Explorer


Theorem ioorrnopnxr

Description: The indexed product of open intervals is an open set in ( RR^X ) . Similar to ioorrnopn but here unbounded intervals are allowed. (Contributed by Glauco Siliprandi, 8-Apr-2021)

Ref Expression
Hypotheses ioorrnopnxr.x ( 𝜑𝑋 ∈ Fin )
ioorrnopnxr.a ( 𝜑𝐴 : 𝑋 ⟶ ℝ* )
ioorrnopnxr.b ( 𝜑𝐵 : 𝑋 ⟶ ℝ* )
Assertion ioorrnopnxr ( 𝜑X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) )

Proof

Step Hyp Ref Expression
1 ioorrnopnxr.x ( 𝜑𝑋 ∈ Fin )
2 ioorrnopnxr.a ( 𝜑𝐴 : 𝑋 ⟶ ℝ* )
3 ioorrnopnxr.b ( 𝜑𝐵 : 𝑋 ⟶ ℝ* )
4 p0ex { ∅ } ∈ V
5 4 prid2 { ∅ } ∈ { ∅ , { ∅ } }
6 5 a1i ( 𝑋 = ∅ → { ∅ } ∈ { ∅ , { ∅ } } )
7 ixpeq1 ( 𝑋 = ∅ → X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) = X 𝑖 ∈ ∅ ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) )
8 ixp0x X 𝑖 ∈ ∅ ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) = { ∅ }
9 8 a1i ( 𝑋 = ∅ → X 𝑖 ∈ ∅ ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) = { ∅ } )
10 7 9 eqtrd ( 𝑋 = ∅ → X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) = { ∅ } )
11 2fveq3 ( 𝑋 = ∅ → ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) = ( TopOpen ‘ ( ℝ^ ‘ ∅ ) ) )
12 rrxtopn0b ( TopOpen ‘ ( ℝ^ ‘ ∅ ) ) = { ∅ , { ∅ } }
13 12 a1i ( 𝑋 = ∅ → ( TopOpen ‘ ( ℝ^ ‘ ∅ ) ) = { ∅ , { ∅ } } )
14 11 13 eqtrd ( 𝑋 = ∅ → ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) = { ∅ , { ∅ } } )
15 10 14 eleq12d ( 𝑋 = ∅ → ( X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) ↔ { ∅ } ∈ { ∅ , { ∅ } } ) )
16 6 15 mpbird ( 𝑋 = ∅ → X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) )
17 16 adantl ( ( 𝜑𝑋 = ∅ ) → X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) )
18 neqne ( ¬ 𝑋 = ∅ → 𝑋 ≠ ∅ )
19 18 adantl ( ( 𝜑 ∧ ¬ 𝑋 = ∅ ) → 𝑋 ≠ ∅ )
20 fveq2 ( 𝑖 = 𝑗 → ( 𝐴𝑖 ) = ( 𝐴𝑗 ) )
21 fveq2 ( 𝑖 = 𝑗 → ( 𝐵𝑖 ) = ( 𝐵𝑗 ) )
22 20 21 oveq12d ( 𝑖 = 𝑗 → ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) = ( ( 𝐴𝑗 ) (,) ( 𝐵𝑗 ) ) )
23 22 cbvixpv X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) = X 𝑗𝑋 ( ( 𝐴𝑗 ) (,) ( 𝐵𝑗 ) )
24 23 eleq2i ( 𝑓X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ↔ 𝑓X 𝑗𝑋 ( ( 𝐴𝑗 ) (,) ( 𝐵𝑗 ) ) )
25 24 bilani ( ( ( 𝜑𝑋 ≠ ∅ ) ∧ 𝑓X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ) → 𝑓X 𝑗𝑋 ( ( 𝐴𝑗 ) (,) ( 𝐵𝑗 ) ) )
26 1 ad2antrr ( ( ( 𝜑𝑋 ≠ ∅ ) ∧ 𝑓X 𝑗𝑋 ( ( 𝐴𝑗 ) (,) ( 𝐵𝑗 ) ) ) → 𝑋 ∈ Fin )
27 2 ad2antrr ( ( ( 𝜑𝑋 ≠ ∅ ) ∧ 𝑓X 𝑗𝑋 ( ( 𝐴𝑗 ) (,) ( 𝐵𝑗 ) ) ) → 𝐴 : 𝑋 ⟶ ℝ* )
28 3 ad2antrr ( ( ( 𝜑𝑋 ≠ ∅ ) ∧ 𝑓X 𝑗𝑋 ( ( 𝐴𝑗 ) (,) ( 𝐵𝑗 ) ) ) → 𝐵 : 𝑋 ⟶ ℝ* )
29 24 bilanri ( ( ( 𝜑𝑋 ≠ ∅ ) ∧ 𝑓X 𝑗𝑋 ( ( 𝐴𝑗 ) (,) ( 𝐵𝑗 ) ) ) → 𝑓X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) )
30 fveq2 ( 𝑗 = 𝑖 → ( 𝐴𝑗 ) = ( 𝐴𝑖 ) )
31 30 eqeq1d ( 𝑗 = 𝑖 → ( ( 𝐴𝑗 ) = -∞ ↔ ( 𝐴𝑖 ) = -∞ ) )
32 fveq2 ( 𝑗 = 𝑖 → ( 𝑓𝑗 ) = ( 𝑓𝑖 ) )
33 32 oveq1d ( 𝑗 = 𝑖 → ( ( 𝑓𝑗 ) − 1 ) = ( ( 𝑓𝑖 ) − 1 ) )
34 31 33 30 ifbieq12d ( 𝑗 = 𝑖 → if ( ( 𝐴𝑗 ) = -∞ , ( ( 𝑓𝑗 ) − 1 ) , ( 𝐴𝑗 ) ) = if ( ( 𝐴𝑖 ) = -∞ , ( ( 𝑓𝑖 ) − 1 ) , ( 𝐴𝑖 ) ) )
35 34 cbvmptv ( 𝑗𝑋 ↦ if ( ( 𝐴𝑗 ) = -∞ , ( ( 𝑓𝑗 ) − 1 ) , ( 𝐴𝑗 ) ) ) = ( 𝑖𝑋 ↦ if ( ( 𝐴𝑖 ) = -∞ , ( ( 𝑓𝑖 ) − 1 ) , ( 𝐴𝑖 ) ) )
36 fveq2 ( 𝑗 = 𝑖 → ( 𝐵𝑗 ) = ( 𝐵𝑖 ) )
37 36 eqeq1d ( 𝑗 = 𝑖 → ( ( 𝐵𝑗 ) = +∞ ↔ ( 𝐵𝑖 ) = +∞ ) )
38 32 oveq1d ( 𝑗 = 𝑖 → ( ( 𝑓𝑗 ) + 1 ) = ( ( 𝑓𝑖 ) + 1 ) )
39 37 38 36 ifbieq12d ( 𝑗 = 𝑖 → if ( ( 𝐵𝑗 ) = +∞ , ( ( 𝑓𝑗 ) + 1 ) , ( 𝐵𝑗 ) ) = if ( ( 𝐵𝑖 ) = +∞ , ( ( 𝑓𝑖 ) + 1 ) , ( 𝐵𝑖 ) ) )
40 39 cbvmptv ( 𝑗𝑋 ↦ if ( ( 𝐵𝑗 ) = +∞ , ( ( 𝑓𝑗 ) + 1 ) , ( 𝐵𝑗 ) ) ) = ( 𝑖𝑋 ↦ if ( ( 𝐵𝑖 ) = +∞ , ( ( 𝑓𝑖 ) + 1 ) , ( 𝐵𝑖 ) ) )
41 eqid X 𝑖𝑋 ( ( ( 𝑗𝑋 ↦ if ( ( 𝐴𝑗 ) = -∞ , ( ( 𝑓𝑗 ) − 1 ) , ( 𝐴𝑗 ) ) ) ‘ 𝑖 ) (,) ( ( 𝑗𝑋 ↦ if ( ( 𝐵𝑗 ) = +∞ , ( ( 𝑓𝑗 ) + 1 ) , ( 𝐵𝑗 ) ) ) ‘ 𝑖 ) ) = X 𝑖𝑋 ( ( ( 𝑗𝑋 ↦ if ( ( 𝐴𝑗 ) = -∞ , ( ( 𝑓𝑗 ) − 1 ) , ( 𝐴𝑗 ) ) ) ‘ 𝑖 ) (,) ( ( 𝑗𝑋 ↦ if ( ( 𝐵𝑗 ) = +∞ , ( ( 𝑓𝑗 ) + 1 ) , ( 𝐵𝑗 ) ) ) ‘ 𝑖 ) )
42 26 27 28 29 35 40 41 ioorrnopnxrlem ( ( ( 𝜑𝑋 ≠ ∅ ) ∧ 𝑓X 𝑗𝑋 ( ( 𝐴𝑗 ) (,) ( 𝐵𝑗 ) ) ) → ∃ 𝑣 ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) ( 𝑓𝑣𝑣X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ) )
43 25 42 syldan ( ( ( 𝜑𝑋 ≠ ∅ ) ∧ 𝑓X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ) → ∃ 𝑣 ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) ( 𝑓𝑣𝑣X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ) )
44 43 ralrimiva ( ( 𝜑𝑋 ≠ ∅ ) → ∀ 𝑓X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ∃ 𝑣 ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) ( 𝑓𝑣𝑣X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ) )
45 eqid ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) = ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) )
46 45 rrxtop ( 𝑋 ∈ Fin → ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) ∈ Top )
47 1 46 syl ( 𝜑 → ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) ∈ Top )
48 47 adantr ( ( 𝜑𝑋 ≠ ∅ ) → ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) ∈ Top )
49 eltop2 ( ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) ∈ Top → ( X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) ↔ ∀ 𝑓X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ∃ 𝑣 ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) ( 𝑓𝑣𝑣X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ) ) )
50 48 49 syl ( ( 𝜑𝑋 ≠ ∅ ) → ( X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) ↔ ∀ 𝑓X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ∃ 𝑣 ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) ( 𝑓𝑣𝑣X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ) ) )
51 44 50 mpbird ( ( 𝜑𝑋 ≠ ∅ ) → X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) )
52 19 51 syldan ( ( 𝜑 ∧ ¬ 𝑋 = ∅ ) → X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) )
53 17 52 pm2.61dan ( 𝜑X 𝑖𝑋 ( ( 𝐴𝑖 ) (,) ( 𝐵𝑖 ) ) ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝑋 ) ) )