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 41710
Description: Double restricted existential uniqueness. This theorem shows a condition under which a "naive" definition matches the correct one, analogous to 2eu1 2691. (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 41701 . . . . . 6 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ↔ (∃𝑥𝐴 (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑) ∧ ∃*𝑥𝐴 (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑)))
2 simprr 813 . . . . . . . . . . . 12 ((𝑥𝐴 ∧ (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑)) → ∃𝑦𝐵 𝜑)
3 rsp 3067 . . . . . . . . . . . . . 14 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (𝑥𝐴 → ∃*𝑦𝐵 𝜑))
43adantr 472 . . . . . . . . . . . . 13 ((∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑) → (𝑥𝐴 → ∃*𝑦𝐵 𝜑))
54impcom 445 . . . . . . . . . . . 12 ((𝑥𝐴 ∧ (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑)) → ∃*𝑦𝐵 𝜑)
62, 5jca 555 . . . . . . . . . . 11 ((𝑥𝐴 ∧ (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑)) → (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑))
76ex 449 . . . . . . . . . 10 (𝑥𝐴 → ((∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑) → (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑)))
87rmoimia 3549 . . . . . . . . 9 (∃*𝑥𝐴 (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑) → ∃*𝑥𝐴 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑))
9 nfra1 3079 . . . . . . . . . 10 𝑥𝑥𝐴 ∃*𝑦𝐵 𝜑
109rmoanim 41703 . . . . . . . . 9 (∃*𝑥𝐴 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 ∧ ∃𝑦𝐵 𝜑) ↔ (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → ∃*𝑥𝐴𝑦𝐵 𝜑))
118, 10sylib 208 . . . . . . . 8 (∃*𝑥𝐴 (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑) → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → ∃*𝑥𝐴𝑦𝐵 𝜑))
1211ancrd 578 . . . . . . 7 (∃*𝑥𝐴 (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑) → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑)))
13 2rmoswap 41708 . . . . . . . . 9 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃*𝑥𝐴𝑦𝐵 𝜑 → ∃*𝑦𝐵𝑥𝐴 𝜑))
1413com12 32 . . . . . . . 8 (∃*𝑥𝐴𝑦𝐵 𝜑 → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → ∃*𝑦𝐵𝑥𝐴 𝜑))
1514imdistani 728 . . . . . . 7 ((∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∀𝑥𝐴 ∃*𝑦𝐵 𝜑) → (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑))
1612, 15syl6 35 . . . . . 6 (∃*𝑥𝐴 (∃𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵 𝜑) → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑)))
171, 16simplbiim 661 . . . . 5 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑)))
18 2reu2rex 41707 . . . . . 6 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → ∃𝑥𝐴𝑦𝐵 𝜑)
19 rexcom 3237 . . . . . . 7 (∃𝑥𝐴𝑦𝐵 𝜑 ↔ ∃𝑦𝐵𝑥𝐴 𝜑)
2018, 19sylib 208 . . . . . 6 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → ∃𝑦𝐵𝑥𝐴 𝜑)
2118, 20jca 555 . . . . 5 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑦𝐵𝑥𝐴 𝜑))
2217, 21jctild 567 . . . 4 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → ((∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑦𝐵𝑥𝐴 𝜑) ∧ (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑))))
23 reu5 3298 . . . . . 6 (∃!𝑥𝐴𝑦𝐵 𝜑 ↔ (∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑥𝐴𝑦𝐵 𝜑))
24 reu5 3298 . . . . . 6 (∃!𝑦𝐵𝑥𝐴 𝜑 ↔ (∃𝑦𝐵𝑥𝐴 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑))
2523, 24anbi12i 735 . . . . 5 ((∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑) ↔ ((∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑥𝐴𝑦𝐵 𝜑) ∧ (∃𝑦𝐵𝑥𝐴 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑)))
26 an4 900 . . . . 5 (((∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑥𝐴𝑦𝐵 𝜑) ∧ (∃𝑦𝐵𝑥𝐴 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑)) ↔ ((∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑦𝐵𝑥𝐴 𝜑) ∧ (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑)))
2725, 26bitri 264 . . . 4 ((∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑) ↔ ((∃𝑥𝐴𝑦𝐵 𝜑 ∧ ∃𝑦𝐵𝑥𝐴 𝜑) ∧ (∃*𝑥𝐴𝑦𝐵 𝜑 ∧ ∃*𝑦𝐵𝑥𝐴 𝜑)))
2822, 27syl6ibr 242 . . 3 (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑)))
2928com12 32 . 2 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 → (∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑)))
30 2rexreu 41709 . 2 ((∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑) → ∃!𝑥𝐴 ∃!𝑦𝐵 𝜑)
3129, 30impbid1 215 1 (∀𝑥𝐴 ∃*𝑦𝐵 𝜑 → (∃!𝑥𝐴 ∃!𝑦𝐵 𝜑 ↔ (∃!𝑥𝐴𝑦𝐵 𝜑 ∧ ∃!𝑦𝐵𝑥𝐴 𝜑)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 383  wcel 2139  wral 3050  wrex 3051  ∃!wreu 3052  ∃*wrmo 3053
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1871  ax-4 1886  ax-5 1988  ax-6 2054  ax-7 2090  ax-9 2148  ax-10 2168  ax-11 2183  ax-12 2196  ax-13 2391  ax-ext 2740
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-tru 1635  df-ex 1854  df-nf 1859  df-sb 2047  df-eu 2611  df-mo 2612  df-cleq 2753  df-clel 2756  df-nfc 2891  df-ral 3055  df-rex 3056  df-reu 3057  df-rmo 3058
This theorem is referenced by:  2reu2  41711  2reu3  41712
  Copyright terms: Public domain W3C validator