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

Theorem reu2 3427
Description: A way to express restricted uniqueness. (Contributed by NM, 22-Nov-1994.)
Assertion
Ref Expression
reu2 (∃!𝑥𝐴 𝜑 ↔ (∃𝑥𝐴 𝜑 ∧ ∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
Distinct variable groups:   𝑥,𝑦,𝐴   𝜑,𝑦
Allowed substitution hint:   𝜑(𝑥)

Proof of Theorem reu2
StepHypRef Expression
1 nfv 1883 . . 3 𝑦(𝑥𝐴𝜑)
21eu2 2538 . 2 (∃!𝑥(𝑥𝐴𝜑) ↔ (∃𝑥(𝑥𝐴𝜑) ∧ ∀𝑥𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦)))
3 df-reu 2948 . 2 (∃!𝑥𝐴 𝜑 ↔ ∃!𝑥(𝑥𝐴𝜑))
4 df-rex 2947 . . 3 (∃𝑥𝐴 𝜑 ↔ ∃𝑥(𝑥𝐴𝜑))
5 df-ral 2946 . . . 4 (∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
6 19.21v 1908 . . . . . 6 (∀𝑦(𝑥𝐴 → (𝑦𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))) ↔ (𝑥𝐴 → ∀𝑦(𝑦𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
7 nfv 1883 . . . . . . . . . . . . 13 𝑥 𝑦𝐴
8 nfs1v 2465 . . . . . . . . . . . . 13 𝑥[𝑦 / 𝑥]𝜑
97, 8nfan 1868 . . . . . . . . . . . 12 𝑥(𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑)
10 eleq1 2718 . . . . . . . . . . . . 13 (𝑥 = 𝑦 → (𝑥𝐴𝑦𝐴))
11 sbequ12 2149 . . . . . . . . . . . . 13 (𝑥 = 𝑦 → (𝜑 ↔ [𝑦 / 𝑥]𝜑))
1210, 11anbi12d 747 . . . . . . . . . . . 12 (𝑥 = 𝑦 → ((𝑥𝐴𝜑) ↔ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑)))
139, 12sbie 2436 . . . . . . . . . . 11 ([𝑦 / 𝑥](𝑥𝐴𝜑) ↔ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑))
1413anbi2i 730 . . . . . . . . . 10 (((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) ↔ ((𝑥𝐴𝜑) ∧ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑)))
15 an4 882 . . . . . . . . . 10 (((𝑥𝐴𝜑) ∧ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑)) ↔ ((𝑥𝐴𝑦𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)))
1614, 15bitri 264 . . . . . . . . 9 (((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) ↔ ((𝑥𝐴𝑦𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)))
1716imbi1i 338 . . . . . . . 8 ((((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ (((𝑥𝐴𝑦𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)) → 𝑥 = 𝑦))
18 impexp 461 . . . . . . . 8 ((((𝑥𝐴𝑦𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)) → 𝑥 = 𝑦) ↔ ((𝑥𝐴𝑦𝐴) → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
19 impexp 461 . . . . . . . 8 (((𝑥𝐴𝑦𝐴) → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) ↔ (𝑥𝐴 → (𝑦𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
2017, 18, 193bitri 286 . . . . . . 7 ((((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ (𝑥𝐴 → (𝑦𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
2120albii 1787 . . . . . 6 (∀𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ ∀𝑦(𝑥𝐴 → (𝑦𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
22 df-ral 2946 . . . . . . 7 (∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦) ↔ ∀𝑦(𝑦𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
2322imbi2i 325 . . . . . 6 ((𝑥𝐴 → ∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) ↔ (𝑥𝐴 → ∀𝑦(𝑦𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
246, 21, 233bitr4i 292 . . . . 5 (∀𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ (𝑥𝐴 → ∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
2524albii 1787 . . . 4 (∀𝑥𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
265, 25bitr4i 267 . . 3 (∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦) ↔ ∀𝑥𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦))
274, 26anbi12i 733 . 2 ((∃𝑥𝐴 𝜑 ∧ ∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) ↔ (∃𝑥(𝑥𝐴𝜑) ∧ ∀𝑥𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦)))
282, 3, 273bitr4i 292 1 (∃!𝑥𝐴 𝜑 ↔ (∃𝑥𝐴 𝜑 ∧ ∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 383  wal 1521  wex 1744  [wsb 1937  wcel 2030  ∃!weu 2498  wral 2941  wrex 2942  ∃!wreu 2943
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1762  ax-4 1777  ax-5 1879  ax-6 1945  ax-7 1981  ax-9 2039  ax-10 2059  ax-11 2074  ax-12 2087  ax-13 2282  ax-ext 2631
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-tru 1526  df-ex 1745  df-nf 1750  df-sb 1938  df-eu 2502  df-mo 2503  df-cleq 2644  df-clel 2647  df-ral 2946  df-rex 2947  df-reu 2948
This theorem is referenced by:  reu2eqd  3436  disjinfi  39694
  Copyright terms: Public domain W3C validator