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

Theorem dfid3 4768
 Description: A stronger version of df-id 4767 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 4767 . 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 2862 . . . . . . . . . 10 x V
8 opeq2 4579 . . . . . . . . . . 11 (z = xx, z = x, x)
98eqeq2d 2364 . . . . . . . . . 10 (z = x → (w = x, zw = x, x))
107, 9ceqsexv 2894 . . . . . . . . 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 4579 . . . . . . . . . . 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 2490 . . . . . . . . 9 x x = yyw)
29 nfcvf2 2512 . . . . . . . . . 10 x x = yyx)
30 nfcvd 2490 . . . . . . . . . 10 x x = yyz)
3129, 30nfopd 4605 . . . . . . . . 9 x x = yyx, z)
3228, 31nfeqd 2503 . . . . . . . 8 x x = y → Ⅎy w = x, z)
3329, 30nfeqd 2503 . . . . . . . 8 x x = y → Ⅎy x = z)
3432, 33nfand 1822 . . . . . . 7 x x = y → Ⅎy(w = x, z x = z))
35 opeq2 4579 . . . . . . . . . 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 2465 . . 3 {w xz(w = x, z x = z)} = {w xy(w = x, y x = y)}
44 df-opab 4623 . . 3 {x, z x = z} = {w xz(w = x, z x = z)}
45 df-opab 4623 . . 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 4561  {copab 4622   I cid 4763 This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 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 4078  ax-xp 4079  ax-cnv 4080  ax-1c 4081  ax-sset 4082  ax-si 4083  ax-ins2 4084  ax-ins3 4085  ax-typlower 4086  ax-sn 4087 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 2478  df-ne 2518  df-ral 2619  df-rex 2620  df-v 2861  df-sbc 3047  df-nin 3211  df-compl 3212  df-in 3213  df-un 3214  df-dif 3215  df-symdif 3216  df-ss 3259  df-nul 3551  df-if 3663  df-pw 3724  df-sn 3741  df-pr 3742  df-uni 3892  df-int 3927  df-opk 4058  df-1c 4136  df-pw1 4137  df-uni1 4138  df-xpk 4185  df-cnvk 4186  df-ins2k 4187  df-ins3k 4188  df-imak 4189  df-cok 4190  df-p6 4191  df-sik 4192  df-ssetk 4193  df-imagek 4194  df-idk 4195  df-addc 4378  df-nnc 4379  df-phi 4565  df-op 4566  df-opab 4623  df-id 4767 This theorem is referenced by:  dfid2  4769  opabresid  5003
 Copyright terms: Public domain W3C validator