Metamath Proof Explorer


Theorem fprodcnv

Description: Transform a product region using the converse operation. (Contributed by Scott Fenton, 1-Feb-2018)

Ref Expression
Hypotheses fprodcnv.1 ⊢ x = j k → B = D
fprodcnv.2 ⊢ y = k j → C = D
fprodcnv.3 ⊢ φ → A ∈ Fin
fprodcnv.4 ⊢ φ → Rel ⁡ A
fprodcnv.5 ⊢ φ ∧ x ∈ A → B ∈ ℂ
Assertion fprodcnv ⊢ φ → ∏ x ∈ A B = ∏ y ∈ A -1 C

Proof

Step Hyp Ref Expression
1 fprodcnv.1 ⊢ x = j k → B = D
2 fprodcnv.2 ⊢ y = k j → C = D
3 fprodcnv.3 ⊢ φ → A ∈ Fin
4 fprodcnv.4 ⊢ φ → Rel ⁡ A
5 fprodcnv.5 ⊢ φ ∧ x ∈ A → B ∈ ℂ
6 csbeq1a ⊢ x = 2 nd ⁡ y 1 st ⁡ y → B = ⦋ 2 nd ⁡ y 1 st ⁡ y / x⦌ B
7 fvex ⊢ 2 nd ⁡ y ∈ V
8 fvex ⊢ 1 st ⁡ y ∈ V
9 opex ⊢ j k ∈ V
10 9 1 csbie ⊢ ⦋ j k / x⦌ B = D
11 opeq12 ⊢ j = 2 nd ⁡ y ∧ k = 1 st ⁡ y → j k = 2 nd ⁡ y 1 st ⁡ y
12 11 csbeq1d ⊢ j = 2 nd ⁡ y ∧ k = 1 st ⁡ y → ⦋ j k / x⦌ B = ⦋ 2 nd ⁡ y 1 st ⁡ y / x⦌ B
13 10 12 eqtr3id ⊢ j = 2 nd ⁡ y ∧ k = 1 st ⁡ y → D = ⦋ 2 nd ⁡ y 1 st ⁡ y / x⦌ B
14 7 8 13 csbie2 ⊢ ⦋ 2 nd ⁡ y / j⦌ ⦋ 1 st ⁡ y / k⦌ D = ⦋ 2 nd ⁡ y 1 st ⁡ y / x⦌ B
15 6 14 eqtr4di ⊢ x = 2 nd ⁡ y 1 st ⁡ y → B = ⦋ 2 nd ⁡ y / j⦌ ⦋ 1 st ⁡ y / k⦌ D
16 cnvfi ⊢ A ∈ Fin → A -1 ∈ Fin
17 3 16 syl ⊢ φ → A -1 ∈ Fin
18 relcnv ⊢ Rel ⁡ A -1
19 cnvf1o ⊢ Rel ⁡ A -1 → z ∈ A -1 ⟼ ⋃ z -1 : A -1 ⟶ 1-1 onto A -1 -1
20 18 19 ax-mp ⊢ z ∈ A -1 ⟼ ⋃ z -1 : A -1 ⟶ 1-1 onto A -1 -1
21 dfrel2 ⊢ Rel ⁡ A ↔ A -1 -1 = A
22 4 21 sylib ⊢ φ → A -1 -1 = A
23 22 f1oeq3d ⊢ φ → z ∈ A -1 ⟼ ⋃ z -1 : A -1 ⟶ 1-1 onto A -1 -1 ↔ z ∈ A -1 ⟼ ⋃ z -1 : A -1 ⟶ 1-1 onto A
24 20 23 mpbii ⊢ φ → z ∈ A -1 ⟼ ⋃ z -1 : A -1 ⟶ 1-1 onto A
25 1st2nd ⊢ Rel ⁡ A -1 ∧ y ∈ A -1 → y = 1 st ⁡ y 2 nd ⁡ y
26 18 25 mpan ⊢ y ∈ A -1 → y = 1 st ⁡ y 2 nd ⁡ y
27 26 fveq2d ⊢ y ∈ A -1 → z ∈ A -1 ⟼ ⋃ z -1 ⁡ y = z ∈ A -1 ⟼ ⋃ z -1 ⁡ 1 st ⁡ y 2 nd ⁡ y
28 26 eleq1d ⊢ y ∈ A -1 → y ∈ A -1 ↔ 1 st ⁡ y 2 nd ⁡ y ∈ A -1
29 28 ibi ⊢ y ∈ A -1 → 1 st ⁡ y 2 nd ⁡ y ∈ A -1
30 sneq ⊢ z = 1 st ⁡ y 2 nd ⁡ y → z = 1 st ⁡ y 2 nd ⁡ y
31 30 cnveqd ⊢ z = 1 st ⁡ y 2 nd ⁡ y → z -1 = 1 st ⁡ y 2 nd ⁡ y -1
32 31 unieqd ⊢ z = 1 st ⁡ y 2 nd ⁡ y → ⋃ z -1 = ⋃ 1 st ⁡ y 2 nd ⁡ y -1
33 opswap ⊢ ⋃ 1 st ⁡ y 2 nd ⁡ y -1 = 2 nd ⁡ y 1 st ⁡ y
34 32 33 eqtrdi ⊢ z = 1 st ⁡ y 2 nd ⁡ y → ⋃ z -1 = 2 nd ⁡ y 1 st ⁡ y
35 eqid ⊢ z ∈ A -1 ⟼ ⋃ z -1 = z ∈ A -1 ⟼ ⋃ z -1
36 opex ⊢ 2 nd ⁡ y 1 st ⁡ y ∈ V
37 34 35 36 fvmpt ⊢ 1 st ⁡ y 2 nd ⁡ y ∈ A -1 → z ∈ A -1 ⟼ ⋃ z -1 ⁡ 1 st ⁡ y 2 nd ⁡ y = 2 nd ⁡ y 1 st ⁡ y
38 29 37 syl ⊢ y ∈ A -1 → z ∈ A -1 ⟼ ⋃ z -1 ⁡ 1 st ⁡ y 2 nd ⁡ y = 2 nd ⁡ y 1 st ⁡ y
39 27 38 eqtrd ⊢ y ∈ A -1 → z ∈ A -1 ⟼ ⋃ z -1 ⁡ y = 2 nd ⁡ y 1 st ⁡ y
40 39 adantl ⊢ φ ∧ y ∈ A -1 → z ∈ A -1 ⟼ ⋃ z -1 ⁡ y = 2 nd ⁡ y 1 st ⁡ y
41 15 17 24 40 5 fprodf1o ⊢ φ → ∏ x ∈ A B = ∏ y ∈ A -1 ⦋ 2 nd ⁡ y / j⦌ ⦋ 1 st ⁡ y / k⦌ D
42 csbeq1a ⊢ y = 1 st ⁡ y 2 nd ⁡ y → C = ⦋ 1 st ⁡ y 2 nd ⁡ y / y⦌ C
43 26 42 syl ⊢ y ∈ A -1 → C = ⦋ 1 st ⁡ y 2 nd ⁡ y / y⦌ C
44 opex ⊢ k j ∈ V
45 44 2 csbie ⊢ ⦋ k j / y⦌ C = D
46 opeq12 ⊢ k = 1 st ⁡ y ∧ j = 2 nd ⁡ y → k j = 1 st ⁡ y 2 nd ⁡ y
47 46 ancoms ⊢ j = 2 nd ⁡ y ∧ k = 1 st ⁡ y → k j = 1 st ⁡ y 2 nd ⁡ y
48 47 csbeq1d ⊢ j = 2 nd ⁡ y ∧ k = 1 st ⁡ y → ⦋ k j / y⦌ C = ⦋ 1 st ⁡ y 2 nd ⁡ y / y⦌ C
49 45 48 eqtr3id ⊢ j = 2 nd ⁡ y ∧ k = 1 st ⁡ y → D = ⦋ 1 st ⁡ y 2 nd ⁡ y / y⦌ C
50 7 8 49 csbie2 ⊢ ⦋ 2 nd ⁡ y / j⦌ ⦋ 1 st ⁡ y / k⦌ D = ⦋ 1 st ⁡ y 2 nd ⁡ y / y⦌ C
51 43 50 eqtr4di ⊢ y ∈ A -1 → C = ⦋ 2 nd ⁡ y / j⦌ ⦋ 1 st ⁡ y / k⦌ D
52 51 prodeq2i ⊢ ∏ y ∈ A -1 C = ∏ y ∈ A -1 ⦋ 2 nd ⁡ y / j⦌ ⦋ 1 st ⁡ y / k⦌ D
53 41 52 eqtr4di ⊢ φ → ∏ x ∈ A B = ∏ y ∈ A -1 C