Metamath Proof Explorer


Theorem foco

Description: Composition of onto functions. (Contributed by NM, 22-Mar-2006) (Proof shortened by AV, 29-Sep-2024)

Ref Expression
Assertion foco ( ( 𝐹 : 𝐵onto𝐶𝐺 : 𝐴onto𝐵 ) → ( 𝐹𝐺 ) : 𝐴onto𝐶 )

Proof

Step Hyp Ref Expression
1 simpl ( ( 𝐹 : 𝐵onto𝐶𝐺 : 𝐴onto𝐵 ) → 𝐹 : 𝐵onto𝐶 )
2 fofun ( 𝐺 : 𝐴onto𝐵 → Fun 𝐺 )
3 2 adantl ( ( 𝐹 : 𝐵onto𝐶𝐺 : 𝐴onto𝐵 ) → Fun 𝐺 )
4 forn ( 𝐺 : 𝐴onto𝐵 → ran 𝐺 = 𝐵 )
5 eqimss2 ( ran 𝐺 = 𝐵𝐵 ⊆ ran 𝐺 )
6 4 5 syl ( 𝐺 : 𝐴onto𝐵𝐵 ⊆ ran 𝐺 )
7 6 adantl ( ( 𝐹 : 𝐵onto𝐶𝐺 : 𝐴onto𝐵 ) → 𝐵 ⊆ ran 𝐺 )
8 focofo ( ( 𝐹 : 𝐵onto𝐶 ∧ Fun 𝐺𝐵 ⊆ ran 𝐺 ) → ( 𝐹𝐺 ) : ( 𝐺𝐵 ) –onto𝐶 )
9 1 3 7 8 syl3anc ( ( 𝐹 : 𝐵onto𝐶𝐺 : 𝐴onto𝐵 ) → ( 𝐹𝐺 ) : ( 𝐺𝐵 ) –onto𝐶 )
10 focnvimacdmdm ( 𝐺 : 𝐴onto𝐵 → ( 𝐺𝐵 ) = 𝐴 )
11 10 eqcomd ( 𝐺 : 𝐴onto𝐵𝐴 = ( 𝐺𝐵 ) )
12 11 adantl ( ( 𝐹 : 𝐵onto𝐶𝐺 : 𝐴onto𝐵 ) → 𝐴 = ( 𝐺𝐵 ) )
13 foeq2 ( 𝐴 = ( 𝐺𝐵 ) → ( ( 𝐹𝐺 ) : 𝐴onto𝐶 ↔ ( 𝐹𝐺 ) : ( 𝐺𝐵 ) –onto𝐶 ) )
14 12 13 syl ( ( 𝐹 : 𝐵onto𝐶𝐺 : 𝐴onto𝐵 ) → ( ( 𝐹𝐺 ) : 𝐴onto𝐶 ↔ ( 𝐹𝐺 ) : ( 𝐺𝐵 ) –onto𝐶 ) )
15 9 14 mpbird ( ( 𝐹 : 𝐵onto𝐶𝐺 : 𝐴onto𝐵 ) → ( 𝐹𝐺 ) : 𝐴onto𝐶 )