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 = z ↔ z = 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 = x → ⟨x, z⟩ = ⟨x, x⟩)
98eqeq2d 2364 . . . . . . . . . 10 ⊢ (z = x → (w = ⟨x, z⟩ ↔ w = ⟨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 ⊢ (∃x∃z(w = ⟨x, z⟩ ∧ x = z) ↔ ∃x(w = ⟨x, x⟩ ∧ x = x))
15 nfe1 1732 . . . . . . . 8 ⊢ Ⅎx∃x(w = ⟨x, x⟩ ∧ x = x)
161519.9 1783 . . . . . . 7 ⊢ (∃x∃x(w = ⟨x, x⟩ ∧ x = x) ↔ ∃x(w = ⟨x, x⟩ ∧ x = x))
1714, 16bitr4i 243 . . . . . 6 ⊢ (∃x∃z(w = ⟨x, z⟩ ∧ x = z) ↔ ∃x∃x(w = ⟨x, x⟩ ∧ x = x))
18 opeq2 4580 . . . . . . . . . . 11 ⊢ (x = y → ⟨x, x⟩ = ⟨x, y⟩)
1918eqeq2d 2364 . . . . . . . . . 10 ⊢ (x = y → (w = ⟨x, x⟩ ↔ w = ⟨x, y⟩))
20 equequ2 1686 . . . . . . . . . 10 ⊢ (x = y → (x = x ↔ x = 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 → (∃x∃x(w = ⟨x, x⟩ ∧ x = x) ↔ ∃x∃y(w = ⟨x, y⟩ ∧ x = y)))
2517, 24syl5bb 248 . . . . 5 ⊢ (∀x x = y → (∃x∃z(w = ⟨x, z⟩ ∧ x = z) ↔ ∃x∃y(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 = y → Ⅎyw)
29 nfcvf2 2513 . . . . . . . . . 10 ⊢ (¬ ∀x x = y → Ⅎyx)
30 nfcvd 2491 . . . . . . . . . 10 ⊢ (¬ ∀x x = y → Ⅎyz)
3129, 30nfopd 4606 . . . . . . . . 9 ⊢ (¬ ∀x x = y → Ⅎy⟨x, 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 = y → ⟨x, z⟩ = ⟨x, y⟩)
3635eqeq2d 2364 . . . . . . . . 9 ⊢ (z = y → (w = ⟨x, z⟩ ↔ w = ⟨x, y⟩))
37 equequ2 1686 . . . . . . . . 9 ⊢ (z = y → (x = z ↔ x = 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 → (∃x∃z(w = ⟨x, z⟩ ∧ x = z) ↔ ∃x∃y(w = ⟨x, y⟩ ∧ x = y)))
4225, 41pm2.61i 156 . . . 4 ⊢ (∃x∃z(w = ⟨x, z⟩ ∧ x = z) ↔ ∃x∃y(w = ⟨x, y⟩ ∧ x = y))
4342abbii 2466 . . 3 ⊢ {w ∣ ∃x∃z(w = ⟨x, z⟩ ∧ x = z)} = {w ∣ ∃x∃y(w = ⟨x, y⟩ ∧ x = y)}
44 df-opab 4624 . . 3 ⊢ {⟨x, z⟩ ∣ x = z} = {w ∣ ∃x∃z(w = ⟨x, z⟩ ∧ x = z)}
45 df-opab 4624 . . 3 ⊢ {⟨x, y⟩ ∣ x = y} = {w ∣ ∃x∃y(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
This proof depends on syntax axioms:  ¬ wn 3   → wi 4   ↔ wb 176   ∧ wa 358  ∀wal 1540  ∃wex 1541   = wceq 1642  {cab 2339  ⟨cop 4562  {copab 4623   I cid 4764
This proof depends on 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 proof 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 used by:  dfid2  4770  opabresid  5004
  Copyright terms: Public domain W3C validator