Metamath Proof Explorer


Theorem funcoppc4

Description: A functor on opposite categories yields a functor on the original categories. (Contributed by Zhi Wang, 14-Nov-2025)

Ref Expression
Hypotheses funcoppc2.o O = oppCat C
funcoppc2.p P = oppCat D
funcoppc2.c φ C V
funcoppc2.d φ D W
funcoppc4.f No typesetting found for |- ( ph -> ( F oppFunc G ) e. ( O Func P ) ) with typecode |-
Assertion funcoppc4 φ F C Func D G

Proof

Step Hyp Ref Expression
1 funcoppc2.o O = oppCat C
2 funcoppc2.p P = oppCat D
3 funcoppc2.c φ C V
4 funcoppc2.d φ D W
5 funcoppc4.f Could not format ( ph -> ( F oppFunc G ) e. ( O Func P ) ) : No typesetting found for |- ( ph -> ( F oppFunc G ) e. ( O Func P ) ) with typecode |-
6 5 func1st2nd Could not format ( ph -> ( 1st ` ( F oppFunc G ) ) ( O Func P ) ( 2nd ` ( F oppFunc G ) ) ) : No typesetting found for |- ( ph -> ( 1st ` ( F oppFunc G ) ) ( O Func P ) ( 2nd ` ( F oppFunc G ) ) ) with typecode |-
7 1 2 3 4 6 funcoppc2 Could not format ( ph -> ( 1st ` ( F oppFunc G ) ) ( C Func D ) tpos ( 2nd ` ( F oppFunc G ) ) ) : No typesetting found for |- ( ph -> ( 1st ` ( F oppFunc G ) ) ( C Func D ) tpos ( 2nd ` ( F oppFunc G ) ) ) with typecode |-
8 relfunc Rel O Func P
9 df-ov Could not format ( F oppFunc G ) = ( oppFunc ` <. F , G >. ) : No typesetting found for |- ( F oppFunc G ) = ( oppFunc ` <. F , G >. ) with typecode |-
10 eqidd φ F G = F G
11 5 8 9 10 oppf1st2nd Could not format ( ph -> ( ( F oppFunc G ) e. ( _V X. _V ) /\ ( ( 1st ` ( F oppFunc G ) ) = F /\ ( 2nd ` ( F oppFunc G ) ) = tpos G ) ) ) : No typesetting found for |- ( ph -> ( ( F oppFunc G ) e. ( _V X. _V ) /\ ( ( 1st ` ( F oppFunc G ) ) = F /\ ( 2nd ` ( F oppFunc G ) ) = tpos G ) ) ) with typecode |-
12 11 simprld Could not format ( ph -> ( 1st ` ( F oppFunc G ) ) = F ) : No typesetting found for |- ( ph -> ( 1st ` ( F oppFunc G ) ) = F ) with typecode |-
13 11 simprrd Could not format ( ph -> ( 2nd ` ( F oppFunc G ) ) = tpos G ) : No typesetting found for |- ( ph -> ( 2nd ` ( F oppFunc G ) ) = tpos G ) with typecode |-
14 13 tposeqd Could not format ( ph -> tpos ( 2nd ` ( F oppFunc G ) ) = tpos tpos G ) : No typesetting found for |- ( ph -> tpos ( 2nd ` ( F oppFunc G ) ) = tpos tpos G ) with typecode |-
15 5 8 9 10 oppfrcl3 φ Rel G Rel dom G
16 tpostpos2 Rel G Rel dom G tpos tpos G = G
17 15 16 syl φ tpos tpos G = G
18 14 17 eqtrd Could not format ( ph -> tpos ( 2nd ` ( F oppFunc G ) ) = G ) : No typesetting found for |- ( ph -> tpos ( 2nd ` ( F oppFunc G ) ) = G ) with typecode |-
19 7 12 18 3brtr3d φ F C Func D G