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

Theorem reuxfrd 3647
Description: Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. (Contributed by NM, 16-Jan-2012.) Separate variables 𝐵 and 𝐶. (Revised by Thierry Arnoux, 8-Oct-2017.)
Hypotheses
Ref Expression
reuxfrd.1 ((𝜑𝑦𝐶) → 𝐴𝐵)
reuxfrd.2 ((𝜑𝑥𝐵) → ∃*𝑦𝐶 𝑥 = 𝐴)
Assertion
Ref Expression
reuxfrd (𝜑 → (∃!𝑥𝐵𝑦𝐶 (𝑥 = 𝐴𝜓) ↔ ∃!𝑦𝐶 𝜓))
Distinct variable groups:   𝑥,𝑦,𝜑   𝜓,𝑥   𝑥,𝐴   𝑥,𝐵,𝑦   𝑥,𝐶,𝑦
Allowed substitution hints:   𝜓(𝑦)   𝐴(𝑦)

Proof of Theorem reuxfrd
StepHypRef Expression
1 reuxfrd.2 . . . . . . 7 ((𝜑𝑥𝐵) → ∃*𝑦𝐶 𝑥 = 𝐴)
2 rmoan 3638 . . . . . . 7 (∃*𝑦𝐶 𝑥 = 𝐴 → ∃*𝑦𝐶 (𝜓𝑥 = 𝐴))
31, 2syl 17 . . . . . 6 ((𝜑𝑥𝐵) → ∃*𝑦𝐶 (𝜓𝑥 = 𝐴))
4 ancom 464 . . . . . . 7 ((𝜓𝑥 = 𝐴) ↔ (𝑥 = 𝐴𝜓))
54rmobii 3299 . . . . . 6 (∃*𝑦𝐶 (𝜓𝑥 = 𝐴) ↔ ∃*𝑦𝐶 (𝑥 = 𝐴𝜓))
63, 5sylib 221 . . . . 5 ((𝜑𝑥𝐵) → ∃*𝑦𝐶 (𝑥 = 𝐴𝜓))
76ralrimiva 3096 . . . 4 (𝜑 → ∀𝑥𝐵 ∃*𝑦𝐶 (𝑥 = 𝐴𝜓))
8 2reuswap 3645 . . . 4 (∀𝑥𝐵 ∃*𝑦𝐶 (𝑥 = 𝐴𝜓) → (∃!𝑥𝐵𝑦𝐶 (𝑥 = 𝐴𝜓) → ∃!𝑦𝐶𝑥𝐵 (𝑥 = 𝐴𝜓)))
97, 8syl 17 . . 3 (𝜑 → (∃!𝑥𝐵𝑦𝐶 (𝑥 = 𝐴𝜓) → ∃!𝑦𝐶𝑥𝐵 (𝑥 = 𝐴𝜓)))
10 2reuswap2 3646 . . . 4 (∀𝑦𝐶 ∃*𝑥(𝑥𝐵 ∧ (𝑥 = 𝐴𝜓)) → (∃!𝑦𝐶𝑥𝐵 (𝑥 = 𝐴𝜓) → ∃!𝑥𝐵𝑦𝐶 (𝑥 = 𝐴𝜓)))
11 moeq 3606 . . . . . . 7 ∃*𝑥 𝑥 = 𝐴
1211moani 2553 . . . . . 6 ∃*𝑥((𝑥𝐵𝜓) ∧ 𝑥 = 𝐴)
13 ancom 464 . . . . . . . 8 (((𝑥𝐵𝜓) ∧ 𝑥 = 𝐴) ↔ (𝑥 = 𝐴 ∧ (𝑥𝐵𝜓)))
14 an12 645 . . . . . . . 8 ((𝑥 = 𝐴 ∧ (𝑥𝐵𝜓)) ↔ (𝑥𝐵 ∧ (𝑥 = 𝐴𝜓)))
1513, 14bitri 278 . . . . . . 7 (((𝑥𝐵𝜓) ∧ 𝑥 = 𝐴) ↔ (𝑥𝐵 ∧ (𝑥 = 𝐴𝜓)))
1615mobii 2548 . . . . . 6 (∃*𝑥((𝑥𝐵𝜓) ∧ 𝑥 = 𝐴) ↔ ∃*𝑥(𝑥𝐵 ∧ (𝑥 = 𝐴𝜓)))
1712, 16mpbi 233 . . . . 5 ∃*𝑥(𝑥𝐵 ∧ (𝑥 = 𝐴𝜓))
1817a1i 11 . . . 4 (𝑦𝐶 → ∃*𝑥(𝑥𝐵 ∧ (𝑥 = 𝐴𝜓)))
1910, 18mprg 3067 . . 3 (∃!𝑦𝐶𝑥𝐵 (𝑥 = 𝐴𝜓) → ∃!𝑥𝐵𝑦𝐶 (𝑥 = 𝐴𝜓))
209, 19impbid1 228 . 2 (𝜑 → (∃!𝑥𝐵𝑦𝐶 (𝑥 = 𝐴𝜓) ↔ ∃!𝑦𝐶𝑥𝐵 (𝑥 = 𝐴𝜓)))
21 reuxfrd.1 . . . 4 ((𝜑𝑦𝐶) → 𝐴𝐵)
22 biidd 265 . . . . 5 (𝑥 = 𝐴 → (𝜓𝜓))
2322ceqsrexv 3552 . . . 4 (𝐴𝐵 → (∃𝑥𝐵 (𝑥 = 𝐴𝜓) ↔ 𝜓))
2421, 23syl 17 . . 3 ((𝜑𝑦𝐶) → (∃𝑥𝐵 (𝑥 = 𝐴𝜓) ↔ 𝜓))
2524reubidva 3291 . 2 (𝜑 → (∃!𝑦𝐶𝑥𝐵 (𝑥 = 𝐴𝜓) ↔ ∃!𝑦𝐶 𝜓))
2620, 25bitrd 282 1 (𝜑 → (∃!𝑥𝐵𝑦𝐶 (𝑥 = 𝐴𝜓) ↔ ∃!𝑦𝐶 𝜓))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399   = wceq 1542  wcel 2114  ∃*wmo 2538  wral 3053  wrex 3054  ∃!wreu 3055  ∃*wrmo 3056
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1975  ax-7 2020  ax-8 2116  ax-9 2124  ax-10 2145  ax-11 2162  ax-12 2179  ax-ext 2710
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 847  df-tru 1545  df-ex 1787  df-nf 1791  df-sb 2075  df-mo 2540  df-eu 2570  df-clab 2717  df-cleq 2730  df-clel 2811  df-ral 3058  df-rex 3059  df-reu 3060  df-rmo 3061
This theorem is referenced by:  reuxfr  3648  reuxfr1d  3649
  Copyright terms: Public domain W3C validator