Metamath Proof Explorer


Theorem fsplitOLD

Description: Obsolete proof of fsplit as of 31-Dec-2023. (Contributed by NM, 17-Sep-2007) (Proof modification is discouraged.) (New usage is discouraged.)

Ref Expression
Assertion fsplitOLD
|- `' ( 1st |` _I ) = ( x e. _V |-> <. x , x >. )

Proof

Step Hyp Ref Expression
1 vex
 |-  x e. _V
2 vex
 |-  y e. _V
3 1 2 brcnv
 |-  ( x `' ( 1st |` _I ) y <-> y ( 1st |` _I ) x )
4 1 brresi
 |-  ( y ( 1st |` _I ) x <-> ( y e. _I /\ y 1st x ) )
5 19.42v
 |-  ( E. z ( ( 1st ` y ) = x /\ y = <. z , z >. ) <-> ( ( 1st ` y ) = x /\ E. z y = <. z , z >. ) )
6 vex
 |-  z e. _V
7 6 6 op1std
 |-  ( y = <. z , z >. -> ( 1st ` y ) = z )
8 7 eqeq1d
 |-  ( y = <. z , z >. -> ( ( 1st ` y ) = x <-> z = x ) )
9 8 pm5.32ri
 |-  ( ( ( 1st ` y ) = x /\ y = <. z , z >. ) <-> ( z = x /\ y = <. z , z >. ) )
10 9 exbii
 |-  ( E. z ( ( 1st ` y ) = x /\ y = <. z , z >. ) <-> E. z ( z = x /\ y = <. z , z >. ) )
11 fo1st
 |-  1st : _V -onto-> _V
12 fofn
 |-  ( 1st : _V -onto-> _V -> 1st Fn _V )
13 11 12 ax-mp
 |-  1st Fn _V
14 fnbrfvb
 |-  ( ( 1st Fn _V /\ y e. _V ) -> ( ( 1st ` y ) = x <-> y 1st x ) )
15 13 2 14 mp2an
 |-  ( ( 1st ` y ) = x <-> y 1st x )
16 dfid2
 |-  _I = { <. z , z >. | z = z }
17 16 eleq2i
 |-  ( y e. _I <-> y e. { <. z , z >. | z = z } )
18 nfe1
 |-  F/ z E. z ( y = <. z , z >. /\ z = z )
19 18 19.9
 |-  ( E. z E. z ( y = <. z , z >. /\ z = z ) <-> E. z ( y = <. z , z >. /\ z = z ) )
20 elopab
 |-  ( y e. { <. z , z >. | z = z } <-> E. z E. z ( y = <. z , z >. /\ z = z ) )
21 equid
 |-  z = z
22 21 biantru
 |-  ( y = <. z , z >. <-> ( y = <. z , z >. /\ z = z ) )
23 22 exbii
 |-  ( E. z y = <. z , z >. <-> E. z ( y = <. z , z >. /\ z = z ) )
24 19 20 23 3bitr4i
 |-  ( y e. { <. z , z >. | z = z } <-> E. z y = <. z , z >. )
25 17 24 bitr2i
 |-  ( E. z y = <. z , z >. <-> y e. _I )
26 15 25 anbi12ci
 |-  ( ( ( 1st ` y ) = x /\ E. z y = <. z , z >. ) <-> ( y e. _I /\ y 1st x ) )
27 5 10 26 3bitr3ri
 |-  ( ( y e. _I /\ y 1st x ) <-> E. z ( z = x /\ y = <. z , z >. ) )
28 id
 |-  ( z = x -> z = x )
29 28 28 opeq12d
 |-  ( z = x -> <. z , z >. = <. x , x >. )
30 29 eqeq2d
 |-  ( z = x -> ( y = <. z , z >. <-> y = <. x , x >. ) )
31 30 equsexvw
 |-  ( E. z ( z = x /\ y = <. z , z >. ) <-> y = <. x , x >. )
32 27 31 bitri
 |-  ( ( y e. _I /\ y 1st x ) <-> y = <. x , x >. )
33 4 32 bitri
 |-  ( y ( 1st |` _I ) x <-> y = <. x , x >. )
34 3 33 bitri
 |-  ( x `' ( 1st |` _I ) y <-> y = <. x , x >. )
35 34 opabbii
 |-  { <. x , y >. | x `' ( 1st |` _I ) y } = { <. x , y >. | y = <. x , x >. }
36 relcnv
 |-  Rel `' ( 1st |` _I )
37 dfrel4v
 |-  ( Rel `' ( 1st |` _I ) <-> `' ( 1st |` _I ) = { <. x , y >. | x `' ( 1st |` _I ) y } )
38 36 37 mpbi
 |-  `' ( 1st |` _I ) = { <. x , y >. | x `' ( 1st |` _I ) y }
39 mptv
 |-  ( x e. _V |-> <. x , x >. ) = { <. x , y >. | y = <. x , x >. }
40 35 38 39 3eqtr4i
 |-  `' ( 1st |` _I ) = ( x e. _V |-> <. x , x >. )