Metamath Proof Explorer


Theorem swapfiso

Description: The swap functor is an isomorphism between product categories. (Contributed by Zhi Wang, 8-Oct-2025)

Ref Expression
Hypotheses swapfid.c φ C Cat
swapfid.d φ D Cat
swapfid.s S = C × c D
swapfid.t T = D × c C
swapfiso.e E = CatCat U
swapfiso.u φ U V
swapfiso.s φ S U
swapfiso.t φ T U
swapfiso.i I = Iso E
Assertion swapfiso Could not format assertion : No typesetting found for |- ( ph -> ( C swapF D ) e. ( S I T ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 swapfid.c φ C Cat
2 swapfid.d φ D Cat
3 swapfid.s S = C × c D
4 swapfid.t T = D × c C
5 swapfiso.e E = CatCat U
6 swapfiso.u φ U V
7 swapfiso.s φ S U
8 swapfiso.t φ T U
9 swapfiso.i I = Iso E
10 1 2 swapfelvv Could not format ( ph -> ( C swapF D ) e. ( _V X. _V ) ) : No typesetting found for |- ( ph -> ( C swapF D ) e. ( _V X. _V ) ) with typecode |-
11 1st2nd2 Could not format ( ( C swapF D ) e. ( _V X. _V ) -> ( C swapF D ) = <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. ) : No typesetting found for |- ( ( C swapF D ) e. ( _V X. _V ) -> ( C swapF D ) = <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. ) with typecode |-
12 10 11 syl Could not format ( ph -> ( C swapF D ) = <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. ) : No typesetting found for |- ( ph -> ( C swapF D ) = <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. ) with typecode |-
13 1 2 3 4 12 swapfffth Could not format ( ph -> ( 1st ` ( C swapF D ) ) ( ( S Full T ) i^i ( S Faith T ) ) ( 2nd ` ( C swapF D ) ) ) : No typesetting found for |- ( ph -> ( 1st ` ( C swapF D ) ) ( ( S Full T ) i^i ( S Faith T ) ) ( 2nd ` ( C swapF D ) ) ) with typecode |-
14 df-br Could not format ( ( 1st ` ( C swapF D ) ) ( ( S Full T ) i^i ( S Faith T ) ) ( 2nd ` ( C swapF D ) ) <-> <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. e. ( ( S Full T ) i^i ( S Faith T ) ) ) : No typesetting found for |- ( ( 1st ` ( C swapF D ) ) ( ( S Full T ) i^i ( S Faith T ) ) ( 2nd ` ( C swapF D ) ) <-> <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. e. ( ( S Full T ) i^i ( S Faith T ) ) ) with typecode |-
15 13 14 sylib Could not format ( ph -> <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. e. ( ( S Full T ) i^i ( S Faith T ) ) ) : No typesetting found for |- ( ph -> <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. e. ( ( S Full T ) i^i ( S Faith T ) ) ) with typecode |-
16 12 15 eqeltrd Could not format ( ph -> ( C swapF D ) e. ( ( S Full T ) i^i ( S Faith T ) ) ) : No typesetting found for |- ( ph -> ( C swapF D ) e. ( ( S Full T ) i^i ( S Faith T ) ) ) with typecode |-
17 eqid Base S = Base S
18 eqid Base T = Base T
19 12 3 4 1 2 17 18 swapf1f1o Could not format ( ph -> ( 1st ` ( C swapF D ) ) : ( Base ` S ) -1-1-onto-> ( Base ` T ) ) : No typesetting found for |- ( ph -> ( 1st ` ( C swapF D ) ) : ( Base ` S ) -1-1-onto-> ( Base ` T ) ) with typecode |-
20 eqid Base E = Base E
21 3 1 2 xpccat φ S Cat
22 7 21 elind φ S U Cat
23 5 20 6 catcbas φ Base E = U Cat
24 22 23 eleqtrrd φ S Base E
25 4 2 1 xpccat φ T Cat
26 8 25 elind φ T U Cat
27 26 23 eleqtrrd φ T Base E
28 5 20 17 18 6 24 27 9 catciso Could not format ( ph -> ( ( C swapF D ) e. ( S I T ) <-> ( ( C swapF D ) e. ( ( S Full T ) i^i ( S Faith T ) ) /\ ( 1st ` ( C swapF D ) ) : ( Base ` S ) -1-1-onto-> ( Base ` T ) ) ) ) : No typesetting found for |- ( ph -> ( ( C swapF D ) e. ( S I T ) <-> ( ( C swapF D ) e. ( ( S Full T ) i^i ( S Faith T ) ) /\ ( 1st ` ( C swapF D ) ) : ( Base ` S ) -1-1-onto-> ( Base ` T ) ) ) ) with typecode |-
29 16 19 28 mpbir2and Could not format ( ph -> ( C swapF D ) e. ( S I T ) ) : No typesetting found for |- ( ph -> ( C swapF D ) e. ( S I T ) ) with typecode |-