Proof of Theorem opiota
| Step | Hyp | Ref
| Expression |
| 1 | | opiota.4 |
. . . . . . 7
⊢ (𝑥 = 𝐶 → (𝜑 ↔ 𝜓)) |
| 2 | | opiota.5 |
. . . . . . 7
⊢ (𝑦 = 𝐷 → (𝜓 ↔ 𝜒)) |
| 3 | 1, 2 | ceqsrex2v 3637 |
. . . . . 6
⊢ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑) ↔ 𝜒)) |
| 4 | 3 | bicomd 223 |
. . . . 5
⊢ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) → (𝜒 ↔ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑))) |
| 5 | | opex 5439 |
. . . . . . . 8
⊢
〈𝐶, 𝐷〉 ∈ V |
| 6 | 5 | a1i 11 |
. . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 〈𝐶, 𝐷〉 ∈ V) |
| 7 | | id 22 |
. . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → ∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) |
| 8 | | eqeq1 2739 |
. . . . . . . . . . 11
⊢ (𝑧 = 〈𝐶, 𝐷〉 → (𝑧 = 〈𝑥, 𝑦〉 ↔ 〈𝐶, 𝐷〉 = 〈𝑥, 𝑦〉)) |
| 9 | | eqcom 2742 |
. . . . . . . . . . . 12
⊢
(〈𝐶, 𝐷〉 = 〈𝑥, 𝑦〉 ↔ 〈𝑥, 𝑦〉 = 〈𝐶, 𝐷〉) |
| 10 | | vex 3463 |
. . . . . . . . . . . . 13
⊢ 𝑥 ∈ V |
| 11 | | vex 3463 |
. . . . . . . . . . . . 13
⊢ 𝑦 ∈ V |
| 12 | 10, 11 | opth 5451 |
. . . . . . . . . . . 12
⊢
(〈𝑥, 𝑦〉 = 〈𝐶, 𝐷〉 ↔ (𝑥 = 𝐶 ∧ 𝑦 = 𝐷)) |
| 13 | 9, 12 | bitri 275 |
. . . . . . . . . . 11
⊢
(〈𝐶, 𝐷〉 = 〈𝑥, 𝑦〉 ↔ (𝑥 = 𝐶 ∧ 𝑦 = 𝐷)) |
| 14 | 8, 13 | bitrdi 287 |
. . . . . . . . . 10
⊢ (𝑧 = 〈𝐶, 𝐷〉 → (𝑧 = 〈𝑥, 𝑦〉 ↔ (𝑥 = 𝐶 ∧ 𝑦 = 𝐷))) |
| 15 | 14 | anbi1d 631 |
. . . . . . . . 9
⊢ (𝑧 = 〈𝐶, 𝐷〉 → ((𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ↔ ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑))) |
| 16 | 15 | 2rexbidv 3206 |
. . . . . . . 8
⊢ (𝑧 = 〈𝐶, 𝐷〉 → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ↔ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑))) |
| 17 | 16 | adantl 481 |
. . . . . . 7
⊢
((∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ∧ 𝑧 = 〈𝐶, 𝐷〉) → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ↔ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑))) |
| 18 | | nfeu1 2587 |
. . . . . . 7
⊢
Ⅎ𝑧∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) |
| 19 | | nfvd 1915 |
. . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → Ⅎ𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑)) |
| 20 | | nfcvd 2899 |
. . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → Ⅎ𝑧〈𝐶, 𝐷〉) |
| 21 | 6, 7, 17, 18, 19, 20 | iota2df 6518 |
. . . . . 6
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑) ↔ (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) = 〈𝐶, 𝐷〉)) |
| 22 | | eqcom 2742 |
. . . . . . 7
⊢
(〈𝐶, 𝐷〉 = 𝐼 ↔ 𝐼 = 〈𝐶, 𝐷〉) |
| 23 | | opiota.1 |
. . . . . . . 8
⊢ 𝐼 = (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) |
| 24 | 23 | eqeq1i 2740 |
. . . . . . 7
⊢ (𝐼 = 〈𝐶, 𝐷〉 ↔ (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) = 〈𝐶, 𝐷〉) |
| 25 | 22, 24 | bitri 275 |
. . . . . 6
⊢
(〈𝐶, 𝐷〉 = 𝐼 ↔ (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) = 〈𝐶, 𝐷〉) |
| 26 | 21, 25 | bitr4di 289 |
. . . . 5
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑) ↔ 〈𝐶, 𝐷〉 = 𝐼)) |
| 27 | 4, 26 | sylan9bbr 510 |
. . . 4
⊢
((∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ∧ (𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵)) → (𝜒 ↔ 〈𝐶, 𝐷〉 = 𝐼)) |
| 28 | 27 | pm5.32da 579 |
. . 3
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ∧ 𝜒) ↔ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ∧ 〈𝐶, 𝐷〉 = 𝐼))) |
| 29 | | opelxpi 5691 |
. . . . . . . . . 10
⊢ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) → 〈𝑥, 𝑦〉 ∈ (𝐴 × 𝐵)) |
| 30 | | simpl 482 |
. . . . . . . . . . 11
⊢ ((𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝑧 = 〈𝑥, 𝑦〉) |
| 31 | 30 | eleq1d 2819 |
. . . . . . . . . 10
⊢ ((𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (𝑧 ∈ (𝐴 × 𝐵) ↔ 〈𝑥, 𝑦〉 ∈ (𝐴 × 𝐵))) |
| 32 | 29, 31 | syl5ibrcom 247 |
. . . . . . . . 9
⊢ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) → ((𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝑧 ∈ (𝐴 × 𝐵))) |
| 33 | 32 | rexlimivv 3186 |
. . . . . . . 8
⊢
(∃𝑥 ∈
𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝑧 ∈ (𝐴 × 𝐵)) |
| 34 | 33 | abssi 4045 |
. . . . . . 7
⊢ {𝑧 ∣ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)} ⊆ (𝐴 × 𝐵) |
| 35 | | iotacl 6517 |
. . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) ∈ {𝑧 ∣ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)}) |
| 36 | 34, 35 | sselid 3956 |
. . . . . 6
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) ∈ (𝐴 × 𝐵)) |
| 37 | 23, 36 | eqeltrid 2838 |
. . . . 5
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝐼 ∈ (𝐴 × 𝐵)) |
| 38 | | opelxp 5690 |
. . . . . 6
⊢
(〈𝐶, 𝐷〉 ∈ (𝐴 × 𝐵) ↔ (𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵)) |
| 39 | | eleq1 2822 |
. . . . . 6
⊢
(〈𝐶, 𝐷〉 = 𝐼 → (〈𝐶, 𝐷〉 ∈ (𝐴 × 𝐵) ↔ 𝐼 ∈ (𝐴 × 𝐵))) |
| 40 | 38, 39 | bitr3id 285 |
. . . . 5
⊢
(〈𝐶, 𝐷〉 = 𝐼 → ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ↔ 𝐼 ∈ (𝐴 × 𝐵))) |
| 41 | 37, 40 | syl5ibrcom 247 |
. . . 4
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (〈𝐶, 𝐷〉 = 𝐼 → (𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵))) |
| 42 | 41 | pm4.71rd 562 |
. . 3
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (〈𝐶, 𝐷〉 = 𝐼 ↔ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ∧ 〈𝐶, 𝐷〉 = 𝐼))) |
| 43 | | 1st2nd2 8027 |
. . . . 5
⊢ (𝐼 ∈ (𝐴 × 𝐵) → 𝐼 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉) |
| 44 | 37, 43 | syl 17 |
. . . 4
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝐼 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉) |
| 45 | 44 | eqeq2d 2746 |
. . 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 2748 |
. . . 4
⊢ (𝐶 = 𝑋 ↔ 𝐶 = (1st ‘𝐼)) |
| 50 | | opiota.3 |
. . . . 5
⊢ 𝑌 = (2nd ‘𝐼) |
| 51 | 50 | eqeq2i 2748 |
. . . 4
⊢ (𝐷 = 𝑌 ↔ 𝐷 = (2nd ‘𝐼)) |
| 52 | 49, 51 | anbi12i 628 |
. . 3
⊢ ((𝐶 = 𝑋 ∧ 𝐷 = 𝑌) ↔ (𝐶 = (1st ‘𝐼) ∧ 𝐷 = (2nd ‘𝐼))) |
| 53 | | fvex 6889 |
. . . 4
⊢
(1st ‘𝐼) ∈ V |
| 54 | | fvex 6889 |
. . . 4
⊢
(2nd ‘𝐼) ∈ V |
| 55 | 53, 54 | opth2 5455 |
. . 3
⊢
(〈𝐶, 𝐷〉 = 〈(1st
‘𝐼), (2nd
‘𝐼)〉 ↔
(𝐶 = (1st
‘𝐼) ∧ 𝐷 = (2nd ‘𝐼))) |
| 56 | 52, 55 | bitr4i 278 |
. 2
⊢ ((𝐶 = 𝑋 ∧ 𝐷 = 𝑌) ↔ 〈𝐶, 𝐷〉 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉) |
| 57 | 46, 47, 56 | 3bitr4g 314 |
1
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵 ∧ 𝜒) ↔ (𝐶 = 𝑋 ∧ 𝐷 = 𝑌))) |