Metamath Proof Explorer


Theorem oppc1stflem

Description: A utility theorem for proving theorems on projection functors of opposite categories. (Contributed by Zhi Wang, 19-Nov-2025)

Ref Expression
Hypotheses oppc1stf.o O = oppCat C
oppc1stf.p P = oppCat D
oppc1stf.c φ C V
oppc1stf.d φ D W
oppc1stflem.1 No typesetting found for |- ( ( ph /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C F D ) ) = ( O F P ) ) with typecode |-
oppc1stflem.f F = c Cat , d Cat Y
Assertion oppc1stflem Could not format assertion : No typesetting found for |- ( ph -> ( oppFunc ` ( C F D ) ) = ( O F P ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 oppc1stf.o O = oppCat C
2 oppc1stf.p P = oppCat D
3 oppc1stf.c φ C V
4 oppc1stf.d φ D W
5 oppc1stflem.1 Could not format ( ( ph /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C F D ) ) = ( O F P ) ) : No typesetting found for |- ( ( ph /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C F D ) ) = ( O F P ) ) with typecode |-
6 oppc1stflem.f F = c Cat , d Cat Y
7 eqid Could not format ( oppFunc ` ( C F D ) ) = ( oppFunc ` ( C F D ) ) : No typesetting found for |- ( oppFunc ` ( C F D ) ) = ( oppFunc ` ( C F D ) ) with typecode |-
8 simpr Could not format ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) -> x e. ( oppFunc ` ( C F D ) ) ) : No typesetting found for |- ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) -> x e. ( oppFunc ` ( C F D ) ) ) with typecode |-
9 7 8 eloppf Could not format ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) -> ( ( C F D ) =/= (/) /\ ( Rel ( 2nd ` ( C F D ) ) /\ Rel dom ( 2nd ` ( C F D ) ) ) ) ) : No typesetting found for |- ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) -> ( ( C F D ) =/= (/) /\ ( Rel ( 2nd ` ( C F D ) ) /\ Rel dom ( 2nd ` ( C F D ) ) ) ) ) with typecode |-
10 9 simpld Could not format ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) -> ( C F D ) =/= (/) ) : No typesetting found for |- ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) -> ( C F D ) =/= (/) ) with typecode |-
11 6 mpondm0 ¬ C Cat D Cat C F D =
12 11 necon1ai C F D C Cat D Cat
13 10 12 syl Could not format ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) -> ( C e. Cat /\ D e. Cat ) ) : No typesetting found for |- ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) -> ( C e. Cat /\ D e. Cat ) ) with typecode |-
14 simplr Could not format ( ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) /\ ( C e. Cat /\ D e. Cat ) ) -> x e. ( oppFunc ` ( C F D ) ) ) : No typesetting found for |- ( ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) /\ ( C e. Cat /\ D e. Cat ) ) -> x e. ( oppFunc ` ( C F D ) ) ) with typecode |-
15 5 adantlr Could not format ( ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C F D ) ) = ( O F P ) ) : No typesetting found for |- ( ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C F D ) ) = ( O F P ) ) with typecode |-
16 14 15 eleqtrd Could not format ( ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) /\ ( C e. Cat /\ D e. Cat ) ) -> x e. ( O F P ) ) : No typesetting found for |- ( ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) /\ ( C e. Cat /\ D e. Cat ) ) -> x e. ( O F P ) ) with typecode |-
17 13 16 mpdan Could not format ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) -> x e. ( O F P ) ) : No typesetting found for |- ( ( ph /\ x e. ( oppFunc ` ( C F D ) ) ) -> x e. ( O F P ) ) with typecode |-
18 1 3 oppccatb φ C Cat O Cat
19 2 4 oppccatb φ D Cat P Cat
20 18 19 anbi12d φ C Cat D Cat O Cat P Cat
21 20 biimprd φ O Cat P Cat C Cat D Cat
22 6 elmpocl x O F P O Cat P Cat
23 21 22 impel φ x O F P C Cat D Cat
24 simplr φ x O F P C Cat D Cat x O F P
25 5 adantlr Could not format ( ( ( ph /\ x e. ( O F P ) ) /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C F D ) ) = ( O F P ) ) : No typesetting found for |- ( ( ( ph /\ x e. ( O F P ) ) /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C F D ) ) = ( O F P ) ) with typecode |-
26 24 25 eleqtrrd Could not format ( ( ( ph /\ x e. ( O F P ) ) /\ ( C e. Cat /\ D e. Cat ) ) -> x e. ( oppFunc ` ( C F D ) ) ) : No typesetting found for |- ( ( ( ph /\ x e. ( O F P ) ) /\ ( C e. Cat /\ D e. Cat ) ) -> x e. ( oppFunc ` ( C F D ) ) ) with typecode |-
27 23 26 mpdan Could not format ( ( ph /\ x e. ( O F P ) ) -> x e. ( oppFunc ` ( C F D ) ) ) : No typesetting found for |- ( ( ph /\ x e. ( O F P ) ) -> x e. ( oppFunc ` ( C F D ) ) ) with typecode |-
28 17 27 impbida Could not format ( ph -> ( x e. ( oppFunc ` ( C F D ) ) <-> x e. ( O F P ) ) ) : No typesetting found for |- ( ph -> ( x e. ( oppFunc ` ( C F D ) ) <-> x e. ( O F P ) ) ) with typecode |-
29 28 eqrdv Could not format ( ph -> ( oppFunc ` ( C F D ) ) = ( O F P ) ) : No typesetting found for |- ( ph -> ( oppFunc ` ( C F D ) ) = ( O F P ) ) with typecode |-