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

Theorem reu6 3715
Description: A way to express restricted uniqueness. (Contributed by NM, 20-Oct-2006.)
Assertion
Ref Expression
reu6 (∃!𝑥𝐴 𝜑 ↔ ∃𝑦𝐴𝑥𝐴 (𝜑𝑥 = 𝑦))
Distinct variable groups:   𝑥,𝑦,𝐴   𝜑,𝑦
Allowed substitution hint:   𝜑(𝑥)

Proof of Theorem reu6
StepHypRef Expression
1 df-reu 3143 . 2 (∃!𝑥𝐴 𝜑 ↔ ∃!𝑥(𝑥𝐴𝜑))
2 19.28v 1990 . . . . 5 (∀𝑥(𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) ↔ (𝑦𝐴 ∧ ∀𝑥(𝑥𝐴 → (𝜑𝑥 = 𝑦))))
3 eleq1w 2893 . . . . . . . . . . . 12 (𝑥 = 𝑦 → (𝑥𝐴𝑦𝐴))
4 sbequ12 2245 . . . . . . . . . . . 12 (𝑥 = 𝑦 → (𝜑 ↔ [𝑦 / 𝑥]𝜑))
53, 4anbi12d 632 . . . . . . . . . . 11 (𝑥 = 𝑦 → ((𝑥𝐴𝜑) ↔ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑)))
6 equequ1 2025 . . . . . . . . . . 11 (𝑥 = 𝑦 → (𝑥 = 𝑦𝑦 = 𝑦))
75, 6bibi12d 348 . . . . . . . . . 10 (𝑥 = 𝑦 → (((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) ↔ ((𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑) ↔ 𝑦 = 𝑦)))
8 equid 2012 . . . . . . . . . . . 12 𝑦 = 𝑦
98tbt 372 . . . . . . . . . . 11 ((𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑) ↔ ((𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑) ↔ 𝑦 = 𝑦))
10 simpl 485 . . . . . . . . . . 11 ((𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑) → 𝑦𝐴)
119, 10sylbir 237 . . . . . . . . . 10 (((𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑) ↔ 𝑦 = 𝑦) → 𝑦𝐴)
127, 11syl6bi 255 . . . . . . . . 9 (𝑥 = 𝑦 → (((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) → 𝑦𝐴))
1312spimvw 1995 . . . . . . . 8 (∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) → 𝑦𝐴)
14 ibar 531 . . . . . . . . . . 11 (𝑥𝐴 → (𝜑 ↔ (𝑥𝐴𝜑)))
1514bibi1d 346 . . . . . . . . . 10 (𝑥𝐴 → ((𝜑𝑥 = 𝑦) ↔ ((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦)))
1615biimprcd 252 . . . . . . . . 9 (((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) → (𝑥𝐴 → (𝜑𝑥 = 𝑦)))
1716sps 2176 . . . . . . . 8 (∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) → (𝑥𝐴 → (𝜑𝑥 = 𝑦)))
1813, 17jca 514 . . . . . . 7 (∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) → (𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))))
1918axc4i 2334 . . . . . 6 (∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) → ∀𝑥(𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))))
20 biimp 217 . . . . . . . . . . 11 ((𝜑𝑥 = 𝑦) → (𝜑𝑥 = 𝑦))
2120imim2i 16 . . . . . . . . . 10 ((𝑥𝐴 → (𝜑𝑥 = 𝑦)) → (𝑥𝐴 → (𝜑𝑥 = 𝑦)))
2221impd 413 . . . . . . . . 9 ((𝑥𝐴 → (𝜑𝑥 = 𝑦)) → ((𝑥𝐴𝜑) → 𝑥 = 𝑦))
2322adantl 484 . . . . . . . 8 ((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) → ((𝑥𝐴𝜑) → 𝑥 = 𝑦))
243biimprcd 252 . . . . . . . . . . . 12 (𝑦𝐴 → (𝑥 = 𝑦𝑥𝐴))
2524adantr 483 . . . . . . . . . . 11 ((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) → (𝑥 = 𝑦𝑥𝐴))
2625imp 409 . . . . . . . . . 10 (((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) ∧ 𝑥 = 𝑦) → 𝑥𝐴)
27 simplr 767 . . . . . . . . . . 11 (((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) ∧ 𝑥 = 𝑦) → (𝑥𝐴 → (𝜑𝑥 = 𝑦)))
28 simpr 487 . . . . . . . . . . 11 (((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) ∧ 𝑥 = 𝑦) → 𝑥 = 𝑦)
29 biimpr 222 . . . . . . . . . . 11 ((𝜑𝑥 = 𝑦) → (𝑥 = 𝑦𝜑))
3027, 28, 29syl6ci 71 . . . . . . . . . 10 (((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) ∧ 𝑥 = 𝑦) → (𝑥𝐴𝜑))
3126, 30jcai 519 . . . . . . . . 9 (((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) ∧ 𝑥 = 𝑦) → (𝑥𝐴𝜑))
3231ex 415 . . . . . . . 8 ((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) → (𝑥 = 𝑦 → (𝑥𝐴𝜑)))
3323, 32impbid 214 . . . . . . 7 ((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) → ((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦))
3433alimi 1805 . . . . . 6 (∀𝑥(𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) → ∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦))
3519, 34impbii 211 . . . . 5 (∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) ↔ ∀𝑥(𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))))
36 df-ral 3141 . . . . . 6 (∀𝑥𝐴 (𝜑𝑥 = 𝑦) ↔ ∀𝑥(𝑥𝐴 → (𝜑𝑥 = 𝑦)))
3736anbi2i 624 . . . . 5 ((𝑦𝐴 ∧ ∀𝑥𝐴 (𝜑𝑥 = 𝑦)) ↔ (𝑦𝐴 ∧ ∀𝑥(𝑥𝐴 → (𝜑𝑥 = 𝑦))))
382, 35, 373bitr4i 305 . . . 4 (∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) ↔ (𝑦𝐴 ∧ ∀𝑥𝐴 (𝜑𝑥 = 𝑦)))
3938exbii 1841 . . 3 (∃𝑦𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) ↔ ∃𝑦(𝑦𝐴 ∧ ∀𝑥𝐴 (𝜑𝑥 = 𝑦)))
40 eu6 2653 . . 3 (∃!𝑥(𝑥𝐴𝜑) ↔ ∃𝑦𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦))
41 df-rex 3142 . . 3 (∃𝑦𝐴𝑥𝐴 (𝜑𝑥 = 𝑦) ↔ ∃𝑦(𝑦𝐴 ∧ ∀𝑥𝐴 (𝜑𝑥 = 𝑦)))
4239, 40, 413bitr4i 305 . 2 (∃!𝑥(𝑥𝐴𝜑) ↔ ∃𝑦𝐴𝑥𝐴 (𝜑𝑥 = 𝑦))
431, 42bitri 277 1 (∃!𝑥𝐴 𝜑 ↔ ∃𝑦𝐴𝑥𝐴 (𝜑𝑥 = 𝑦))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 398  wal 1528  wex 1773  [wsb 2062  wcel 2107  ∃!weu 2647  wral 3136  wrex 3137  ∃!wreu 3138
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1789  ax-4 1803  ax-5 1904  ax-6 1963  ax-7 2008  ax-8 2109  ax-10 2138  ax-12 2169
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-ex 1774  df-nf 1778  df-sb 2063  df-mo 2616  df-eu 2648  df-clel 2891  df-ral 3141  df-rex 3142  df-reu 3143
This theorem is referenced by:  reu3  3716  reu6i  3717  reu8  3722  xpf1o  8671  ufileu  22519  isppw2  25684  cusgrfilem2  27230  fgreu  30409  fcnvgreu  30410  fourierdlem50  42431
  Copyright terms: Public domain W3C validator