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

Theorem reuind 3689
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 2824 . . . . . . 7 (𝑥 = 𝑦 → (𝐴𝐶𝐵𝐶))
3 reuind.1 . . . . . . 7 (𝑥 = 𝑦 → (𝜑𝜓))
42, 3anbi12d 631 . . . . . 6 (𝑥 = 𝑦 → ((𝐴𝐶𝜑) ↔ (𝐵𝐶𝜓)))
54cbvexvw 2041 . . . . 5 (∃𝑥(𝐴𝐶𝜑) ↔ ∃𝑦(𝐵𝐶𝜓))
6 r19.41v 3277 . . . . . . 7 (∃𝑧𝐶 (𝑧 = 𝐵𝜓) ↔ (∃𝑧𝐶 𝑧 = 𝐵𝜓))
76exbii 1851 . . . . . 6 (∃𝑦𝑧𝐶 (𝑧 = 𝐵𝜓) ↔ ∃𝑦(∃𝑧𝐶 𝑧 = 𝐵𝜓))
8 rexcom4 3234 . . . . . 6 (∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓) ↔ ∃𝑦𝑧𝐶 (𝑧 = 𝐵𝜓))
9 risset 3195 . . . . . . . 8 (𝐵𝐶 ↔ ∃𝑧𝐶 𝑧 = 𝐵)
109anbi1i 624 . . . . . . 7 ((𝐵𝐶𝜓) ↔ (∃𝑧𝐶 𝑧 = 𝐵𝜓))
1110exbii 1851 . . . . . 6 (∃𝑦(𝐵𝐶𝜓) ↔ ∃𝑦(∃𝑧𝐶 𝑧 = 𝐵𝜓))
127, 8, 113bitr4ri 304 . . . . 5 (∃𝑦(𝐵𝐶𝜓) ↔ ∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓))
135, 12bitri 274 . . . 4 (∃𝑥(𝐴𝐶𝜑) ↔ ∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓))
14 eqeq2 2751 . . . . . . . . . 10 (𝐴 = 𝐵 → (𝑧 = 𝐴𝑧 = 𝐵))
1514imim2i 16 . . . . . . . . 9 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐴𝑧 = 𝐵)))
16 biimpr 219 . . . . . . . . . . 11 ((𝑧 = 𝐴𝑧 = 𝐵) → (𝑧 = 𝐵𝑧 = 𝐴))
1716imim2i 16 . . . . . . . . . 10 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐴𝑧 = 𝐵)) → (((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐵𝑧 = 𝐴)))
18 an31 645 . . . . . . . . . . . 12 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) ∧ 𝑧 = 𝐵) ↔ ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ∧ (𝐴𝐶𝜑)))
1918imbi1i 350 . . . . . . . . . . 11 (((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) ∧ 𝑧 = 𝐵) → 𝑧 = 𝐴) ↔ (((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ∧ (𝐴𝐶𝜑)) → 𝑧 = 𝐴))
20 impexp 451 . . . . . . . . . . 11 (((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) ∧ 𝑧 = 𝐵) → 𝑧 = 𝐴) ↔ (((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐵𝑧 = 𝐴)))
21 impexp 451 . . . . . . . . . . 11 ((((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ∧ (𝐴𝐶𝜑)) → 𝑧 = 𝐴) ↔ ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
2219, 20, 213bitr3i 301 . . . . . . . . . 10 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐵𝑧 = 𝐴)) ↔ ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
2317, 22sylib 217 . . . . . . . . 9 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐴𝑧 = 𝐵)) → ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
2415, 23syl 17 . . . . . . . 8 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
25242alimi 1815 . . . . . . 7 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → ∀𝑥𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
26 19.23v 1946 . . . . . . . . . 10 (∀𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ (∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
27 an12 642 . . . . . . . . . . . . . 14 ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ (𝐵𝐶 ∧ (𝑧 = 𝐵𝜓)))
28 eleq1 2827 . . . . . . . . . . . . . . . 16 (𝑧 = 𝐵 → (𝑧𝐶𝐵𝐶))
2928adantr 481 . . . . . . . . . . . . . . 15 ((𝑧 = 𝐵𝜓) → (𝑧𝐶𝐵𝐶))
3029pm5.32ri 576 . . . . . . . . . . . . . 14 ((𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)) ↔ (𝐵𝐶 ∧ (𝑧 = 𝐵𝜓)))
3127, 30bitr4i 277 . . . . . . . . . . . . 13 ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ (𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)))
3231exbii 1851 . . . . . . . . . . . 12 (∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ ∃𝑦(𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)))
33 19.42v 1958 . . . . . . . . . . . 12 (∃𝑦(𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)) ↔ (𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)))
3432, 33bitri 274 . . . . . . . . . . 11 (∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ (𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)))
3534imbi1i 350 . . . . . . . . . 10 ((∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
3626, 35bitri 274 . . . . . . . . 9 (∀𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
3736albii 1822 . . . . . . . 8 (∀𝑥𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ∀𝑥((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
38 19.21v 1943 . . . . . . . 8 (∀𝑥((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
3937, 38bitri 274 . . . . . . 7 (∀𝑥𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4025, 39sylib 217 . . . . . 6 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4140expd 416 . . . . 5 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (𝑧𝐶 → (∃𝑦(𝑧 = 𝐵𝜓) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))))
4241reximdvai 3201 . . . 4 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓) → ∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4313, 42syl5bi 241 . . 3 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (∃𝑥(𝐴𝐶𝜑) → ∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4443imp 407 . 2 ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))
45 pm4.24 564 . . . . . . . . . 10 ((𝐴𝐶𝜑) ↔ ((𝐴𝐶𝜑) ∧ (𝐴𝐶𝜑)))
4645biimpi 215 . . . . . . . . 9 ((𝐴𝐶𝜑) → ((𝐴𝐶𝜑) ∧ (𝐴𝐶𝜑)))
47 anim12 806 . . . . . . . . 9 ((((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → (((𝐴𝐶𝜑) ∧ (𝐴𝐶𝜑)) → (𝑧 = 𝐴𝑤 = 𝐴)))
48 eqtr3 2765 . . . . . . . . 9 ((𝑧 = 𝐴𝑤 = 𝐴) → 𝑧 = 𝑤)
4946, 47, 48syl56 36 . . . . . . . 8 ((((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → ((𝐴𝐶𝜑) → 𝑧 = 𝑤))
5049alanimi 1819 . . . . . . 7 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝑤))
51 19.23v 1946 . . . . . . 7 (∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝑤) ↔ (∃𝑥(𝐴𝐶𝜑) → 𝑧 = 𝑤))
5250, 51sylib 217 . . . . . 6 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → (∃𝑥(𝐴𝐶𝜑) → 𝑧 = 𝑤))
5352com12 32 . . . . 5 (∃𝑥(𝐴𝐶𝜑) → ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤))
5453a1d 25 . . . 4 (∃𝑥(𝐴𝐶𝜑) → ((𝑧𝐶𝑤𝐶) → ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤)))
5554ralrimivv 3123 . . 3 (∃𝑥(𝐴𝐶𝜑) → ∀𝑧𝐶𝑤𝐶 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤))
5655adantl 482 . 2 ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∀𝑧𝐶𝑤𝐶 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤))
57 eqeq1 2743 . . . . 5 (𝑧 = 𝑤 → (𝑧 = 𝐴𝑤 = 𝐴))
5857imbi2d 341 . . . 4 (𝑧 = 𝑤 → (((𝐴𝐶𝜑) → 𝑧 = 𝐴) ↔ ((𝐴𝐶𝜑) → 𝑤 = 𝐴)))
5958albidv 1924 . . 3 (𝑧 = 𝑤 → (∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ↔ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)))
6059reu4 3667 . 2 (∃!𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ↔ (∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑧𝐶𝑤𝐶 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤)))
6144, 56, 60sylanbrc 583 1 ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∃!𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 396  wal 1537   = wceq 1539  wex 1782  wcel 2107  wral 3065  wrex 3066  ∃!wreu 3067
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2109  ax-9 2117  ax-11 2155  ax-ext 2710
This theorem depends on definitions:  df-bi 206  df-an 397  df-ex 1783  df-mo 2541  df-eu 2570  df-cleq 2731  df-clel 2817  df-ral 3070  df-rex 3071  df-rmo 3072  df-reu 3073
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator