Metamath Proof Explorer


Theorem fullpropd

Description: If two categories have the same set of objects, morphisms, and compositions, then they have the same full functors. (Contributed by Mario Carneiro, 27-Jan-2017)

Ref Expression
Hypotheses fullpropd.1 ( 𝜑 → ( Homf𝐴 ) = ( Homf𝐵 ) )
fullpropd.2 ( 𝜑 → ( compf𝐴 ) = ( compf𝐵 ) )
fullpropd.3 ( 𝜑 → ( Homf𝐶 ) = ( Homf𝐷 ) )
fullpropd.4 ( 𝜑 → ( compf𝐶 ) = ( compf𝐷 ) )
fullpropd.a ( 𝜑𝐴𝑉 )
fullpropd.b ( 𝜑𝐵𝑉 )
fullpropd.c ( 𝜑𝐶𝑉 )
fullpropd.d ( 𝜑𝐷𝑉 )
Assertion fullpropd ( 𝜑 → ( 𝐴 Full 𝐶 ) = ( 𝐵 Full 𝐷 ) )

Proof

Step Hyp Ref Expression
1 fullpropd.1 ( 𝜑 → ( Homf𝐴 ) = ( Homf𝐵 ) )
2 fullpropd.2 ( 𝜑 → ( compf𝐴 ) = ( compf𝐵 ) )
3 fullpropd.3 ( 𝜑 → ( Homf𝐶 ) = ( Homf𝐷 ) )
4 fullpropd.4 ( 𝜑 → ( compf𝐶 ) = ( compf𝐷 ) )
5 fullpropd.a ( 𝜑𝐴𝑉 )
6 fullpropd.b ( 𝜑𝐵𝑉 )
7 fullpropd.c ( 𝜑𝐶𝑉 )
8 fullpropd.d ( 𝜑𝐷𝑉 )
9 relfull Rel ( 𝐴 Full 𝐶 )
10 relfull Rel ( 𝐵 Full 𝐷 )
11 1 homfeqbas ( 𝜑 → ( Base ‘ 𝐴 ) = ( Base ‘ 𝐵 ) )
12 11 adantr ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) → ( Base ‘ 𝐴 ) = ( Base ‘ 𝐵 ) )
13 12 adantr ( ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) ∧ 𝑥 ∈ ( Base ‘ 𝐴 ) ) → ( Base ‘ 𝐴 ) = ( Base ‘ 𝐵 ) )
14 eqid ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 )
15 eqid ( Hom ‘ 𝐶 ) = ( Hom ‘ 𝐶 )
16 eqid ( Hom ‘ 𝐷 ) = ( Hom ‘ 𝐷 )
17 3 ad3antrrr ( ( ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) ∧ 𝑥 ∈ ( Base ‘ 𝐴 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐴 ) ) → ( Homf𝐶 ) = ( Homf𝐷 ) )
18 eqid ( Base ‘ 𝐴 ) = ( Base ‘ 𝐴 )
19 simpllr ( ( ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) ∧ 𝑥 ∈ ( Base ‘ 𝐴 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐴 ) ) → 𝑓 ( 𝐴 Func 𝐶 ) 𝑔 )
20 18 14 19 funcf1 ( ( ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) ∧ 𝑥 ∈ ( Base ‘ 𝐴 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐴 ) ) → 𝑓 : ( Base ‘ 𝐴 ) ⟶ ( Base ‘ 𝐶 ) )
21 simplr ( ( ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) ∧ 𝑥 ∈ ( Base ‘ 𝐴 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐴 ) ) → 𝑥 ∈ ( Base ‘ 𝐴 ) )
22 20 21 ffvelrnd ( ( ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) ∧ 𝑥 ∈ ( Base ‘ 𝐴 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐴 ) ) → ( 𝑓𝑥 ) ∈ ( Base ‘ 𝐶 ) )
23 simpr ( ( ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) ∧ 𝑥 ∈ ( Base ‘ 𝐴 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐴 ) ) → 𝑦 ∈ ( Base ‘ 𝐴 ) )
24 20 23 ffvelrnd ( ( ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) ∧ 𝑥 ∈ ( Base ‘ 𝐴 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐴 ) ) → ( 𝑓𝑦 ) ∈ ( Base ‘ 𝐶 ) )
25 14 15 16 17 22 24 homfeqval ( ( ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) ∧ 𝑥 ∈ ( Base ‘ 𝐴 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐴 ) ) → ( ( 𝑓𝑥 ) ( Hom ‘ 𝐶 ) ( 𝑓𝑦 ) ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐷 ) ( 𝑓𝑦 ) ) )
26 25 eqeq2d ( ( ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) ∧ 𝑥 ∈ ( Base ‘ 𝐴 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐴 ) ) → ( ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐶 ) ( 𝑓𝑦 ) ) ↔ ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐷 ) ( 𝑓𝑦 ) ) ) )
27 13 26 raleqbidva ( ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) ∧ 𝑥 ∈ ( Base ‘ 𝐴 ) ) → ( ∀ 𝑦 ∈ ( Base ‘ 𝐴 ) ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐶 ) ( 𝑓𝑦 ) ) ↔ ∀ 𝑦 ∈ ( Base ‘ 𝐵 ) ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐷 ) ( 𝑓𝑦 ) ) ) )
28 12 27 raleqbidva ( ( 𝜑𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ) → ( ∀ 𝑥 ∈ ( Base ‘ 𝐴 ) ∀ 𝑦 ∈ ( Base ‘ 𝐴 ) ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐶 ) ( 𝑓𝑦 ) ) ↔ ∀ 𝑥 ∈ ( Base ‘ 𝐵 ) ∀ 𝑦 ∈ ( Base ‘ 𝐵 ) ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐷 ) ( 𝑓𝑦 ) ) ) )
29 28 pm5.32da ( 𝜑 → ( ( 𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ∧ ∀ 𝑥 ∈ ( Base ‘ 𝐴 ) ∀ 𝑦 ∈ ( Base ‘ 𝐴 ) ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐶 ) ( 𝑓𝑦 ) ) ) ↔ ( 𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ∧ ∀ 𝑥 ∈ ( Base ‘ 𝐵 ) ∀ 𝑦 ∈ ( Base ‘ 𝐵 ) ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐷 ) ( 𝑓𝑦 ) ) ) ) )
30 1 2 3 4 5 6 7 8 funcpropd ( 𝜑 → ( 𝐴 Func 𝐶 ) = ( 𝐵 Func 𝐷 ) )
31 30 breqd ( 𝜑 → ( 𝑓 ( 𝐴 Func 𝐶 ) 𝑔𝑓 ( 𝐵 Func 𝐷 ) 𝑔 ) )
32 31 anbi1d ( 𝜑 → ( ( 𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ∧ ∀ 𝑥 ∈ ( Base ‘ 𝐵 ) ∀ 𝑦 ∈ ( Base ‘ 𝐵 ) ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐷 ) ( 𝑓𝑦 ) ) ) ↔ ( 𝑓 ( 𝐵 Func 𝐷 ) 𝑔 ∧ ∀ 𝑥 ∈ ( Base ‘ 𝐵 ) ∀ 𝑦 ∈ ( Base ‘ 𝐵 ) ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐷 ) ( 𝑓𝑦 ) ) ) ) )
33 29 32 bitrd ( 𝜑 → ( ( 𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ∧ ∀ 𝑥 ∈ ( Base ‘ 𝐴 ) ∀ 𝑦 ∈ ( Base ‘ 𝐴 ) ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐶 ) ( 𝑓𝑦 ) ) ) ↔ ( 𝑓 ( 𝐵 Func 𝐷 ) 𝑔 ∧ ∀ 𝑥 ∈ ( Base ‘ 𝐵 ) ∀ 𝑦 ∈ ( Base ‘ 𝐵 ) ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐷 ) ( 𝑓𝑦 ) ) ) ) )
34 18 15 isfull ( 𝑓 ( 𝐴 Full 𝐶 ) 𝑔 ↔ ( 𝑓 ( 𝐴 Func 𝐶 ) 𝑔 ∧ ∀ 𝑥 ∈ ( Base ‘ 𝐴 ) ∀ 𝑦 ∈ ( Base ‘ 𝐴 ) ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐶 ) ( 𝑓𝑦 ) ) ) )
35 eqid ( Base ‘ 𝐵 ) = ( Base ‘ 𝐵 )
36 35 16 isfull ( 𝑓 ( 𝐵 Full 𝐷 ) 𝑔 ↔ ( 𝑓 ( 𝐵 Func 𝐷 ) 𝑔 ∧ ∀ 𝑥 ∈ ( Base ‘ 𝐵 ) ∀ 𝑦 ∈ ( Base ‘ 𝐵 ) ran ( 𝑥 𝑔 𝑦 ) = ( ( 𝑓𝑥 ) ( Hom ‘ 𝐷 ) ( 𝑓𝑦 ) ) ) )
37 33 34 36 3bitr4g ( 𝜑 → ( 𝑓 ( 𝐴 Full 𝐶 ) 𝑔𝑓 ( 𝐵 Full 𝐷 ) 𝑔 ) )
38 9 10 37 eqbrrdiv ( 𝜑 → ( 𝐴 Full 𝐶 ) = ( 𝐵 Full 𝐷 ) )