Proof of Theorem opiota
Step | Hyp | Ref
| Expression |
1 | | opiota.4 |
. . . . . . 7
⊢ (𝑥 = 𝐶 → (𝜑 ↔ 𝜓)) |
2 | | opiota.5 |
. . . . . . 7
⊢ (𝑦 = 𝐷 → (𝜓 ↔ 𝜒)) |
3 | 1, 2 | ceqsrex2v 3587 |
. . . . . 6
⊢ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑) ↔ 𝜒)) |
4 | 3 | bicomd 222 |
. . . . 5
⊢ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) → (𝜒 ↔ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑))) |
5 | | opex 5379 |
. . . . . . . 8
⊢
〈𝐶, 𝐷〉 ∈ V |
6 | 5 | a1i 11 |
. . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 〈𝐶, 𝐷〉 ∈ V) |
7 | | id 22 |
. . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → ∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) |
8 | | eqeq1 2742 |
. . . . . . . . . . 11
⊢ (𝑧 = 〈𝐶, 𝐷〉 → (𝑧 = 〈𝑥, 𝑦〉 ↔ 〈𝐶, 𝐷〉 = 〈𝑥, 𝑦〉)) |
9 | | eqcom 2745 |
. . . . . . . . . . . 12
⊢
(〈𝐶, 𝐷〉 = 〈𝑥, 𝑦〉 ↔ 〈𝑥, 𝑦〉 = 〈𝐶, 𝐷〉) |
10 | | vex 3436 |
. . . . . . . . . . . . 13
⊢ 𝑥 ∈ V |
11 | | vex 3436 |
. . . . . . . . . . . . 13
⊢ 𝑦 ∈ V |
12 | 10, 11 | opth 5391 |
. . . . . . . . . . . 12
⊢
(〈𝑥, 𝑦〉 = 〈𝐶, 𝐷〉 ↔ (𝑥 = 𝐶 ∧ 𝑦 = 𝐷)) |
13 | 9, 12 | bitri 274 |
. . . . . . . . . . 11
⊢
(〈𝐶, 𝐷〉 = 〈𝑥, 𝑦〉 ↔ (𝑥 = 𝐶 ∧ 𝑦 = 𝐷)) |
14 | 8, 13 | bitrdi 287 |
. . . . . . . . . 10
⊢ (𝑧 = 〈𝐶, 𝐷〉 → (𝑧 = 〈𝑥, 𝑦〉 ↔ (𝑥 = 𝐶 ∧ 𝑦 = 𝐷))) |
15 | 14 | anbi1d 630 |
. . . . . . . . 9
⊢ (𝑧 = 〈𝐶, 𝐷〉 → ((𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ↔ ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑))) |
16 | 15 | 2rexbidv 3229 |
. . . . . . . 8
⊢ (𝑧 = 〈𝐶, 𝐷〉 → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ↔ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑))) |
17 | 16 | adantl 482 |
. . . . . . 7
⊢
((∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ∧ 𝑧 = 〈𝐶, 𝐷〉) → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ↔ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑))) |
18 | | nfeu1 2588 |
. . . . . . 7
⊢
Ⅎ𝑧∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) |
19 | | nfvd 1918 |
. . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → Ⅎ𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑)) |
20 | | nfcvd 2908 |
. . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → Ⅎ𝑧〈𝐶, 𝐷〉) |
21 | 6, 7, 17, 18, 19, 20 | iota2df 6420 |
. . . . . 6
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑) ↔ (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) = 〈𝐶, 𝐷〉)) |
22 | | eqcom 2745 |
. . . . . . 7
⊢
(〈𝐶, 𝐷〉 = 𝐼 ↔ 𝐼 = 〈𝐶, 𝐷〉) |
23 | | opiota.1 |
. . . . . . . 8
⊢ 𝐼 = (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) |
24 | 23 | eqeq1i 2743 |
. . . . . . 7
⊢ (𝐼 = 〈𝐶, 𝐷〉 ↔ (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) = 〈𝐶, 𝐷〉) |
25 | 22, 24 | bitri 274 |
. . . . . 6
⊢
(〈𝐶, 𝐷〉 = 𝐼 ↔ (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) = 〈𝐶, 𝐷〉) |
26 | 21, 25 | bitr4di 289 |
. . . . 5
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑) ↔ 〈𝐶, 𝐷〉 = 𝐼)) |
27 | 4, 26 | sylan9bbr 511 |
. . . 4
⊢
((∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ∧ (𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵)) → (𝜒 ↔ 〈𝐶, 𝐷〉 = 𝐼)) |
28 | 27 | pm5.32da 579 |
. . 3
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ∧ 𝜒) ↔ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ∧ 〈𝐶, 𝐷〉 = 𝐼))) |
29 | | opelxpi 5626 |
. . . . . . . . . 10
⊢ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) → 〈𝑥, 𝑦〉 ∈ (𝐴 × 𝐵)) |
30 | | simpl 483 |
. . . . . . . . . . 11
⊢ ((𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝑧 = 〈𝑥, 𝑦〉) |
31 | 30 | eleq1d 2823 |
. . . . . . . . . 10
⊢ ((𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (𝑧 ∈ (𝐴 × 𝐵) ↔ 〈𝑥, 𝑦〉 ∈ (𝐴 × 𝐵))) |
32 | 29, 31 | syl5ibrcom 246 |
. . . . . . . . 9
⊢ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) → ((𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝑧 ∈ (𝐴 × 𝐵))) |
33 | 32 | rexlimivv 3221 |
. . . . . . . 8
⊢
(∃𝑥 ∈
𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝑧 ∈ (𝐴 × 𝐵)) |
34 | 33 | abssi 4003 |
. . . . . . 7
⊢ {𝑧 ∣ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)} ⊆ (𝐴 × 𝐵) |
35 | | iotacl 6419 |
. . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) ∈ {𝑧 ∣ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)}) |
36 | 34, 35 | sselid 3919 |
. . . . . 6
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) ∈ (𝐴 × 𝐵)) |
37 | 23, 36 | eqeltrid 2843 |
. . . . 5
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝐼 ∈ (𝐴 × 𝐵)) |
38 | | opelxp 5625 |
. . . . . 6
⊢
(〈𝐶, 𝐷〉 ∈ (𝐴 × 𝐵) ↔ (𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵)) |
39 | | eleq1 2826 |
. . . . . 6
⊢
(〈𝐶, 𝐷〉 = 𝐼 → (〈𝐶, 𝐷〉 ∈ (𝐴 × 𝐵) ↔ 𝐼 ∈ (𝐴 × 𝐵))) |
40 | 38, 39 | bitr3id 285 |
. . . . 5
⊢
(〈𝐶, 𝐷〉 = 𝐼 → ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ↔ 𝐼 ∈ (𝐴 × 𝐵))) |
41 | 37, 40 | syl5ibrcom 246 |
. . . 4
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (〈𝐶, 𝐷〉 = 𝐼 → (𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵))) |
42 | 41 | pm4.71rd 563 |
. . 3
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (〈𝐶, 𝐷〉 = 𝐼 ↔ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ∧ 〈𝐶, 𝐷〉 = 𝐼))) |
43 | | 1st2nd2 7870 |
. . . . 5
⊢ (𝐼 ∈ (𝐴 × 𝐵) → 𝐼 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉) |
44 | 37, 43 | syl 17 |
. . . 4
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝐼 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉) |
45 | 44 | eqeq2d 2749 |
. . 3
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (〈𝐶, 𝐷〉 = 𝐼 ↔ 〈𝐶, 𝐷〉 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉)) |
46 | 28, 42, 45 | 3bitr2d 307 |
. 2
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ∧ 𝜒) ↔ 〈𝐶, 𝐷〉 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉)) |
47 | | df-3an 1088 |
. 2
⊢ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵 ∧ 𝜒) ↔ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ∧ 𝜒)) |
48 | | opiota.2 |
. . . . 5
⊢ 𝑋 = (1st ‘𝐼) |
49 | 48 | eqeq2i 2751 |
. . . 4
⊢ (𝐶 = 𝑋 ↔ 𝐶 = (1st ‘𝐼)) |
50 | | opiota.3 |
. . . . 5
⊢ 𝑌 = (2nd ‘𝐼) |
51 | 50 | eqeq2i 2751 |
. . . 4
⊢ (𝐷 = 𝑌 ↔ 𝐷 = (2nd ‘𝐼)) |
52 | 49, 51 | anbi12i 627 |
. . 3
⊢ ((𝐶 = 𝑋 ∧ 𝐷 = 𝑌) ↔ (𝐶 = (1st ‘𝐼) ∧ 𝐷 = (2nd ‘𝐼))) |
53 | | fvex 6787 |
. . . 4
⊢
(1st ‘𝐼) ∈ V |
54 | | fvex 6787 |
. . . 4
⊢
(2nd ‘𝐼) ∈ V |
55 | 53, 54 | opth2 5395 |
. . 3
⊢
(〈𝐶, 𝐷〉 = 〈(1st
‘𝐼), (2nd
‘𝐼)〉 ↔
(𝐶 = (1st
‘𝐼) ∧ 𝐷 = (2nd ‘𝐼))) |
56 | 52, 55 | bitr4i 277 |
. 2
⊢ ((𝐶 = 𝑋 ∧ 𝐷 = 𝑌) ↔ 〈𝐶, 𝐷〉 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉) |
57 | 46, 47, 56 | 3bitr4g 314 |
1
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵 ∧ 𝜒) ↔ (𝐶 = 𝑋 ∧ 𝐷 = 𝑌))) |