NFE Home New Foundations Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  NFE Home  >  Th. List  >  dfid3 GIF version

Theorem dfid3 4769
Description: A stronger version of df-id 4768 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 4768 . 2 I = {x, z x = z}
2 ancom 437 . . . . . . . . . . 11 ((w = x, z x = z) ↔ (x = z w = x, z))
3 equcom 1680 . . . . . . . . . . . 12 (x = zz = x)
43anbi1i 676 . . . . . . . . . . 11 ((x = z w = x, z) ↔ (z = x w = x, z))
52, 4bitri 240 . . . . . . . . . 10 ((w = x, z x = z) ↔ (z = x w = x, z))
65exbii 1582 . . . . . . . . 9 (z(w = x, z x = z) ↔ z(z = x w = x, z))
7 vex 2863 . . . . . . . . . 10 x V
8 opeq2 4580 . . . . . . . . . . 11 (z = xx, z = x, x)
98eqeq2d 2364 . . . . . . . . . 10 (z = x → (w = x, zw = x, x))
107, 9ceqsexv 2895 . . . . . . . . 9 (z(z = x w = x, z) ↔ w = x, x)
11 equid 1676 . . . . . . . . . 10 x = x
1211biantru 491 . . . . . . . . 9 (w = x, x ↔ (w = x, x x = x))
136, 10, 123bitri 262 . . . . . . . 8 (z(w = x, z x = z) ↔ (w = x, x x = x))
1413exbii 1582 . . . . . . 7 (xz(w = x, z x = z) ↔ x(w = x, x x = x))
15 nfe1 1732 . . . . . . . 8 xx(w = x, x x = x)
161519.9 1783 . . . . . . 7 (xx(w = x, x x = x) ↔ x(w = x, x x = x))
1714, 16bitr4i 243 . . . . . 6 (xz(w = x, z x = z) ↔ xx(w = x, x x = x))
18 opeq2 4580 . . . . . . . . . . 11 (x = yx, x = x, y)
1918eqeq2d 2364 . . . . . . . . . 10 (x = y → (w = x, xw = x, y))
20 equequ2 1686 . . . . . . . . . 10 (x = y → (x = xx = y))
2119, 20anbi12d 691 . . . . . . . . 9 (x = y → ((w = x, x x = x) ↔ (w = x, y x = y)))
2221sps 1754 . . . . . . . 8 (x x = y → ((w = x, x x = x) ↔ (w = x, y x = y)))
2322drex1 1967 . . . . . . 7 (x x = y → (x(w = x, x x = x) ↔ y(w = x, y x = y)))
2423drex2 1968 . . . . . 6 (x x = y → (xx(w = x, x x = x) ↔ xy(w = x, y x = y)))
2517, 24syl5bb 248 . . . . 5 (x x = y → (xz(w = x, z x = z) ↔ xy(w = x, y x = y)))
26 nfnae 1956 . . . . . 6 x ¬ x x = y
27 nfnae 1956 . . . . . . 7 y ¬ x x = y
28 nfcvd 2491 . . . . . . . . 9 x x = yyw)
29 nfcvf2 2513 . . . . . . . . . 10 x x = yyx)
30 nfcvd 2491 . . . . . . . . . 10 x x = yyz)
3129, 30nfopd 4606 . . . . . . . . 9 x x = yyx, z)
3228, 31nfeqd 2504 . . . . . . . 8 x x = y → Ⅎy w = x, z)
3329, 30nfeqd 2504 . . . . . . . 8 x x = y → Ⅎy x = z)
3432, 33nfand 1822 . . . . . . 7 x x = y → Ⅎy(w = x, z x = z))
35 opeq2 4580 . . . . . . . . . 10 (z = yx, z = x, y)
3635eqeq2d 2364 . . . . . . . . 9 (z = y → (w = x, zw = x, y))
37 equequ2 1686 . . . . . . . . 9 (z = y → (x = zx = y))
3836, 37anbi12d 691 . . . . . . . 8 (z = y → ((w = x, z x = z) ↔ (w = x, y x = y)))
3938a1i 10 . . . . . . 7 x x = y → (z = y → ((w = x, z x = z) ↔ (w = x, y x = y))))
4027, 34, 39cbvexd 2009 . . . . . 6 x x = y → (z(w = x, z x = z) ↔ y(w = x, y x = y)))
4126, 40exbid 1773 . . . . 5 x x = y → (xz(w = x, z x = z) ↔ xy(w = x, y x = y)))
4225, 41pm2.61i 156 . . . 4 (xz(w = x, z x = z) ↔ xy(w = x, y x = y))
4342abbii 2466 . . 3 {w xz(w = x, z x = z)} = {w xy(w = x, y x = y)}
44 df-opab 4624 . . 3 {x, z x = z} = {w xz(w = x, z x = z)}
45 df-opab 4624 . . 3 {x, y x = y} = {w xy(w = x, y x = y)}
4643, 44, 453eqtr4i 2383 . 2 {x, z x = z} = {x, y x = y}
471, 46eqtri 2373 1 I = {x, y x = y}
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 176   wa 358  wal 1540  wex 1541   = wceq 1642  {cab 2339  cop 4562  {copab 4623   I cid 4764
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1546  ax-5 1557  ax-17 1616  ax-9 1654  ax-8 1675  ax-6 1729  ax-7 1734  ax-11 1746  ax-12 1925  ax-ext 2334  ax-nin 4079  ax-xp 4080  ax-cnv 4081  ax-1c 4082  ax-sset 4083  ax-si 4084  ax-ins2 4085  ax-ins3 4086  ax-typlower 4087  ax-sn 4088
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3an 936  df-nan 1288  df-tru 1319  df-ex 1542  df-nf 1545  df-sb 1649  df-clab 2340  df-cleq 2346  df-clel 2349  df-nfc 2479  df-ne 2519  df-ral 2620  df-rex 2621  df-v 2862  df-sbc 3048  df-nin 3212  df-compl 3213  df-in 3214  df-un 3215  df-dif 3216  df-symdif 3217  df-ss 3260  df-nul 3552  df-if 3664  df-pw 3725  df-sn 3742  df-pr 3743  df-uni 3893  df-int 3928  df-opk 4059  df-1c 4137  df-pw1 4138  df-uni1 4139  df-xpk 4186  df-cnvk 4187  df-ins2k 4188  df-ins3k 4189  df-imak 4190  df-cok 4191  df-p6 4192  df-sik 4193  df-ssetk 4194  df-imagek 4195  df-idk 4196  df-addc 4379  df-nnc 4380  df-phi 4566  df-op 4567  df-opab 4624  df-id 4768
This theorem is referenced by:  dfid2  4770  opabresid  5004
  Copyright terms: Public domain W3C validator