Metamath Proof Explorer


Theorem rclexi

Description: The reflexive closure of a set exists. (Contributed by RP, 27-Oct-2020)

Ref Expression
Hypothesis rclexi.1
|- A e. V
Assertion rclexi
|- |^| { x | ( A C_ x /\ ( _I |` ( dom x u. ran x ) ) C_ x ) } e. _V

Proof

Step Hyp Ref Expression
1 rclexi.1
 |-  A e. V
2 ssun1
 |-  A C_ ( A u. ( _I |` ( dom A u. ran A ) ) )
3 dmun
 |-  dom ( A u. ( _I |` ( dom A u. ran A ) ) ) = ( dom A u. dom ( _I |` ( dom A u. ran A ) ) )
4 dmresi
 |-  dom ( _I |` ( dom A u. ran A ) ) = ( dom A u. ran A )
5 4 uneq2i
 |-  ( dom A u. dom ( _I |` ( dom A u. ran A ) ) ) = ( dom A u. ( dom A u. ran A ) )
6 ssun1
 |-  dom A C_ ( dom A u. ran A )
7 ssequn1
 |-  ( dom A C_ ( dom A u. ran A ) <-> ( dom A u. ( dom A u. ran A ) ) = ( dom A u. ran A ) )
8 6 7 mpbi
 |-  ( dom A u. ( dom A u. ran A ) ) = ( dom A u. ran A )
9 3 5 8 3eqtri
 |-  dom ( A u. ( _I |` ( dom A u. ran A ) ) ) = ( dom A u. ran A )
10 rnun
 |-  ran ( A u. ( _I |` ( dom A u. ran A ) ) ) = ( ran A u. ran ( _I |` ( dom A u. ran A ) ) )
11 rnresi
 |-  ran ( _I |` ( dom A u. ran A ) ) = ( dom A u. ran A )
12 11 uneq2i
 |-  ( ran A u. ran ( _I |` ( dom A u. ran A ) ) ) = ( ran A u. ( dom A u. ran A ) )
13 ssun2
 |-  ran A C_ ( dom A u. ran A )
14 ssequn1
 |-  ( ran A C_ ( dom A u. ran A ) <-> ( ran A u. ( dom A u. ran A ) ) = ( dom A u. ran A ) )
15 13 14 mpbi
 |-  ( ran A u. ( dom A u. ran A ) ) = ( dom A u. ran A )
16 10 12 15 3eqtri
 |-  ran ( A u. ( _I |` ( dom A u. ran A ) ) ) = ( dom A u. ran A )
17 9 16 uneq12i
 |-  ( dom ( A u. ( _I |` ( dom A u. ran A ) ) ) u. ran ( A u. ( _I |` ( dom A u. ran A ) ) ) ) = ( ( dom A u. ran A ) u. ( dom A u. ran A ) )
18 unidm
 |-  ( ( dom A u. ran A ) u. ( dom A u. ran A ) ) = ( dom A u. ran A )
19 17 18 eqtri
 |-  ( dom ( A u. ( _I |` ( dom A u. ran A ) ) ) u. ran ( A u. ( _I |` ( dom A u. ran A ) ) ) ) = ( dom A u. ran A )
20 19 reseq2i
 |-  ( _I |` ( dom ( A u. ( _I |` ( dom A u. ran A ) ) ) u. ran ( A u. ( _I |` ( dom A u. ran A ) ) ) ) ) = ( _I |` ( dom A u. ran A ) )
21 ssun2
 |-  ( _I |` ( dom A u. ran A ) ) C_ ( A u. ( _I |` ( dom A u. ran A ) ) )
22 20 21 eqsstri
 |-  ( _I |` ( dom ( A u. ( _I |` ( dom A u. ran A ) ) ) u. ran ( A u. ( _I |` ( dom A u. ran A ) ) ) ) ) C_ ( A u. ( _I |` ( dom A u. ran A ) ) )
23 1 elexi
 |-  A e. _V
24 dmexg
 |-  ( A e. V -> dom A e. _V )
25 rnexg
 |-  ( A e. V -> ran A e. _V )
26 unexg
 |-  ( ( dom A e. _V /\ ran A e. _V ) -> ( dom A u. ran A ) e. _V )
