Metamath Proof Explorer


Theorem dissneqlem

Description: This is the core of the proof of dissneq , but to avoid the distinct variables on the definitions, we split this proof into two. (Contributed by ML, 16-Jul-2020)

Ref Expression
Hypothesis dissneq.c 𝐶 = { 𝑢 ∣ ∃ 𝑥𝐴 𝑢 = { 𝑥 } }
Assertion dissneqlem ( ( 𝐶𝐵𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → 𝐵 = 𝒫 𝐴 )

Proof

Step Hyp Ref Expression
1 dissneq.c 𝐶 = { 𝑢 ∣ ∃ 𝑥𝐴 𝑢 = { 𝑥 } }
2 topgele ( 𝐵 ∈ ( TopOn ‘ 𝐴 ) → ( { ∅ , 𝐴 } ⊆ 𝐵𝐵 ⊆ 𝒫 𝐴 ) )
3 2 adantl ( ( 𝐶𝐵𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → ( { ∅ , 𝐴 } ⊆ 𝐵𝐵 ⊆ 𝒫 𝐴 ) )
4 3 simprd ( ( 𝐶𝐵𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → 𝐵 ⊆ 𝒫 𝐴 )
5 velpw ( 𝑥 ∈ 𝒫 𝐴𝑥𝐴 )
6 simp3 ( ( 𝐶𝐵𝑥𝐴𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → 𝐵 ∈ ( TopOn ‘ 𝐴 ) )
7 df-ima ( ( 𝑧𝐴 ↦ { 𝑧 } ) “ 𝑥 ) = ran ( ( 𝑧𝐴 ↦ { 𝑧 } ) ↾ 𝑥 )
8 resmpt ( 𝑥𝐴 → ( ( 𝑧𝐴 ↦ { 𝑧 } ) ↾ 𝑥 ) = ( 𝑧𝑥 ↦ { 𝑧 } ) )
9 8 rneqd ( 𝑥𝐴 → ran ( ( 𝑧𝐴 ↦ { 𝑧 } ) ↾ 𝑥 ) = ran ( 𝑧𝑥 ↦ { 𝑧 } ) )
10 7 9 syl5eq ( 𝑥𝐴 → ( ( 𝑧𝐴 ↦ { 𝑧 } ) “ 𝑥 ) = ran ( 𝑧𝑥 ↦ { 𝑧 } ) )
11 rnmptsn ran ( 𝑧𝑥 ↦ { 𝑧 } ) = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } }
12 10 11 eqtrdi ( 𝑥𝐴 → ( ( 𝑧𝐴 ↦ { 𝑧 } ) “ 𝑥 ) = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } )
13 imassrn ( ( 𝑧𝐴 ↦ { 𝑧 } ) “ 𝑥 ) ⊆ ran ( 𝑧𝐴 ↦ { 𝑧 } )
14 12 13 eqsstrrdi ( 𝑥𝐴 → { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ ran ( 𝑧𝐴 ↦ { 𝑧 } ) )
15 rnmptsn ran ( 𝑧𝐴 ↦ { 𝑧 } ) = { 𝑢 ∣ ∃ 𝑧𝐴 𝑢 = { 𝑧 } }
16 14 15 sseqtrdi ( 𝑥𝐴 → { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ { 𝑢 ∣ ∃ 𝑧𝐴 𝑢 = { 𝑧 } } )
17 sneq ( 𝑥 = 𝑧 → { 𝑥 } = { 𝑧 } )
18 17 eqeq2d ( 𝑥 = 𝑧 → ( 𝑢 = { 𝑥 } ↔ 𝑢 = { 𝑧 } ) )
19 18 cbvrexvw ( ∃ 𝑥𝐴 𝑢 = { 𝑥 } ↔ ∃ 𝑧𝐴 𝑢 = { 𝑧 } )
20 19 abbii { 𝑢 ∣ ∃ 𝑥𝐴 𝑢 = { 𝑥 } } = { 𝑢 ∣ ∃ 𝑧𝐴 𝑢 = { 𝑧 } }
21 1 20 eqtri 𝐶 = { 𝑢 ∣ ∃ 𝑧𝐴 𝑢 = { 𝑧 } }
22 16 21 sseqtrrdi ( 𝑥𝐴 → { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐶 )
23 22 adantl ( ( 𝐶𝐵𝑥𝐴 ) → { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐶 )
24 sstr ( ( { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐶𝐶𝐵 ) → { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐵 )
25 24 expcom ( 𝐶𝐵 → ( { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐶 → { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐵 ) )
26 25 adantr ( ( 𝐶𝐵𝑥𝐴 ) → ( { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐶 → { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐵 ) )
27 23 26 mpd ( ( 𝐶𝐵𝑥𝐴 ) → { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐵 )
28 27 3adant3 ( ( 𝐶𝐵𝑥𝐴𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐵 )
29 6 28 ssexd ( ( 𝐶𝐵𝑥𝐴𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ∈ V )
30 isset ( { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ∈ V ↔ ∃ 𝑦 𝑦 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } )
31 29 30 sylib ( ( 𝐶𝐵𝑥𝐴𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → ∃ 𝑦 𝑦 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } )
32 eqid ( 𝑧𝐴 ↦ { 𝑧 } ) = ( 𝑧𝐴 ↦ { 𝑧 } )
33 eqid { 𝑢 ∣ ∃ 𝑧𝐴 𝑢 = { 𝑧 } } = { 𝑢 ∣ ∃ 𝑧𝐴 𝑢 = { 𝑧 } }
34 32 33 mptsnun ( 𝑥𝐴𝑥 = ( ( 𝑧𝐴 ↦ { 𝑧 } ) “ 𝑥 ) )
35 12 unieqd ( 𝑥𝐴 ( ( 𝑧𝐴 ↦ { 𝑧 } ) “ 𝑥 ) = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } )
36 34 35 eqtrd ( 𝑥𝐴𝑥 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } )
37 36 adantl ( ( 𝐶𝐵𝑥𝐴 ) → 𝑥 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } )
38 27 37 jca ( ( 𝐶𝐵𝑥𝐴 ) → ( { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐵𝑥 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ) )
39 sseq1 ( 𝑦 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } → ( 𝑦𝐵 ↔ { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐵 ) )
40 unieq ( 𝑦 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } → 𝑦 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } )
41 40 eqeq2d ( 𝑦 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } → ( 𝑥 = 𝑦𝑥 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ) )
42 39 41 anbi12d ( 𝑦 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } → ( ( 𝑦𝐵𝑥 = 𝑦 ) ↔ ( { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ⊆ 𝐵𝑥 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } ) ) )
43 38 42 syl5ibrcom ( ( 𝐶𝐵𝑥𝐴 ) → ( 𝑦 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } → ( 𝑦𝐵𝑥 = 𝑦 ) ) )
44 43 eximdv ( ( 𝐶𝐵𝑥𝐴 ) → ( ∃ 𝑦 𝑦 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } → ∃ 𝑦 ( 𝑦𝐵𝑥 = 𝑦 ) ) )
45 44 3adant3 ( ( 𝐶𝐵𝑥𝐴𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → ( ∃ 𝑦 𝑦 = { 𝑢 ∣ ∃ 𝑧𝑥 𝑢 = { 𝑧 } } → ∃ 𝑦 ( 𝑦𝐵𝑥 = 𝑦 ) ) )
46 31 45 mpd ( ( 𝐶𝐵𝑥𝐴𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → ∃ 𝑦 ( 𝑦𝐵𝑥 = 𝑦 ) )
47 5 46 syl3an2b ( ( 𝐶𝐵𝑥 ∈ 𝒫 𝐴𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → ∃ 𝑦 ( 𝑦𝐵𝑥 = 𝑦 ) )
48 47 3com23 ( ( 𝐶𝐵𝐵 ∈ ( TopOn ‘ 𝐴 ) ∧ 𝑥 ∈ 𝒫 𝐴 ) → ∃ 𝑦 ( 𝑦𝐵𝑥 = 𝑦 ) )
49 48 3expia ( ( 𝐶𝐵𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → ( 𝑥 ∈ 𝒫 𝐴 → ∃ 𝑦 ( 𝑦𝐵𝑥 = 𝑦 ) ) )
50 topontop ( 𝐵 ∈ ( TopOn ‘ 𝐴 ) → 𝐵 ∈ Top )
51 tgtop ( 𝐵 ∈ Top → ( topGen ‘ 𝐵 ) = 𝐵 )
52 50 51 syl ( 𝐵 ∈ ( TopOn ‘ 𝐴 ) → ( topGen ‘ 𝐵 ) = 𝐵 )
53 52 eleq2d ( 𝐵 ∈ ( TopOn ‘ 𝐴 ) → ( 𝑥 ∈ ( topGen ‘ 𝐵 ) ↔ 𝑥𝐵 ) )
54 eltg3 ( 𝐵 ∈ ( TopOn ‘ 𝐴 ) → ( 𝑥 ∈ ( topGen ‘ 𝐵 ) ↔ ∃ 𝑦 ( 𝑦𝐵𝑥 = 𝑦 ) ) )
55 53 54 bitr3d ( 𝐵 ∈ ( TopOn ‘ 𝐴 ) → ( 𝑥𝐵 ↔ ∃ 𝑦 ( 𝑦𝐵𝑥 = 𝑦 ) ) )
56 55 adantl ( ( 𝐶𝐵𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → ( 𝑥𝐵 ↔ ∃ 𝑦 ( 𝑦𝐵𝑥 = 𝑦 ) ) )
57 49 56 sylibrd ( ( 𝐶𝐵𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → ( 𝑥 ∈ 𝒫 𝐴𝑥𝐵 ) )
58 57 ssrdv ( ( 𝐶𝐵𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → 𝒫 𝐴𝐵 )
59 4 58 eqssd ( ( 𝐶𝐵𝐵 ∈ ( TopOn ‘ 𝐴 ) ) → 𝐵 = 𝒫 𝐴 )