Metamath Proof Explorer


Theorem elold

Description: Membership in an old set. (Contributed by Scott Fenton, 7-Aug-2024)

Ref Expression
Assertion elold
|- ( A e. On -> ( X e. ( _Old ` A ) <-> E. b e. A X e. ( _M ` b ) ) )

Proof

Step Hyp Ref Expression
1 oldval
 |-  ( A e. On -> ( _Old ` A ) = U. ( _M " A ) )
2 1 eleq2d
 |-  ( A e. On -> ( X e. ( _Old ` A ) <-> X e. U. ( _M " A ) ) )
3 eluni
 |-  ( X e. U. ( _M " A ) <-> E. y ( X e. y /\ y e. ( _M " A ) ) )
4 madef
 |-  _M : On --> ~P No
5 ffn
 |-  ( _M : On --> ~P No -> _M Fn On )
6 4 5 ax-mp
 |-  _M Fn On
7 onss
 |-  ( A e. On -> A C_ On )
8 fvelimab
 |-  ( ( _M Fn On /\ A C_ On ) -> ( y e. ( _M " A ) <-> E. b e. A ( _M ` b ) = y ) )
9 6 7 8 sylancr
 |-  ( A e. On -> ( y e. ( _M " A ) <-> E. b e. A ( _M ` b ) = y ) )
10 9 anbi2d
 |-  ( A e. On -> ( ( X e. y /\ y e. ( _M " A ) ) <-> ( X e. y /\ E. b e. A ( _M ` b ) = y ) ) )
11 10 exbidv
 |-  ( A e. On -> ( E. y ( X e. y /\ y e. ( _M " A ) ) <-> E. y ( X e. y /\ E. b e. A ( _M ` b ) = y ) ) )
12 fvex
 |-  ( _M ` b ) e. _V
13 12 clel3
 |-  ( X e. ( _M ` b ) <-> E. y ( y = ( _M ` b ) /\ X e. y ) )
14 13 rexbii
 |-  ( E. b e. A X e. ( _M ` b ) <-> E. b e. A E. y ( y = ( _M ` b ) /\ X e. y ) )
15 rexcom4
 |-  ( E. b e. A E. y ( y = ( _M ` b ) /\ X e. y ) <-> E. y E. b e. A ( y = ( _M ` b ) /\ X e. y ) )
16 eqcom
 |-  ( y = ( _M ` b ) <-> ( _M ` b ) = y )
17 16 anbi2ci
 |-  ( ( y = ( _M ` b ) /\ X e. y ) <-> ( X e. y /\ ( _M ` b ) = y ) )
18 17 rexbii
 |-  ( E. b e. A ( y = ( _M ` b ) /\ X e. y ) <-> E. b e. A ( X e. y /\ ( _M ` b ) = y ) )
19 r19.42v
 |-  ( E. b e. A ( X e. y /\ ( _M ` b ) = y ) <-> ( X e. y /\ E. b e. A ( _M ` b ) = y ) )
20 18 19 bitri
 |-  ( E. b e. A ( y = ( _M ` b ) /\ X e. y ) <-> ( X e. y /\ E. b e. A ( _M ` b ) = y ) )
21 20 exbii
 |-  ( E. y E. b e. A ( y = ( _M ` b ) /\ X e. y ) <-> E. y ( X e. y /\ E. b e. A ( _M ` b ) = y ) )
22 14 15 21 3bitrri
 |-  ( E. y ( X e. y /\ E. b e. A ( _M ` b ) = y ) <-> E. b e. A X e. ( _M ` b ) )
23 11 22 bitrdi
 |-  ( A e. On -> ( E. y ( X e. y /\ y e. ( _M " A ) ) <-> E. b e. A X e. ( _M ` b ) ) )
24 3 23 syl5bb
 |-  ( A e. On -> ( X e. U. ( _M " A ) <-> E. b e. A X e. ( _M ` b ) ) )
25 2 24 bitrd
 |-  ( A e. On -> ( X e. ( _Old ` A ) <-> E. b e. A X e. ( _M ` b ) ) )