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

Theorem reuind 3741
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 2894 . . . . . . 7 (𝑥 = 𝑦 → (𝐴𝐶𝐵𝐶))
3 reuind.1 . . . . . . 7 (𝑥 = 𝑦 → (𝜑𝜓))
42, 3anbi12d 630 . . . . . 6 (𝑥 = 𝑦 → ((𝐴𝐶𝜑) ↔ (𝐵𝐶𝜓)))
54cbvexvw 2035 . . . . 5 (∃𝑥(𝐴𝐶𝜑) ↔ ∃𝑦(𝐵𝐶𝜓))
6 r19.41v 3344 . . . . . . 7 (∃𝑧𝐶 (𝑧 = 𝐵𝜓) ↔ (∃𝑧𝐶 𝑧 = 𝐵𝜓))
76exbii 1839 . . . . . 6 (∃𝑦𝑧𝐶 (𝑧 = 𝐵𝜓) ↔ ∃𝑦(∃𝑧𝐶 𝑧 = 𝐵𝜓))
8 rexcom4 3246 . . . . . 6 (∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓) ↔ ∃𝑦𝑧𝐶 (𝑧 = 𝐵𝜓))
9 risset 3264 . . . . . . . 8 (𝐵𝐶 ↔ ∃𝑧𝐶 𝑧 = 𝐵)
109anbi1i 623 . . . . . . 7 ((𝐵𝐶𝜓) ↔ (∃𝑧𝐶 𝑧 = 𝐵𝜓))
1110exbii 1839 . . . . . 6 (∃𝑦(𝐵𝐶𝜓) ↔ ∃𝑦(∃𝑧𝐶 𝑧 = 𝐵𝜓))
127, 8, 113bitr4ri 305 . . . . 5 (∃𝑦(𝐵𝐶𝜓) ↔ ∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓))
135, 12bitri 276 . . . 4 (∃𝑥(𝐴𝐶𝜑) ↔ ∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓))
14 eqeq2 2830 . . . . . . . . . 10 (𝐴 = 𝐵 → (𝑧 = 𝐴𝑧 = 𝐵))
1514imim2i 16 . . . . . . . . 9 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐴𝑧 = 𝐵)))
16 biimpr 221 . . . . . . . . . . 11 ((𝑧 = 𝐴𝑧 = 𝐵) → (𝑧 = 𝐵𝑧 = 𝐴))
1716imim2i 16 . . . . . . . . . 10 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐴𝑧 = 𝐵)) → (((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐵𝑧 = 𝐴)))
18 an31 644 . . . . . . . . . . . 12 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) ∧ 𝑧 = 𝐵) ↔ ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ∧ (𝐴𝐶𝜑)))
1918imbi1i 351 . . . . . . . . . . 11 (((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) ∧ 𝑧 = 𝐵) → 𝑧 = 𝐴) ↔ (((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ∧ (𝐴𝐶𝜑)) → 𝑧 = 𝐴))
20 impexp 451 . . . . . . . . . . 11 (((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) ∧ 𝑧 = 𝐵) → 𝑧 = 𝐴) ↔ (((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐵𝑧 = 𝐴)))
21 impexp 451 . . . . . . . . . . 11 ((((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ∧ (𝐴𝐶𝜑)) → 𝑧 = 𝐴) ↔ ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
2219, 20, 213bitr3i 302 . . . . . . . . . 10 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐵𝑧 = 𝐴)) ↔ ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
2317, 22sylib 219 . . . . . . . . 9 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐴𝑧 = 𝐵)) → ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
2415, 23syl 17 . . . . . . . 8 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
25242alimi 1804 . . . . . . 7 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → ∀𝑥𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
26 19.23v 1934 . . . . . . . . . 10 (∀𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ (∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
27 an12 641 . . . . . . . . . . . . . 14 ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ (𝐵𝐶 ∧ (𝑧 = 𝐵𝜓)))
28 eleq1 2897 . . . . . . . . . . . . . . . 16 (𝑧 = 𝐵 → (𝑧𝐶𝐵𝐶))
2928adantr 481 . . . . . . . . . . . . . . 15 ((𝑧 = 𝐵𝜓) → (𝑧𝐶𝐵𝐶))
3029pm5.32ri 576 . . . . . . . . . . . . . 14 ((𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)) ↔ (𝐵𝐶 ∧ (𝑧 = 𝐵𝜓)))
3127, 30bitr4i 279 . . . . . . . . . . . . 13 ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ (𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)))
3231exbii 1839 . . . . . . . . . . . 12 (∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ ∃𝑦(𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)))
33 19.42v 1945 . . . . . . . . . . . 12 (∃𝑦(𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)) ↔ (𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)))
3432, 33bitri 276 . . . . . . . . . . 11 (∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ (𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)))
3534imbi1i 351 . . . . . . . . . 10 ((∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
3626, 35bitri 276 . . . . . . . . 9 (∀𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
3736albii 1811 . . . . . . . 8 (∀𝑥𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ∀𝑥((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
38 19.21v 1931 . . . . . . . 8 (∀𝑥((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
3937, 38bitri 276 . . . . . . 7 (∀𝑥𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4025, 39sylib 219 . . . . . 6 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4140expd 416 . . . . 5 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (𝑧𝐶 → (∃𝑦(𝑧 = 𝐵𝜓) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))))
4241reximdvai 3269 . . . 4 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓) → ∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4313, 42syl5bi 243 . . 3 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (∃𝑥(𝐴𝐶𝜑) → ∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4443imp 407 . 2 ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))
45 pm4.24 564 . . . . . . . . . 10 ((𝐴𝐶𝜑) ↔ ((𝐴𝐶𝜑) ∧ (𝐴𝐶𝜑)))
4645biimpi 217 . . . . . . . . 9 ((𝐴𝐶𝜑) → ((𝐴𝐶𝜑) ∧ (𝐴𝐶𝜑)))
47 anim12 805 . . . . . . . . 9 ((((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → (((𝐴𝐶𝜑) ∧ (𝐴𝐶𝜑)) → (𝑧 = 𝐴𝑤 = 𝐴)))
48 eqtr3 2840 . . . . . . . . 9 ((𝑧 = 𝐴𝑤 = 𝐴) → 𝑧 = 𝑤)
4946, 47, 48syl56 36 . . . . . . . 8 ((((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → ((𝐴𝐶𝜑) → 𝑧 = 𝑤))
5049alanimi 1808 . . . . . . 7 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝑤))
51 19.23v 1934 . . . . . . 7 (∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝑤) ↔ (∃𝑥(𝐴𝐶𝜑) → 𝑧 = 𝑤))
5250, 51sylib 219 . . . . . 6 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → (∃𝑥(𝐴𝐶𝜑) → 𝑧 = 𝑤))
5352com12 32 . . . . 5 (∃𝑥(𝐴𝐶𝜑) → ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤))
5453a1d 25 . . . 4 (∃𝑥(𝐴𝐶𝜑) → ((𝑧𝐶𝑤𝐶) → ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤)))
5554ralrimivv 3187 . . 3 (∃𝑥(𝐴𝐶𝜑) → ∀𝑧𝐶𝑤𝐶 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤))
5655adantl 482 . 2 ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∀𝑧𝐶𝑤𝐶 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤))
57 eqeq1 2822 . . . . 5 (𝑧 = 𝑤 → (𝑧 = 𝐴𝑤 = 𝐴))
5857imbi2d 342 . . . 4 (𝑧 = 𝑤 → (((𝐴𝐶𝜑) → 𝑧 = 𝐴) ↔ ((𝐴𝐶𝜑) → 𝑤 = 𝐴)))
5958albidv 1912 . . 3 (𝑧 = 𝑤 → (∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ↔ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)))
6059reu4 3719 . 2 (∃!𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ↔ (∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑧𝐶𝑤𝐶 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤)))
6144, 56, 60sylanbrc 583 1 ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∃!𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 207  wa 396  wal 1526   = wceq 1528  wex 1771  wcel 2105  wral 3135  wrex 3136  ∃!wreu 3137
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1787  ax-4 1801  ax-5 1902  ax-6 1961  ax-7 2006  ax-8 2107  ax-9 2115  ax-11 2151  ax-ext 2790
This theorem depends on definitions:  df-bi 208  df-an 397  df-ex 1772  df-mo 2615  df-eu 2647  df-cleq 2811  df-clel 2890  df-ral 3140  df-rex 3141  df-reu 3142  df-rmo 3143
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator