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

Theorem reuind 3378
Description: Existential uniqueness via an indirect equality. (Contributed by NM, 16-Oct-2010.)
Hypotheses
Ref Expression
reuind.1 (𝑥 = 𝑦 → (𝜑𝜓))
reuind.2 (𝑥 = 𝑦𝐴 = 𝐵)
Assertion
Ref Expression
reuind ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∃!𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))
Distinct variable groups:   𝑦,𝑧,𝐴   𝑥,𝑧,𝐵   𝑥,𝑦,𝐶,𝑧   𝜑,𝑦,𝑧   𝜓,𝑥,𝑧
Allowed substitution hints:   𝜑(𝑥)   𝜓(𝑦)   𝐴(𝑥)   𝐵(𝑦)

Proof of Theorem reuind
Dummy variable 𝑤 is distinct from all other variables.
StepHypRef Expression
1 reuind.2 . . . . . . . 8 (𝑥 = 𝑦𝐴 = 𝐵)
21eleq1d 2672 . . . . . . 7 (𝑥 = 𝑦 → (𝐴𝐶𝐵𝐶))
3 reuind.1 . . . . . . 7 (𝑥 = 𝑦 → (𝜑𝜓))
42, 3anbi12d 743 . . . . . 6 (𝑥 = 𝑦 → ((𝐴𝐶𝜑) ↔ (𝐵𝐶𝜓)))
54cbvexv 2263 . . . . 5 (∃𝑥(𝐴𝐶𝜑) ↔ ∃𝑦(𝐵𝐶𝜓))
6 r19.41v 3070 . . . . . . 7 (∃𝑧𝐶 (𝑧 = 𝐵𝜓) ↔ (∃𝑧𝐶 𝑧 = 𝐵𝜓))
76exbii 1764 . . . . . 6 (∃𝑦𝑧𝐶 (𝑧 = 𝐵𝜓) ↔ ∃𝑦(∃𝑧𝐶 𝑧 = 𝐵𝜓))
8 rexcom4 3198 . . . . . 6 (∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓) ↔ ∃𝑦𝑧𝐶 (𝑧 = 𝐵𝜓))
9 risset 3044 . . . . . . . 8 (𝐵𝐶 ↔ ∃𝑧𝐶 𝑧 = 𝐵)
109anbi1i 727 . . . . . . 7 ((𝐵𝐶𝜓) ↔ (∃𝑧𝐶 𝑧 = 𝐵𝜓))
1110exbii 1764 . . . . . 6 (∃𝑦(𝐵𝐶𝜓) ↔ ∃𝑦(∃𝑧𝐶 𝑧 = 𝐵𝜓))
127, 8, 113bitr4ri 292 . . . . 5 (∃𝑦(𝐵𝐶𝜓) ↔ ∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓))
135, 12bitri 263 . . . 4 (∃𝑥(𝐴𝐶𝜑) ↔ ∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓))
14 eqeq2 2621 . . . . . . . . . 10 (𝐴 = 𝐵 → (𝑧 = 𝐴𝑧 = 𝐵))
1514imim2i 16 . . . . . . . . 9 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐴𝑧 = 𝐵)))
16 biimpr 209 . . . . . . . . . . 11 ((𝑧 = 𝐴𝑧 = 𝐵) → (𝑧 = 𝐵𝑧 = 𝐴))
1716imim2i 16 . . . . . . . . . 10 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐴𝑧 = 𝐵)) → (((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐵𝑧 = 𝐴)))
18 an31 837 . . . . . . . . . . . 12 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) ∧ 𝑧 = 𝐵) ↔ ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ∧ (𝐴𝐶𝜑)))
1918imbi1i 338 . . . . . . . . . . 11 (((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) ∧ 𝑧 = 𝐵) → 𝑧 = 𝐴) ↔ (((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ∧ (𝐴𝐶𝜑)) → 𝑧 = 𝐴))
20 impexp 461 . . . . . . . . . . 11 (((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) ∧ 𝑧 = 𝐵) → 𝑧 = 𝐴) ↔ (((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐵𝑧 = 𝐴)))
21 impexp 461 . . . . . . . . . . 11 ((((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ∧ (𝐴𝐶𝜑)) → 𝑧 = 𝐴) ↔ ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
2219, 20, 213bitr3i 289 . . . . . . . . . 10 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐵𝑧 = 𝐴)) ↔ ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
2317, 22sylib 207 . . . . . . . . 9 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐴𝑧 = 𝐵)) → ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
2415, 23syl 17 . . . . . . . 8 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
25242alimi 1731 . . . . . . 7 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → ∀𝑥𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
26 19.23v 1889 . . . . . . . . . 10 (∀𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ (∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
27 an12 834 . . . . . . . . . . . . . 14 ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ (𝐵𝐶 ∧ (𝑧 = 𝐵𝜓)))
28 eleq1 2676 . . . . . . . . . . . . . . . 16 (𝑧 = 𝐵 → (𝑧𝐶𝐵𝐶))
2928adantr 480 . . . . . . . . . . . . . . 15 ((𝑧 = 𝐵𝜓) → (𝑧𝐶𝐵𝐶))
3029pm5.32ri 668 . . . . . . . . . . . . . 14 ((𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)) ↔ (𝐵𝐶 ∧ (𝑧 = 𝐵𝜓)))
3127, 30bitr4i 266 . . . . . . . . . . . . 13 ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ (𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)))
3231exbii 1764 . . . . . . . . . . . 12 (∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ ∃𝑦(𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)))
33 19.42v 1905 . . . . . . . . . . . 12 (∃𝑦(𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)) ↔ (𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)))
3432, 33bitri 263 . . . . . . . . . . 11 (∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ (𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)))
3534imbi1i 338 . . . . . . . . . 10 ((∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
3626, 35bitri 263 . . . . . . . . 9 (∀𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
3736albii 1737 . . . . . . . 8 (∀𝑥𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ∀𝑥((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
38 19.21v 1855 . . . . . . . 8 (∀𝑥((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
3937, 38bitri 263 . . . . . . 7 (∀𝑥𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4025, 39sylib 207 . . . . . 6 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4140expd 451 . . . . 5 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (𝑧𝐶 → (∃𝑦(𝑧 = 𝐵𝜓) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))))
4241reximdvai 2998 . . . 4 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓) → ∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4313, 42syl5bi 231 . . 3 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (∃𝑥(𝐴𝐶𝜑) → ∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4443imp 444 . 2 ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))
45 pm4.24 673 . . . . . . . . . 10 ((𝐴𝐶𝜑) ↔ ((𝐴𝐶𝜑) ∧ (𝐴𝐶𝜑)))
4645biimpi 205 . . . . . . . . 9 ((𝐴𝐶𝜑) → ((𝐴𝐶𝜑) ∧ (𝐴𝐶𝜑)))
47 prth 593 . . . . . . . . 9 ((((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → (((𝐴𝐶𝜑) ∧ (𝐴𝐶𝜑)) → (𝑧 = 𝐴𝑤 = 𝐴)))
48 eqtr3 2631 . . . . . . . . 9 ((𝑧 = 𝐴𝑤 = 𝐴) → 𝑧 = 𝑤)
4946, 47, 48syl56 35 . . . . . . . 8 ((((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → ((𝐴𝐶𝜑) → 𝑧 = 𝑤))
5049alanimi 1734 . . . . . . 7 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝑤))
51 19.23v 1889 . . . . . . 7 (∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝑤) ↔ (∃𝑥(𝐴𝐶𝜑) → 𝑧 = 𝑤))
5250, 51sylib 207 . . . . . 6 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → (∃𝑥(𝐴𝐶𝜑) → 𝑧 = 𝑤))
5352com12 32 . . . . 5 (∃𝑥(𝐴𝐶𝜑) → ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤))
5453a1d 25 . . . 4 (∃𝑥(𝐴𝐶𝜑) → ((𝑧𝐶𝑤𝐶) → ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤)))
5554ralrimivv 2953 . . 3 (∃𝑥(𝐴𝐶𝜑) → ∀𝑧𝐶𝑤𝐶 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤))
5655adantl 481 . 2 ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∀𝑧𝐶𝑤𝐶 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤))
57 eqeq1 2614 . . . . 5 (𝑧 = 𝑤 → (𝑧 = 𝐴𝑤 = 𝐴))
5857imbi2d 329 . . . 4 (𝑧 = 𝑤 → (((𝐴𝐶𝜑) → 𝑧 = 𝐴) ↔ ((𝐴𝐶𝜑) → 𝑤 = 𝐴)))
5958albidv 1836 . . 3 (𝑧 = 𝑤 → (∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ↔ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)))
6059reu4 3367 . 2 (∃!𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ↔ (∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑧𝐶𝑤𝐶 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤)))
6144, 56, 60sylanbrc 695 1 ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∃!𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 195  wa 383  wal 1473   = wceq 1475  wex 1695  wcel 1977  wral 2896  wrex 2897  ∃!wreu 2898
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590
This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ral 2901  df-rex 2902  df-reu 2903  df-rmo 2904  df-v 3175
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator