Metamath Proof Explorer


Theorem swapf2f1oaALT

Description: Alternate proof of swapf2f1oa . (Contributed by Zhi Wang, 8-Oct-2025) (Proof modification is discouraged.) (New usage is discouraged.)

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 swapf2f1oaALT ( 𝜑 → ( 𝑋 𝑃 𝑌 ) : ( 𝑋 𝐻 𝑌 ) –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 ( 𝑓 ∈ ( ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) × ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) ) ↦ { 𝑓 } ) = ( 𝑓 ∈ ( ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) × ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) ) ↦ { 𝑓 } )
10 9 xpcomf1o ( 𝑓 ∈ ( ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) × ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) ) ↦ { 𝑓 } ) : ( ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) × ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) ) –1-1-onto→ ( ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) × ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) )
11 4 a1i ( 𝜑𝐻 = ( Hom ‘ 𝑆 ) )
12 1 2 6 7 8 11 swapf2vala ( 𝜑 → ( 𝑋 𝑃 𝑌 ) = ( 𝑓 ∈ ( 𝑋 𝐻 𝑌 ) ↦ { 𝑓 } ) )
13 eqid ( Hom ‘ 𝐶 ) = ( Hom ‘ 𝐶 )
14 eqid ( Hom ‘ 𝐷 ) = ( Hom ‘ 𝐷 )
15 2 6 13 14 4 7 8 xpchom ( 𝜑 → ( 𝑋 𝐻 𝑌 ) = ( ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) × ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) ) )
16 15 mpteq1d ( 𝜑 → ( 𝑓 ∈ ( 𝑋 𝐻 𝑌 ) ↦ { 𝑓 } ) = ( 𝑓 ∈ ( ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) × ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) ) ↦ { 𝑓 } ) )
17 12 16 eqtrd ( 𝜑 → ( 𝑋 𝑃 𝑌 ) = ( 𝑓 ∈ ( ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) × ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) ) ↦ { 𝑓 } ) )
18 eqid ( Base ‘ 𝑇 ) = ( Base ‘ 𝑇 )
19 2 6 7 elxpcbasex1 ( 𝜑𝐶 ∈ V )
20 2 6 7 elxpcbasex2 ( 𝜑𝐷 ∈ V )
21 1 2 3 19 20 6 18 swapf1f1o ( 𝜑𝑂 : 𝐵1-1-onto→ ( Base ‘ 𝑇 ) )
22 f1of ( 𝑂 : 𝐵1-1-onto→ ( Base ‘ 𝑇 ) → 𝑂 : 𝐵 ⟶ ( Base ‘ 𝑇 ) )
23 21 22 syl ( 𝜑𝑂 : 𝐵 ⟶ ( Base ‘ 𝑇 ) )
24 23 7 ffvelcdmd ( 𝜑 → ( 𝑂𝑋 ) ∈ ( Base ‘ 𝑇 ) )
25 23 8 ffvelcdmd ( 𝜑 → ( 𝑂𝑌 ) ∈ ( Base ‘ 𝑇 ) )
26 3 18 14 13 5 24 25 xpchom ( 𝜑 → ( ( 𝑂𝑋 ) 𝐽 ( 𝑂𝑌 ) ) = ( ( ( 1st ‘ ( 𝑂𝑋 ) ) ( Hom ‘ 𝐷 ) ( 1st ‘ ( 𝑂𝑌 ) ) ) × ( ( 2nd ‘ ( 𝑂𝑋 ) ) ( Hom ‘ 𝐶 ) ( 2nd ‘ ( 𝑂𝑌 ) ) ) ) )
27 1 2 6 7 swapf1a ( 𝜑 → ( 𝑂𝑋 ) = ⟨ ( 2nd𝑋 ) , ( 1st𝑋 ) ⟩ )
28 27 fveq2d ( 𝜑 → ( 1st ‘ ( 𝑂𝑋 ) ) = ( 1st ‘ ⟨ ( 2nd𝑋 ) , ( 1st𝑋 ) ⟩ ) )
29 fvex ( 2nd𝑋 ) ∈ V
30 fvex ( 1st𝑋 ) ∈ V
31 29 30 op1st ( 1st ‘ ⟨ ( 2nd𝑋 ) , ( 1st𝑋 ) ⟩ ) = ( 2nd𝑋 )
32 28 31 eqtrdi ( 𝜑 → ( 1st ‘ ( 𝑂𝑋 ) ) = ( 2nd𝑋 ) )
33 1 2 6 8 swapf1a ( 𝜑 → ( 𝑂𝑌 ) = ⟨ ( 2nd𝑌 ) , ( 1st𝑌 ) ⟩ )
34 33 fveq2d ( 𝜑 → ( 1st ‘ ( 𝑂𝑌 ) ) = ( 1st ‘ ⟨ ( 2nd𝑌 ) , ( 1st𝑌 ) ⟩ ) )
35 fvex ( 2nd𝑌 ) ∈ V
36 fvex ( 1st𝑌 ) ∈ V
37 35 36 op1st ( 1st ‘ ⟨ ( 2nd𝑌 ) , ( 1st𝑌 ) ⟩ ) = ( 2nd𝑌 )
38 34 37 eqtrdi ( 𝜑 → ( 1st ‘ ( 𝑂𝑌 ) ) = ( 2nd𝑌 ) )
39 32 38 oveq12d ( 𝜑 → ( ( 1st ‘ ( 𝑂𝑋 ) ) ( Hom ‘ 𝐷 ) ( 1st ‘ ( 𝑂𝑌 ) ) ) = ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) )
40 27 fveq2d ( 𝜑 → ( 2nd ‘ ( 𝑂𝑋 ) ) = ( 2nd ‘ ⟨ ( 2nd𝑋 ) , ( 1st𝑋 ) ⟩ ) )
41 29 30 op2nd ( 2nd ‘ ⟨ ( 2nd𝑋 ) , ( 1st𝑋 ) ⟩ ) = ( 1st𝑋 )
42 40 41 eqtrdi ( 𝜑 → ( 2nd ‘ ( 𝑂𝑋 ) ) = ( 1st𝑋 ) )
43 33 fveq2d ( 𝜑 → ( 2nd ‘ ( 𝑂𝑌 ) ) = ( 2nd ‘ ⟨ ( 2nd𝑌 ) , ( 1st𝑌 ) ⟩ ) )
44 35 36 op2nd ( 2nd ‘ ⟨ ( 2nd𝑌 ) , ( 1st𝑌 ) ⟩ ) = ( 1st𝑌 )
45 43 44 eqtrdi ( 𝜑 → ( 2nd ‘ ( 𝑂𝑌 ) ) = ( 1st𝑌 ) )
46 42 45 oveq12d ( 𝜑 → ( ( 2nd ‘ ( 𝑂𝑋 ) ) ( Hom ‘ 𝐶 ) ( 2nd ‘ ( 𝑂𝑌 ) ) ) = ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) )
47 39 46 xpeq12d ( 𝜑 → ( ( ( 1st ‘ ( 𝑂𝑋 ) ) ( Hom ‘ 𝐷 ) ( 1st ‘ ( 𝑂𝑌 ) ) ) × ( ( 2nd ‘ ( 𝑂𝑋 ) ) ( Hom ‘ 𝐶 ) ( 2nd ‘ ( 𝑂𝑌 ) ) ) ) = ( ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) × ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) ) )
48 26 47 eqtrd ( 𝜑 → ( ( 𝑂𝑋 ) 𝐽 ( 𝑂𝑌 ) ) = ( ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) × ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) ) )
49 17 15 48 f1oeq123d ( 𝜑 → ( ( 𝑋 𝑃 𝑌 ) : ( 𝑋 𝐻 𝑌 ) –1-1-onto→ ( ( 𝑂𝑋 ) 𝐽 ( 𝑂𝑌 ) ) ↔ ( 𝑓 ∈ ( ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) × ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) ) ↦ { 𝑓 } ) : ( ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) × ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) ) –1-1-onto→ ( ( ( 2nd𝑋 ) ( Hom ‘ 𝐷 ) ( 2nd𝑌 ) ) × ( ( 1st𝑋 ) ( Hom ‘ 𝐶 ) ( 1st𝑌 ) ) ) ) )
50 10 49 mpbiri ( 𝜑 → ( 𝑋 𝑃 𝑌 ) : ( 𝑋 𝐻 𝑌 ) –1-1-onto→ ( ( 𝑂𝑋 ) 𝐽 ( 𝑂𝑌 ) ) )