| Step | Hyp | Ref
 | Expression | 
| 1 |   | simp1 999 | 
. 2
⊢ ((𝐹:𝐵⟶𝐶 ∧ 𝐺:𝐴⟶𝐵 ∧ (𝐹 ∘ 𝐺):𝐴–onto→𝐶) → 𝐹:𝐵⟶𝐶) | 
| 2 |   | foelrn 5799 | 
. . . . . 6
⊢ (((𝐹 ∘ 𝐺):𝐴–onto→𝐶 ∧ 𝑦 ∈ 𝐶) → ∃𝑧 ∈ 𝐴 𝑦 = ((𝐹 ∘ 𝐺)‘𝑧)) | 
| 3 |   | ffvelcdm 5695 | 
. . . . . . . . . 10
⊢ ((𝐺:𝐴⟶𝐵 ∧ 𝑧 ∈ 𝐴) → (𝐺‘𝑧) ∈ 𝐵) | 
| 4 | 3 | adantll 476 | 
. . . . . . . . 9
⊢ (((𝐹:𝐵⟶𝐶 ∧ 𝐺:𝐴⟶𝐵) ∧ 𝑧 ∈ 𝐴) → (𝐺‘𝑧) ∈ 𝐵) | 
| 5 |   | fvco3 5632 | 
. . . . . . . . . 10
⊢ ((𝐺:𝐴⟶𝐵 ∧ 𝑧 ∈ 𝐴) → ((𝐹 ∘ 𝐺)‘𝑧) = (𝐹‘(𝐺‘𝑧))) | 
| 6 | 5 | adantll 476 | 
. . . . . . . . 9
⊢ (((𝐹:𝐵⟶𝐶 ∧ 𝐺:𝐴⟶𝐵) ∧ 𝑧 ∈ 𝐴) → ((𝐹 ∘ 𝐺)‘𝑧) = (𝐹‘(𝐺‘𝑧))) | 
| 7 |   | fveq2 5558 | 
. . . . . . . . . . 11
⊢ (𝑥 = (𝐺‘𝑧) → (𝐹‘𝑥) = (𝐹‘(𝐺‘𝑧))) | 
| 8 | 7 | eqeq2d 2208 | 
. . . . . . . . . 10
⊢ (𝑥 = (𝐺‘𝑧) → (((𝐹 ∘ 𝐺)‘𝑧) = (𝐹‘𝑥) ↔ ((𝐹 ∘ 𝐺)‘𝑧) = (𝐹‘(𝐺‘𝑧)))) | 
| 9 | 8 | rspcev 2868 | 
. . . . . . . . 9
⊢ (((𝐺‘𝑧) ∈ 𝐵 ∧ ((𝐹 ∘ 𝐺)‘𝑧) = (𝐹‘(𝐺‘𝑧))) → ∃𝑥 ∈ 𝐵 ((𝐹 ∘ 𝐺)‘𝑧) = (𝐹‘𝑥)) | 
| 10 | 4, 6, 9 | syl2anc 411 | 
. . . . . . . 8
⊢ (((𝐹:𝐵⟶𝐶 ∧ 𝐺:𝐴⟶𝐵) ∧ 𝑧 ∈ 𝐴) → ∃𝑥 ∈ 𝐵 ((𝐹 ∘ 𝐺)‘𝑧) = (𝐹‘𝑥)) | 
| 11 |   | eqeq1 2203 | 
. . . . . . . . 9
⊢ (𝑦 = ((𝐹 ∘ 𝐺)‘𝑧) → (𝑦 = (𝐹‘𝑥) ↔ ((𝐹 ∘ 𝐺)‘𝑧) = (𝐹‘𝑥))) | 
| 12 | 11 | rexbidv 2498 | 
. . . . . . . 8
⊢ (𝑦 = ((𝐹 ∘ 𝐺)‘𝑧) → (∃𝑥 ∈ 𝐵 𝑦 = (𝐹‘𝑥) ↔ ∃𝑥 ∈ 𝐵 ((𝐹 ∘ 𝐺)‘𝑧) = (𝐹‘𝑥))) | 
| 13 | 10, 12 | syl5ibrcom 157 | 
. . . . . . 7
⊢ (((𝐹:𝐵⟶𝐶 ∧ 𝐺:𝐴⟶𝐵) ∧ 𝑧 ∈ 𝐴) → (𝑦 = ((𝐹 ∘ 𝐺)‘𝑧) → ∃𝑥 ∈ 𝐵 𝑦 = (𝐹‘𝑥))) | 
| 14 | 13 | rexlimdva 2614 | 
. . . . . 6
⊢ ((𝐹:𝐵⟶𝐶 ∧ 𝐺:𝐴⟶𝐵) → (∃𝑧 ∈ 𝐴 𝑦 = ((𝐹 ∘ 𝐺)‘𝑧) → ∃𝑥 ∈ 𝐵 𝑦 = (𝐹‘𝑥))) | 
| 15 | 2, 14 | syl5 32 | 
. . . . 5
⊢ ((𝐹:𝐵⟶𝐶 ∧ 𝐺:𝐴⟶𝐵) → (((𝐹 ∘ 𝐺):𝐴–onto→𝐶 ∧ 𝑦 ∈ 𝐶) → ∃𝑥 ∈ 𝐵 𝑦 = (𝐹‘𝑥))) | 
| 16 | 15 | impl 380 | 
. . . 4
⊢ ((((𝐹:𝐵⟶𝐶 ∧ 𝐺:𝐴⟶𝐵) ∧ (𝐹 ∘ 𝐺):𝐴–onto→𝐶) ∧ 𝑦 ∈ 𝐶) → ∃𝑥 ∈ 𝐵 𝑦 = (𝐹‘𝑥)) | 
| 17 | 16 | ralrimiva 2570 | 
. . 3
⊢ (((𝐹:𝐵⟶𝐶 ∧ 𝐺:𝐴⟶𝐵) ∧ (𝐹 ∘ 𝐺):𝐴–onto→𝐶) → ∀𝑦 ∈ 𝐶 ∃𝑥 ∈ 𝐵 𝑦 = (𝐹‘𝑥)) | 
| 18 | 17 | 3impa 1196 | 
. 2
⊢ ((𝐹:𝐵⟶𝐶 ∧ 𝐺:𝐴⟶𝐵 ∧ (𝐹 ∘ 𝐺):𝐴–onto→𝐶) → ∀𝑦 ∈ 𝐶 ∃𝑥 ∈ 𝐵 𝑦 = (𝐹‘𝑥)) | 
| 19 |   | dffo3 5709 | 
. 2
⊢ (𝐹:𝐵–onto→𝐶 ↔ (𝐹:𝐵⟶𝐶 ∧ ∀𝑦 ∈ 𝐶 ∃𝑥 ∈ 𝐵 𝑦 = (𝐹‘𝑥))) | 
| 20 | 1, 18, 19 | sylanbrc 417 | 
1
⊢ ((𝐹:𝐵⟶𝐶 ∧ 𝐺:𝐴⟶𝐵 ∧ (𝐹 ∘ 𝐺):𝐴–onto→𝐶) → 𝐹:𝐵–onto→𝐶) |