Metamath Proof Explorer


Theorem iss

Description: A subclass of the identity function is the identity function restricted to its domain. (Contributed by NM, 13-Dec-2003) (Proof shortened by Andrew Salmon, 27-Aug-2011)

Ref Expression
Assertion iss
|- ( A C_ _I <-> A = ( _I |` dom A ) )

Proof

Step Hyp Ref Expression
1 vex
 |-  x e. _V
2 vex
 |-  y e. _V
3 1 2 opeldm
 |-  ( <. x , y >. e. A -> x e. dom A )
4 3 a1i
 |-  ( A C_ _I -> ( <. x , y >. e. A -> x e. dom A ) )
5 ssel
 |-  ( A C_ _I -> ( <. x , y >. e. A -> <. x , y >. e. _I ) )
6 4 5 jcad
 |-  ( A C_ _I -> ( <. x , y >. e. A -> ( x e. dom A /\ <. x , y >. e. _I ) ) )
7 df-br
 |-  ( x _I y <-> <. x , y >. e. _I )
8 2 ideq
 |-  ( x _I y <-> x = y )
9 7 8 bitr3i
 |-  ( <. x , y >. e. _I <-> x = y )
10 1 eldm2
 |-  ( x e. dom A <-> E. y <. x , y >. e. A )
11 opeq2
 |-  ( x = y -> <. x , x >. = <. x , y >. )
12 11 eleq1d
 |-  ( x = y -> ( <. x , x >. e. A <-> <. x , y >. e. A ) )
13 12 biimprcd
 |-  ( <. x , y >. e. A -> ( x = y -> <. x , x >. e. A ) )
14 9 13 syl5bi
 |-  ( <. x , y >. e. A -> ( <. x , y >. e. _I -> <. x , x >. e. A ) )
15 5 14 sylcom
 |-  ( A C_ _I -> ( <. x , y >. e. A -> <. x , x >. e. A ) )
16 15 exlimdv
 |-  ( A C_ _I -> ( E. y <. x , y >. e. A -> <. x , x >. e. A ) )
17 10 16 syl5bi
 |-  ( A C_ _I -> ( x e. dom A -> <. x , x >. e. A ) )
18 12 imbi2d
 |-  ( x = y -> ( ( x e. dom A -> <. x , x >. e. A ) <-> ( x e. dom A -> <. x , y >. e. A ) ) )
19 17 18 syl5ibcom
 |-  ( A C_ _I -> ( x = y -> ( x e. dom A -> <. x , y >. e. A ) ) )
20 9 19 syl5bi
 |-  ( A C_ _I -> ( <. x , y >. e. _I -> ( x e. dom A -> <. x , y >. e. A ) ) )
21 20 impcomd
 |-  ( A C_ _I -> ( ( x e. dom A /\ <. x , y >. e. _I ) -> <. x , y >. e. A ) )
22 6 21 impbid
 |-  ( A C_ _I -> ( <. x , y >. e. A <-> ( x e. dom A /\ <. x , y >. e. _I ) ) )
23 2 opelresi
 |-  ( <. x , y >. e. ( _I |` dom A ) <-> ( x e. dom A /\ <. x , y >. e. _I ) )
24 22 23 syl6bbr
 |-  ( A C_ _I -> ( <. x , y >. e. A <-> <. x , y >. e. ( _I |` dom A ) ) )
25 24 alrimivv
 |-  ( A C_ _I -> A. x A. y ( <. x , y >. e. A <-> <. x , y >. e. ( _I |` dom A ) ) )
26 reli
 |-  Rel _I
27 relss
 |-  ( A C_ _I -> ( Rel _I -> Rel A ) )
28 26 27 mpi
 |-  ( A C_ _I -> Rel A )
29 relres
 |-  Rel ( _I |` dom A )
30 eqrel
 |-  ( ( Rel A /\ Rel ( _I |` dom A ) ) -> ( A = ( _I |` dom A ) <-> A. x A. y ( <. x , y >. e. A <-> <. x , y >. e. ( _I |` dom A ) ) ) )
31 28 29 30 sylancl
 |-  ( A C_ _I -> ( A = ( _I |` dom A ) <-> A. x A. y ( <. x , y >. e. A <-> <. x , y >. e. ( _I |` dom A ) ) ) )
32 25 31 mpbird
 |-  ( A C_ _I -> A = ( _I |` dom A ) )
33 resss
 |-  ( _I |` dom A ) C_ _I
34 sseq1
 |-  ( A = ( _I |` dom A ) -> ( A C_ _I <-> ( _I |` dom A ) C_ _I ) )
35 33 34 mpbiri
 |-  ( A = ( _I |` dom A ) -> A C_ _I )
36 32 35 impbii
 |-  ( A C_ _I <-> A = ( _I |` dom A ) )