Metamath Proof Explorer


Theorem dya2iocuni

Description: Every open set of ( RR X. RR ) is a union of closed-below open-above dyadic rational rectangular subsets of ( RR X. RR ) . This union must be a countable union by dya2iocct . (Contributed by Thierry Arnoux, 18-Sep-2017)

Ref Expression
Hypotheses sxbrsiga.0 𝐽 = ( topGen ‘ ran (,) )
dya2ioc.1 𝐼 = ( 𝑥 ∈ ℤ , 𝑛 ∈ ℤ ↦ ( ( 𝑥 / ( 2 ↑ 𝑛 ) ) [,) ( ( 𝑥 + 1 ) / ( 2 ↑ 𝑛 ) ) ) )
dya2ioc.2 𝑅 = ( 𝑢 ∈ ran 𝐼 , 𝑣 ∈ ran 𝐼 ↦ ( 𝑢 × 𝑣 ) )
Assertion dya2iocuni ( 𝐴 ∈ ( 𝐽 ×t 𝐽 ) → ∃ 𝑐 ∈ 𝒫 ran 𝑅 𝑐 = 𝐴 )

Proof

Step Hyp Ref Expression
1 sxbrsiga.0 𝐽 = ( topGen ‘ ran (,) )
2 dya2ioc.1 𝐼 = ( 𝑥 ∈ ℤ , 𝑛 ∈ ℤ ↦ ( ( 𝑥 / ( 2 ↑ 𝑛 ) ) [,) ( ( 𝑥 + 1 ) / ( 2 ↑ 𝑛 ) ) ) )
3 dya2ioc.2 𝑅 = ( 𝑢 ∈ ran 𝐼 , 𝑣 ∈ ran 𝐼 ↦ ( 𝑢 × 𝑣 ) )
4 ssrab2 { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ⊆ ran 𝑅
5 1 2 3 dya2iocrfn 𝑅 Fn ( ran 𝐼 × ran 𝐼 )
6 zex ℤ ∈ V
7 6 6 mpoex ( 𝑥 ∈ ℤ , 𝑛 ∈ ℤ ↦ ( ( 𝑥 / ( 2 ↑ 𝑛 ) ) [,) ( ( 𝑥 + 1 ) / ( 2 ↑ 𝑛 ) ) ) ) ∈ V
8 2 7 eqeltri 𝐼 ∈ V
9 8 rnex ran 𝐼 ∈ V
10 9 9 xpex ( ran 𝐼 × ran 𝐼 ) ∈ V
11 fnex ( ( 𝑅 Fn ( ran 𝐼 × ran 𝐼 ) ∧ ( ran 𝐼 × ran 𝐼 ) ∈ V ) → 𝑅 ∈ V )
12 5 10 11 mp2an 𝑅 ∈ V
13 12 rnex ran 𝑅 ∈ V
14 13 elpw2 ( { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ∈ 𝒫 ran 𝑅 ↔ { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ⊆ ran 𝑅 )
15 4 14 mpbir { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ∈ 𝒫 ran 𝑅
16 15 a1i ( 𝐴 ∈ ( 𝐽 ×t 𝐽 ) → { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ∈ 𝒫 ran 𝑅 )
17 rex0 ¬ ∃ 𝑧 ∈ ∅ ( 𝑧𝑏𝑏𝐴 )
18 rexeq ( 𝐴 = ∅ → ( ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) ↔ ∃ 𝑧 ∈ ∅ ( 𝑧𝑏𝑏𝐴 ) ) )
19 17 18 mtbiri ( 𝐴 = ∅ → ¬ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) )
20 19 ralrimivw ( 𝐴 = ∅ → ∀ 𝑏 ∈ ran 𝑅 ¬ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) )
21 rabeq0 ( { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } = ∅ ↔ ∀ 𝑏 ∈ ran 𝑅 ¬ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) )
22 20 21 sylibr ( 𝐴 = ∅ → { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } = ∅ )
23 22 unieqd ( 𝐴 = ∅ → { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } = ∅ )
24 uni0 ∅ = ∅
25 23 24 eqtrdi ( 𝐴 = ∅ → { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } = ∅ )
26 0ss ∅ ⊆ 𝐴
27 25 26 eqsstrdi ( 𝐴 = ∅ → { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ⊆ 𝐴 )
28 elequ2 ( 𝑏 = 𝑝 → ( 𝑧𝑏𝑧𝑝 ) )
29 sseq1 ( 𝑏 = 𝑝 → ( 𝑏𝐴𝑝𝐴 ) )
30 28 29 anbi12d ( 𝑏 = 𝑝 → ( ( 𝑧𝑏𝑏𝐴 ) ↔ ( 𝑧𝑝𝑝𝐴 ) ) )
31 30 rexbidv ( 𝑏 = 𝑝 → ( ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) ↔ ∃ 𝑧𝐴 ( 𝑧𝑝𝑝𝐴 ) ) )
32 31 elrab ( 𝑝 ∈ { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ↔ ( 𝑝 ∈ ran 𝑅 ∧ ∃ 𝑧𝐴 ( 𝑧𝑝𝑝𝐴 ) ) )
33 simpr ( ( 𝑧𝑝𝑝𝐴 ) → 𝑝𝐴 )
34 33 reximi ( ∃ 𝑧𝐴 ( 𝑧𝑝𝑝𝐴 ) → ∃ 𝑧𝐴 𝑝𝐴 )
35 r19.9rzv ( 𝐴 ≠ ∅ → ( 𝑝𝐴 ↔ ∃ 𝑧𝐴 𝑝𝐴 ) )
36 34 35 syl5ibr ( 𝐴 ≠ ∅ → ( ∃ 𝑧𝐴 ( 𝑧𝑝𝑝𝐴 ) → 𝑝𝐴 ) )
37 36 adantld ( 𝐴 ≠ ∅ → ( ( 𝑝 ∈ ran 𝑅 ∧ ∃ 𝑧𝐴 ( 𝑧𝑝𝑝𝐴 ) ) → 𝑝𝐴 ) )
38 32 37 syl5bi ( 𝐴 ≠ ∅ → ( 𝑝 ∈ { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } → 𝑝𝐴 ) )
39 38 ralrimiv ( 𝐴 ≠ ∅ → ∀ 𝑝 ∈ { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } 𝑝𝐴 )
40 unissb ( { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ⊆ 𝐴 ↔ ∀ 𝑝 ∈ { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } 𝑝𝐴 )
41 39 40 sylibr ( 𝐴 ≠ ∅ → { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ⊆ 𝐴 )
42 27 41 pm2.61ine { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ⊆ 𝐴
43 42 a1i ( 𝐴 ∈ ( 𝐽 ×t 𝐽 ) → { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ⊆ 𝐴 )
44 1 2 3 dya2iocnei ( ( 𝐴 ∈ ( 𝐽 ×t 𝐽 ) ∧ 𝑚𝐴 ) → ∃ 𝑝 ∈ ran 𝑅 ( 𝑚𝑝𝑝𝐴 ) )
45 simpl ( ( 𝑝 ∈ ran 𝑅 ∧ ( 𝑚𝑝𝑝𝐴 ) ) → 𝑝 ∈ ran 𝑅 )
46 ssel2 ( ( 𝑝𝐴𝑚𝑝 ) → 𝑚𝐴 )
47 46 ancoms ( ( 𝑚𝑝𝑝𝐴 ) → 𝑚𝐴 )
48 47 adantl ( ( 𝑝 ∈ ran 𝑅 ∧ ( 𝑚𝑝𝑝𝐴 ) ) → 𝑚𝐴 )
49 simpr ( ( 𝑝 ∈ ran 𝑅 ∧ ( 𝑚𝑝𝑝𝐴 ) ) → ( 𝑚𝑝𝑝𝐴 ) )
50 elequ1 ( 𝑧 = 𝑚 → ( 𝑧𝑝𝑚𝑝 ) )
51 50 anbi1d ( 𝑧 = 𝑚 → ( ( 𝑧𝑝𝑝𝐴 ) ↔ ( 𝑚𝑝𝑝𝐴 ) ) )
52 51 rspcev ( ( 𝑚𝐴 ∧ ( 𝑚𝑝𝑝𝐴 ) ) → ∃ 𝑧𝐴 ( 𝑧𝑝𝑝𝐴 ) )
53 48 49 52 syl2anc ( ( 𝑝 ∈ ran 𝑅 ∧ ( 𝑚𝑝𝑝𝐴 ) ) → ∃ 𝑧𝐴 ( 𝑧𝑝𝑝𝐴 ) )
54 45 53 jca ( ( 𝑝 ∈ ran 𝑅 ∧ ( 𝑚𝑝𝑝𝐴 ) ) → ( 𝑝 ∈ ran 𝑅 ∧ ∃ 𝑧𝐴 ( 𝑧𝑝𝑝𝐴 ) ) )
55 54 32 sylibr ( ( 𝑝 ∈ ran 𝑅 ∧ ( 𝑚𝑝𝑝𝐴 ) ) → 𝑝 ∈ { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } )
56 simprl ( ( 𝑝 ∈ ran 𝑅 ∧ ( 𝑚𝑝𝑝𝐴 ) ) → 𝑚𝑝 )
57 55 56 jca ( ( 𝑝 ∈ ran 𝑅 ∧ ( 𝑚𝑝𝑝𝐴 ) ) → ( 𝑝 ∈ { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ∧ 𝑚𝑝 ) )
58 57 reximi2 ( ∃ 𝑝 ∈ ran 𝑅 ( 𝑚𝑝𝑝𝐴 ) → ∃ 𝑝 ∈ { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } 𝑚𝑝 )
59 44 58 syl ( ( 𝐴 ∈ ( 𝐽 ×t 𝐽 ) ∧ 𝑚𝐴 ) → ∃ 𝑝 ∈ { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } 𝑚𝑝 )
60 eluni2 ( 𝑚 { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ↔ ∃ 𝑝 ∈ { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } 𝑚𝑝 )
61 59 60 sylibr ( ( 𝐴 ∈ ( 𝐽 ×t 𝐽 ) ∧ 𝑚𝐴 ) → 𝑚 { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } )
62 43 61 eqelssd ( 𝐴 ∈ ( 𝐽 ×t 𝐽 ) → { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } = 𝐴 )
63 unieq ( 𝑐 = { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } → 𝑐 = { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } )
64 63 eqeq1d ( 𝑐 = { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } → ( 𝑐 = 𝐴 { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } = 𝐴 ) )
65 64 rspcev ( ( { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } ∈ 𝒫 ran 𝑅 { 𝑏 ∈ ran 𝑅 ∣ ∃ 𝑧𝐴 ( 𝑧𝑏𝑏𝐴 ) } = 𝐴 ) → ∃ 𝑐 ∈ 𝒫 ran 𝑅 𝑐 = 𝐴 )
66 16 62 65 syl2anc ( 𝐴 ∈ ( 𝐽 ×t 𝐽 ) → ∃ 𝑐 ∈ 𝒫 ran 𝑅 𝑐 = 𝐴 )