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 No typesetting found for |- ( ph -> ( C swapF D ) = <. O , P >. ) with typecode |-
swapf1f1o.s ⊢ S = C × c D
swapf1f1o.t ⊢ T = D × c C
swapf2f1o.h ⊢ H = Hom ⁡ S
swapf2f1o.j ⊢ J = Hom ⁡ T
swapf2f1oa.b ⊢ B = Base S
swapf2f1oa.x ⊢ φ → X ∈ B
swapf2f1oa.y ⊢ φ → Y ∈ B
Assertion swapf2f1oaALT ⊢ φ → X P Y : X H Y ⟶ 1-1 onto O ⁡ X J O ⁡ Y

Proof

Step Hyp Ref Expression
1 swapf1f1o.o Could not format ( ph -> ( C swapF D ) = <. O , P >. ) : No typesetting found for |- ( ph -> ( C swapF D ) = <. O , P >. ) with typecode |-
2 swapf1f1o.s ⊢ S = C × c D
3 swapf1f1o.t ⊢ T = D × c C
4 swapf2f1o.h ⊢ H = Hom ⁡ S
5 swapf2f1o.j ⊢ J = Hom ⁡ T
6 swapf2f1oa.b ⊢ B = Base S
7 swapf2f1oa.x ⊢ φ → X ∈ B
8 swapf2f1oa.y ⊢ φ → Y ∈ B
9 eqid ⊢ f ∈ 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y × 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y ⟼ ⋃ f -1 = f ∈ 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y × 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y ⟼ ⋃ f -1
10 9 xpcomf1o ⊢ f ∈ 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y × 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y ⟼ ⋃ f -1 : 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y × 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y ⟶ 1-1 onto 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y × 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y
11 4 a1i ⊢ φ → H = Hom ⁡ S
12 1 2 6 7 8 11 swapf2vala ⊢ φ → X P Y = f ∈ X H Y ⟼ ⋃ f -1
13 eqid ⊢ Hom ⁡ C = Hom ⁡ C
14 eqid ⊢ Hom ⁡ D = Hom ⁡ D
15 2 6 13 14 4 7 8 xpchom ⊢ φ → X H Y = 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y × 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y
16 15 mpteq1d ⊢ φ → f ∈ X H Y ⟼ ⋃ f -1 = f ∈ 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y × 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y ⟼ ⋃ f -1
17 12 16 eqtrd ⊢ φ → X P Y = f ∈ 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y × 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y ⟼ ⋃ f -1
18 eqid ⊢ Base T = Base T
19 2 6 7 elxpcbasex1 ⊢ φ → C ∈ V
20 2 6 7 elxpcbasex2 ⊢ φ → D ∈ V
21 1 2 3 19 20 6 18 swapf1f1o ⊢ φ → O : B ⟶ 1-1 onto Base T
22 f1of ⊢ O : B ⟶ 1-1 onto Base T → O : B ⟶ Base T
23 21 22 syl ⊢ φ → O : B ⟶ Base T
24 23 7 ffvelcdmd ⊢ φ → O ⁡ X ∈ Base T
25 23 8 ffvelcdmd ⊢ φ → O ⁡ Y ∈ Base T
26 3 18 14 13 5 24 25 xpchom ⊢ φ → O ⁡ X J O ⁡ Y = 1 st ⁡ O ⁡ X Hom ⁡ D 1 st ⁡ O ⁡ Y × 2 nd ⁡ O ⁡ X Hom ⁡ C 2 nd ⁡ O ⁡ Y
27 1 2 6 7 swapf1a ⊢ φ → O ⁡ X = 2 nd ⁡ X 1 st ⁡ X
28 27 fveq2d ⊢ φ → 1 st ⁡ O ⁡ X = 1 st ⁡ 2 nd ⁡ X 1 st ⁡ X
29 fvex ⊢ 2 nd ⁡ X ∈ V
30 fvex ⊢ 1 st ⁡ X ∈ V
31 29 30 op1st ⊢ 1 st ⁡ 2 nd ⁡ X 1 st ⁡ X = 2 nd ⁡ X
32 28 31 eqtrdi ⊢ φ → 1 st ⁡ O ⁡ X = 2 nd ⁡ X
33 1 2 6 8 swapf1a ⊢ φ → O ⁡ Y = 2 nd ⁡ Y 1 st ⁡ Y
34 33 fveq2d ⊢ φ → 1 st ⁡ O ⁡ Y = 1 st ⁡ 2 nd ⁡ Y 1 st ⁡ Y
35 fvex ⊢ 2 nd ⁡ Y ∈ V
36 fvex ⊢ 1 st ⁡ Y ∈ V
37 35 36 op1st ⊢ 1 st ⁡ 2 nd ⁡ Y 1 st ⁡ Y = 2 nd ⁡ Y
38 34 37 eqtrdi ⊢ φ → 1 st ⁡ O ⁡ Y = 2 nd ⁡ Y
39 32 38 oveq12d ⊢ φ → 1 st ⁡ O ⁡ X Hom ⁡ D 1 st ⁡ O ⁡ Y = 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y
40 27 fveq2d ⊢ φ → 2 nd ⁡ O ⁡ X = 2 nd ⁡ 2 nd ⁡ X 1 st ⁡ X
41 29 30 op2nd ⊢ 2 nd ⁡ 2 nd ⁡ X 1 st ⁡ X = 1 st ⁡ X
42 40 41 eqtrdi ⊢ φ → 2 nd ⁡ O ⁡ X = 1 st ⁡ X
43 33 fveq2d ⊢ φ → 2 nd ⁡ O ⁡ Y = 2 nd ⁡ 2 nd ⁡ Y 1 st ⁡ Y
44 35 36 op2nd ⊢ 2 nd ⁡ 2 nd ⁡ Y 1 st ⁡ Y = 1 st ⁡ Y
45 43 44 eqtrdi ⊢ φ → 2 nd ⁡ O ⁡ Y = 1 st ⁡ Y
46 42 45 oveq12d ⊢ φ → 2 nd ⁡ O ⁡ X Hom ⁡ C 2 nd ⁡ O ⁡ Y = 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y
47 39 46 xpeq12d ⊢ φ → 1 st ⁡ O ⁡ X Hom ⁡ D 1 st ⁡ O ⁡ Y × 2 nd ⁡ O ⁡ X Hom ⁡ C 2 nd ⁡ O ⁡ Y = 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y × 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y
48 26 47 eqtrd ⊢ φ → O ⁡ X J O ⁡ Y = 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y × 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y
49 17 15 48 f1oeq123d ⊢ φ → X P Y : X H Y ⟶ 1-1 onto O ⁡ X J O ⁡ Y ↔ f ∈ 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y × 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y ⟼ ⋃ f -1 : 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y × 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y ⟶ 1-1 onto 2 nd ⁡ X Hom ⁡ D 2 nd ⁡ Y × 1 st ⁡ X Hom ⁡ C 1 st ⁡ Y
50 10 49 mpbiri ⊢ φ → X P Y : X H Y ⟶ 1-1 onto O ⁡ X J O ⁡ Y