Step | Hyp | Ref
| Expression |
1 | | dffo2 6357 |
. 2
⊢ (𝐹:𝐴–onto→𝐵 ↔ (𝐹:𝐴⟶𝐵 ∧ ran 𝐹 = 𝐵)) |
2 | | ffn 6278 |
. . . . 5
⊢ (𝐹:𝐴⟶𝐵 → 𝐹 Fn 𝐴) |
3 | | fnrnfv 6489 |
. . . . . . 7
⊢ (𝐹 Fn 𝐴 → ran 𝐹 = {𝑦 ∣ ∃𝑤 ∈ 𝐴 𝑦 = (𝐹‘𝑤)}) |
4 | | nfcv 2969 |
. . . . . . . . . . 11
⊢
Ⅎ𝑥𝑦 |
5 | | dffo3f.1 |
. . . . . . . . . . . 12
⊢
Ⅎ𝑥𝐹 |
6 | | nfcv 2969 |
. . . . . . . . . . . 12
⊢
Ⅎ𝑥𝑤 |
7 | 5, 6 | nffv 6443 |
. . . . . . . . . . 11
⊢
Ⅎ𝑥(𝐹‘𝑤) |
8 | 4, 7 | nfeq 2981 |
. . . . . . . . . 10
⊢
Ⅎ𝑥 𝑦 = (𝐹‘𝑤) |
9 | | nfv 2015 |
. . . . . . . . . 10
⊢
Ⅎ𝑤 𝑦 = (𝐹‘𝑥) |
10 | | fveq2 6433 |
. . . . . . . . . . 11
⊢ (𝑤 = 𝑥 → (𝐹‘𝑤) = (𝐹‘𝑥)) |
11 | 10 | eqeq2d 2835 |
. . . . . . . . . 10
⊢ (𝑤 = 𝑥 → (𝑦 = (𝐹‘𝑤) ↔ 𝑦 = (𝐹‘𝑥))) |
12 | 8, 9, 11 | cbvrex 3380 |
. . . . . . . . 9
⊢
(∃𝑤 ∈
𝐴 𝑦 = (𝐹‘𝑤) ↔ ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥)) |
13 | 12 | abbii 2944 |
. . . . . . . 8
⊢ {𝑦 ∣ ∃𝑤 ∈ 𝐴 𝑦 = (𝐹‘𝑤)} = {𝑦 ∣ ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥)} |
14 | 13 | a1i 11 |
. . . . . . 7
⊢ (𝐹 Fn 𝐴 → {𝑦 ∣ ∃𝑤 ∈ 𝐴 𝑦 = (𝐹‘𝑤)} = {𝑦 ∣ ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥)}) |
15 | 3, 14 | eqtrd 2861 |
. . . . . 6
⊢ (𝐹 Fn 𝐴 → ran 𝐹 = {𝑦 ∣ ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥)}) |
16 | 15 | eqeq1d 2827 |
. . . . 5
⊢ (𝐹 Fn 𝐴 → (ran 𝐹 = 𝐵 ↔ {𝑦 ∣ ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥)} = 𝐵)) |
17 | 2, 16 | syl 17 |
. . . 4
⊢ (𝐹:𝐴⟶𝐵 → (ran 𝐹 = 𝐵 ↔ {𝑦 ∣ ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥)} = 𝐵)) |
18 | | nfcv 2969 |
. . . . . . . . . 10
⊢
Ⅎ𝑥𝐴 |
19 | | nfcv 2969 |
. . . . . . . . . 10
⊢
Ⅎ𝑥𝐵 |
20 | 5, 18, 19 | nff 6274 |
. . . . . . . . 9
⊢
Ⅎ𝑥 𝐹:𝐴⟶𝐵 |
21 | | nfv 2015 |
. . . . . . . . 9
⊢
Ⅎ𝑥 𝑦 ∈ 𝐵 |
22 | | simpr 479 |
. . . . . . . . . . 11
⊢ (((𝐹:𝐴⟶𝐵 ∧ 𝑥 ∈ 𝐴) ∧ 𝑦 = (𝐹‘𝑥)) → 𝑦 = (𝐹‘𝑥)) |
23 | | ffvelrn 6606 |
. . . . . . . . . . . 12
⊢ ((𝐹:𝐴⟶𝐵 ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥) ∈ 𝐵) |
24 | 23 | adantr 474 |
. . . . . . . . . . 11
⊢ (((𝐹:𝐴⟶𝐵 ∧ 𝑥 ∈ 𝐴) ∧ 𝑦 = (𝐹‘𝑥)) → (𝐹‘𝑥) ∈ 𝐵) |
25 | 22, 24 | eqeltrd 2906 |
. . . . . . . . . 10
⊢ (((𝐹:𝐴⟶𝐵 ∧ 𝑥 ∈ 𝐴) ∧ 𝑦 = (𝐹‘𝑥)) → 𝑦 ∈ 𝐵) |
26 | 25 | exp31 412 |
. . . . . . . . 9
⊢ (𝐹:𝐴⟶𝐵 → (𝑥 ∈ 𝐴 → (𝑦 = (𝐹‘𝑥) → 𝑦 ∈ 𝐵))) |
27 | 20, 21, 26 | rexlimd 3235 |
. . . . . . . 8
⊢ (𝐹:𝐴⟶𝐵 → (∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥) → 𝑦 ∈ 𝐵)) |
28 | 27 | biantrurd 530 |
. . . . . . 7
⊢ (𝐹:𝐴⟶𝐵 → ((𝑦 ∈ 𝐵 → ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥)) ↔ ((∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥) → 𝑦 ∈ 𝐵) ∧ (𝑦 ∈ 𝐵 → ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥))))) |
29 | | dfbi2 468 |
. . . . . . 7
⊢
((∃𝑥 ∈
𝐴 𝑦 = (𝐹‘𝑥) ↔ 𝑦 ∈ 𝐵) ↔ ((∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥) → 𝑦 ∈ 𝐵) ∧ (𝑦 ∈ 𝐵 → ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥)))) |
30 | 28, 29 | syl6rbbr 282 |
. . . . . 6
⊢ (𝐹:𝐴⟶𝐵 → ((∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥) ↔ 𝑦 ∈ 𝐵) ↔ (𝑦 ∈ 𝐵 → ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥)))) |
31 | 30 | albidv 2021 |
. . . . 5
⊢ (𝐹:𝐴⟶𝐵 → (∀𝑦(∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥) ↔ 𝑦 ∈ 𝐵) ↔ ∀𝑦(𝑦 ∈ 𝐵 → ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥)))) |
32 | | abeq1 2938 |
. . . . 5
⊢ ({𝑦 ∣ ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥)} = 𝐵 ↔ ∀𝑦(∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥) ↔ 𝑦 ∈ 𝐵)) |
33 | | df-ral 3122 |
. . . . 5
⊢
(∀𝑦 ∈
𝐵 ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥) ↔ ∀𝑦(𝑦 ∈ 𝐵 → ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥))) |
34 | 31, 32, 33 | 3bitr4g 306 |
. . . 4
⊢ (𝐹:𝐴⟶𝐵 → ({𝑦 ∣ ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥)} = 𝐵 ↔ ∀𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥))) |
35 | 17, 34 | bitrd 271 |
. . 3
⊢ (𝐹:𝐴⟶𝐵 → (ran 𝐹 = 𝐵 ↔ ∀𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥))) |
36 | 35 | pm5.32i 572 |
. 2
⊢ ((𝐹:𝐴⟶𝐵 ∧ ran 𝐹 = 𝐵) ↔ (𝐹:𝐴⟶𝐵 ∧ ∀𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥))) |
37 | 1, 36 | bitri 267 |
1
⊢ (𝐹:𝐴–onto→𝐵 ↔ (𝐹:𝐴⟶𝐵 ∧ ∀𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝑦 = (𝐹‘𝑥))) |