Step |
Hyp |
Ref |
Expression |
1 |
|
ffrn |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → 𝐹 : 𝐴 ⟶ ran 𝐹 ) |
2 |
|
f2ndf |
⊢ ( 𝐹 : 𝐴 ⟶ ran 𝐹 → ( 2nd ↾ 𝐹 ) : 𝐹 ⟶ ran 𝐹 ) |
3 |
1 2
|
syl |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → ( 2nd ↾ 𝐹 ) : 𝐹 ⟶ ran 𝐹 ) |
4 |
|
ffn |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → 𝐹 Fn 𝐴 ) |
5 |
|
dffn3 |
⊢ ( 𝐹 Fn 𝐴 ↔ 𝐹 : 𝐴 ⟶ ran 𝐹 ) |
6 |
5 2
|
sylbi |
⊢ ( 𝐹 Fn 𝐴 → ( 2nd ↾ 𝐹 ) : 𝐹 ⟶ ran 𝐹 ) |
7 |
4 6
|
syl |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → ( 2nd ↾ 𝐹 ) : 𝐹 ⟶ ran 𝐹 ) |
8 |
7
|
frnd |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → ran ( 2nd ↾ 𝐹 ) ⊆ ran 𝐹 ) |
9 |
|
elrn2g |
⊢ ( 𝑦 ∈ ran 𝐹 → ( 𝑦 ∈ ran 𝐹 ↔ ∃ 𝑥 〈 𝑥 , 𝑦 〉 ∈ 𝐹 ) ) |
10 |
9
|
ibi |
⊢ ( 𝑦 ∈ ran 𝐹 → ∃ 𝑥 〈 𝑥 , 𝑦 〉 ∈ 𝐹 ) |
11 |
|
fvres |
⊢ ( 〈 𝑥 , 𝑦 〉 ∈ 𝐹 → ( ( 2nd ↾ 𝐹 ) ‘ 〈 𝑥 , 𝑦 〉 ) = ( 2nd ‘ 〈 𝑥 , 𝑦 〉 ) ) |
12 |
11
|
adantl |
⊢ ( ( 𝐹 : 𝐴 ⟶ 𝐵 ∧ 〈 𝑥 , 𝑦 〉 ∈ 𝐹 ) → ( ( 2nd ↾ 𝐹 ) ‘ 〈 𝑥 , 𝑦 〉 ) = ( 2nd ‘ 〈 𝑥 , 𝑦 〉 ) ) |
13 |
|
vex |
⊢ 𝑥 ∈ V |
14 |
|
vex |
⊢ 𝑦 ∈ V |
15 |
13 14
|
op2nd |
⊢ ( 2nd ‘ 〈 𝑥 , 𝑦 〉 ) = 𝑦 |
16 |
12 15
|
eqtr2di |
⊢ ( ( 𝐹 : 𝐴 ⟶ 𝐵 ∧ 〈 𝑥 , 𝑦 〉 ∈ 𝐹 ) → 𝑦 = ( ( 2nd ↾ 𝐹 ) ‘ 〈 𝑥 , 𝑦 〉 ) ) |
17 |
|
f2ndf |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → ( 2nd ↾ 𝐹 ) : 𝐹 ⟶ 𝐵 ) |
18 |
17
|
ffnd |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → ( 2nd ↾ 𝐹 ) Fn 𝐹 ) |
19 |
|
fnfvelrn |
⊢ ( ( ( 2nd ↾ 𝐹 ) Fn 𝐹 ∧ 〈 𝑥 , 𝑦 〉 ∈ 𝐹 ) → ( ( 2nd ↾ 𝐹 ) ‘ 〈 𝑥 , 𝑦 〉 ) ∈ ran ( 2nd ↾ 𝐹 ) ) |
20 |
18 19
|
sylan |
⊢ ( ( 𝐹 : 𝐴 ⟶ 𝐵 ∧ 〈 𝑥 , 𝑦 〉 ∈ 𝐹 ) → ( ( 2nd ↾ 𝐹 ) ‘ 〈 𝑥 , 𝑦 〉 ) ∈ ran ( 2nd ↾ 𝐹 ) ) |
21 |
16 20
|
eqeltrd |
⊢ ( ( 𝐹 : 𝐴 ⟶ 𝐵 ∧ 〈 𝑥 , 𝑦 〉 ∈ 𝐹 ) → 𝑦 ∈ ran ( 2nd ↾ 𝐹 ) ) |
22 |
21
|
ex |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → ( 〈 𝑥 , 𝑦 〉 ∈ 𝐹 → 𝑦 ∈ ran ( 2nd ↾ 𝐹 ) ) ) |
23 |
22
|
exlimdv |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → ( ∃ 𝑥 〈 𝑥 , 𝑦 〉 ∈ 𝐹 → 𝑦 ∈ ran ( 2nd ↾ 𝐹 ) ) ) |
24 |
10 23
|
syl5 |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → ( 𝑦 ∈ ran 𝐹 → 𝑦 ∈ ran ( 2nd ↾ 𝐹 ) ) ) |
25 |
24
|
ssrdv |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → ran 𝐹 ⊆ ran ( 2nd ↾ 𝐹 ) ) |
26 |
8 25
|
eqssd |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → ran ( 2nd ↾ 𝐹 ) = ran 𝐹 ) |
27 |
|
dffo2 |
⊢ ( ( 2nd ↾ 𝐹 ) : 𝐹 –onto→ ran 𝐹 ↔ ( ( 2nd ↾ 𝐹 ) : 𝐹 ⟶ ran 𝐹 ∧ ran ( 2nd ↾ 𝐹 ) = ran 𝐹 ) ) |
28 |
3 26 27
|
sylanbrc |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → ( 2nd ↾ 𝐹 ) : 𝐹 –onto→ ran 𝐹 ) |