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

Theorem reuind 3666
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 2822 . . . . . . 7 (𝑥 = 𝑦 → (𝐴𝐶𝐵𝐶))
3 reuind.1 . . . . . . 7 (𝑥 = 𝑦 → (𝜑𝜓))
42, 3anbi12d 634 . . . . . 6 (𝑥 = 𝑦 → ((𝐴𝐶𝜑) ↔ (𝐵𝐶𝜓)))
54cbvexvw 2045 . . . . 5 (∃𝑥(𝐴𝐶𝜑) ↔ ∃𝑦(𝐵𝐶𝜓))
6 r19.41v 3260 . . . . . . 7 (∃𝑧𝐶 (𝑧 = 𝐵𝜓) ↔ (∃𝑧𝐶 𝑧 = 𝐵𝜓))
76exbii 1855 . . . . . 6 (∃𝑦𝑧𝐶 (𝑧 = 𝐵𝜓) ↔ ∃𝑦(∃𝑧𝐶 𝑧 = 𝐵𝜓))
8 rexcom4 3172 . . . . . 6 (∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓) ↔ ∃𝑦𝑧𝐶 (𝑧 = 𝐵𝜓))
9 risset 3186 . . . . . . . 8 (𝐵𝐶 ↔ ∃𝑧𝐶 𝑧 = 𝐵)
109anbi1i 627 . . . . . . 7 ((𝐵𝐶𝜓) ↔ (∃𝑧𝐶 𝑧 = 𝐵𝜓))
1110exbii 1855 . . . . . 6 (∃𝑦(𝐵𝐶𝜓) ↔ ∃𝑦(∃𝑧𝐶 𝑧 = 𝐵𝜓))
127, 8, 113bitr4ri 307 . . . . 5 (∃𝑦(𝐵𝐶𝜓) ↔ ∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓))
135, 12bitri 278 . . . 4 (∃𝑥(𝐴𝐶𝜑) ↔ ∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓))
14 eqeq2 2749 . . . . . . . . . 10 (𝐴 = 𝐵 → (𝑧 = 𝐴𝑧 = 𝐵))
1514imim2i 16 . . . . . . . . 9 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐴𝑧 = 𝐵)))
16 biimpr 223 . . . . . . . . . . 11 ((𝑧 = 𝐴𝑧 = 𝐵) → (𝑧 = 𝐵𝑧 = 𝐴))
1716imim2i 16 . . . . . . . . . 10 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐴𝑧 = 𝐵)) → (((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐵𝑧 = 𝐴)))
18 an31 648 . . . . . . . . . . . 12 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) ∧ 𝑧 = 𝐵) ↔ ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ∧ (𝐴𝐶𝜑)))
1918imbi1i 353 . . . . . . . . . . 11 (((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) ∧ 𝑧 = 𝐵) → 𝑧 = 𝐴) ↔ (((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ∧ (𝐴𝐶𝜑)) → 𝑧 = 𝐴))
20 impexp 454 . . . . . . . . . . 11 (((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) ∧ 𝑧 = 𝐵) → 𝑧 = 𝐴) ↔ (((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐵𝑧 = 𝐴)))
21 impexp 454 . . . . . . . . . . 11 ((((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ∧ (𝐴𝐶𝜑)) → 𝑧 = 𝐴) ↔ ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
2219, 20, 213bitr3i 304 . . . . . . . . . 10 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐵𝑧 = 𝐴)) ↔ ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
2317, 22sylib 221 . . . . . . . . 9 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → (𝑧 = 𝐴𝑧 = 𝐵)) → ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
2415, 23syl 17 . . . . . . . 8 ((((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
25242alimi 1820 . . . . . . 7 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → ∀𝑥𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
26 19.23v 1950 . . . . . . . . . 10 (∀𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ (∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
27 an12 645 . . . . . . . . . . . . . 14 ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ (𝐵𝐶 ∧ (𝑧 = 𝐵𝜓)))
28 eleq1 2825 . . . . . . . . . . . . . . . 16 (𝑧 = 𝐵 → (𝑧𝐶𝐵𝐶))
2928adantr 484 . . . . . . . . . . . . . . 15 ((𝑧 = 𝐵𝜓) → (𝑧𝐶𝐵𝐶))
3029pm5.32ri 579 . . . . . . . . . . . . . 14 ((𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)) ↔ (𝐵𝐶 ∧ (𝑧 = 𝐵𝜓)))
3127, 30bitr4i 281 . . . . . . . . . . . . 13 ((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ (𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)))
3231exbii 1855 . . . . . . . . . . . 12 (∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ ∃𝑦(𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)))
33 19.42v 1962 . . . . . . . . . . . 12 (∃𝑦(𝑧𝐶 ∧ (𝑧 = 𝐵𝜓)) ↔ (𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)))
3432, 33bitri 278 . . . . . . . . . . 11 (∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) ↔ (𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)))
3534imbi1i 353 . . . . . . . . . 10 ((∃𝑦(𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
3626, 35bitri 278 . . . . . . . . 9 (∀𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
3736albii 1827 . . . . . . . 8 (∀𝑥𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ∀𝑥((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
38 19.21v 1947 . . . . . . . 8 (∀𝑥((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
3937, 38bitri 278 . . . . . . 7 (∀𝑥𝑦((𝑧 = 𝐵 ∧ (𝐵𝐶𝜓)) → ((𝐴𝐶𝜑) → 𝑧 = 𝐴)) ↔ ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4025, 39sylib 221 . . . . . 6 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → ((𝑧𝐶 ∧ ∃𝑦(𝑧 = 𝐵𝜓)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4140expd 419 . . . . 5 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (𝑧𝐶 → (∃𝑦(𝑧 = 𝐵𝜓) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))))
4241reximdvai 3191 . . . 4 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (∃𝑧𝐶𝑦(𝑧 = 𝐵𝜓) → ∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4313, 42syl5bi 245 . . 3 (∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) → (∃𝑥(𝐴𝐶𝜑) → ∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴)))
4443imp 410 . 2 ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))
45 pm4.24 567 . . . . . . . . . 10 ((𝐴𝐶𝜑) ↔ ((𝐴𝐶𝜑) ∧ (𝐴𝐶𝜑)))
4645biimpi 219 . . . . . . . . 9 ((𝐴𝐶𝜑) → ((𝐴𝐶𝜑) ∧ (𝐴𝐶𝜑)))
47 anim12 809 . . . . . . . . 9 ((((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → (((𝐴𝐶𝜑) ∧ (𝐴𝐶𝜑)) → (𝑧 = 𝐴𝑤 = 𝐴)))
48 eqtr3 2763 . . . . . . . . 9 ((𝑧 = 𝐴𝑤 = 𝐴) → 𝑧 = 𝑤)
4946, 47, 48syl56 36 . . . . . . . 8 ((((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → ((𝐴𝐶𝜑) → 𝑧 = 𝑤))
5049alanimi 1824 . . . . . . 7 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → ∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝑤))
51 19.23v 1950 . . . . . . 7 (∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝑤) ↔ (∃𝑥(𝐴𝐶𝜑) → 𝑧 = 𝑤))
5250, 51sylib 221 . . . . . 6 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → (∃𝑥(𝐴𝐶𝜑) → 𝑧 = 𝑤))
5352com12 32 . . . . 5 (∃𝑥(𝐴𝐶𝜑) → ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤))
5453a1d 25 . . . 4 (∃𝑥(𝐴𝐶𝜑) → ((𝑧𝐶𝑤𝐶) → ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤)))
5554ralrimivv 3111 . . 3 (∃𝑥(𝐴𝐶𝜑) → ∀𝑧𝐶𝑤𝐶 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤))
5655adantl 485 . 2 ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∀𝑧𝐶𝑤𝐶 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤))
57 eqeq1 2741 . . . . 5 (𝑧 = 𝑤 → (𝑧 = 𝐴𝑤 = 𝐴))
5857imbi2d 344 . . . 4 (𝑧 = 𝑤 → (((𝐴𝐶𝜑) → 𝑧 = 𝐴) ↔ ((𝐴𝐶𝜑) → 𝑤 = 𝐴)))
5958albidv 1928 . . 3 (𝑧 = 𝑤 → (∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ↔ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)))
6059reu4 3644 . 2 (∃!𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ↔ (∃𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑧𝐶𝑤𝐶 ((∀𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴) ∧ ∀𝑥((𝐴𝐶𝜑) → 𝑤 = 𝐴)) → 𝑧 = 𝑤)))
6144, 56, 60sylanbrc 586 1 ((∀𝑥𝑦(((𝐴𝐶𝜑) ∧ (𝐵𝐶𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴𝐶𝜑)) → ∃!𝑧𝐶𝑥((𝐴𝐶𝜑) → 𝑧 = 𝐴))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399  wal 1541   = wceq 1543  wex 1787  wcel 2110  wral 3061  wrex 3062  ∃!wreu 3063
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1803  ax-4 1817  ax-5 1918  ax-6 1976  ax-7 2016  ax-8 2112  ax-9 2120  ax-11 2158  ax-ext 2708
This theorem depends on definitions:  df-bi 210  df-an 400  df-ex 1788  df-mo 2539  df-eu 2568  df-cleq 2729  df-clel 2816  df-ral 3066  df-rex 3067  df-reu 3068  df-rmo 3069
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator