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

Theorem 2reu5lem3 3659
Description: Lemma for 2reu5 3660. 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 3786. (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 3657 . . 3 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ↔ ∃!𝑥∃!𝑦(𝑥𝐴𝑦𝐵𝜑))
2 2reu5lem2 3658 . . 3 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ↔ ∀𝑥∃*𝑦(𝑥𝐴𝑦𝐵𝜑))
31, 2anbi12i 630 . 2 ((∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑) ↔ (∃!𝑥∃!𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∀𝑥∃*𝑦(𝑥𝐴𝑦𝐵𝜑)))
4 2eu5 2656 . 2 ((∃!𝑥∃!𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∀𝑥∃*𝑦(𝑥𝐴𝑦𝐵𝜑)) ↔ (∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∃𝑧𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))))
5 3anass 1097 . . . . . . 7 ((𝑥𝐴𝑦𝐵𝜑) ↔ (𝑥𝐴 ∧ (𝑦𝐵𝜑)))
65exbii 1855 . . . . . 6 (∃𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ ∃𝑦(𝑥𝐴 ∧ (𝑦𝐵𝜑)))
7 19.42v 1962 . . . . . 6 (∃𝑦(𝑥𝐴 ∧ (𝑦𝐵𝜑)) ↔ (𝑥𝐴 ∧ ∃𝑦(𝑦𝐵𝜑)))
8 df-rex 3057 . . . . . . . 8 (∃𝑦𝐵 𝜑 ↔ ∃𝑦(𝑦𝐵𝜑))
98bicomi 227 . . . . . . 7 (∃𝑦(𝑦𝐵𝜑) ↔ ∃𝑦𝐵 𝜑)
109anbi2i 626 . . . . . 6 ((𝑥𝐴 ∧ ∃𝑦(𝑦𝐵𝜑)) ↔ (𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
116, 7, 103bitri 300 . . . . 5 (∃𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ (𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
1211exbii 1855 . . . 4 (∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ ∃𝑥(𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
13 df-rex 3057 . . . 4 (∃𝑥𝐴𝑦𝐵 𝜑 ↔ ∃𝑥(𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
1412, 13bitr4i 281 . . 3 (∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ ∃𝑥𝐴𝑦𝐵 𝜑)
15 3anan12 1098 . . . . . . . . . . 11 ((𝑥𝐴𝑦𝐵𝜑) ↔ (𝑦𝐵 ∧ (𝑥𝐴𝜑)))
1615imbi1i 353 . . . . . . . . . 10 (((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ((𝑦𝐵 ∧ (𝑥𝐴𝜑)) → (𝑥 = 𝑧𝑦 = 𝑤)))
17 impexp 454 . . . . . . . . . 10 (((𝑦𝐵 ∧ (𝑥𝐴𝜑)) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑦𝐵 → ((𝑥𝐴𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))))
18 impexp 454 . . . . . . . . . . 11 (((𝑥𝐴𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
1918imbi2i 339 . . . . . . . . . 10 ((𝑦𝐵 → ((𝑥𝐴𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ (𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
2016, 17, 193bitri 300 . . . . . . . . 9 (((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
2120albii 1827 . . . . . . . 8 (∀𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑦(𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
22 df-ral 3056 . . . . . . . 8 (∀𝑦𝐵 (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ ∀𝑦(𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
23 r19.21v 3088 . . . . . . . 8 (∀𝑦𝐵 (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ (𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
2421, 22, 233bitr2i 302 . . . . . . 7 (∀𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
2524albii 1827 . . . . . 6 (∀𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
26 df-ral 3056 . . . . . 6 (∀𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
2725, 26bitr4i 281 . . . . 5 (∀𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))
2827exbii 1855 . . . 4 (∃𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∃𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))
2928exbii 1855 . . 3 (∃𝑧𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))
3014, 29anbi12i 630 . 2 ((∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∃𝑧𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
313, 4, 303bitri 300 1 ((∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑) ↔ (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399  w3a 1089  wal 1541  wex 1787  wcel 2112  ∃*wmo 2537  ∃!weu 2567  wral 3051  wrex 3052  ∃!wreu 3053  ∃*wrmo 3054
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 2018  ax-10 2143  ax-11 2160  ax-12 2177
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 848  df-3an 1091  df-tru 1546  df-ex 1788  df-nf 1792  df-mo 2539  df-eu 2568  df-ral 3056  df-rex 3057  df-reu 3058  df-rmo 3059
This theorem is referenced by:  2reu5  3660
  Copyright terms: Public domain W3C validator