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

Theorem reu6 3642
 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 3077 . 2 (∃!𝑥𝐴 𝜑 ↔ ∃!𝑥(𝑥𝐴𝜑))
2 19.28v 1997 . . . . 5 (∀𝑥(𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) ↔ (𝑦𝐴 ∧ ∀𝑥(𝑥𝐴 → (𝜑𝑥 = 𝑦))))
3 eleq1w 2834 . . . . . . . . . . . 12 (𝑥 = 𝑦 → (𝑥𝐴𝑦𝐴))
4 sbequ12 2250 . . . . . . . . . . . 12 (𝑥 = 𝑦 → (𝜑 ↔ [𝑦 / 𝑥]𝜑))
53, 4anbi12d 633 . . . . . . . . . . 11 (𝑥 = 𝑦 → ((𝑥𝐴𝜑) ↔ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑)))
6 equequ1 2032 . . . . . . . . . . 11 (𝑥 = 𝑦 → (𝑥 = 𝑦𝑦 = 𝑦))
75, 6bibi12d 349 . . . . . . . . . 10 (𝑥 = 𝑦 → (((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) ↔ ((𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑) ↔ 𝑦 = 𝑦)))
8 equid 2019 . . . . . . . . . . . 12 𝑦 = 𝑦
98tbt 373 . . . . . . . . . . 11 ((𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑) ↔ ((𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑) ↔ 𝑦 = 𝑦))
10 simpl 486 . . . . . . . . . . 11 ((𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑) → 𝑦𝐴)
119, 10sylbir 238 . . . . . . . . . 10 (((𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑) ↔ 𝑦 = 𝑦) → 𝑦𝐴)
127, 11syl6bi 256 . . . . . . . . 9 (𝑥 = 𝑦 → (((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) → 𝑦𝐴))
1312spimvw 2002 . . . . . . . 8 (∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) → 𝑦𝐴)
14 ibar 532 . . . . . . . . . . 11 (𝑥𝐴 → (𝜑 ↔ (𝑥𝐴𝜑)))
1514bibi1d 347 . . . . . . . . . 10 (𝑥𝐴 → ((𝜑𝑥 = 𝑦) ↔ ((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦)))
1615biimprcd 253 . . . . . . . . 9 (((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) → (𝑥𝐴 → (𝜑𝑥 = 𝑦)))
1716sps 2182 . . . . . . . 8 (∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) → (𝑥𝐴 → (𝜑𝑥 = 𝑦)))
1813, 17jca 515 . . . . . . 7 (∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) → (𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))))
1918axc4i 2330 . . . . . 6 (∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) → ∀𝑥(𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))))
20 biimp 218 . . . . . . . . . . 11 ((𝜑𝑥 = 𝑦) → (𝜑𝑥 = 𝑦))
2120imim2i 16 . . . . . . . . . 10 ((𝑥𝐴 → (𝜑𝑥 = 𝑦)) → (𝑥𝐴 → (𝜑𝑥 = 𝑦)))
2221impd 414 . . . . . . . . 9 ((𝑥𝐴 → (𝜑𝑥 = 𝑦)) → ((𝑥𝐴𝜑) → 𝑥 = 𝑦))
2322adantl 485 . . . . . . . 8 ((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) → ((𝑥𝐴𝜑) → 𝑥 = 𝑦))
243biimprcd 253 . . . . . . . . . . . 12 (𝑦𝐴 → (𝑥 = 𝑦𝑥𝐴))
2524adantr 484 . . . . . . . . . . 11 ((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) → (𝑥 = 𝑦𝑥𝐴))
2625imp 410 . . . . . . . . . 10 (((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) ∧ 𝑥 = 𝑦) → 𝑥𝐴)
27 simplr 768 . . . . . . . . . . 11 (((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) ∧ 𝑥 = 𝑦) → (𝑥𝐴 → (𝜑𝑥 = 𝑦)))
28 simpr 488 . . . . . . . . . . 11 (((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) ∧ 𝑥 = 𝑦) → 𝑥 = 𝑦)
29 biimpr 223 . . . . . . . . . . 11 ((𝜑𝑥 = 𝑦) → (𝑥 = 𝑦𝜑))
3027, 28, 29syl6ci 71 . . . . . . . . . 10 (((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) ∧ 𝑥 = 𝑦) → (𝑥𝐴𝜑))
3126, 30jcai 520 . . . . . . . . 9 (((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) ∧ 𝑥 = 𝑦) → (𝑥𝐴𝜑))
3231ex 416 . . . . . . . 8 ((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) → (𝑥 = 𝑦 → (𝑥𝐴𝜑)))
3323, 32impbid 215 . . . . . . 7 ((𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) → ((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦))
3433alimi 1813 . . . . . 6 (∀𝑥(𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))) → ∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦))
3519, 34impbii 212 . . . . 5 (∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) ↔ ∀𝑥(𝑦𝐴 ∧ (𝑥𝐴 → (𝜑𝑥 = 𝑦))))
36 df-ral 3075 . . . . . 6 (∀𝑥𝐴 (𝜑𝑥 = 𝑦) ↔ ∀𝑥(𝑥𝐴 → (𝜑𝑥 = 𝑦)))
3736anbi2i 625 . . . . 5 ((𝑦𝐴 ∧ ∀𝑥𝐴 (𝜑𝑥 = 𝑦)) ↔ (𝑦𝐴 ∧ ∀𝑥(𝑥𝐴 → (𝜑𝑥 = 𝑦))))
382, 35, 373bitr4i 306 . . . 4 (∀𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) ↔ (𝑦𝐴 ∧ ∀𝑥𝐴 (𝜑𝑥 = 𝑦)))
3938exbii 1849 . . 3 (∃𝑦𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦) ↔ ∃𝑦(𝑦𝐴 ∧ ∀𝑥𝐴 (𝜑𝑥 = 𝑦)))
40 eu6 2593 . . 3 (∃!𝑥(𝑥𝐴𝜑) ↔ ∃𝑦𝑥((𝑥𝐴𝜑) ↔ 𝑥 = 𝑦))
41 df-rex 3076 . . 3 (∃𝑦𝐴𝑥𝐴 (𝜑𝑥 = 𝑦) ↔ ∃𝑦(𝑦𝐴 ∧ ∀𝑥𝐴 (𝜑𝑥 = 𝑦)))
4239, 40, 413bitr4i 306 . 2 (∃!𝑥(𝑥𝐴𝜑) ↔ ∃𝑦𝐴𝑥𝐴 (𝜑𝑥 = 𝑦))
431, 42bitri 278 1 (∃!𝑥𝐴 𝜑 ↔ ∃𝑦𝐴𝑥𝐴 (𝜑𝑥 = 𝑦))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ↔ wb 209   ∧ wa 399  ∀wal 1536  ∃wex 1781  [wsb 2069   ∈ wcel 2111  ∃!weu 2587  ∀wral 3070  ∃wrex 3071  ∃!wreu 3072 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-10 2142  ax-12 2175 This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2557  df-eu 2588  df-clel 2830  df-ral 3075  df-rex 3076  df-reu 3077 This theorem is referenced by:  reu3  3643  reu6i  3644  reu8  3649  xpf1o  8714  ufileu  22633  isppw2  25813  cusgrfilem2  27359  fgreu  30546  fcnvgreu  30547  gsumhashmul  30855  fourierdlem50  43209
 Copyright terms: Public domain W3C validator