Step |
Hyp |
Ref |
Expression |
1 |
|
ffn |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → 𝐹 Fn 𝐴 ) |
2 |
|
fnfocofob |
⊢ ( ( 𝐹 Fn 𝐴 ∧ 𝐺 : 𝐶 ⟶ 𝐷 ∧ ran 𝐹 = 𝐶 ) → ( ( 𝐺 ∘ 𝐹 ) : 𝐴 –onto→ 𝐷 ↔ 𝐺 : 𝐶 –onto→ 𝐷 ) ) |
3 |
1 2
|
syl3an1 |
⊢ ( ( 𝐹 : 𝐴 ⟶ 𝐵 ∧ 𝐺 : 𝐶 ⟶ 𝐷 ∧ ran 𝐹 = 𝐶 ) → ( ( 𝐺 ∘ 𝐹 ) : 𝐴 –onto→ 𝐷 ↔ 𝐺 : 𝐶 –onto→ 𝐷 ) ) |
4 |
|
dffn4 |
⊢ ( 𝐹 Fn 𝐴 ↔ 𝐹 : 𝐴 –onto→ ran 𝐹 ) |
5 |
1 4
|
sylib |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → 𝐹 : 𝐴 –onto→ ran 𝐹 ) |
6 |
5
|
3ad2ant1 |
⊢ ( ( 𝐹 : 𝐴 ⟶ 𝐵 ∧ 𝐺 : 𝐶 ⟶ 𝐷 ∧ ran 𝐹 = 𝐶 ) → 𝐹 : 𝐴 –onto→ ran 𝐹 ) |
7 |
|
foeq3 |
⊢ ( ran 𝐹 = 𝐶 → ( 𝐹 : 𝐴 –onto→ ran 𝐹 ↔ 𝐹 : 𝐴 –onto→ 𝐶 ) ) |
8 |
7
|
3ad2ant3 |
⊢ ( ( 𝐹 : 𝐴 ⟶ 𝐵 ∧ 𝐺 : 𝐶 ⟶ 𝐷 ∧ ran 𝐹 = 𝐶 ) → ( 𝐹 : 𝐴 –onto→ ran 𝐹 ↔ 𝐹 : 𝐴 –onto→ 𝐶 ) ) |
9 |
6 8
|
mpbid |
⊢ ( ( 𝐹 : 𝐴 ⟶ 𝐵 ∧ 𝐺 : 𝐶 ⟶ 𝐷 ∧ ran 𝐹 = 𝐶 ) → 𝐹 : 𝐴 –onto→ 𝐶 ) |
10 |
9
|
biantrurd |
⊢ ( ( 𝐹 : 𝐴 ⟶ 𝐵 ∧ 𝐺 : 𝐶 ⟶ 𝐷 ∧ ran 𝐹 = 𝐶 ) → ( 𝐺 : 𝐶 –onto→ 𝐷 ↔ ( 𝐹 : 𝐴 –onto→ 𝐶 ∧ 𝐺 : 𝐶 –onto→ 𝐷 ) ) ) |
11 |
3 10
|
bitrd |
⊢ ( ( 𝐹 : 𝐴 ⟶ 𝐵 ∧ 𝐺 : 𝐶 ⟶ 𝐷 ∧ ran 𝐹 = 𝐶 ) → ( ( 𝐺 ∘ 𝐹 ) : 𝐴 –onto→ 𝐷 ↔ ( 𝐹 : 𝐴 –onto→ 𝐶 ∧ 𝐺 : 𝐶 –onto→ 𝐷 ) ) ) |