27 24 25 26 syl2anc
 |-  ( A e. V -> ( dom A u. ran A ) e. _V )
28 27 resiexd
 |-  ( A e. V -> ( _I |` ( dom A u. ran A ) ) e. _V )
29 1 28 ax-mp
 |-  ( _I |` ( dom A u. ran A ) ) e. _V
30 23 29 unex
 |-  ( A u. ( _I |` ( dom A u. ran A ) ) ) e. _V
31 dmeq
 |-  ( x = ( A u. ( _I |` ( dom A u. ran A ) ) ) -> dom x = dom ( A u. ( _I |` ( dom A u. ran A ) ) ) )
32 rneq
 |-  ( x = ( A u. ( _I |` ( dom A u. ran A ) ) ) -> ran x = ran ( A u. ( _I |` ( dom A u. ran A ) ) ) )
33 31 32 uneq12d
 |-  ( x = ( A u. ( _I |` ( dom A u. ran A ) ) ) -> ( dom x u. ran x ) = ( dom ( A u. ( _I |` ( dom A u. ran A ) ) ) u. ran ( A u. ( _I |` ( dom A u. ran A ) ) ) ) )
34 33 reseq2d
 |-  ( x = ( A u. ( _I |` ( dom A u. ran A ) ) ) -> ( _I |` ( dom x u. ran x ) ) = ( _I |` ( dom ( A u. ( _I |` ( dom A u. ran A ) ) ) u. ran ( A u. ( _I |` ( dom A u. ran A ) ) ) ) ) )
35 id
 |-  ( x = ( A u. ( _I |` ( dom A u. ran A ) ) ) -> x = ( A u. ( _I |` ( dom A u. ran A ) ) ) )
36 34 35 sseq12d
 |-  ( x = ( A u. ( _I |` ( dom A u. ran A ) ) ) -> ( ( _I |` ( dom x u. ran x ) ) C_ x <-> ( _I |` ( dom ( A u. ( _I |` ( dom A u. ran A ) ) ) u. ran ( A u. ( _I |` ( dom A u. ran A ) ) ) ) ) C_ ( A u. ( _I |` ( dom A u. ran A ) ) ) ) )
37 36 cleq2lem
 |-  ( x = ( A u. ( _I |` ( dom A u. ran A ) ) ) -> ( ( A C_ x /\ ( _I |` ( dom x u. ran x ) ) C_ x ) <-> ( A C_ ( A u. ( _I |` ( dom A u. ran A ) ) ) /\ ( _I |` ( dom ( A u. ( _I |` ( dom A u. ran A ) ) ) u. ran ( A u. ( _I |` ( dom A u. ran A ) ) ) ) ) C_ ( A u. ( _I |` ( dom A u. ran A ) ) ) ) ) )
38 30 37 spcev
 |-  ( ( A C_ ( A u. ( _I |` ( dom A u. ran A ) ) ) /\ ( _I |` ( dom ( A u. ( _I |` ( dom A u. ran A ) ) ) u. ran ( A u. ( _I |` ( dom A u. ran A ) ) ) ) ) C_ ( A u. ( _I |` ( dom A u. ran A ) ) ) ) -> E. x ( A C_ x /\ ( _I |` ( dom x u. ran x ) ) C_ x ) )
39 intexab
 |-  ( E. x ( A C_ x /\ ( _I |` ( dom x u. ran x ) ) C_ x ) <-> |^| { x | ( A C_ x /\ ( _I |` ( dom x u. ran x ) ) C_ x ) } e. _V )
40 38 39 sylib
 |-  ( ( A C_ ( A u. ( _I |` ( dom A u. ran A ) ) ) /\ ( _I |` ( dom ( A u. ( _I |` ( dom A u. ran A ) ) ) u. ran ( A u. ( _I |` ( dom A u. ran A ) ) ) ) ) C_ ( A u. ( _I |` ( dom A u. ran A ) ) ) ) -> |^| { x | ( A C_ x /\ ( _I |` ( dom x u. ran x ) ) C_ x ) } e. _V )
41 2 22 40 mp2an
 |-  |^| { x | ( A C_ x /\ ( _I |` ( dom x u. ran x ) ) C_ x ) } e. _V