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

Theorem dfid3 5492
Description: A stronger version of df-id 5489 that does not require 𝑥 and 𝑦 to be disjoint. This is not the definition since, in order to pass our definition soundness test, a definition has to have disjoint dummy variables, see conventions 28764. The proof can be instructive in showing how disjoint variable conditions may be eliminated, a task that is not necessarily obvious. (Contributed by NM, 5-Feb-2008.) (Revised by Mario Carneiro, 18-Nov-2016.)

Use df-id 5489 instead to make the semantics of the constructor df-opab 5137 clearer (in usages, 𝑥, 𝑦 will typically be dummy variables, so can be assumed disjoint). (New usage is discouraged.)

Assertion
Ref Expression
dfid3 I = {⟨𝑥, 𝑦⟩ ∣ 𝑥 = 𝑦}

Proof of Theorem dfid3
Dummy variables 𝑧 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-id 5489 . 2 I = {⟨𝑥, 𝑧⟩ ∣ 𝑥 = 𝑧}
2 equcom 2021 . . . . . . . . . . 11 (𝑥 = 𝑧𝑧 = 𝑥)
32anbi1ci 626 . . . . . . . . . 10 ((𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ (𝑧 = 𝑥𝑤 = ⟨𝑥, 𝑧⟩))
43exbii 1850 . . . . . . . . 9 (∃𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑧(𝑧 = 𝑥𝑤 = ⟨𝑥, 𝑧⟩))
5 opeq2 4805 . . . . . . . . . . 11 (𝑧 = 𝑥 → ⟨𝑥, 𝑧⟩ = ⟨𝑥, 𝑥⟩)
65eqeq2d 2749 . . . . . . . . . 10 (𝑧 = 𝑥 → (𝑤 = ⟨𝑥, 𝑧⟩ ↔ 𝑤 = ⟨𝑥, 𝑥⟩))
76equsexvw 2008 . . . . . . . . 9 (∃𝑧(𝑧 = 𝑥𝑤 = ⟨𝑥, 𝑧⟩) ↔ 𝑤 = ⟨𝑥, 𝑥⟩)
8 equid 2015 . . . . . . . . . 10 𝑥 = 𝑥
98biantru 530 . . . . . . . . 9 (𝑤 = ⟨𝑥, 𝑥⟩ ↔ (𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥))
104, 7, 93bitri 297 . . . . . . . 8 (∃𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ (𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥))
1110exbii 1850 . . . . . . 7 (∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥))
12 nfe1 2147 . . . . . . . 8 𝑥𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥)
131219.9 2198 . . . . . . 7 (∃𝑥𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥) ↔ ∃𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥))
1411, 13bitr4i 277 . . . . . 6 (∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑥𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥))
15 opeq2 4805 . . . . . . . . . . 11 (𝑥 = 𝑦 → ⟨𝑥, 𝑥⟩ = ⟨𝑥, 𝑦⟩)
1615eqeq2d 2749 . . . . . . . . . 10 (𝑥 = 𝑦 → (𝑤 = ⟨𝑥, 𝑥⟩ ↔ 𝑤 = ⟨𝑥, 𝑦⟩))
17 equequ2 2029 . . . . . . . . . 10 (𝑥 = 𝑦 → (𝑥 = 𝑥𝑥 = 𝑦))
1816, 17anbi12d 631 . . . . . . . . 9 (𝑥 = 𝑦 → ((𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥) ↔ (𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
1918sps 2178 . . . . . . . 8 (∀𝑥 𝑥 = 𝑦 → ((𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥) ↔ (𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
2019drex1 2441 . . . . . . 7 (∀𝑥 𝑥 = 𝑦 → (∃𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥) ↔ ∃𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
2120drex2 2442 . . . . . 6 (∀𝑥 𝑥 = 𝑦 → (∃𝑥𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥) ↔ ∃𝑥𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
2214, 21bitrid 282 . . . . 5 (∀𝑥 𝑥 = 𝑦 → (∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑥𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
23 nfnae 2434 . . . . . 6 𝑥 ¬ ∀𝑥 𝑥 = 𝑦
24 nfnae 2434 . . . . . . 7 𝑦 ¬ ∀𝑥 𝑥 = 𝑦
25 nfcvd 2908 . . . . . . . . 9 (¬ ∀𝑥 𝑥 = 𝑦𝑦𝑤)
26 nfcvf2 2937 . . . . . . . . . 10 (¬ ∀𝑥 𝑥 = 𝑦𝑦𝑥)
27 nfcvd 2908 . . . . . . . . . 10 (¬ ∀𝑥 𝑥 = 𝑦𝑦𝑧)
2826, 27nfopd 4821 . . . . . . . . 9 (¬ ∀𝑥 𝑥 = 𝑦𝑦𝑥, 𝑧⟩)
2925, 28nfeqd 2917 . . . . . . . 8 (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑦 𝑤 = ⟨𝑥, 𝑧⟩)
3026, 27nfeqd 2917 . . . . . . . 8 (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑦 𝑥 = 𝑧)
3129, 30nfand 1900 . . . . . . 7 (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑦(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧))
32 opeq2 4805 . . . . . . . . . 10 (𝑧 = 𝑦 → ⟨𝑥, 𝑧⟩ = ⟨𝑥, 𝑦⟩)
3332eqeq2d 2749 . . . . . . . . 9 (𝑧 = 𝑦 → (𝑤 = ⟨𝑥, 𝑧⟩ ↔ 𝑤 = ⟨𝑥, 𝑦⟩))
34 equequ2 2029 . . . . . . . . 9 (𝑧 = 𝑦 → (𝑥 = 𝑧𝑥 = 𝑦))
3533, 34anbi12d 631 . . . . . . . 8 (𝑧 = 𝑦 → ((𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ (𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
3635a1i 11 . . . . . . 7 (¬ ∀𝑥 𝑥 = 𝑦 → (𝑧 = 𝑦 → ((𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ (𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦))))
3724, 31, 36cbvexd 2408 . . . . . 6 (¬ ∀𝑥 𝑥 = 𝑦 → (∃𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
3823, 37exbid 2216 . . . . 5 (¬ ∀𝑥 𝑥 = 𝑦 → (∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑥𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
3922, 38pm2.61i 182 . . . 4 (∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑥𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦))
4039abbii 2808 . . 3 {𝑤 ∣ ∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧)} = {𝑤 ∣ ∃𝑥𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)}
41 df-opab 5137 . . 3 {⟨𝑥, 𝑧⟩ ∣ 𝑥 = 𝑧} = {𝑤 ∣ ∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧)}
42 df-opab 5137 . . 3 {⟨𝑥, 𝑦⟩ ∣ 𝑥 = 𝑦} = {𝑤 ∣ ∃𝑥𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)}
4340, 41, 423eqtr4i 2776 . 2 {⟨𝑥, 𝑧⟩ ∣ 𝑥 = 𝑧} = {⟨𝑥, 𝑦⟩ ∣ 𝑥 = 𝑦}
441, 43eqtri 2766 1 I = {⟨𝑥, 𝑦⟩ ∣ 𝑥 = 𝑦}
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 396  wal 1537   = wceq 1539  wex 1782  {cab 2715  cop 4567  {copab 5136   I cid 5488
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-13 2372  ax-ext 2709
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3an 1088  df-tru 1542  df-fal 1552  df-ex 1783  df-nf 1787  df-sb 2068  df-clab 2716  df-cleq 2730  df-clel 2816  df-nfc 2889  df-rab 3073  df-v 3434  df-dif 3890  df-un 3892  df-nul 4257  df-if 4460  df-sn 4562  df-pr 4564  df-op 4568  df-opab 5137  df-id 5489
This theorem is referenced by:  dfid2OLD  5493
  Copyright terms: Public domain W3C validator