Proof of Theorem opiota
| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | opiota.4 | . . . . . . 7
⊢ (𝑥 = 𝐶 → (𝜑 ↔ 𝜓)) | 
| 2 |  | opiota.5 | . . . . . . 7
⊢ (𝑦 = 𝐷 → (𝜓 ↔ 𝜒)) | 
| 3 | 1, 2 | ceqsrex2v 3658 | . . . . . 6
⊢ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑) ↔ 𝜒)) | 
| 4 | 3 | bicomd 223 | . . . . 5
⊢ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) → (𝜒 ↔ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑))) | 
| 5 |  | opex 5469 | . . . . . . . 8
⊢
〈𝐶, 𝐷〉 ∈ V | 
| 6 | 5 | a1i 11 | . . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 〈𝐶, 𝐷〉 ∈ V) | 
| 7 |  | id 22 | . . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → ∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) | 
| 8 |  | eqeq1 2741 | . . . . . . . . . . 11
⊢ (𝑧 = 〈𝐶, 𝐷〉 → (𝑧 = 〈𝑥, 𝑦〉 ↔ 〈𝐶, 𝐷〉 = 〈𝑥, 𝑦〉)) | 
| 9 |  | eqcom 2744 | . . . . . . . . . . . 12
⊢
(〈𝐶, 𝐷〉 = 〈𝑥, 𝑦〉 ↔ 〈𝑥, 𝑦〉 = 〈𝐶, 𝐷〉) | 
| 10 |  | vex 3484 | . . . . . . . . . . . . 13
⊢ 𝑥 ∈ V | 
| 11 |  | vex 3484 | . . . . . . . . . . . . 13
⊢ 𝑦 ∈ V | 
| 12 | 10, 11 | opth 5481 | . . . . . . . . . . . 12
⊢
(〈𝑥, 𝑦〉 = 〈𝐶, 𝐷〉 ↔ (𝑥 = 𝐶 ∧ 𝑦 = 𝐷)) | 
| 13 | 9, 12 | bitri 275 | . . . . . . . . . . 11
⊢
(〈𝐶, 𝐷〉 = 〈𝑥, 𝑦〉 ↔ (𝑥 = 𝐶 ∧ 𝑦 = 𝐷)) | 
| 14 | 8, 13 | bitrdi 287 | . . . . . . . . . 10
⊢ (𝑧 = 〈𝐶, 𝐷〉 → (𝑧 = 〈𝑥, 𝑦〉 ↔ (𝑥 = 𝐶 ∧ 𝑦 = 𝐷))) | 
| 15 | 14 | anbi1d 631 | . . . . . . . . 9
⊢ (𝑧 = 〈𝐶, 𝐷〉 → ((𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ↔ ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑))) | 
| 16 | 15 | 2rexbidv 3222 | . . . . . . . 8
⊢ (𝑧 = 〈𝐶, 𝐷〉 → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ↔ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑))) | 
| 17 | 16 | adantl 481 | . . . . . . 7
⊢
((∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ∧ 𝑧 = 〈𝐶, 𝐷〉) → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) ↔ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑))) | 
| 18 |  | nfeu1 2588 | . . . . . . 7
⊢
Ⅎ𝑧∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) | 
| 19 |  | nfvd 1915 | . . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → Ⅎ𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑)) | 
| 20 |  | nfcvd 2906 | . . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → Ⅎ𝑧〈𝐶, 𝐷〉) | 
| 21 | 6, 7, 17, 18, 19, 20 | iota2df 6548 | . . . . . 6
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 ((𝑥 = 𝐶 ∧ 𝑦 = 𝐷) ∧ 𝜑) ↔ (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) = 〈𝐶, 𝐷〉)) | 
| 22 |  | eqcom 2744 | . . . . . . 7
⊢
(〈𝐶, 𝐷〉 = 𝐼 ↔ 𝐼 = 〈𝐶, 𝐷〉) | 
| 23 |  | opiota.1 | . . . . . . . 8
⊢ 𝐼 = (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) | 
| 24 | 23 | eqeq1i 2742 | . . . . . . 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 5722 | . . . . . . . . . 10
⊢ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) → 〈𝑥, 𝑦〉 ∈ (𝐴 × 𝐵)) | 
| 30 |  | simpl 482 | . . . . . . . . . . 11
⊢ ((𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝑧 = 〈𝑥, 𝑦〉) | 
| 31 | 30 | eleq1d 2826 | . . . . . . . . . 10
⊢ ((𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (𝑧 ∈ (𝐴 × 𝐵) ↔ 〈𝑥, 𝑦〉 ∈ (𝐴 × 𝐵))) | 
| 32 | 29, 31 | syl5ibrcom 247 | . . . . . . . . 9
⊢ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) → ((𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝑧 ∈ (𝐴 × 𝐵))) | 
| 33 | 32 | rexlimivv 3201 | . . . . . . . 8
⊢
(∃𝑥 ∈
𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝑧 ∈ (𝐴 × 𝐵)) | 
| 34 | 33 | abssi 4070 | . . . . . . 7
⊢ {𝑧 ∣ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)} ⊆ (𝐴 × 𝐵) | 
| 35 |  | iotacl 6547 | . . . . . . 7
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) ∈ {𝑧 ∣ ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)}) | 
| 36 | 34, 35 | sselid 3981 | . . . . . 6
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (℩𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑)) ∈ (𝐴 × 𝐵)) | 
| 37 | 23, 36 | eqeltrid 2845 | . . . . 5
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝐼 ∈ (𝐴 × 𝐵)) | 
| 38 |  | opelxp 5721 | . . . . . 6
⊢
(〈𝐶, 𝐷〉 ∈ (𝐴 × 𝐵) ↔ (𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵)) | 
| 39 |  | eleq1 2829 | . . . . . 6
⊢
(〈𝐶, 𝐷〉 = 𝐼 → (〈𝐶, 𝐷〉 ∈ (𝐴 × 𝐵) ↔ 𝐼 ∈ (𝐴 × 𝐵))) | 
| 40 | 38, 39 | bitr3id 285 | . . . . 5
⊢
(〈𝐶, 𝐷〉 = 𝐼 → ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ↔ 𝐼 ∈ (𝐴 × 𝐵))) | 
| 41 | 37, 40 | syl5ibrcom 247 | . . . 4
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (〈𝐶, 𝐷〉 = 𝐼 → (𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵))) | 
| 42 | 41 | pm4.71rd 562 | . . 3
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (〈𝐶, 𝐷〉 = 𝐼 ↔ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ∧ 〈𝐶, 𝐷〉 = 𝐼))) | 
| 43 |  | 1st2nd2 8053 | . . . . 5
⊢ (𝐼 ∈ (𝐴 × 𝐵) → 𝐼 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉) | 
| 44 | 37, 43 | syl 17 | . . . 4
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → 𝐼 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉) | 
| 45 | 44 | eqeq2d 2748 | . . 3
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (〈𝐶, 𝐷〉 = 𝐼 ↔ 〈𝐶, 𝐷〉 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉)) | 
| 46 | 28, 42, 45 | 3bitr2d 307 | . 2
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → (((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ∧ 𝜒) ↔ 〈𝐶, 𝐷〉 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉)) | 
| 47 |  | df-3an 1089 | . 2
⊢ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵 ∧ 𝜒) ↔ ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵) ∧ 𝜒)) | 
| 48 |  | opiota.2 | . . . . 5
⊢ 𝑋 = (1st ‘𝐼) | 
| 49 | 48 | eqeq2i 2750 | . . . 4
⊢ (𝐶 = 𝑋 ↔ 𝐶 = (1st ‘𝐼)) | 
| 50 |  | opiota.3 | . . . . 5
⊢ 𝑌 = (2nd ‘𝐼) | 
| 51 | 50 | eqeq2i 2750 | . . . 4
⊢ (𝐷 = 𝑌 ↔ 𝐷 = (2nd ‘𝐼)) | 
| 52 | 49, 51 | anbi12i 628 | . . 3
⊢ ((𝐶 = 𝑋 ∧ 𝐷 = 𝑌) ↔ (𝐶 = (1st ‘𝐼) ∧ 𝐷 = (2nd ‘𝐼))) | 
| 53 |  | fvex 6919 | . . . 4
⊢
(1st ‘𝐼) ∈ V | 
| 54 |  | fvex 6919 | . . . 4
⊢
(2nd ‘𝐼) ∈ V | 
| 55 | 53, 54 | opth2 5485 | . . 3
⊢
(〈𝐶, 𝐷〉 = 〈(1st
‘𝐼), (2nd
‘𝐼)〉 ↔
(𝐶 = (1st
‘𝐼) ∧ 𝐷 = (2nd ‘𝐼))) | 
| 56 | 52, 55 | bitr4i 278 | . 2
⊢ ((𝐶 = 𝑋 ∧ 𝐷 = 𝑌) ↔ 〈𝐶, 𝐷〉 = 〈(1st ‘𝐼), (2nd ‘𝐼)〉) | 
| 57 | 46, 47, 56 | 3bitr4g 314 | 1
⊢
(∃!𝑧∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝑧 = 〈𝑥, 𝑦〉 ∧ 𝜑) → ((𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵 ∧ 𝜒) ↔ (𝐶 = 𝑋 ∧ 𝐷 = 𝑌))) |