| Step | Hyp | Ref | Expression | 
						
							| 1 |  | unisng | ⊢ ( 𝑋  ∈  𝑉  →  ∪  { 𝑋 }  =  𝑋 ) | 
						
							| 2 | 1 | eqcomd | ⊢ ( 𝑋  ∈  𝑉  →  𝑋  =  ∪  { 𝑋 } ) | 
						
							| 3 | 2 | adantr | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  →  𝑋  =  ∪  { 𝑋 } ) | 
						
							| 4 |  | iftrue | ⊢ ( 𝑆  =  ∅  →  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  =  { 𝑋 } ) | 
						
							| 5 | 4 | unieqd | ⊢ ( 𝑆  =  ∅  →  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  =  ∪  { 𝑋 } ) | 
						
							| 6 | 5 | eqeq2d | ⊢ ( 𝑆  =  ∅  →  ( 𝑋  =  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  ↔  𝑋  =  ∪  { 𝑋 } ) ) | 
						
							| 7 | 3 6 | syl5ibrcom | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  →  ( 𝑆  =  ∅  →  𝑋  =  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) ) ) | 
						
							| 8 |  | n0 | ⊢ ( 𝑆  ≠  ∅  ↔  ∃ 𝑥 𝑥  ∈  𝑆 ) | 
						
							| 9 |  | unieq | ⊢ ( 𝑦  =  𝑥  →  ∪  𝑦  =  ∪  𝑥 ) | 
						
							| 10 | 9 | eqeq2d | ⊢ ( 𝑦  =  𝑥  →  ( 𝑋  =  ∪  𝑦  ↔  𝑋  =  ∪  𝑥 ) ) | 
						
							| 11 | 10 | rspccva | ⊢ ( ( ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦  ∧  𝑥  ∈  𝑆 )  →  𝑋  =  ∪  𝑥 ) | 
						
							| 12 | 11 | 3adant1 | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦  ∧  𝑥  ∈  𝑆 )  →  𝑋  =  ∪  𝑥 ) | 
						
							| 13 |  | fnejoin1 | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦  ∧  𝑥  ∈  𝑆 )  →  𝑥 Fne if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) ) | 
						
							| 14 |  | eqid | ⊢ ∪  𝑥  =  ∪  𝑥 | 
						
							| 15 |  | eqid | ⊢ ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  =  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) | 
						
							| 16 | 14 15 | fnebas | ⊢ ( 𝑥 Fne if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  →  ∪  𝑥  =  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) ) | 
						
							| 17 | 13 16 | syl | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦  ∧  𝑥  ∈  𝑆 )  →  ∪  𝑥  =  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) ) | 
						
							| 18 | 12 17 | eqtrd | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦  ∧  𝑥  ∈  𝑆 )  →  𝑋  =  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) ) | 
						
							| 19 | 18 | 3expia | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  →  ( 𝑥  ∈  𝑆  →  𝑋  =  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) ) ) | 
						
							| 20 | 19 | exlimdv | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  →  ( ∃ 𝑥 𝑥  ∈  𝑆  →  𝑋  =  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) ) ) | 
						
							| 21 | 8 20 | biimtrid | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  →  ( 𝑆  ≠  ∅  →  𝑋  =  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) ) ) | 
						
							| 22 | 7 21 | pm2.61dne | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  →  𝑋  =  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) ) | 
						
							| 23 |  | eqid | ⊢ ∪  𝑇  =  ∪  𝑇 | 
						
							| 24 | 15 23 | fnebas | ⊢ ( if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇  →  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  =  ∪  𝑇 ) | 
						
							| 25 | 22 24 | sylan9eq | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇 )  →  𝑋  =  ∪  𝑇 ) | 
						
							| 26 | 25 | ex | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  →  ( if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇  →  𝑋  =  ∪  𝑇 ) ) | 
						
							| 27 |  | fnetr | ⊢ ( ( 𝑥 Fne if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  ∧  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇 )  →  𝑥 Fne 𝑇 ) | 
						
							| 28 | 27 | ex | ⊢ ( 𝑥 Fne if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  →  ( if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇  →  𝑥 Fne 𝑇 ) ) | 
						
							| 29 | 13 28 | syl | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦  ∧  𝑥  ∈  𝑆 )  →  ( if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇  →  𝑥 Fne 𝑇 ) ) | 
						
							| 30 | 29 | 3expa | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  𝑥  ∈  𝑆 )  →  ( if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇  →  𝑥 Fne 𝑇 ) ) | 
						
							| 31 | 30 | ralrimdva | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  →  ( if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇  →  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) ) | 
						
							| 32 | 26 31 | jcad | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  →  ( if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇  →  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) ) ) | 
						
							| 33 | 22 | adantr | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  →  𝑋  =  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) ) | 
						
							| 34 |  | simprl | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  →  𝑋  =  ∪  𝑇 ) | 
						
							| 35 | 33 34 | eqtr3d | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  →  ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  =  ∪  𝑇 ) | 
						
							| 36 |  | sseq1 | ⊢ ( { 𝑋 }  =  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  →  ( { 𝑋 }  ⊆  ( topGen ‘ 𝑇 )  ↔  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  ⊆  ( topGen ‘ 𝑇 ) ) ) | 
						
							| 37 |  | sseq1 | ⊢ ( ∪  𝑆  =  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  →  ( ∪  𝑆  ⊆  ( topGen ‘ 𝑇 )  ↔  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  ⊆  ( topGen ‘ 𝑇 ) ) ) | 
						
							| 38 |  | elex | ⊢ ( 𝑋  ∈  𝑉  →  𝑋  ∈  V ) | 
						
							| 39 | 38 | ad2antrr | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  →  𝑋  ∈  V ) | 
						
							| 40 | 34 39 | eqeltrrd | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  →  ∪  𝑇  ∈  V ) | 
						
							| 41 |  | uniexb | ⊢ ( 𝑇  ∈  V  ↔  ∪  𝑇  ∈  V ) | 
						
							| 42 | 40 41 | sylibr | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  →  𝑇  ∈  V ) | 
						
							| 43 |  | ssid | ⊢ 𝑇  ⊆  𝑇 | 
						
							| 44 |  | eltg3i | ⊢ ( ( 𝑇  ∈  V  ∧  𝑇  ⊆  𝑇 )  →  ∪  𝑇  ∈  ( topGen ‘ 𝑇 ) ) | 
						
							| 45 | 42 43 44 | sylancl | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  →  ∪  𝑇  ∈  ( topGen ‘ 𝑇 ) ) | 
						
							| 46 | 34 45 | eqeltrd | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  →  𝑋  ∈  ( topGen ‘ 𝑇 ) ) | 
						
							| 47 | 46 | snssd | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  →  { 𝑋 }  ⊆  ( topGen ‘ 𝑇 ) ) | 
						
							| 48 | 47 | adantr | ⊢ ( ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  ∧  𝑆  =  ∅ )  →  { 𝑋 }  ⊆  ( topGen ‘ 𝑇 ) ) | 
						
							| 49 |  | simplrr | ⊢ ( ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  ∧  ¬  𝑆  =  ∅ )  →  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) | 
						
							| 50 |  | fnetg | ⊢ ( 𝑥 Fne 𝑇  →  𝑥  ⊆  ( topGen ‘ 𝑇 ) ) | 
						
							| 51 | 50 | ralimi | ⊢ ( ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇  →  ∀ 𝑥  ∈  𝑆 𝑥  ⊆  ( topGen ‘ 𝑇 ) ) | 
						
							| 52 | 49 51 | syl | ⊢ ( ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  ∧  ¬  𝑆  =  ∅ )  →  ∀ 𝑥  ∈  𝑆 𝑥  ⊆  ( topGen ‘ 𝑇 ) ) | 
						
							| 53 |  | unissb | ⊢ ( ∪  𝑆  ⊆  ( topGen ‘ 𝑇 )  ↔  ∀ 𝑥  ∈  𝑆 𝑥  ⊆  ( topGen ‘ 𝑇 ) ) | 
						
							| 54 | 52 53 | sylibr | ⊢ ( ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  ∧  ¬  𝑆  =  ∅ )  →  ∪  𝑆  ⊆  ( topGen ‘ 𝑇 ) ) | 
						
							| 55 | 36 37 48 54 | ifbothda | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  →  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  ⊆  ( topGen ‘ 𝑇 ) ) | 
						
							| 56 | 15 23 | isfne4 | ⊢ ( if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇  ↔  ( ∪  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  =  ∪  𝑇  ∧  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 )  ⊆  ( topGen ‘ 𝑇 ) ) ) | 
						
							| 57 | 35 55 56 | sylanbrc | ⊢ ( ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  ∧  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) )  →  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇 ) | 
						
							| 58 | 57 | ex | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  →  ( ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 )  →  if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇 ) ) | 
						
							| 59 | 32 58 | impbid | ⊢ ( ( 𝑋  ∈  𝑉  ∧  ∀ 𝑦  ∈  𝑆 𝑋  =  ∪  𝑦 )  →  ( if ( 𝑆  =  ∅ ,  { 𝑋 } ,  ∪  𝑆 ) Fne 𝑇  ↔  ( 𝑋  =  ∪  𝑇  ∧  ∀ 𝑥  ∈  𝑆 𝑥 Fne 𝑇 ) ) ) |