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 |-