Metamath Proof Explorer


Theorem isfull2

Description: Equivalent condition for a full functor. (Contributed by Mario Carneiro, 27-Jan-2017)

Ref Expression
Hypotheses isfull.b 𝐵 = ( Base ‘ 𝐶 )
isfull.j 𝐽 = ( Hom ‘ 𝐷 )
isfull.h 𝐻 = ( Hom ‘ 𝐶 )
Assertion isfull2 ( 𝐹 ( 𝐶 Full 𝐷 ) 𝐺 ↔ ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺 ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ) )

Proof

Step Hyp Ref Expression
1 isfull.b 𝐵 = ( Base ‘ 𝐶 )
2 isfull.j 𝐽 = ( Hom ‘ 𝐷 )
3 isfull.h 𝐻 = ( Hom ‘ 𝐶 )
4 1 2 isfull ( 𝐹 ( 𝐶 Full 𝐷 ) 𝐺 ↔ ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺 ∧ ∀ 𝑥𝐵𝑦𝐵 ran ( 𝑥 𝐺 𝑦 ) = ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ) )
5 simpll ( ( ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺𝑥𝐵 ) ∧ 𝑦𝐵 ) → 𝐹 ( 𝐶 Func 𝐷 ) 𝐺 )
6 simplr ( ( ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺𝑥𝐵 ) ∧ 𝑦𝐵 ) → 𝑥𝐵 )
7 simpr ( ( ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺𝑥𝐵 ) ∧ 𝑦𝐵 ) → 𝑦𝐵 )
8 1 3 2 5 6 7 funcf2 ( ( ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺𝑥𝐵 ) ∧ 𝑦𝐵 ) → ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) ⟶ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) )
9 ffn ( ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) ⟶ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) → ( 𝑥 𝐺 𝑦 ) Fn ( 𝑥 𝐻 𝑦 ) )
10 df-fo ( ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ↔ ( ( 𝑥 𝐺 𝑦 ) Fn ( 𝑥 𝐻 𝑦 ) ∧ ran ( 𝑥 𝐺 𝑦 ) = ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ) )
11 10 baib ( ( 𝑥 𝐺 𝑦 ) Fn ( 𝑥 𝐻 𝑦 ) → ( ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ↔ ran ( 𝑥 𝐺 𝑦 ) = ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ) )
12 8 9 11 3syl ( ( ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺𝑥𝐵 ) ∧ 𝑦𝐵 ) → ( ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ↔ ran ( 𝑥 𝐺 𝑦 ) = ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ) )
13 12 ralbidva ( ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺𝑥𝐵 ) → ( ∀ 𝑦𝐵 ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ↔ ∀ 𝑦𝐵 ran ( 𝑥 𝐺 𝑦 ) = ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ) )
14 13 ralbidva ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺 → ( ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ↔ ∀ 𝑥𝐵𝑦𝐵 ran ( 𝑥 𝐺 𝑦 ) = ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ) )
15 14 pm5.32i ( ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺 ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ) ↔ ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺 ∧ ∀ 𝑥𝐵𝑦𝐵 ran ( 𝑥 𝐺 𝑦 ) = ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ) )
16 4 15 bitr4i ( 𝐹 ( 𝐶 Full 𝐷 ) 𝐺 ↔ ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺 ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 𝐺 𝑦 ) : ( 𝑥 𝐻 𝑦 ) –onto→ ( ( 𝐹𝑥 ) 𝐽 ( 𝐹𝑦 ) ) ) )