| Step | Hyp | Ref
| Expression |
| 1 | | opabfi.a |
. . 3
⊢ (𝜑 → 𝐴 ∈ Fin) |
| 2 | | opabfi.b |
. . 3
⊢ (𝜑 → 𝐵 ∈ Fin) |
| 3 | | xpfi 6993 |
. . 3
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (𝐴 × 𝐵) ∈ Fin) |
| 4 | 1, 2, 3 | syl2anc 411 |
. 2
⊢ (𝜑 → (𝐴 × 𝐵) ∈ Fin) |
| 5 | | opabfi.s |
. . . 4
⊢ 𝑆 = {〈𝑥, 𝑦〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝜓)} |
| 6 | | opabssxp 4737 |
. . . 4
⊢
{〈𝑥, 𝑦〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝜓)} ⊆ (𝐴 × 𝐵) |
| 7 | 5, 6 | eqsstri 3215 |
. . 3
⊢ 𝑆 ⊆ (𝐴 × 𝐵) |
| 8 | 7 | a1i 9 |
. 2
⊢ (𝜑 → 𝑆 ⊆ (𝐴 × 𝐵)) |
| 9 | | xp2nd 6224 |
. . . . . 6
⊢ (𝑧 ∈ (𝐴 × 𝐵) → (2nd ‘𝑧) ∈ 𝐵) |
| 10 | 9 | adantl 277 |
. . . . 5
⊢ ((𝜑 ∧ 𝑧 ∈ (𝐴 × 𝐵)) → (2nd ‘𝑧) ∈ 𝐵) |
| 11 | | xp1st 6223 |
. . . . . . 7
⊢ (𝑧 ∈ (𝐴 × 𝐵) → (1st ‘𝑧) ∈ 𝐴) |
| 12 | 11 | adantl 277 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑧 ∈ (𝐴 × 𝐵)) → (1st ‘𝑧) ∈ 𝐴) |
| 13 | | opabfi.dc |
. . . . . . 7
⊢ (𝜑 → ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 DECID 𝜓) |
| 14 | 13 | adantr 276 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑧 ∈ (𝐴 × 𝐵)) → ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 DECID 𝜓) |
| 15 | | nfcv 2339 |
. . . . . . . 8
⊢
Ⅎ𝑥𝐵 |
| 16 | | nfsbc1v 3008 |
. . . . . . . . 9
⊢
Ⅎ𝑥[(1st ‘𝑧) / 𝑥]𝜓 |
| 17 | 16 | nfdc 1673 |
. . . . . . . 8
⊢
Ⅎ𝑥DECID [(1st
‘𝑧) / 𝑥]𝜓 |
| 18 | 15, 17 | nfralw 2534 |
. . . . . . 7
⊢
Ⅎ𝑥∀𝑦 ∈ 𝐵 DECID
[(1st ‘𝑧) / 𝑥]𝜓 |
| 19 | | sbceq1a 2999 |
. . . . . . . . 9
⊢ (𝑥 = (1st ‘𝑧) → (𝜓 ↔ [(1st ‘𝑧) / 𝑥]𝜓)) |
| 20 | 19 | dcbid 839 |
. . . . . . . 8
⊢ (𝑥 = (1st ‘𝑧) → (DECID
𝜓 ↔ DECID
[(1st ‘𝑧) / 𝑥]𝜓)) |
| 21 | 20 | ralbidv 2497 |
. . . . . . 7
⊢ (𝑥 = (1st ‘𝑧) → (∀𝑦 ∈ 𝐵 DECID 𝜓 ↔ ∀𝑦 ∈ 𝐵 DECID
[(1st ‘𝑧) / 𝑥]𝜓)) |
| 22 | 18, 21 | rspc 2862 |
. . . . . 6
⊢
((1st ‘𝑧) ∈ 𝐴 → (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 DECID 𝜓 → ∀𝑦 ∈ 𝐵 DECID
[(1st ‘𝑧) / 𝑥]𝜓)) |
| 23 | 12, 14, 22 | sylc 62 |
. . . . 5
⊢ ((𝜑 ∧ 𝑧 ∈ (𝐴 × 𝐵)) → ∀𝑦 ∈ 𝐵 DECID
[(1st ‘𝑧) / 𝑥]𝜓) |
| 24 | | nfsbc1v 3008 |
. . . . . . 7
⊢
Ⅎ𝑦[(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓 |
| 25 | 24 | nfdc 1673 |
. . . . . 6
⊢
Ⅎ𝑦DECID [(2nd
‘𝑧) / 𝑦][(1st
‘𝑧) / 𝑥]𝜓 |
| 26 | | sbceq1a 2999 |
. . . . . . 7
⊢ (𝑦 = (2nd ‘𝑧) →
([(1st ‘𝑧) / 𝑥]𝜓 ↔ [(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓)) |
| 27 | 26 | dcbid 839 |
. . . . . 6
⊢ (𝑦 = (2nd ‘𝑧) → (DECID
[(1st ‘𝑧) / 𝑥]𝜓 ↔ DECID
[(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓)) |
| 28 | 25, 27 | rspc 2862 |
. . . . 5
⊢
((2nd ‘𝑧) ∈ 𝐵 → (∀𝑦 ∈ 𝐵 DECID
[(1st ‘𝑧) / 𝑥]𝜓 → DECID
[(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓)) |
| 29 | 10, 23, 28 | sylc 62 |
. . . 4
⊢ ((𝜑 ∧ 𝑧 ∈ (𝐴 × 𝐵)) → DECID
[(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓) |
| 30 | | nfv 1542 |
. . . . . . . . . 10
⊢
Ⅎ𝑥((1st ‘𝑧) ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) |
| 31 | 30, 16 | nfan 1579 |
. . . . . . . . 9
⊢
Ⅎ𝑥(((1st ‘𝑧) ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ [(1st ‘𝑧) / 𝑥]𝜓) |
| 32 | | nfv 1542 |
. . . . . . . . . 10
⊢
Ⅎ𝑦((1st ‘𝑧) ∈ 𝐴 ∧ (2nd ‘𝑧) ∈ 𝐵) |
| 33 | 32, 24 | nfan 1579 |
. . . . . . . . 9
⊢
Ⅎ𝑦(((1st ‘𝑧) ∈ 𝐴 ∧ (2nd ‘𝑧) ∈ 𝐵) ∧ [(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓) |
| 34 | | eleq1 2259 |
. . . . . . . . . . 11
⊢ (𝑥 = (1st ‘𝑧) → (𝑥 ∈ 𝐴 ↔ (1st ‘𝑧) ∈ 𝐴)) |
| 35 | 34 | anbi1d 465 |
. . . . . . . . . 10
⊢ (𝑥 = (1st ‘𝑧) → ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ↔ ((1st ‘𝑧) ∈ 𝐴 ∧ 𝑦 ∈ 𝐵))) |
| 36 | 35, 19 | anbi12d 473 |
. . . . . . . . 9
⊢ (𝑥 = (1st ‘𝑧) → (((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝜓) ↔ (((1st ‘𝑧) ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ [(1st ‘𝑧) / 𝑥]𝜓))) |
| 37 | | eleq1 2259 |
. . . . . . . . . . 11
⊢ (𝑦 = (2nd ‘𝑧) → (𝑦 ∈ 𝐵 ↔ (2nd ‘𝑧) ∈ 𝐵)) |
| 38 | 37 | anbi2d 464 |
. . . . . . . . . 10
⊢ (𝑦 = (2nd ‘𝑧) → (((1st
‘𝑧) ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ↔ ((1st ‘𝑧) ∈ 𝐴 ∧ (2nd ‘𝑧) ∈ 𝐵))) |
| 39 | 38, 26 | anbi12d 473 |
. . . . . . . . 9
⊢ (𝑦 = (2nd ‘𝑧) → ((((1st
‘𝑧) ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ [(1st ‘𝑧) / 𝑥]𝜓) ↔ (((1st ‘𝑧) ∈ 𝐴 ∧ (2nd ‘𝑧) ∈ 𝐵) ∧ [(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓))) |
| 40 | 31, 33, 36, 39 | opelopabgf 4304 |
. . . . . . . 8
⊢
(((1st ‘𝑧) ∈ 𝐴 ∧ (2nd ‘𝑧) ∈ 𝐵) → (〈(1st ‘𝑧), (2nd ‘𝑧)〉 ∈ {〈𝑥, 𝑦〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝜓)} ↔ (((1st ‘𝑧) ∈ 𝐴 ∧ (2nd ‘𝑧) ∈ 𝐵) ∧ [(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓))) |
| 41 | 11, 9, 40 | syl2anc 411 |
. . . . . . 7
⊢ (𝑧 ∈ (𝐴 × 𝐵) → (〈(1st ‘𝑧), (2nd ‘𝑧)〉 ∈ {〈𝑥, 𝑦〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝜓)} ↔ (((1st ‘𝑧) ∈ 𝐴 ∧ (2nd ‘𝑧) ∈ 𝐵) ∧ [(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓))) |
| 42 | | 1st2nd2 6233 |
. . . . . . . 8
⊢ (𝑧 ∈ (𝐴 × 𝐵) → 𝑧 = 〈(1st ‘𝑧), (2nd ‘𝑧)〉) |
| 43 | 5 | a1i 9 |
. . . . . . . 8
⊢ (𝑧 ∈ (𝐴 × 𝐵) → 𝑆 = {〈𝑥, 𝑦〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝜓)}) |
| 44 | 42, 43 | eleq12d 2267 |
. . . . . . 7
⊢ (𝑧 ∈ (𝐴 × 𝐵) → (𝑧 ∈ 𝑆 ↔ 〈(1st ‘𝑧), (2nd ‘𝑧)〉 ∈ {〈𝑥, 𝑦〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝜓)})) |
| 45 | | ibar 301 |
. . . . . . . 8
⊢
(((1st ‘𝑧) ∈ 𝐴 ∧ (2nd ‘𝑧) ∈ 𝐵) → ([(2nd
‘𝑧) / 𝑦][(1st
‘𝑧) / 𝑥]𝜓 ↔ (((1st ‘𝑧) ∈ 𝐴 ∧ (2nd ‘𝑧) ∈ 𝐵) ∧ [(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓))) |
| 46 | 11, 9, 45 | syl2anc 411 |
. . . . . . 7
⊢ (𝑧 ∈ (𝐴 × 𝐵) → ([(2nd
‘𝑧) / 𝑦][(1st
‘𝑧) / 𝑥]𝜓 ↔ (((1st ‘𝑧) ∈ 𝐴 ∧ (2nd ‘𝑧) ∈ 𝐵) ∧ [(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓))) |
| 47 | 41, 44, 46 | 3bitr4d 220 |
. . . . . 6
⊢ (𝑧 ∈ (𝐴 × 𝐵) → (𝑧 ∈ 𝑆 ↔ [(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓)) |
| 48 | 47 | dcbid 839 |
. . . . 5
⊢ (𝑧 ∈ (𝐴 × 𝐵) → (DECID 𝑧 ∈ 𝑆 ↔ DECID
[(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓)) |
| 49 | 48 | adantl 277 |
. . . 4
⊢ ((𝜑 ∧ 𝑧 ∈ (𝐴 × 𝐵)) → (DECID 𝑧 ∈ 𝑆 ↔ DECID
[(2nd ‘𝑧) / 𝑦][(1st ‘𝑧) / 𝑥]𝜓)) |
| 50 | 29, 49 | mpbird 167 |
. . 3
⊢ ((𝜑 ∧ 𝑧 ∈ (𝐴 × 𝐵)) → DECID 𝑧 ∈ 𝑆) |
| 51 | 50 | ralrimiva 2570 |
. 2
⊢ (𝜑 → ∀𝑧 ∈ (𝐴 × 𝐵)DECID 𝑧 ∈ 𝑆) |
| 52 | | ssfidc 6998 |
. 2
⊢ (((𝐴 × 𝐵) ∈ Fin ∧ 𝑆 ⊆ (𝐴 × 𝐵) ∧ ∀𝑧 ∈ (𝐴 × 𝐵)DECID 𝑧 ∈ 𝑆) → 𝑆 ∈ Fin) |
| 53 | 4, 8, 51, 52 | syl3anc 1249 |
1
⊢ (𝜑 → 𝑆 ∈ Fin) |