Metamath Proof Explorer


Theorem swapf2f1oa

Description: The morphism part of the swap functor is a bijection between hom-sets. (Contributed by Zhi Wang, 9-Oct-2025)

Ref Expression
Hypotheses swapf1f1o.o ( 𝜑 → ( 𝐶 swapF 𝐷 ) = ⟨ 𝑂 , 𝑃 ⟩ )
swapf1f1o.s 𝑆 = ( 𝐶 ×c 𝐷 )
swapf1f1o.t 𝑇 = ( 𝐷 ×c 𝐶 )
swapf2f1o.h 𝐻 = ( Hom ‘ 𝑆 )
swapf2f1o.j 𝐽 = ( Hom ‘ 𝑇 )
swapf2f1oa.b 𝐵 = ( Base ‘ 𝑆 )
swapf2f1oa.x ( 𝜑𝑋𝐵 )
swapf2f1oa.y ( 𝜑𝑌𝐵 )
Assertion swapf2f1oa ( 𝜑 → ( 𝑋 𝑃 𝑌 ) : ( 𝑋 𝐻 𝑌 ) –1-1-onto→ ( ( 𝑂𝑋 ) 𝐽 ( 𝑂𝑌 ) ) )

Proof

Step Hyp Ref Expression
1 swapf1f1o.o ( 𝜑 → ( 𝐶 swapF 𝐷 ) = ⟨ 𝑂 , 𝑃 ⟩ )
2 swapf1f1o.s 𝑆 = ( 𝐶 ×c 𝐷 )
3 swapf1f1o.t 𝑇 = ( 𝐷 ×c 𝐶 )
4 swapf2f1o.h 𝐻 = ( Hom ‘ 𝑆 )
5 swapf2f1o.j 𝐽 = ( Hom ‘ 𝑇 )
6 swapf2f1oa.b 𝐵 = ( Base ‘ 𝑆 )
7 swapf2f1oa.x ( 𝜑𝑋𝐵 )
8 swapf2f1oa.y ( 𝜑𝑌𝐵 )
9 eqid ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 )
10 eqid ( Base ‘ 𝐷 ) = ( Base ‘ 𝐷 )
11 2 9 10 xpcbas ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) = ( Base ‘ 𝑆 )
12 6 11 eqtr4i 𝐵 = ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) )
13 7 12 eleqtrdi ( 𝜑𝑋 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) )
14 xp1st ( 𝑋 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) → ( 1st𝑋 ) ∈ ( Base ‘ 𝐶 ) )
15 13 14 syl ( 𝜑 → ( 1st𝑋 ) ∈ ( Base ‘ 𝐶 ) )
16 xp2nd ( 𝑋 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) → ( 2nd𝑋 ) ∈ ( Base ‘ 𝐷 ) )
17 13 16 syl ( 𝜑 → ( 2nd𝑋 ) ∈ ( Base ‘ 𝐷 ) )
18 8 12 eleqtrdi ( 𝜑𝑌 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) )
19 xp1st ( 𝑌 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) → ( 1st𝑌 ) ∈ ( Base ‘ 𝐶 ) )
20 18 19 syl ( 𝜑 → ( 1st𝑌 ) ∈ ( Base ‘ 𝐶 ) )
21 xp2nd ( 𝑌 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) → ( 2nd𝑌 ) ∈ ( Base ‘ 𝐷 ) )
22 18 21 syl ( 𝜑 → ( 2nd𝑌 ) ∈ ( Base ‘ 𝐷 ) )
23 1 2 3 4 5 15 17 20 22 swapf2f1o ( 𝜑 → ( ⟨ ( 1st𝑋 ) , ( 2nd𝑋 ) ⟩ 𝑃 ⟨ ( 1st𝑌 ) , ( 2nd𝑌 ) ⟩ ) : ( ⟨ ( 1st𝑋 ) , ( 2nd𝑋 ) ⟩ 𝐻 ⟨ ( 1st𝑌 ) , ( 2nd𝑌 ) ⟩ ) –1-1-onto→ ( ⟨ ( 2nd𝑋 ) , ( 1st𝑋 ) ⟩ 𝐽 ⟨ ( 2nd𝑌 ) , ( 1st𝑌 ) ⟩ ) )
24 1st2nd2 ( 𝑋 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) → 𝑋 = ⟨ ( 1st𝑋 ) , ( 2nd𝑋 ) ⟩ )
25 13 24 syl ( 𝜑𝑋 = ⟨ ( 1st𝑋 ) , ( 2nd𝑋 ) ⟩ )
26 1st2nd2 ( 𝑌 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) → 𝑌 = ⟨ ( 1st𝑌 ) , ( 2nd𝑌 ) ⟩ )
27 18 26 syl ( 𝜑𝑌 = ⟨ ( 1st𝑌 ) , ( 2nd𝑌 ) ⟩ )
28 25 27 oveq12d ( 𝜑 → ( 𝑋 𝑃 𝑌 ) = ( ⟨ ( 1st𝑋 ) , ( 2nd𝑋 ) ⟩ 𝑃 ⟨ ( 1st𝑌 ) , ( 2nd𝑌 ) ⟩ ) )
29 25 27 oveq12d ( 𝜑 → ( 𝑋 𝐻 𝑌 ) = ( ⟨ ( 1st𝑋 ) , ( 2nd𝑋 ) ⟩ 𝐻 ⟨ ( 1st𝑌 ) , ( 2nd𝑌 ) ⟩ ) )
30 1 2 6 7 swapf1a ( 𝜑 → ( 𝑂𝑋 ) = ⟨ ( 2nd𝑋 ) , ( 1st𝑋 ) ⟩ )
31 1 2 6 8 swapf1a ( 𝜑 → ( 𝑂𝑌 ) = ⟨ ( 2nd𝑌 ) , ( 1st𝑌 ) ⟩ )
32 30 31 oveq12d ( 𝜑 → ( ( 𝑂𝑋 ) 𝐽 ( 𝑂𝑌 ) ) = ( ⟨ ( 2nd𝑋 ) , ( 1st𝑋 ) ⟩ 𝐽 ⟨ ( 2nd𝑌 ) , ( 1st𝑌 ) ⟩ ) )
33 28 29 32 f1oeq123d ( 𝜑 → ( ( 𝑋 𝑃 𝑌 ) : ( 𝑋 𝐻 𝑌 ) –1-1-onto→ ( ( 𝑂𝑋 ) 𝐽 ( 𝑂𝑌 ) ) ↔ ( ⟨ ( 1st𝑋 ) , ( 2nd𝑋 ) ⟩ 𝑃 ⟨ ( 1st𝑌 ) , ( 2nd𝑌 ) ⟩ ) : ( ⟨ ( 1st𝑋 ) , ( 2nd𝑋 ) ⟩ 𝐻 ⟨ ( 1st𝑌 ) , ( 2nd𝑌 ) ⟩ ) –1-1-onto→ ( ⟨ ( 2nd𝑋 ) , ( 1st𝑋 ) ⟩ 𝐽 ⟨ ( 2nd𝑌 ) , ( 1st𝑌 ) ⟩ ) ) )
34 23 33 mpbird ( 𝜑 → ( 𝑋 𝑃 𝑌 ) : ( 𝑋 𝐻 𝑌 ) –1-1-onto→ ( ( 𝑂𝑋 ) 𝐽 ( 𝑂𝑌 ) ) )