Metamath Proof Explorer


Theorem tuslem

Description: Lemma for tusbas , tusunif , and tustopn . (Contributed by Thierry Arnoux, 5-Dec-2017) (Proof shortened by AV, 28-Oct-2024)

Ref Expression
Hypothesis tuslem.k ⊢ 𝐾 = ( toUnifSp ‘ 𝑈 )
Assertion tuslem ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( 𝑋 = ( Base ‘ 𝐾 ) ∧ 𝑈 = ( UnifSet ‘ 𝐾 ) ∧ ( unifTop ‘ 𝑈 ) = ( TopOpen ‘ 𝐾 ) ) )

Proof

Step Hyp Ref Expression
1 tuslem.k ⊢ 𝐾 = ( toUnifSp ‘ 𝑈 )
2 baseid ⊢ Base = Slot ( Base ‘ ndx )
3 tsetndxnbasendx ⊢ ( TopSet ‘ ndx ) ≠ ( Base ‘ ndx )
4 3 necomi ⊢ ( Base ‘ ndx ) ≠ ( TopSet ‘ ndx )
5 2 4 setsnid ⊢ ( Base ‘ { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } ) = ( Base ‘ ( { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } sSet ⟨ ( TopSet ‘ ndx ) , ( unifTop ‘ 𝑈 ) ⟩ ) )
6 ustbas2 ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → 𝑋 = dom ∪ 𝑈 )
7 uniexg ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ∪ 𝑈 ∈ V )
8 dmexg ⊢ ( ∪ 𝑈 ∈ V → dom ∪ 𝑈 ∈ V )
9 eqid ⊢ { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } = { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ }
10 basendxltunifndx ⊢ ( Base ‘ ndx ) < ( UnifSet ‘ ndx )
11 unifndxnn ⊢ ( UnifSet ‘ ndx ) ∈ ℕ
12 9 10 11 2strbas ⊢ ( dom ∪ 𝑈 ∈ V → dom ∪ 𝑈 = ( Base ‘ { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } ) )
13 7 8 12 3syl ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → dom ∪ 𝑈 = ( Base ‘ { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } ) )
14 6 13 eqtrd ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → 𝑋 = ( Base ‘ { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } ) )
15 tusval ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( toUnifSp ‘ 𝑈 ) = ( { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } sSet ⟨ ( TopSet ‘ ndx ) , ( unifTop ‘ 𝑈 ) ⟩ ) )
16 1 15 eqtrid ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → 𝐾 = ( { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } sSet ⟨ ( TopSet ‘ ndx ) , ( unifTop ‘ 𝑈 ) ⟩ ) )
17 16 fveq2d ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( Base ‘ 𝐾 ) = ( Base ‘ ( { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } sSet ⟨ ( TopSet ‘ ndx ) , ( unifTop ‘ 𝑈 ) ⟩ ) ) )
18 5 14 17 3eqtr4a ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → 𝑋 = ( Base ‘ 𝐾 ) )
19 unifid ⊢ UnifSet = Slot ( UnifSet ‘ ndx )
20 unifndxntsetndx ⊢ ( UnifSet ‘ ndx ) ≠ ( TopSet ‘ ndx )
21 19 20 setsnid ⊢ ( UnifSet ‘ { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } ) = ( UnifSet ‘ ( { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } sSet ⟨ ( TopSet ‘ ndx ) , ( unifTop ‘ 𝑈 ) ⟩ ) )
22 9 10 11 19 2strop ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → 𝑈 = ( UnifSet ‘ { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } ) )
23 16 fveq2d ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( UnifSet ‘ 𝐾 ) = ( UnifSet ‘ ( { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } sSet ⟨ ( TopSet ‘ ndx ) , ( unifTop ‘ 𝑈 ) ⟩ ) ) )
24 21 22 23 3eqtr4a ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → 𝑈 = ( UnifSet ‘ 𝐾 ) )
25 prex ⊢ { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } ∈ V
26 fvex ⊢ ( unifTop ‘ 𝑈 ) ∈ V
27 tsetid ⊢ TopSet = Slot ( TopSet ‘ ndx )
28 27 setsid ⊢ ( ( { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } ∈ V ∧ ( unifTop ‘ 𝑈 ) ∈ V ) → ( unifTop ‘ 𝑈 ) = ( TopSet ‘ ( { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } sSet ⟨ ( TopSet ‘ ndx ) , ( unifTop ‘ 𝑈 ) ⟩ ) ) )
29 25 26 28 mp2an ⊢ ( unifTop ‘ 𝑈 ) = ( TopSet ‘ ( { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } sSet ⟨ ( TopSet ‘ ndx ) , ( unifTop ‘ 𝑈 ) ⟩ ) )
30 16 fveq2d ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( TopSet ‘ 𝐾 ) = ( TopSet ‘ ( { ⟨ ( Base ‘ ndx ) , dom ∪ 𝑈 ⟩ , ⟨ ( UnifSet ‘ ndx ) , 𝑈 ⟩ } sSet ⟨ ( TopSet ‘ ndx ) , ( unifTop ‘ 𝑈 ) ⟩ ) ) )
31 29 30 eqtr4id ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( unifTop ‘ 𝑈 ) = ( TopSet ‘ 𝐾 ) )
32 utopbas ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → 𝑋 = ∪ ( unifTop ‘ 𝑈 ) )
33 31 unieqd ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ∪ ( unifTop ‘ 𝑈 ) = ∪ ( TopSet ‘ 𝐾 ) )
34 32 18 33 3eqtr3rd ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ∪ ( TopSet ‘ 𝐾 ) = ( Base ‘ 𝐾 ) )
35 34 oveq2d ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( ( TopSet ‘ 𝐾 ) ↾t ∪ ( TopSet ‘ 𝐾 ) ) = ( ( TopSet ‘ 𝐾 ) ↾t ( Base ‘ 𝐾 ) ) )
36 fvex ⊢ ( TopSet ‘ 𝐾 ) ∈ V
37 eqid ⊢ ∪ ( TopSet ‘ 𝐾 ) = ∪ ( TopSet ‘ 𝐾 )
38 37 restid ⊢ ( ( TopSet ‘ 𝐾 ) ∈ V → ( ( TopSet ‘ 𝐾 ) ↾t ∪ ( TopSet ‘ 𝐾 ) ) = ( TopSet ‘ 𝐾 ) )
39 36 38 ax-mp ⊢ ( ( TopSet ‘ 𝐾 ) ↾t ∪ ( TopSet ‘ 𝐾 ) ) = ( TopSet ‘ 𝐾 )
40 eqid ⊢ ( Base ‘ 𝐾 ) = ( Base ‘ 𝐾 )
41 eqid ⊢ ( TopSet ‘ 𝐾 ) = ( TopSet ‘ 𝐾 )
42 40 41 topnval ⊢ ( ( TopSet ‘ 𝐾 ) ↾t ( Base ‘ 𝐾 ) ) = ( TopOpen ‘ 𝐾 )
43 35 39 42 3eqtr3g ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( TopSet ‘ 𝐾 ) = ( TopOpen ‘ 𝐾 ) )
44 31 43 eqtrd ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( unifTop ‘ 𝑈 ) = ( TopOpen ‘ 𝐾 ) )
45 18 24 44 3jca ⊢ ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( 𝑋 = ( Base ‘ 𝐾 ) ∧ 𝑈 = ( UnifSet ‘ 𝐾 ) ∧ ( unifTop ‘ 𝑈 ) = ( TopOpen ‘ 𝐾 ) ) )