Step |
Hyp |
Ref |
Expression |
1 |
|
fof |
⊢ ( 𝐹 : 𝐴 –onto→ 𝐵 → 𝐹 : 𝐴 ⟶ 𝐵 ) |
2 |
|
fcof |
⊢ ( ( 𝐹 : 𝐴 ⟶ 𝐵 ∧ Fun 𝐺 ) → ( 𝐹 ∘ 𝐺 ) : ( ◡ 𝐺 “ 𝐴 ) ⟶ 𝐵 ) |
3 |
1 2
|
sylan |
⊢ ( ( 𝐹 : 𝐴 –onto→ 𝐵 ∧ Fun 𝐺 ) → ( 𝐹 ∘ 𝐺 ) : ( ◡ 𝐺 “ 𝐴 ) ⟶ 𝐵 ) |
4 |
3
|
3adant3 |
⊢ ( ( 𝐹 : 𝐴 –onto→ 𝐵 ∧ Fun 𝐺 ∧ 𝐴 ⊆ ran 𝐺 ) → ( 𝐹 ∘ 𝐺 ) : ( ◡ 𝐺 “ 𝐴 ) ⟶ 𝐵 ) |
5 |
|
rnco |
⊢ ran ( 𝐹 ∘ 𝐺 ) = ran ( 𝐹 ↾ ran 𝐺 ) |
6 |
1
|
freld |
⊢ ( 𝐹 : 𝐴 –onto→ 𝐵 → Rel 𝐹 ) |
7 |
6
|
3ad2ant1 |
⊢ ( ( 𝐹 : 𝐴 –onto→ 𝐵 ∧ Fun 𝐺 ∧ 𝐴 ⊆ ran 𝐺 ) → Rel 𝐹 ) |
8 |
|
fdm |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → dom 𝐹 = 𝐴 ) |
9 |
8
|
eqcomd |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → 𝐴 = dom 𝐹 ) |
10 |
1 9
|
syl |
⊢ ( 𝐹 : 𝐴 –onto→ 𝐵 → 𝐴 = dom 𝐹 ) |
11 |
10
|
sseq1d |
⊢ ( 𝐹 : 𝐴 –onto→ 𝐵 → ( 𝐴 ⊆ ran 𝐺 ↔ dom 𝐹 ⊆ ran 𝐺 ) ) |
12 |
11
|
biimpa |
⊢ ( ( 𝐹 : 𝐴 –onto→ 𝐵 ∧ 𝐴 ⊆ ran 𝐺 ) → dom 𝐹 ⊆ ran 𝐺 ) |
13 |
|
relssres |
⊢ ( ( Rel 𝐹 ∧ dom 𝐹 ⊆ ran 𝐺 ) → ( 𝐹 ↾ ran 𝐺 ) = 𝐹 ) |
14 |
13
|
rneqd |
⊢ ( ( Rel 𝐹 ∧ dom 𝐹 ⊆ ran 𝐺 ) → ran ( 𝐹 ↾ ran 𝐺 ) = ran 𝐹 ) |
15 |
7 12 14
|
3imp3i2an |
⊢ ( ( 𝐹 : 𝐴 –onto→ 𝐵 ∧ Fun 𝐺 ∧ 𝐴 ⊆ ran 𝐺 ) → ran ( 𝐹 ↾ ran 𝐺 ) = ran 𝐹 ) |
16 |
|
forn |
⊢ ( 𝐹 : 𝐴 –onto→ 𝐵 → ran 𝐹 = 𝐵 ) |
17 |
16
|
3ad2ant1 |
⊢ ( ( 𝐹 : 𝐴 –onto→ 𝐵 ∧ Fun 𝐺 ∧ 𝐴 ⊆ ran 𝐺 ) → ran 𝐹 = 𝐵 ) |
18 |
15 17
|
eqtrd |
⊢ ( ( 𝐹 : 𝐴 –onto→ 𝐵 ∧ Fun 𝐺 ∧ 𝐴 ⊆ ran 𝐺 ) → ran ( 𝐹 ↾ ran 𝐺 ) = 𝐵 ) |
19 |
5 18
|
eqtrid |
⊢ ( ( 𝐹 : 𝐴 –onto→ 𝐵 ∧ Fun 𝐺 ∧ 𝐴 ⊆ ran 𝐺 ) → ran ( 𝐹 ∘ 𝐺 ) = 𝐵 ) |
20 |
|
dffo2 |
⊢ ( ( 𝐹 ∘ 𝐺 ) : ( ◡ 𝐺 “ 𝐴 ) –onto→ 𝐵 ↔ ( ( 𝐹 ∘ 𝐺 ) : ( ◡ 𝐺 “ 𝐴 ) ⟶ 𝐵 ∧ ran ( 𝐹 ∘ 𝐺 ) = 𝐵 ) ) |
21 |
4 19 20
|
sylanbrc |
⊢ ( ( 𝐹 : 𝐴 –onto→ 𝐵 ∧ Fun 𝐺 ∧ 𝐴 ⊆ ran 𝐺 ) → ( 𝐹 ∘ 𝐺 ) : ( ◡ 𝐺 “ 𝐴 ) –onto→ 𝐵 ) |