MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  dfid3 Structured version   Visualization version   Unicode version

Theorem dfid3 5025
Description: A stronger version of df-id 5024 that doesn't require  x and  y to be distinct. Ordinarily, we wouldn't use this as a definition, since non-distinct dummy variables would make soundness verification more difficult (as the proof here shows). The proof can be instructive in showing how distinct variable requirements may be eliminated, a task that is not necessarily obvious. (Contributed by NM, 5-Feb-2008.) (Revised by Mario Carneiro, 18-Nov-2016.)
Assertion
Ref Expression
dfid3  |-  _I  =  { <. x ,  y
>.  |  x  =  y }

Proof of Theorem dfid3
Dummy variables  z  w are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-id 5024 . 2  |-  _I  =  { <. x ,  z
>.  |  x  =  z }
2 ancom 466 . . . . . . . . . . 11  |-  ( ( w  =  <. x ,  z >.  /\  x  =  z )  <->  ( x  =  z  /\  w  =  <. x ,  z
>. ) )
3 equcom 1945 . . . . . . . . . . . 12  |-  ( x  =  z  <->  z  =  x )
43anbi1i 731 . . . . . . . . . . 11  |-  ( ( x  =  z  /\  w  =  <. x ,  z >. )  <->  ( z  =  x  /\  w  =  <. x ,  z
>. ) )
52, 4bitri 264 . . . . . . . . . 10  |-  ( ( w  =  <. x ,  z >.  /\  x  =  z )  <->  ( z  =  x  /\  w  =  <. x ,  z
>. ) )
65exbii 1774 . . . . . . . . 9  |-  ( E. z ( w  = 
<. x ,  z >.  /\  x  =  z
)  <->  E. z ( z  =  x  /\  w  =  <. x ,  z
>. ) )
7 opeq2 4403 . . . . . . . . . . 11  |-  ( z  =  x  ->  <. x ,  z >.  =  <. x ,  x >. )
87eqeq2d 2632 . . . . . . . . . 10  |-  ( z  =  x  ->  (
w  =  <. x ,  z >.  <->  w  =  <. x ,  x >. ) )
98equsexvw 1932 . . . . . . . . 9  |-  ( E. z ( z  =  x  /\  w  = 
<. x ,  z >.
)  <->  w  =  <. x ,  x >. )
10 equid 1939 . . . . . . . . . 10  |-  x  =  x
1110biantru 526 . . . . . . . . 9  |-  ( w  =  <. x ,  x >.  <-> 
( w  =  <. x ,  x >.  /\  x  =  x ) )
126, 9, 113bitri 286 . . . . . . . 8  |-  ( E. z ( w  = 
<. x ,  z >.  /\  x  =  z
)  <->  ( w  = 
<. x ,  x >.  /\  x  =  x ) )
1312exbii 1774 . . . . . . 7  |-  ( E. x E. z ( w  =  <. x ,  z >.  /\  x  =  z )  <->  E. x
( w  =  <. x ,  x >.  /\  x  =  x ) )
14 nfe1 2027 . . . . . . . 8  |-  F/ x E. x ( w  = 
<. x ,  x >.  /\  x  =  x )
151419.9 2072 . . . . . . 7  |-  ( E. x E. x ( w  =  <. x ,  x >.  /\  x  =  x )  <->  E. x
( w  =  <. x ,  x >.  /\  x  =  x ) )
1613, 15bitr4i 267 . . . . . 6  |-  ( E. x E. z ( w  =  <. x ,  z >.  /\  x  =  z )  <->  E. x E. x ( w  = 
<. x ,  x >.  /\  x  =  x ) )
17 opeq2 4403 . . . . . . . . . . 11  |-  ( x  =  y  ->  <. x ,  x >.  =  <. x ,  y >. )
1817eqeq2d 2632 . . . . . . . . . 10  |-  ( x  =  y  ->  (
w  =  <. x ,  x >.  <->  w  =  <. x ,  y >. )
)
19 equequ2 1953 . . . . . . . . . 10  |-  ( x  =  y  ->  (
x  =  x  <->  x  =  y ) )
2018, 19anbi12d 747 . . . . . . . . 9  |-  ( x  =  y  ->  (
( w  =  <. x ,  x >.  /\  x  =  x )  <->  ( w  =  <. x ,  y
>.  /\  x  =  y ) ) )
2120sps 2055 . . . . . . . 8  |-  ( A. x  x  =  y  ->  ( ( w  = 
<. x ,  x >.  /\  x  =  x )  <-> 
( w  =  <. x ,  y >.  /\  x  =  y ) ) )
2221drex1 2327 . . . . . . 7  |-  ( A. x  x  =  y  ->  ( E. x ( w  =  <. x ,  x >.  /\  x  =  x )  <->  E. y
( w  =  <. x ,  y >.  /\  x  =  y ) ) )
2322drex2 2328 . . . . . 6  |-  ( A. x  x  =  y  ->  ( E. x E. x ( w  = 
<. x ,  x >.  /\  x  =  x )  <->  E. x E. y ( w  =  <. x ,  y >.  /\  x  =  y ) ) )
2416, 23syl5bb 272 . . . . 5  |-  ( A. x  x  =  y  ->  ( E. x E. z ( w  = 
<. x ,  z >.  /\  x  =  z
)  <->  E. x E. y
( w  =  <. x ,  y >.  /\  x  =  y ) ) )
25 nfnae 2318 . . . . . 6  |-  F/ x  -.  A. x  x  =  y
26 nfnae 2318 . . . . . . 7  |-  F/ y  -.  A. x  x  =  y
27 nfcvd 2765 . . . . . . . . 9  |-  ( -. 
A. x  x  =  y  ->  F/_ y w )
28 nfcvf2 2789 . . . . . . . . . 10  |-  ( -. 
A. x  x  =  y  ->  F/_ y x )
29 nfcvd 2765 . . . . . . . . . 10  |-  ( -. 
A. x  x  =  y  ->  F/_ y z )
3028, 29nfopd 4419 . . . . . . . . 9  |-  ( -. 
A. x  x  =  y  ->  F/_ y <.
x ,  z >.
)
3127, 30nfeqd 2772 . . . . . . . 8  |-  ( -. 
A. x  x  =  y  ->  F/ y  w  =  <. x ,  z >. )
3228, 29nfeqd 2772 . . . . . . . 8  |-  ( -. 
A. x  x  =  y  ->  F/ y  x  =  z )
3331, 32nfand 1826 . . . . . . 7  |-  ( -. 
A. x  x  =  y  ->  F/ y
( w  =  <. x ,  z >.  /\  x  =  z ) )
34 opeq2 4403 . . . . . . . . . 10  |-  ( z  =  y  ->  <. x ,  z >.  =  <. x ,  y >. )
3534eqeq2d 2632 . . . . . . . . 9  |-  ( z  =  y  ->  (
w  =  <. x ,  z >.  <->  w  =  <. x ,  y >.
) )
36 equequ2 1953 . . . . . . . . 9  |-  ( z  =  y  ->  (
x  =  z  <->  x  =  y ) )
3735, 36anbi12d 747 . . . . . . . 8  |-  ( z  =  y  ->  (
( w  =  <. x ,  z >.  /\  x  =  z )  <->  ( w  =  <. x ,  y
>.  /\  x  =  y ) ) )
3837a1i 11 . . . . . . 7  |-  ( -. 
A. x  x  =  y  ->  ( z  =  y  ->  ( ( w  =  <. x ,  z >.  /\  x  =  z )  <->  ( w  =  <. x ,  y
>.  /\  x  =  y ) ) ) )
3926, 33, 38cbvexd 2278 . . . . . 6  |-  ( -. 
A. x  x  =  y  ->  ( E. z ( w  = 
<. x ,  z >.  /\  x  =  z
)  <->  E. y ( w  =  <. x ,  y
>.  /\  x  =  y ) ) )
4025, 39exbid 2091 . . . . 5  |-  ( -. 
A. x  x  =  y  ->  ( E. x E. z ( w  =  <. x ,  z
>.  /\  x  =  z )  <->  E. x E. y
( w  =  <. x ,  y >.  /\  x  =  y ) ) )
4124, 40pm2.61i 176 . . . 4  |-  ( E. x E. z ( w  =  <. x ,  z >.  /\  x  =  z )  <->  E. x E. y ( w  = 
<. x ,  y >.  /\  x  =  y
) )
4241abbii 2739 . . 3  |-  { w  |  E. x E. z
( w  =  <. x ,  z >.  /\  x  =  z ) }  =  { w  |  E. x E. y
( w  =  <. x ,  y >.  /\  x  =  y ) }
43 df-opab 4713 . . 3  |-  { <. x ,  z >.  |  x  =  z }  =  { w  |  E. x E. z ( w  =  <. x ,  z
>.  /\  x  =  z ) }
44 df-opab 4713 . . 3  |-  { <. x ,  y >.  |  x  =  y }  =  { w  |  E. x E. y ( w  =  <. x ,  y
>.  /\  x  =  y ) }
4542, 43, 443eqtr4i 2654 . 2  |-  { <. x ,  z >.  |  x  =  z }  =  { <. x ,  y
>.  |  x  =  y }
461, 45eqtri 2644 1  |-  _I  =  { <. x ,  y
>.  |  x  =  y }
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 196    /\ wa 384   A.wal 1481    = wceq 1483   E.wex 1704   {cab 2608   <.cop 4183   {copab 4712    _I cid 5023
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-rab 2921  df-v 3202  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-nul 3916  df-if 4087  df-sn 4178  df-pr 4180  df-op 4184  df-opab 4713  df-id 5024
This theorem is referenced by:  dfid2  5027  reli  5249  opabresid  5455  ider  7779  cnmptid  21464
  Copyright terms: Public domain W3C validator