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

Theorem 2reu5lem3 3692
Description: Lemma for 2reu5 3693. 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 3820. (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 3690 . . 3 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ↔ ∃!𝑥∃!𝑦(𝑥𝐴𝑦𝐵𝜑))
2 2reu5lem2 3691 . . 3 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ↔ ∀𝑥∃*𝑦(𝑥𝐴𝑦𝐵𝜑))
31, 2anbi12i 627 . 2 ((∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑) ↔ (∃!𝑥∃!𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∀𝑥∃*𝑦(𝑥𝐴𝑦𝐵𝜑)))
4 2eu5 2657 . 2 ((∃!𝑥∃!𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∀𝑥∃*𝑦(𝑥𝐴𝑦𝐵𝜑)) ↔ (∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∃𝑧𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))))
5 3anass 1094 . . . . . . 7 ((𝑥𝐴𝑦𝐵𝜑) ↔ (𝑥𝐴 ∧ (𝑦𝐵𝜑)))
65exbii 1850 . . . . . 6 (∃𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ ∃𝑦(𝑥𝐴 ∧ (𝑦𝐵𝜑)))
7 19.42v 1957 . . . . . 6 (∃𝑦(𝑥𝐴 ∧ (𝑦𝐵𝜑)) ↔ (𝑥𝐴 ∧ ∃𝑦(𝑦𝐵𝜑)))
8 df-rex 3070 . . . . . . . 8 (∃𝑦𝐵 𝜑 ↔ ∃𝑦(𝑦𝐵𝜑))
98bicomi 223 . . . . . . 7 (∃𝑦(𝑦𝐵𝜑) ↔ ∃𝑦𝐵 𝜑)
109anbi2i 623 . . . . . 6 ((𝑥𝐴 ∧ ∃𝑦(𝑦𝐵𝜑)) ↔ (𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
116, 7, 103bitri 297 . . . . 5 (∃𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ (𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
1211exbii 1850 . . . 4 (∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ ∃𝑥(𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
13 df-rex 3070 . . . 4 (∃𝑥𝐴𝑦𝐵 𝜑 ↔ ∃𝑥(𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
1412, 13bitr4i 277 . . 3 (∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ ∃𝑥𝐴𝑦𝐵 𝜑)
15 3anan12 1095 . . . . . . . . . . 11 ((𝑥𝐴𝑦𝐵𝜑) ↔ (𝑦𝐵 ∧ (𝑥𝐴𝜑)))
1615imbi1i 350 . . . . . . . . . 10 (((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ((𝑦𝐵 ∧ (𝑥𝐴𝜑)) → (𝑥 = 𝑧𝑦 = 𝑤)))
17 impexp 451 . . . . . . . . . 10 (((𝑦𝐵 ∧ (𝑥𝐴𝜑)) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑦𝐵 → ((𝑥𝐴𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))))
18 impexp 451 . . . . . . . . . . 11 (((𝑥𝐴𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
1918imbi2i 336 . . . . . . . . . 10 ((𝑦𝐵 → ((𝑥𝐴𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ (𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
2016, 17, 193bitri 297 . . . . . . . . 9 (((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
2120albii 1822 . . . . . . . 8 (∀𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑦(𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
22 df-ral 3069 . . . . . . . 8 (∀𝑦𝐵 (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ ∀𝑦(𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
23 r19.21v 3113 . . . . . . . 8 (∀𝑦𝐵 (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ (𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
2421, 22, 233bitr2i 299 . . . . . . 7 (∀𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
2524albii 1822 . . . . . 6 (∀𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
26 df-ral 3069 . . . . . 6 (∀𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
2725, 26bitr4i 277 . . . . 5 (∀𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))
2827exbii 1850 . . . 4 (∃𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∃𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))
2928exbii 1850 . . 3 (∃𝑧𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))
3014, 29anbi12i 627 . 2 ((∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∃𝑧𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
313, 4, 303bitri 297 1 ((∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑) ↔ (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 396  w3a 1086  wal 1537  wex 1782  wcel 2106  ∃*wmo 2538  ∃!weu 2568  wral 3064  wrex 3065  ∃!wreu 3066  ∃*wrmo 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 1913  ax-6 1971  ax-7 2011  ax-10 2137  ax-11 2154  ax-12 2171
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3an 1088  df-tru 1542  df-ex 1783  df-nf 1787  df-mo 2540  df-eu 2569  df-ral 3069  df-rex 3070  df-rmo 3071  df-reu 3072
This theorem is referenced by:  2reu5  3693
  Copyright terms: Public domain W3C validator