Metamath Proof Explorer


Theorem fullfo

Description: The morphism map of a full functor is a surjection. (Contributed by Mario Carneiro, 27-Jan-2017)

Ref Expression
Hypotheses isfull.b 𝐵 = ( Base ‘ 𝐶 )
isfull.j 𝐽 = ( Hom ‘ 𝐷 )
isfull.h 𝐻 = ( Hom ‘ 𝐶 )
fullfo.f ( 𝜑𝐹 ( 𝐶 Full 𝐷 ) 𝐺 )
fullfo.x ( 𝜑𝑋𝐵 )
fullfo.y ( 𝜑𝑌𝐵 )
Assertion fullfo ( 𝜑 → ( 𝑋 𝐺 𝑌 ) : ( 𝑋 𝐻 𝑌 ) –onto→ ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) )

Proof

Step Hyp Ref Expression
1 isfull.b 𝐵 = ( Base ‘ 𝐶 )
2 isfull.j 𝐽 = ( Hom ‘ 𝐷 )
3 isfull.h 𝐻 = ( Hom ‘ 𝐶 )
4 fullfo.f ( 𝜑𝐹 ( 𝐶 Full 𝐷 ) 𝐺 )
5 fullfo.x ( 𝜑𝑋𝐵 )
6 fullfo.y ( 𝜑𝑌𝐵 )
7 1 2 3 isfull2 ( 𝐹 ( 𝐶 Full 𝐷 ) 𝐺 ↔ ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺 ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ) )
8 7 simprbi ( 𝐹 ( 𝐶 Full 𝐷 ) 𝐺 → ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) )
9 4 8 syl ( 𝜑 → ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) )
10 6 adantr ( ( 𝜑𝑥 = 𝑋 ) → 𝑌𝐵 )
11 simplr ( ( ( 𝜑𝑥 = 𝑋 ) ∧ 𝑦 = 𝑌 ) → 𝑥 = 𝑋 )
12 simpr ( ( ( 𝜑𝑥 = 𝑋 ) ∧ 𝑦 = 𝑌 ) → 𝑦 = 𝑌 )
13 11 12 oveq12d ( ( ( 𝜑𝑥 = 𝑋 ) ∧ 𝑦 = 𝑌 ) → ( 𝑥 𝐺 𝑦 ) = ( 𝑋 𝐺 𝑌 ) )
14 11 12 oveq12d ( ( ( 𝜑𝑥 = 𝑋 ) ∧ 𝑦 = 𝑌 ) → ( 𝑥 𝐻 𝑦 ) = ( 𝑋 𝐻 𝑌 ) )
15 11 fveq2d ( ( ( 𝜑𝑥 = 𝑋 ) ∧ 𝑦 = 𝑌 ) → ( 𝐹𝑥 ) = ( 𝐹𝑋 ) )
16 12 fveq2d ( ( ( 𝜑𝑥 = 𝑋 ) ∧ 𝑦 = 𝑌 ) → ( 𝐹𝑦 ) = ( 𝐹𝑌 ) )
17 15 16 oveq12d ( ( ( 𝜑𝑥 = 𝑋 ) ∧ 𝑦 = 𝑌 ) → ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) = ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) )
18 13 14 17 foeq123d ( ( ( 𝜑𝑥 = 𝑋 ) ∧ 𝑦 = 𝑌 ) → ( ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ↔ ( 𝑋 𝐺 𝑌 ) : ( 𝑋 𝐻 𝑌 ) –onto→ ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) ) )
19 10 18 rspcdv ( ( 𝜑𝑥 = 𝑋 ) → ( ∀ 𝑦𝐵 ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) → ( 𝑋 𝐺 𝑌 ) : ( 𝑋 𝐻 𝑌 ) –onto→ ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) ) )
20 5 19 rspcimdv ( 𝜑 → ( ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) → ( 𝑋 𝐺 𝑌 ) : ( 𝑋 𝐻 𝑌 ) –onto→ ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) ) )
21 9 20 mpd ( 𝜑 → ( 𝑋 𝐺 𝑌 ) : ( 𝑋 𝐻 𝑌 ) –onto→ ( ( 𝐹𝑋 ) 𝐽 ( 𝐹𝑌 ) ) )