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

Theorem dfid3 5523
Description: A stronger version of df-id 5520 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 30495. 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 5520 instead to make the semantics of the constructor df-opab 5142 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 5520 . 2 I = {⟨𝑥, 𝑧⟩ ∣ 𝑥 = 𝑧}
2 equcom 2025 . . . . . . . . . . 11 (𝑥 = 𝑧𝑧 = 𝑥)
32anbi1ci 632 . . . . . . . . . 10 ((𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ (𝑧 = 𝑥𝑤 = ⟨𝑥, 𝑧⟩))
43exbii 1855 . . . . . . . . 9 (∃𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑧(𝑧 = 𝑥𝑤 = ⟨𝑥, 𝑧⟩))
5 opeq2 4812 . . . . . . . . . . 11 (𝑧 = 𝑥 → ⟨𝑥, 𝑧⟩ = ⟨𝑥, 𝑥⟩)
65eqeq2d 2751 . . . . . . . . . 10 (𝑧 = 𝑥 → (𝑤 = ⟨𝑥, 𝑧⟩ ↔ 𝑤 = ⟨𝑥, 𝑥⟩))
76equsexvw 2012 . . . . . . . . 9 (∃𝑧(𝑧 = 𝑥𝑤 = ⟨𝑥, 𝑧⟩) ↔ 𝑤 = ⟨𝑥, 𝑥⟩)
8 equid 2019 . . . . . . . . . 10 𝑥 = 𝑥
98biantru 534 . . . . . . . . 9 (𝑤 = ⟨𝑥, 𝑥⟩ ↔ (𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥))
104, 7, 93bitri 298 . . . . . . . 8 (∃𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ (𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥))
1110exbii 1855 . . . . . . 7 (∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥))
12 nfe1 2161 . . . . . . . 8 𝑥𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥)
131219.9 2217 . . . . . . 7 (∃𝑥𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥) ↔ ∃𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥))
1411, 13bitr4i 279 . . . . . 6 (∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑥𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥))
15 opeq2 4812 . . . . . . . . . . 11 (𝑥 = 𝑦 → ⟨𝑥, 𝑥⟩ = ⟨𝑥, 𝑦⟩)
1615eqeq2d 2751 . . . . . . . . . 10 (𝑥 = 𝑦 → (𝑤 = ⟨𝑥, 𝑥⟩ ↔ 𝑤 = ⟨𝑥, 𝑦⟩))
17 equequ2 2033 . . . . . . . . . 10 (𝑥 = 𝑦 → (𝑥 = 𝑥𝑥 = 𝑦))
1816, 17anbi12d 638 . . . . . . . . 9 (𝑥 = 𝑦 → ((𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥) ↔ (𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
1918sps 2197 . . . . . . . 8 (∀𝑥 𝑥 = 𝑦 → ((𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥) ↔ (𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
2019drex1 2449 . . . . . . 7 (∀𝑥 𝑥 = 𝑦 → (∃𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥) ↔ ∃𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
2120drex2 2450 . . . . . 6 (∀𝑥 𝑥 = 𝑦 → (∃𝑥𝑥(𝑤 = ⟨𝑥, 𝑥⟩ ∧ 𝑥 = 𝑥) ↔ ∃𝑥𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
2214, 21bitrid 284 . . . . 5 (∀𝑥 𝑥 = 𝑦 → (∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑥𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
23 nfnae 2442 . . . . . 6 𝑥 ¬ ∀𝑥 𝑥 = 𝑦
24 nfnae 2442 . . . . . . 7 𝑦 ¬ ∀𝑥 𝑥 = 𝑦
25 nfcvd 2903 . . . . . . . . 9 (¬ ∀𝑥 𝑥 = 𝑦𝑦𝑤)
26 nfcvf2 2929 . . . . . . . . . 10 (¬ ∀𝑥 𝑥 = 𝑦𝑦𝑥)
27 nfcvd 2903 . . . . . . . . . 10 (¬ ∀𝑥 𝑥 = 𝑦𝑦𝑧)
2826, 27nfopd 4828 . . . . . . . . 9 (¬ ∀𝑥 𝑥 = 𝑦𝑦𝑥, 𝑧⟩)
2925, 28nfeqd 2912 . . . . . . . 8 (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑦 𝑤 = ⟨𝑥, 𝑧⟩)
3026, 27nfeqd 2912 . . . . . . . 8 (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑦 𝑥 = 𝑧)
3129, 30nfand 1904 . . . . . . 7 (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑦(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧))
32 opeq2 4812 . . . . . . . . . 10 (𝑧 = 𝑦 → ⟨𝑥, 𝑧⟩ = ⟨𝑥, 𝑦⟩)
3332eqeq2d 2751 . . . . . . . . 9 (𝑧 = 𝑦 → (𝑤 = ⟨𝑥, 𝑧⟩ ↔ 𝑤 = ⟨𝑥, 𝑦⟩))
34 equequ2 2033 . . . . . . . . 9 (𝑧 = 𝑦 → (𝑥 = 𝑧𝑥 = 𝑦))
3533, 34anbi12d 638 . . . . . . . 8 (𝑧 = 𝑦 → ((𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ (𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
3635a1i 11 . . . . . . 7 (¬ ∀𝑥 𝑥 = 𝑦 → (𝑧 = 𝑦 → ((𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ (𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦))))
3724, 31, 36cbvexd 2416 . . . . . 6 (¬ ∀𝑥 𝑥 = 𝑦 → (∃𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
3823, 37exbid 2235 . . . . 5 (¬ ∀𝑥 𝑥 = 𝑦 → (∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑥𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)))
3922, 38pm2.61i 183 . . . 4 (∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧) ↔ ∃𝑥𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦))
4039abbii 2807 . . 3 {𝑤 ∣ ∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧)} = {𝑤 ∣ ∃𝑥𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)}
41 df-opab 5142 . . 3 {⟨𝑥, 𝑧⟩ ∣ 𝑥 = 𝑧} = {𝑤 ∣ ∃𝑥𝑧(𝑤 = ⟨𝑥, 𝑧⟩ ∧ 𝑥 = 𝑧)}
42 df-opab 5142 . . 3 {⟨𝑥, 𝑦⟩ ∣ 𝑥 = 𝑦} = {𝑤 ∣ ∃𝑥𝑦(𝑤 = ⟨𝑥, 𝑦⟩ ∧ 𝑥 = 𝑦)}
4340, 41, 423eqtr4i 2773 . 2 {⟨𝑥, 𝑧⟩ ∣ 𝑥 = 𝑧} = {⟨𝑥, 𝑦⟩ ∣ 𝑥 = 𝑦}
441, 43eqtri 2763 1 I = {⟨𝑥, 𝑦⟩ ∣ 𝑥 = 𝑦}
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 207  wa 396  wal 1545   = wceq 1547  wex 1786  {cab 2718  cop 4568  {copab 5141   I cid 5519
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-13 2380  ax-ext 2712
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-clab 2719  df-cleq 2732  df-clel 2815  df-nfc 2889  df-rab 3393  df-v 3434  df-dif 3893  df-un 3895  df-ss 3907  df-nul 4269  df-if 4462  df-sn 4563  df-pr 4565  df-op 4569  df-opab 5142  df-id 5520
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator