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

Theorem 2reu5lem3 3699
Description: Lemma for 2reu5 3700. This lemma is interesting in its own right, showing that existential restriction in the last conjunct (the "at most one" part) is optional; compare rmo2 3819. (Contributed by Alexander van der Vekens, 17-Jun-2017.)
Assertion
Ref Expression
2reu5lem3 ((∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑) ↔ (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
Distinct variable groups:   𝑦,𝑤,𝑧,𝐴   𝑥,𝑤,𝐵,𝑧   𝑥,𝑦   𝜑,𝑤,𝑧
Allowed substitution hints:   𝜑(𝑥,𝑦)   𝐴(𝑥)   𝐵(𝑦)

Proof of Theorem 2reu5lem3
StepHypRef Expression
1 2reu5lem1 3697 . . 3 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ↔ ∃!𝑥∃!𝑦(𝑥𝐴𝑦𝐵𝜑))
2 2reu5lem2 3698 . . 3 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ↔ ∀𝑥∃*𝑦(𝑥𝐴𝑦𝐵𝜑))
31, 2anbi12i 629 . 2 ((∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑) ↔ (∃!𝑥∃!𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∀𝑥∃*𝑦(𝑥𝐴𝑦𝐵𝜑)))
4 2eu5 2720 . 2 ((∃!𝑥∃!𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∀𝑥∃*𝑦(𝑥𝐴𝑦𝐵𝜑)) ↔ (∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∃𝑧𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))))
5 3anass 1092 . . . . . . 7 ((𝑥𝐴𝑦𝐵𝜑) ↔ (𝑥𝐴 ∧ (𝑦𝐵𝜑)))
65exbii 1849 . . . . . 6 (∃𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ ∃𝑦(𝑥𝐴 ∧ (𝑦𝐵𝜑)))
7 19.42v 1954 . . . . . 6 (∃𝑦(𝑥𝐴 ∧ (𝑦𝐵𝜑)) ↔ (𝑥𝐴 ∧ ∃𝑦(𝑦𝐵𝜑)))
8 df-rex 3115 . . . . . . . 8 (∃𝑦𝐵 𝜑 ↔ ∃𝑦(𝑦𝐵𝜑))
98bicomi 227 . . . . . . 7 (∃𝑦(𝑦𝐵𝜑) ↔ ∃𝑦𝐵 𝜑)
109anbi2i 625 . . . . . 6 ((𝑥𝐴 ∧ ∃𝑦(𝑦𝐵𝜑)) ↔ (𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
116, 7, 103bitri 300 . . . . 5 (∃𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ (𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
1211exbii 1849 . . . 4 (∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ ∃𝑥(𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
13 df-rex 3115 . . . 4 (∃𝑥𝐴𝑦𝐵 𝜑 ↔ ∃𝑥(𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
1412, 13bitr4i 281 . . 3 (∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ ∃𝑥𝐴𝑦𝐵 𝜑)
15 3anan12 1093 . . . . . . . . . . 11 ((𝑥𝐴𝑦𝐵𝜑) ↔ (𝑦𝐵 ∧ (𝑥𝐴𝜑)))
1615imbi1i 353 . . . . . . . . . 10 (((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ((𝑦𝐵 ∧ (𝑥𝐴𝜑)) → (𝑥 = 𝑧𝑦 = 𝑤)))
17 impexp 454 . . . . . . . . . 10 (((𝑦𝐵 ∧ (𝑥𝐴𝜑)) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑦𝐵 → ((𝑥𝐴𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))))
18 impexp 454 . . . . . . . . . . 11 (((𝑥𝐴𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
1918imbi2i 339 . . . . . . . . . 10 ((𝑦𝐵 → ((𝑥𝐴𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ (𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
2016, 17, 193bitri 300 . . . . . . . . 9 (((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
2120albii 1821 . . . . . . . 8 (∀𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑦(𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
22 df-ral 3114 . . . . . . . 8 (∀𝑦𝐵 (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ ∀𝑦(𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
23 r19.21v 3145 . . . . . . . 8 (∀𝑦𝐵 (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ (𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
2421, 22, 233bitr2i 302 . . . . . . 7 (∀𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
2524albii 1821 . . . . . 6 (∀𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
26 df-ral 3114 . . . . . 6 (∀𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
2725, 26bitr4i 281 . . . . 5 (∀𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))
2827exbii 1849 . . . 4 (∃𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∃𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))
2928exbii 1849 . . 3 (∃𝑧𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))
3014, 29anbi12i 629 . 2 ((∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∃𝑧𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
313, 4, 303bitri 300 1 ((∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑) ↔ (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399  w3a 1084  wal 1536  wex 1781  wcel 2112  ∃*wmo 2599  ∃!weu 2631  wral 3109  wrex 3110  ∃!wreu 3111  ∃*wrmo 3112
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-10 2143  ax-11 2159  ax-12 2176
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2601  df-eu 2632  df-ral 3114  df-rex 3115  df-reu 3116  df-rmo 3117
This theorem is referenced by:  2reu5  3700
  Copyright terms: Public domain W3C validator