Metamath Proof Explorer


Theorem cofuswapf1

Description: The object part of a bifunctor pre-composed with a swap functor. (Contributed by Zhi Wang, 9-Oct-2025)

Ref Expression
Hypotheses cofuswapf1.c ⊢ φ → C ∈ Cat
cofuswapf1.d ⊢ φ → D ∈ Cat
cofuswapf1.f ⊢ φ → F ∈ D × c C Func E
cofuswapf1.g No typesetting found for |- ( ph -> G = ( F o.func ( C swapF D ) ) ) with typecode |-
cofuswapf1.a ⊢ A = Base C
cofuswapf1.b ⊢ B = Base D
cofuswapf1.x ⊢ φ → X ∈ A
cofuswapf1.y ⊢ φ → Y ∈ B
Assertion cofuswapf1 ⊢ φ → X 1 st ⁡ G Y = Y 1 st ⁡ F X

Proof

Step Hyp Ref Expression
1 cofuswapf1.c ⊢ φ → C ∈ Cat
2 cofuswapf1.d ⊢ φ → D ∈ Cat
3 cofuswapf1.f ⊢ φ → F ∈ D × c C Func E
4 cofuswapf1.g Could not format ( ph -> G = ( F o.func ( C swapF D ) ) ) : No typesetting found for |- ( ph -> G = ( F o.func ( C swapF D ) ) ) with typecode |-
5 cofuswapf1.a ⊢ A = Base C
6 cofuswapf1.b ⊢ B = Base D
7 cofuswapf1.x ⊢ φ → X ∈ A
8 cofuswapf1.y ⊢ φ → Y ∈ B
9 df-ov ⊢ X 1 st ⁡ G Y = 1 st ⁡ G ⁡ X Y
10 4 fveq2d Could not format ( ph -> ( 1st ` G ) = ( 1st ` ( F o.func ( C swapF D ) ) ) ) : No typesetting found for |- ( ph -> ( 1st ` G ) = ( 1st ` ( F o.func ( C swapF D ) ) ) ) with typecode |-
11 10 fveq1d Could not format ( ph -> ( ( 1st ` G ) ` <. X , Y >. ) = ( ( 1st ` ( F o.func ( C swapF D ) ) ) ` <. X , Y >. ) ) : No typesetting found for |- ( ph -> ( ( 1st ` G ) ` <. X , Y >. ) = ( ( 1st ` ( F o.func ( C swapF D ) ) ) ` <. X , Y >. ) ) with typecode |-
12 9 11 eqtrid Could not format ( ph -> ( X ( 1st ` G ) Y ) = ( ( 1st ` ( F o.func ( C swapF D ) ) ) ` <. X , Y >. ) ) : No typesetting found for |- ( ph -> ( X ( 1st ` G ) Y ) = ( ( 1st ` ( F o.func ( C swapF D ) ) ) ` <. X , Y >. ) ) with typecode |-
13 eqid ⊢ C × c D = C × c D
14 13 5 6 xpcbas ⊢ A × B = Base C × c D
15 eqid ⊢ D × c C = D × c C
16 1 2 13 15 swapffunca Could not format ( ph -> ( C swapF D ) e. ( ( C Xc. D ) Func ( D Xc. C ) ) ) : No typesetting found for |- ( ph -> ( C swapF D ) e. ( ( C Xc. D ) Func ( D Xc. C ) ) ) with typecode |-
17 7 8 opelxpd ⊢ φ → X Y ∈ A × B
18 14 16 3 17 cofu1 Could not format ( ph -> ( ( 1st ` ( F o.func ( C swapF D ) ) ) ` <. X , Y >. ) = ( ( 1st ` F ) ` ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ) ) : No typesetting found for |- ( ph -> ( ( 1st ` ( F o.func ( C swapF D ) ) ) ` <. X , Y >. ) = ( ( 1st ` F ) ` ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ) ) with typecode |-
19 df-ov Could not format ( X ( 1st ` ( C swapF D ) ) Y ) = ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) : No typesetting found for |- ( X ( 1st ` ( C swapF D ) ) Y ) = ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) with typecode |-
20 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 |-
21 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 |-
22 20 21 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 |-
23 7 5 eleqtrdi ⊢ φ → X ∈ Base C
24 8 6 eleqtrdi ⊢ φ → Y ∈ Base D
25 22 23 24 swapf1 Could not format ( ph -> ( X ( 1st ` ( C swapF D ) ) Y ) = <. Y , X >. ) : No typesetting found for |- ( ph -> ( X ( 1st ` ( C swapF D ) ) Y ) = <. Y , X >. ) with typecode |-
26 19 25 eqtr3id Could not format ( ph -> ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) = <. Y , X >. ) : No typesetting found for |- ( ph -> ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) = <. Y , X >. ) with typecode |-
27 26 fveq2d Could not format ( ph -> ( ( 1st ` F ) ` ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ) = ( ( 1st ` F ) ` <. Y , X >. ) ) : No typesetting found for |- ( ph -> ( ( 1st ` F ) ` ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ) = ( ( 1st ` F ) ` <. Y , X >. ) ) with typecode |-
28 12 18 27 3eqtrd ⊢ φ → X 1 st ⁡ G Y = 1 st ⁡ F ⁡ Y X
29 df-ov ⊢ Y 1 st ⁡ F X = 1 st ⁡ F ⁡ Y X
30 28 29 eqtr4di ⊢ φ → X 1 st ⁡ G Y = Y 1 st ⁡ F X