Metamath Proof Explorer


Theorem fprodf1o

Description: Re-index a finite product using a bijection. (Contributed by Scott Fenton, 7-Dec-2017)

Ref Expression
Hypotheses fprodf1o.1 ⊢ k = G → B = D
fprodf1o.2 ⊢ φ → C ∈ Fin
fprodf1o.3 ⊢ φ → F : C ⟶ 1-1 onto A
fprodf1o.4 ⊢ φ ∧ n ∈ C → F ⁡ n = G
fprodf1o.5 ⊢ φ ∧ k ∈ A → B ∈ ℂ
Assertion fprodf1o ⊢ φ → ∏ k ∈ A B = ∏ n ∈ C D

Proof

Step Hyp Ref Expression
1 fprodf1o.1 ⊢ k = G → B = D
2 fprodf1o.2 ⊢ φ → C ∈ Fin
3 fprodf1o.3 ⊢ φ → F : C ⟶ 1-1 onto A
4 fprodf1o.4 ⊢ φ ∧ n ∈ C → F ⁡ n = G
5 fprodf1o.5 ⊢ φ ∧ k ∈ A → B ∈ ℂ
6 prod0 ⊢ ∏ k ∈ ∅ B = 1
7 3 adantr ⊢ φ ∧ C = ∅ → F : C ⟶ 1-1 onto A
8 f1oeq2 ⊢ C = ∅ → F : C ⟶ 1-1 onto A ↔ F : ∅ ⟶ 1-1 onto A
9 8 adantl ⊢ φ ∧ C = ∅ → F : C ⟶ 1-1 onto A ↔ F : ∅ ⟶ 1-1 onto A
10 7 9 mpbid ⊢ φ ∧ C = ∅ → F : ∅ ⟶ 1-1 onto A
11 f1ofo ⊢ F : ∅ ⟶ 1-1 onto A → F : ∅ ⟶ onto A
12 10 11 syl ⊢ φ ∧ C = ∅ → F : ∅ ⟶ onto A
13 fo00 ⊢ F : ∅ ⟶ onto A ↔ F = ∅ ∧ A = ∅
14 13 simprbi ⊢ F : ∅ ⟶ onto A → A = ∅
15 12 14 syl ⊢ φ ∧ C = ∅ → A = ∅
16 15 prodeq1d ⊢ φ ∧ C = ∅ → ∏ k ∈ A B = ∏ k ∈ ∅ B
17 prodeq1 ⊢ C = ∅ → ∏ n ∈ C D = ∏ n ∈ ∅ D
18 prod0 ⊢ ∏ n ∈ ∅ D = 1
19 17 18 eqtrdi ⊢ C = ∅ → ∏ n ∈ C D = 1
20 19 adantl ⊢ φ ∧ C = ∅ → ∏ n ∈ C D = 1
21 6 16 20 3eqtr4a ⊢ φ ∧ C = ∅ → ∏ k ∈ A B = ∏ n ∈ C D
22 21 ex ⊢ φ → C = ∅ → ∏ k ∈ A B = ∏ n ∈ C D
23 2fveq3 ⊢ m = f ⁡ n → k ∈ A ⟼ B ⁡ F ⁡ m = k ∈ A ⟼ B ⁡ F ⁡ f ⁡ n
24 simprl ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → C ∈ ℕ
25 simprr ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → f : 1 … C ⟶ 1-1 onto C
26 f1of ⊢ F : C ⟶ 1-1 onto A → F : C ⟶ A
27 3 26 syl ⊢ φ → F : C ⟶ A
28 27 ffvelcdmda ⊢ φ ∧ m ∈ C → F ⁡ m ∈ A
29 5 fmpttd ⊢ φ → k ∈ A ⟼ B : A ⟶ ℂ
30 29 ffvelcdmda ⊢ φ ∧ F ⁡ m ∈ A → k ∈ A ⟼ B ⁡ F ⁡ m ∈ ℂ
31 28 30 syldan ⊢ φ ∧ m ∈ C → k ∈ A ⟼ B ⁡ F ⁡ m ∈ ℂ
32 31 adantlr ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C ∧ m ∈ C → k ∈ A ⟼ B ⁡ F ⁡ m ∈ ℂ
33 simpr ⊢ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → f : 1 … C ⟶ 1-1 onto C
34 f1oco ⊢ F : C ⟶ 1-1 onto A ∧ f : 1 … C ⟶ 1-1 onto C → F ∘ f : 1 … C ⟶ 1-1 onto A
35 3 33 34 syl2an ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → F ∘ f : 1 … C ⟶ 1-1 onto A
36 f1of ⊢ F ∘ f : 1 … C ⟶ 1-1 onto A → F ∘ f : 1 … C ⟶ A
37 35 36 syl ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → F ∘ f : 1 … C ⟶ A
38 fvco3 ⊢ F ∘ f : 1 … C ⟶ A ∧ n ∈ 1 … C → k ∈ A ⟼ B ∘ F ∘ f ⁡ n = k ∈ A ⟼ B ⁡ F ∘ f ⁡ n
39 37 38 sylan ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C ∧ n ∈ 1 … C → k ∈ A ⟼ B ∘ F ∘ f ⁡ n = k ∈ A ⟼ B ⁡ F ∘ f ⁡ n
40 f1of ⊢ f : 1 … C ⟶ 1-1 onto C → f : 1 … C ⟶ C
41 40 adantl ⊢ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → f : 1 … C ⟶ C
42 41 adantl ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → f : 1 … C ⟶ C
43 fvco3 ⊢ f : 1 … C ⟶ C ∧ n ∈ 1 … C → F ∘ f ⁡ n = F ⁡ f ⁡ n
44 42 43 sylan ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C ∧ n ∈ 1 … C → F ∘ f ⁡ n = F ⁡ f ⁡ n
45 44 fveq2d ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C ∧ n ∈ 1 … C → k ∈ A ⟼ B ⁡ F ∘ f ⁡ n = k ∈ A ⟼ B ⁡ F ⁡ f ⁡ n
46 39 45 eqtrd ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C ∧ n ∈ 1 … C → k ∈ A ⟼ B ∘ F ∘ f ⁡ n = k ∈ A ⟼ B ⁡ F ⁡ f ⁡ n
47 23 24 25 32 46 fprod ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → ∏ m ∈ C k ∈ A ⟼ B ⁡ F ⁡ m = seq 1 × k ∈ A ⟼ B ∘ F ∘ f ⁡ C
48 27 ffvelcdmda ⊢ φ ∧ n ∈ C → F ⁡ n ∈ A
49 4 48 eqeltrrd ⊢ φ ∧ n ∈ C → G ∈ A
50 eqid ⊢ k ∈ A ⟼ B = k ∈ A ⟼ B
51 1 50 fvmpti ⊢ G ∈ A → k ∈ A ⟼ B ⁡ G = I ⁡ D
52 49 51 syl ⊢ φ ∧ n ∈ C → k ∈ A ⟼ B ⁡ G = I ⁡ D
53 4 fveq2d ⊢ φ ∧ n ∈ C → k ∈ A ⟼ B ⁡ F ⁡ n = k ∈ A ⟼ B ⁡ G
54 eqid ⊢ n ∈ C ⟼ D = n ∈ C ⟼ D
55 54 fvmpt2i ⊢ n ∈ C → n ∈ C ⟼ D ⁡ n = I ⁡ D
56 55 adantl ⊢ φ ∧ n ∈ C → n ∈ C ⟼ D ⁡ n = I ⁡ D
57 52 53 56 3eqtr4rd ⊢ φ ∧ n ∈ C → n ∈ C ⟼ D ⁡ n = k ∈ A ⟼ B ⁡ F ⁡ n
58 57 ralrimiva ⊢ φ → ∀ n ∈ C n ∈ C ⟼ D ⁡ n = k ∈ A ⟼ B ⁡ F ⁡ n
59 nffvmpt1 ⊢ Ⅎ _ n n ∈ C ⟼ D ⁡ m
60 59 nfeq1 ⊢ Ⅎ n n ∈ C ⟼ D ⁡ m = k ∈ A ⟼ B ⁡ F ⁡ m
61 fveq2 ⊢ n = m → n ∈ C ⟼ D ⁡ n = n ∈ C ⟼ D ⁡ m
62 2fveq3 ⊢ n = m → k ∈ A ⟼ B ⁡ F ⁡ n = k ∈ A ⟼ B ⁡ F ⁡ m
63 61 62 eqeq12d ⊢ n = m → n ∈ C ⟼ D ⁡ n = k ∈ A ⟼ B ⁡ F ⁡ n ↔ n ∈ C ⟼ D ⁡ m = k ∈ A ⟼ B ⁡ F ⁡ m
64 60 63 rspc ⊢ m ∈ C → ∀ n ∈ C n ∈ C ⟼ D ⁡ n = k ∈ A ⟼ B ⁡ F ⁡ n → n ∈ C ⟼ D ⁡ m = k ∈ A ⟼ B ⁡ F ⁡ m
65 58 64 mpan9 ⊢ φ ∧ m ∈ C → n ∈ C ⟼ D ⁡ m = k ∈ A ⟼ B ⁡ F ⁡ m
66 65 adantlr ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C ∧ m ∈ C → n ∈ C ⟼ D ⁡ m = k ∈ A ⟼ B ⁡ F ⁡ m
67 66 prodeq2dv ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → ∏ m ∈ C n ∈ C ⟼ D ⁡ m = ∏ m ∈ C k ∈ A ⟼ B ⁡ F ⁡ m
68 fveq2 ⊢ m = F ∘ f ⁡ n → k ∈ A ⟼ B ⁡ m = k ∈ A ⟼ B ⁡ F ∘ f ⁡ n
69 29 adantr ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → k ∈ A ⟼ B : A ⟶ ℂ
70 69 ffvelcdmda ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C ∧ m ∈ A → k ∈ A ⟼ B ⁡ m ∈ ℂ
71 68 24 35 70 39 fprod ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → ∏ m ∈ A k ∈ A ⟼ B ⁡ m = seq 1 × k ∈ A ⟼ B ∘ F ∘ f ⁡ C
72 47 67 71 3eqtr4rd ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → ∏ m ∈ A k ∈ A ⟼ B ⁡ m = ∏ m ∈ C n ∈ C ⟼ D ⁡ m
73 prodfc ⊢ ∏ m ∈ A k ∈ A ⟼ B ⁡ m = ∏ k ∈ A B
74 prodfc ⊢ ∏ m ∈ C n ∈ C ⟼ D ⁡ m = ∏ n ∈ C D
75 72 73 74 3eqtr3g ⊢ φ ∧ C ∈ ℕ ∧ f : 1 … C ⟶ 1-1 onto C → ∏ k ∈ A B = ∏ n ∈ C D
76 75 expr ⊢ φ ∧ C ∈ ℕ → f : 1 … C ⟶ 1-1 onto C → ∏ k ∈ A B = ∏ n ∈ C D
77 76 exlimdv ⊢ φ ∧ C ∈ ℕ → ∃ f f : 1 … C ⟶ 1-1 onto C → ∏ k ∈ A B = ∏ n ∈ C D
78 77 expimpd ⊢ φ → C ∈ ℕ ∧ ∃ f f : 1 … C ⟶ 1-1 onto C → ∏ k ∈ A B = ∏ n ∈ C D
79 fz1f1o ⊢ C ∈ Fin → C = ∅ ∨ C ∈ ℕ ∧ ∃ f f : 1 … C ⟶ 1-1 onto C
80 2 79 syl ⊢ φ → C = ∅ ∨ C ∈ ℕ ∧ ∃ f f : 1 … C ⟶ 1-1 onto C
81 22 78 80 mpjaod ⊢ φ → ∏ k ∈ A B = ∏ n ∈ C D