HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
GIF version

Theorem dfid3 2832
Description: A stronger version of df-id 2831 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.
Assertion
Ref Expression
dfid3 I = {⟨x, y⟩∣x = y}

Proof of Theorem dfid3
StepHypRef Expression
1 df-id 2831 . . 3 I = {⟨x, z⟩∣x = z}
2 df-opab 2663 . . 3 {⟨x, z⟩∣x = z} = {w∣∃xz(w = ⟨x, z⟩ ⋀ x = z)}
3 opeq2 2485 . . . . . . . . . . 11 (x = y → ⟨x, x⟩ = ⟨x, y⟩)
43eqeq2d 1484 . . . . . . . . . 10 (x = y → (w = ⟨x, x⟩ ↔ w = ⟨x, y⟩))
5 equequ2 1134 . . . . . . . . . 10 (x = y → (x = xx = y))
64, 5anbi12d 627 . . . . . . . . 9 (x = y → ((w = ⟨x, x⟩ ⋀ x = x) ↔ (w = ⟨x, y⟩ ⋀ x = y)))
76a4s 983 . . . . . . . 8 (∀x x = y → ((w = ⟨x, x⟩ ⋀ x = x) ↔ (w = ⟨x, y⟩ ⋀ x = y)))
87drex1 1155 . . . . . . 7 (∀x x = y → (∃x(w = ⟨x, x⟩ ⋀ x = x) ↔ ∃y(w = ⟨x, y⟩ ⋀ x = y)))
98drex2 1156 . . . . . 6 (∀x x = y → (∃xx(w = ⟨x, x⟩ ⋀ x = x) ↔ ∃xy(w = ⟨x, y⟩ ⋀ x = y)))
10 ancom 435 . . . . . . . . . . 11 ((w = ⟨x, z⟩ ⋀ x = z) ↔ (x = zw = ⟨x, z⟩))
11 equcom 1128 . . . . . . . . . . . 12 (x = zz = x)
1211anbi1i 481 . . . . . . . . . . 11 ((x = zw = ⟨x, z⟩) ↔ (z = xw = ⟨x, z⟩))
1310, 12bitr 173 . . . . . . . . . 10 ((w = ⟨x, z⟩ ⋀ x = z) ↔ (z = xw = ⟨x, z⟩))
1413exbii 1050 . . . . . . . . 9 (∃z(w = ⟨x, z⟩ ⋀ x = z) ↔ ∃z(z = xw = ⟨x, z⟩))
15 visset 1810 . . . . . . . . . 10 xV
16 opeq2 2485 . . . . . . . . . . 11 (z = x → ⟨x, z⟩ = ⟨x, x⟩)
1716eqeq2d 1484 . . . . . . . . . 10 (z = x → (w = ⟨x, z⟩ ↔ w = ⟨x, x⟩))
1815, 17ceqsexv 1832 . . . . . . . . 9 (∃z(z = xw = ⟨x, z⟩) ↔ w = ⟨x, x⟩)
19 equid 1125 . . . . . . . . . 10 x = x
2019biantru 723 . . . . . . . . 9 (w = ⟨x, x⟩ ↔ (w = ⟨x, x⟩ ⋀ x = x))
2114, 18, 203bitr 177 . . . . . . . 8 (∃z(w = ⟨x, z⟩ ⋀ x = z) ↔ (w = ⟨x, x⟩ ⋀ x = x))
2221exbii 1050 . . . . . . 7 (∃xz(w = ⟨x, z⟩ ⋀ x = z) ↔ ∃x(w = ⟨x, x⟩ ⋀ x = x))
23 hbe1 1015 . . . . . . . 8 (∃x(w = ⟨x, x⟩ ⋀ x = x) → ∀xx(w = ⟨x, x⟩ ⋀ x = x))
242319.9 1035 . . . . . . 7 (∃xx(w = ⟨x, x⟩ ⋀ x = x) ↔ ∃x(w = ⟨x, x⟩ ⋀ x = x))
2522, 24bitr4 176 . . . . . 6 (∃xz(w = ⟨x, z⟩ ⋀ x = z) ↔ ∃xx(w = ⟨x, x⟩ ⋀ x = x))
269, 25syl5bb 531 . . . . 5 (∀x x = y → (∃xz(w = ⟨x, z⟩ ⋀ x = z) ↔ ∃xy(w = ⟨x, y⟩ ⋀ x = y)))
27 hbnae 1146 . . . . . 6 (¬ ∀x x = y → ∀x ¬ ∀x x = y)
28 hbnae 1146 . . . . . . 7 (¬ ∀x x = y → ∀y ¬ ∀x x = y)
29 ax-17 970 . . . . . . . . . 10 (vw → ∀y vw)
3029a1i 8 . . . . . . . . 9 (¬ ∀x x = y → (vw → ∀y vw))
31 dveel2 1356 . . . . . . . . . . 11 (¬ ∀y y = x → (vx → ∀y vx))
3231nalequcoms 1143 . . . . . . . . . 10 (¬ ∀x x = y → (vx → ∀y vx))
33 ax-17 970 . . . . . . . . . . 11 (vz → ∀y vz)
3433a1i 8 . . . . . . . . . 10 (¬ ∀x x = y → (vz → ∀y vz))
3528, 32, 34hbopd 2494 . . . . . . . . 9 (¬ ∀x x = y → (v ∈ ⟨x, z⟩ → ∀y v ∈ ⟨x, z⟩))
3628, 30, 35hbeqd 1910 . . . . . . . 8 (¬ ∀x x = y → (w = ⟨x, z⟩ → ∀y w = ⟨x, z⟩))
37 dveeq1 1353 . . . . . . . . 9 (¬ ∀y y = x → (x = z → ∀y x = z))
3837nalequcoms 1143 . . . . . . . 8 (¬ ∀x x = y → (x = z → ∀y x = z))
3936, 38hband 1110 . . . . . . 7 (¬ ∀x x = y → ((w = ⟨x, z⟩ ⋀ x = z) → ∀y(w = ⟨x, z⟩ ⋀ x = z)))
40 opeq2 2485 . . . . . . . . . 10 (z = y → ⟨x, z⟩ = ⟨x, y⟩)
4140eqeq2d 1484 . . . . . . . . 9 (z = y → (w = ⟨x, z⟩ ↔ w = ⟨x, y⟩))
42 equequ2 1134 . . . . . . . . 9 (z = y → (x = zx = y))
4341, 42anbi12d 627 . . . . . . . 8 (z = y → ((w = ⟨x, z⟩ ⋀ x = z) ↔ (w = ⟨x, y⟩ ⋀ x = y)))
4443a1i 8 . . . . . . 7 (¬ ∀x x = y → (z = y → ((w = ⟨x, z⟩ ⋀ x = z) ↔ (w = ⟨x, y⟩ ⋀ x = y))))
4528, 39, 44cbvexd 1320 . . . . . 6 (¬ ∀x x = y → (∃z(w = ⟨x, z⟩ ⋀ x = z) ↔ ∃y(w = ⟨x, y⟩ ⋀ x = y)))
4627, 45exbid 1104 . . . . 5 (¬ ∀x x = y → (∃xz(w = ⟨x, z⟩ ⋀ x = z) ↔ ∃xy(w = ⟨x, y⟩ ⋀ x = y)))
4726, 46pm2.61i 126 . . . 4 (∃xz(w = ⟨x, z⟩ ⋀ x = z) ↔ ∃xy(w = ⟨x, y⟩ ⋀ x = y))
4847abbii 1573 . . 3 {w∣∃xz(w = ⟨x, z⟩ ⋀ x = z)} = {w∣∃xy(w = ⟨x, y⟩ ⋀ x = y)}
491, 2, 483eqtr 1497 . 2 I = {w∣∃xy(w = ⟨x, y⟩ ⋀ x = y)}
50 df-opab 2663 . 2 {⟨x, y⟩∣x = y} = {w∣∃xy(w = ⟨x, y⟩ ⋀ x = y)}
5149, 50eqtr4 1496 1 I = {⟨x, y⟩∣x = y}
Colors of variables: wff set class
Syntax hints:  ¬ wn 2   → wi 3   ↔ wb 146   ⋀ wa 223  ∀wal 953   = wceq 955   ∈ wcel 957  ∃wex 979  {cab 1462  ⟨cop 2408  {copab 2662  Icid 2827
This theorem is referenced by:  dfid2 2833
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 961  ax-gen 962  ax-8 963  ax-10 965  ax-12 967  ax-14 969  ax-17 970  ax-4 972  ax-5o 974  ax-6o 977  ax-9o 1122  ax-10o 1139  ax-16 1209  ax-11o 1217  ax-ext 1458
This theorem depends on definitions:  df-bi 147  df-or 224  df-an 225  df-ex 980  df-sb 1171  df-clab 1463  df-cleq 1468  df-clel 1471  df-v 1809  df-un 2047  df-sn 2409  df-pr 2410  df-op 2413  df-opab 2663  df-id 2831
Copyright terms: Public domain