Metamath Proof Explorer


Theorem 2reu1

Description: Double restricted existential uniqueness. This theorem shows a condition under which a "naive" definition matches the correct one, analogous to 2eu1 . (Contributed by Alexander van der Vekens, 25-Jun-2017)

Ref Expression
Assertion 2reu1 ⊢ ∀ x ∈ A ∃* y ∈ B φ → ∃! x ∈ A ∃! y ∈ B φ ↔ ∃! x ∈ A ∃ y ∈ B φ ∧ ∃! y ∈ B ∃ x ∈ A φ

Proof

Step Hyp Ref Expression
1 2reu5a ⊢ ∃! x ∈ A ∃! y ∈ B φ ↔ ∃ x ∈ A ∃ y ∈ B φ ∧ ∃* y ∈ B φ ∧ ∃* x ∈ A ∃ y ∈ B φ ∧ ∃* y ∈ B φ
2 simprr ⊢ x ∈ A ∧ ∀ x ∈ A ∃* y ∈ B φ ∧ ∃ y ∈ B φ → ∃ y ∈ B φ
3 rsp ⊢ ∀ x ∈ A ∃* y ∈ B φ → x ∈ A → ∃* y ∈ B φ
4 3 adantr ⊢ ∀ x ∈ A ∃* y ∈ B φ ∧ ∃ y ∈ B φ → x ∈ A → ∃* y ∈ B φ
5 4 impcom ⊢ x ∈ A ∧ ∀ x ∈ A ∃* y ∈ B φ ∧ ∃ y ∈ B φ → ∃* y ∈ B φ
6 2 5 jca ⊢ x ∈ A ∧ ∀ x ∈ A ∃* y ∈ B φ ∧ ∃ y ∈ B φ → ∃ y ∈ B φ ∧ ∃* y ∈ B φ
7 6 ex ⊢ x ∈ A → ∀ x ∈ A ∃* y ∈ B φ ∧ ∃ y ∈ B φ → ∃ y ∈ B φ ∧ ∃* y ∈ B φ
8 7 rmoimia ⊢ ∃* x ∈ A ∃ y ∈ B φ ∧ ∃* y ∈ B φ → ∃* x ∈ A ∀ x ∈ A ∃* y ∈ B φ ∧ ∃ y ∈ B φ
9 nfra1 ⊢ Ⅎ x ∀ x ∈ A ∃* y ∈ B φ
10 9 rmoanim ⊢ ∃* x ∈ A ∀ x ∈ A ∃* y ∈ B φ ∧ ∃ y ∈ B φ ↔ ∀ x ∈ A ∃* y ∈ B φ → ∃* x ∈ A ∃ y ∈ B φ
11 8 10 sylib ⊢ ∃* x ∈ A ∃ y ∈ B φ ∧ ∃* y ∈ B φ → ∀ x ∈ A ∃* y ∈ B φ → ∃* x ∈ A ∃ y ∈ B φ
12 11 ancrd ⊢ ∃* x ∈ A ∃ y ∈ B φ ∧ ∃* y ∈ B φ → ∀ x ∈ A ∃* y ∈ B φ → ∃* x ∈ A ∃ y ∈ B φ ∧ ∀ x ∈ A ∃* y ∈ B φ
13 2rmoswap ⊢ ∀ x ∈ A ∃* y ∈ B φ → ∃* x ∈ A ∃ y ∈ B φ → ∃* y ∈ B ∃ x ∈ A φ
14 13 com12 ⊢ ∃* x ∈ A ∃ y ∈ B φ → ∀ x ∈ A ∃* y ∈ B φ → ∃* y ∈ B ∃ x ∈ A φ
15 14 imdistani ⊢ ∃* x ∈ A ∃ y ∈ B φ ∧ ∀ x ∈ A ∃* y ∈ B φ → ∃* x ∈ A ∃ y ∈ B φ ∧ ∃* y ∈ B ∃ x ∈ A φ
16 12 15 syl6 ⊢ ∃* x ∈ A ∃ y ∈ B φ ∧ ∃* y ∈ B φ → ∀ x ∈ A ∃* y ∈ B φ → ∃* x ∈ A ∃ y ∈ B φ ∧ ∃* y ∈ B ∃ x ∈ A φ
17 1 16 simplbiim ⊢ ∃! x ∈ A ∃! y ∈ B φ → ∀ x ∈ A ∃* y ∈ B φ → ∃* x ∈ A ∃ y ∈ B φ ∧ ∃* y ∈ B ∃ x ∈ A φ
18 2reu2rex ⊢ ∃! x ∈ A ∃! y ∈ B φ → ∃ x ∈ A ∃ y ∈ B φ
19 rexcom ⊢ ∃ x ∈ A ∃ y ∈ B φ ↔ ∃ y ∈ B ∃ x ∈ A φ
20 18 19 sylib ⊢ ∃! x ∈ A ∃! y ∈ B φ → ∃ y ∈ B ∃ x ∈ A φ
21 18 20 jca ⊢ ∃! x ∈ A ∃! y ∈ B φ → ∃ x ∈ A ∃ y ∈ B φ ∧ ∃ y ∈ B ∃ x ∈ A φ
22 17 21 jctild ⊢ ∃! x ∈ A ∃! y ∈ B φ → ∀ x ∈ A ∃* y ∈ B φ → ∃ x ∈ A ∃ y ∈ B φ ∧ ∃ y ∈ B ∃ x ∈ A φ ∧ ∃* x ∈ A ∃ y ∈ B φ ∧ ∃* y ∈ B ∃ x ∈ A φ
23 reu5 ⊢ ∃! x ∈ A ∃ y ∈ B φ ↔ ∃ x ∈ A ∃ y ∈ B φ ∧ ∃* x ∈ A ∃ y ∈ B φ
24 reu5 ⊢ ∃! y ∈ B ∃ x ∈ A φ ↔ ∃ y ∈ B ∃ x ∈ A φ ∧ ∃* y ∈ B ∃ x ∈ A φ
25 23 24 anbi12i ⊢ ∃! x ∈ A ∃ y ∈ B φ ∧ ∃! y ∈ B ∃ x ∈ A φ ↔ ∃ x ∈ A ∃ y ∈ B φ ∧ ∃* x ∈ A ∃ y ∈ B φ ∧ ∃ y ∈ B ∃ x ∈ A φ ∧ ∃* y ∈ B ∃ x ∈ A φ
26 an4 ⊢ ∃ x ∈ A ∃ y ∈ B φ ∧ ∃* x ∈ A ∃ y ∈ B φ ∧ ∃ y ∈ B ∃ x ∈ A φ ∧ ∃* y ∈ B ∃ x ∈ A φ ↔ ∃ x ∈ A ∃ y ∈ B φ ∧ ∃ y ∈ B ∃ x ∈ A φ ∧ ∃* x ∈ A ∃ y ∈ B φ ∧ ∃* y ∈ B ∃ x ∈ A φ
27 25 26 bitri ⊢ ∃! x ∈ A ∃ y ∈ B φ ∧ ∃! y ∈ B ∃ x ∈ A φ ↔ ∃ x ∈ A ∃ y ∈ B φ ∧ ∃ y ∈ B ∃ x ∈ A φ ∧ ∃* x ∈ A ∃ y ∈ B φ ∧ ∃* y ∈ B ∃ x ∈ A φ
28 22 27 imbitrrdi ⊢ ∃! x ∈ A ∃! y ∈ B φ → ∀ x ∈ A ∃* y ∈ B φ → ∃! x ∈ A ∃ y ∈ B φ ∧ ∃! y ∈ B ∃ x ∈ A φ
29 28 com12 ⊢ ∀ x ∈ A ∃* y ∈ B φ → ∃! x ∈ A ∃! y ∈ B φ → ∃! x ∈ A ∃ y ∈ B φ ∧ ∃! y ∈ B ∃ x ∈ A φ
30 2rexreu ⊢ ∃! x ∈ A ∃ y ∈ B φ ∧ ∃! y ∈ B ∃ x ∈ A φ → ∃! x ∈ A ∃! y ∈ B φ
31 29 30 impbid1 ⊢ ∀ x ∈ A ∃* y ∈ B φ → ∃! x ∈ A ∃! y ∈ B φ ↔ ∃! x ∈ A ∃ y ∈ B φ ∧ ∃! y ∈ B ∃ x ∈ A φ