Step | Hyp | Ref
| Expression |
1 | | enumctlemm.f |
. . . . . . 7
⊢ (𝜑 → 𝐹:𝑁–onto→𝐴) |
2 | | fof 5420 |
. . . . . . 7
⊢ (𝐹:𝑁–onto→𝐴 → 𝐹:𝑁⟶𝐴) |
3 | 1, 2 | syl 14 |
. . . . . 6
⊢ (𝜑 → 𝐹:𝑁⟶𝐴) |
4 | 3 | ffvelrnda 5631 |
. . . . 5
⊢ ((𝜑 ∧ 𝑘 ∈ 𝑁) → (𝐹‘𝑘) ∈ 𝐴) |
5 | 4 | adantlr 474 |
. . . 4
⊢ (((𝜑 ∧ 𝑘 ∈ ω) ∧ 𝑘 ∈ 𝑁) → (𝐹‘𝑘) ∈ 𝐴) |
6 | | enumctlemm.n0 |
. . . . . 6
⊢ (𝜑 → ∅ ∈ 𝑁) |
7 | 3, 6 | ffvelrnd 5632 |
. . . . 5
⊢ (𝜑 → (𝐹‘∅) ∈ 𝐴) |
8 | 7 | ad2antrr 485 |
. . . 4
⊢ (((𝜑 ∧ 𝑘 ∈ ω) ∧ ¬ 𝑘 ∈ 𝑁) → (𝐹‘∅) ∈ 𝐴) |
9 | | simpr 109 |
. . . . 5
⊢ ((𝜑 ∧ 𝑘 ∈ ω) → 𝑘 ∈ ω) |
10 | | enumctlemm.n |
. . . . . 6
⊢ (𝜑 → 𝑁 ∈ ω) |
11 | 10 | adantr 274 |
. . . . 5
⊢ ((𝜑 ∧ 𝑘 ∈ ω) → 𝑁 ∈ ω) |
12 | | nndcel 6479 |
. . . . 5
⊢ ((𝑘 ∈ ω ∧ 𝑁 ∈ ω) →
DECID 𝑘
∈ 𝑁) |
13 | 9, 11, 12 | syl2anc 409 |
. . . 4
⊢ ((𝜑 ∧ 𝑘 ∈ ω) → DECID
𝑘 ∈ 𝑁) |
14 | 5, 8, 13 | ifcldadc 3555 |
. . 3
⊢ ((𝜑 ∧ 𝑘 ∈ ω) → if(𝑘 ∈ 𝑁, (𝐹‘𝑘), (𝐹‘∅)) ∈ 𝐴) |
15 | | enumctlemm.g |
. . 3
⊢ 𝐺 = (𝑘 ∈ ω ↦ if(𝑘 ∈ 𝑁, (𝐹‘𝑘), (𝐹‘∅))) |
16 | 14, 15 | fmptd 5650 |
. 2
⊢ (𝜑 → 𝐺:ω⟶𝐴) |
17 | | foelrn 5732 |
. . . . . 6
⊢ ((𝐹:𝑁–onto→𝐴 ∧ 𝑦 ∈ 𝐴) → ∃𝑥 ∈ 𝑁 𝑦 = (𝐹‘𝑥)) |
18 | 1, 17 | sylan 281 |
. . . . 5
⊢ ((𝜑 ∧ 𝑦 ∈ 𝐴) → ∃𝑥 ∈ 𝑁 𝑦 = (𝐹‘𝑥)) |
19 | | eleq1w 2231 |
. . . . . . . . . . 11
⊢ (𝑘 = 𝑥 → (𝑘 ∈ 𝑁 ↔ 𝑥 ∈ 𝑁)) |
20 | | fveq2 5496 |
. . . . . . . . . . 11
⊢ (𝑘 = 𝑥 → (𝐹‘𝑘) = (𝐹‘𝑥)) |
21 | 19, 20 | ifbieq1d 3548 |
. . . . . . . . . 10
⊢ (𝑘 = 𝑥 → if(𝑘 ∈ 𝑁, (𝐹‘𝑘), (𝐹‘∅)) = if(𝑥 ∈ 𝑁, (𝐹‘𝑥), (𝐹‘∅))) |
22 | | simpr 109 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑁) → 𝑥 ∈ 𝑁) |
23 | 10 | adantr 274 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑁) → 𝑁 ∈ ω) |
24 | | elnn 4590 |
. . . . . . . . . . 11
⊢ ((𝑥 ∈ 𝑁 ∧ 𝑁 ∈ ω) → 𝑥 ∈ ω) |
25 | 22, 23, 24 | syl2anc 409 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑁) → 𝑥 ∈ ω) |
26 | 22 | iftrued 3533 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑁) → if(𝑥 ∈ 𝑁, (𝐹‘𝑥), (𝐹‘∅)) = (𝐹‘𝑥)) |
27 | 3 | ffvelrnda 5631 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑁) → (𝐹‘𝑥) ∈ 𝐴) |
28 | 26, 27 | eqeltrd 2247 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑁) → if(𝑥 ∈ 𝑁, (𝐹‘𝑥), (𝐹‘∅)) ∈ 𝐴) |
29 | 15, 21, 25, 28 | fvmptd3 5589 |
. . . . . . . . 9
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑁) → (𝐺‘𝑥) = if(𝑥 ∈ 𝑁, (𝐹‘𝑥), (𝐹‘∅))) |
30 | 29, 26 | eqtrd 2203 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑁) → (𝐺‘𝑥) = (𝐹‘𝑥)) |
31 | 30 | eqeq2d 2182 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑁) → (𝑦 = (𝐺‘𝑥) ↔ 𝑦 = (𝐹‘𝑥))) |
32 | 31 | rexbidva 2467 |
. . . . . 6
⊢ (𝜑 → (∃𝑥 ∈ 𝑁 𝑦 = (𝐺‘𝑥) ↔ ∃𝑥 ∈ 𝑁 𝑦 = (𝐹‘𝑥))) |
33 | 32 | adantr 274 |
. . . . 5
⊢ ((𝜑 ∧ 𝑦 ∈ 𝐴) → (∃𝑥 ∈ 𝑁 𝑦 = (𝐺‘𝑥) ↔ ∃𝑥 ∈ 𝑁 𝑦 = (𝐹‘𝑥))) |
34 | 18, 33 | mpbird 166 |
. . . 4
⊢ ((𝜑 ∧ 𝑦 ∈ 𝐴) → ∃𝑥 ∈ 𝑁 𝑦 = (𝐺‘𝑥)) |
35 | | omelon 4593 |
. . . . . . 7
⊢ ω
∈ On |
36 | 35 | onelssi 4414 |
. . . . . 6
⊢ (𝑁 ∈ ω → 𝑁 ⊆
ω) |
37 | | ssrexv 3212 |
. . . . . 6
⊢ (𝑁 ⊆ ω →
(∃𝑥 ∈ 𝑁 𝑦 = (𝐺‘𝑥) → ∃𝑥 ∈ ω 𝑦 = (𝐺‘𝑥))) |
38 | 10, 36, 37 | 3syl 17 |
. . . . 5
⊢ (𝜑 → (∃𝑥 ∈ 𝑁 𝑦 = (𝐺‘𝑥) → ∃𝑥 ∈ ω 𝑦 = (𝐺‘𝑥))) |
39 | 38 | adantr 274 |
. . . 4
⊢ ((𝜑 ∧ 𝑦 ∈ 𝐴) → (∃𝑥 ∈ 𝑁 𝑦 = (𝐺‘𝑥) → ∃𝑥 ∈ ω 𝑦 = (𝐺‘𝑥))) |
40 | 34, 39 | mpd 13 |
. . 3
⊢ ((𝜑 ∧ 𝑦 ∈ 𝐴) → ∃𝑥 ∈ ω 𝑦 = (𝐺‘𝑥)) |
41 | 40 | ralrimiva 2543 |
. 2
⊢ (𝜑 → ∀𝑦 ∈ 𝐴 ∃𝑥 ∈ ω 𝑦 = (𝐺‘𝑥)) |
42 | | dffo3 5643 |
. 2
⊢ (𝐺:ω–onto→𝐴 ↔ (𝐺:ω⟶𝐴 ∧ ∀𝑦 ∈ 𝐴 ∃𝑥 ∈ ω 𝑦 = (𝐺‘𝑥))) |
43 | 16, 41, 42 | sylanbrc 415 |
1
⊢ (𝜑 → 𝐺:ω–onto→𝐴) |