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

Theorem 2reu5lem3 3719
Description: Lemma for 2reu5 3720. 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 3839. (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 3717 . . 3 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ↔ ∃!𝑥∃!𝑦(𝑥𝐴𝑦𝐵𝜑))
2 2reu5lem2 3718 . . 3 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ↔ ∀𝑥∃*𝑦(𝑥𝐴𝑦𝐵𝜑))
31, 2anbi12i 639 . 2 ((∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑) ↔ (∃!𝑥∃!𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∀𝑥∃*𝑦(𝑥𝐴𝑦𝐵𝜑)))
4 2eu5 2682 . 2 ((∃!𝑥∃!𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∀𝑥∃*𝑦(𝑥𝐴𝑦𝐵𝜑)) ↔ (∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∃𝑧𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))))
5 3anass 1110 . . . . . . 7 ((𝑥𝐴𝑦𝐵𝜑) ↔ (𝑥𝐴 ∧ (𝑦𝐵𝜑)))
65exbii 1877 . . . . . 6 (∃𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ ∃𝑦(𝑥𝐴 ∧ (𝑦𝐵𝜑)))
7 19.42v 1982 . . . . . 6 (∃𝑦(𝑥𝐴 ∧ (𝑦𝐵𝜑)) ↔ (𝑥𝐴 ∧ ∃𝑦(𝑦𝐵𝜑)))
8 df-rex 3089 . . . . . . . 8 (∃𝑦𝐵 𝜑 ↔ ∃𝑦(𝑦𝐵𝜑))
98bicomi 227 . . . . . . 7 (∃𝑦(𝑦𝐵𝜑) ↔ ∃𝑦𝐵 𝜑)
109anbi2i 634 . . . . . 6 ((𝑥𝐴 ∧ ∃𝑦(𝑦𝐵𝜑)) ↔ (𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
116, 7, 103bitri 300 . . . . 5 (∃𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ (𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
1211exbii 1877 . . . 4 (∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ ∃𝑥(𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
13 df-rex 3089 . . . 4 (∃𝑥𝐴𝑦𝐵 𝜑 ↔ ∃𝑥(𝑥𝐴 ∧ ∃𝑦𝐵 𝜑))
1412, 13bitr4i 281 . . 3 (∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ↔ ∃𝑥𝐴𝑦𝐵 𝜑)
15 3anan12 1111 . . . . . . . . . . 11 ((𝑥𝐴𝑦𝐵𝜑) ↔ (𝑦𝐵 ∧ (𝑥𝐴𝜑)))
1615imbi1i 352 . . . . . . . . . 10 (((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ((𝑦𝐵 ∧ (𝑥𝐴𝜑)) → (𝑥 = 𝑧𝑦 = 𝑤)))
17 impexp 455 . . . . . . . . . 10 (((𝑦𝐵 ∧ (𝑥𝐴𝜑)) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑦𝐵 → ((𝑥𝐴𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))))
18 impexp 455 . . . . . . . . . . 11 (((𝑥𝐴𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
1918imbi2i 339 . . . . . . . . . 10 ((𝑦𝐵 → ((𝑥𝐴𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ (𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
2016, 17, 193bitri 300 . . . . . . . . 9 (((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
2120albii 1848 . . . . . . . 8 (∀𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑦(𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
22 df-ral 3079 . . . . . . . 8 (∀𝑦𝐵 (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ ∀𝑦(𝑦𝐵 → (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))))
23 r19.21v 3189 . . . . . . . 8 (∀𝑦𝐵 (𝑥𝐴 → (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ (𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
2421, 22, 233bitr2i 302 . . . . . . 7 (∀𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ (𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
2524albii 1848 . . . . . 6 (∀𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
26 df-ral 3079 . . . . . 6 (∀𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
2725, 26bitr4i 281 . . . . 5 (∀𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∀𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))
2827exbii 1877 . . . 4 (∃𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∃𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))
2928exbii 1877 . . 3 (∃𝑧𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤)) ↔ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤)))
3014, 29anbi12i 639 . 2 ((∃𝑥𝑦(𝑥𝐴𝑦𝐵𝜑) ∧ ∃𝑧𝑤𝑥𝑦((𝑥𝐴𝑦𝐵𝜑) → (𝑥 = 𝑧𝑦 = 𝑤))) ↔ (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
313, 4, 303bitri 300 1 ((∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑) ↔ (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑧𝑤𝑥𝐴𝑦𝐵 (𝜑 → (𝑥 = 𝑧𝑦 = 𝑤))))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 400  w3a 1102  wal 1567  wex 1808  wcel 2142  ∃*wmo 2564  ∃!weu 2595  wral 3078  wrex 3088  ∃!wreu 3366  ∃*wrmo 3367
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1824  ax-4 1838  ax-5 1939  ax-6 1996  ax-7 2037  ax-10 2175  ax-11 2191  ax-12 2212
This proof depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3an 1104  df-tru 1572  df-ex 1809  df-nf 1813  df-mo 2566  df-eu 2596  df-ral 3079  df-rex 3089  df-rmo 3368  df-reu 3369
This theorem is used by:  2reu5  3720
  Copyright terms: Public domain W3C validator