Users' Mathboxes Mathbox for Alexander van der Vekens < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  2reu1 Structured version   Visualization version   GIF version

Theorem 2reu1 41951
Description: Double restricted existential uniqueness. This theorem shows a condition under which a "naive" definition matches the correct one, analogous to 2eu1 2707. (Contributed by Alexander van der Vekens, 25-Jun-2017.)
Assertion
Ref Expression
2reu1 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ↔ (∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑)))
Distinct variable groups:   𝑥,𝑦,𝐴   𝑥,𝐵
Allowed substitution hints:   𝜑(𝑥,𝑦)   𝐵(𝑦)

Proof of Theorem 2reu1
StepHypRef Expression
1 2reu5a 41942 . . . . . 6 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ↔ (∃𝑥𝐴 (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑) ∧ ∃*𝑥𝐴 (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑)))
2 simprr 790 . . . . . . . . . . . 12 ((𝑥𝐴 ∧ (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑)) → ∃𝑦𝐵 𝜑)
3 rsp 3108 . . . . . . . . . . . . . 14 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (𝑥𝐴 → ∃*𝑦𝐵 𝜑))
43adantr 473 . . . . . . . . . . . . 13 ((∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑) → (𝑥𝐴 → ∃*𝑦𝐵 𝜑))
54impcom 397 . . . . . . . . . . . 12 ((𝑥𝐴 ∧ (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑)) → ∃*𝑦𝐵 𝜑)
62, 5jca 508 . . . . . . . . . . 11 ((𝑥𝐴 ∧ (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑)) → (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑))
76ex 402 . . . . . . . . . 10 (𝑥𝐴 → ((∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑) → (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑)))
87rmoimia 3604 . . . . . . . . 9 (∃*𝑥𝐴 (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑) → ∃*𝑥𝐴 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑))
9 nfra1 3120 . . . . . . . . . 10 𝑥𝑥𝐴 ∃*𝑦𝐵 𝜑
109rmoanim 41944 . . . . . . . . 9 (∃*𝑥𝐴 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑) ↔ (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → ∃*𝑥𝐴𝑦𝐵 𝜑))
118, 10sylib 210 . . . . . . . 8 (∃*𝑥𝐴 (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑) → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → ∃*𝑥𝐴𝑦𝐵 𝜑))
1211ancrd 548 . . . . . . 7 (∃*𝑥𝐴 (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑) → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑)))
13 2rmoswap 41949 . . . . . . . . 9 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃*𝑥𝐴𝑦𝐵 𝜑 → ∃*𝑦𝐵𝑥𝐴 𝜑))
1413com12 32 . . . . . . . 8 (∃*𝑥𝐴𝑦𝐵 𝜑 → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → ∃*𝑦𝐵𝑥𝐴 𝜑))
1514imdistani 565 . . . . . . 7 ((∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑) → (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑))
1612, 15syl6 35 . . . . . 6 (∃*𝑥𝐴 (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑) → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑)))
171, 16simplbiim 500 . . . . 5 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑)))
18 2reu2rex 41948 . . . . . 6 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → ∃𝑥𝐴𝑦𝐵 𝜑)
19 rexcom 3278 . . . . . . 7 (∃𝑥𝐴𝑦𝐵 𝜑 ↔ ∃𝑦𝐵𝑥𝐴 𝜑)
2018, 19sylib 210 . . . . . 6 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → ∃𝑦𝐵𝑥𝐴 𝜑)
2118, 20jca 508 . . . . 5 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑦𝐵𝑥𝐴 𝜑))
2217, 21jctild 522 . . . 4 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → ((∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑦𝐵𝑥𝐴 𝜑) ∧ (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑))))
23 reu5 3340 . . . . . 6 (∃!𝑥𝐴𝑦𝐵 𝜑 ↔ (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑥𝐴𝑦𝐵 𝜑))
24 reu5 3340 . . . . . 6 (∃!𝑦𝐵𝑥𝐴 𝜑 ↔ (∃𝑦𝐵𝑥𝐴 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑))
2523, 24anbi12i 621 . . . . 5 ((∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑) ↔ ((∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑥𝐴𝑦𝐵 𝜑) ∧ (∃𝑦𝐵𝑥𝐴 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑)))
26 an4 647 . . . . 5 (((∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑥𝐴𝑦𝐵 𝜑) ∧ (∃𝑦𝐵𝑥𝐴 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑)) ↔ ((∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑦𝐵𝑥𝐴 𝜑) ∧ (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑)))
2725, 26bitri 267 . . . 4 ((∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑) ↔ ((∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑦𝐵𝑥𝐴 𝜑) ∧ (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑)))
2822, 27syl6ibr 244 . . 3 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑)))
2928com12 32 . 2 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → (∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑)))
30 2rexreu 41950 . 2 ((∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑) → ∃!𝑥𝐴 ∃!𝑦𝐵 𝜑)
3129, 30impbid1 217 1 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ↔ (∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 198  wa 385  wcel 2157  wral 3087  wrex 3088  ∃!wreu 3089  ∃*wrmo 3090
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1891  ax-4 1905  ax-5 2006  ax-6 2072  ax-7 2107  ax-9 2166  ax-10 2185  ax-11 2200  ax-12 2213  ax-13 2354  ax-ext 2775
This theorem depends on definitions:  df-bi 199  df-an 386  df-or 875  df-tru 1657  df-ex 1876  df-nf 1880  df-sb 2065  df-mo 2590  df-eu 2607  df-cleq 2790  df-clel 2793  df-nfc 2928  df-ral 3092  df-rex 3093  df-reu 3094  df-rmo 3095
This theorem is referenced by:  2reu2  41952  2reu3  41953
  Copyright terms: Public domain W3C validator