Metamath Proof Explorer


Theorem fprodmul

Description: The product of two finite products. (Contributed by Scott Fenton, 14-Dec-2017)

Ref Expression
Hypotheses fprodmul.1 ⊢ φ → A ∈ Fin
fprodmul.2 ⊢ φ ∧ k ∈ A → B ∈ ℂ
fprodmul.3 ⊢ φ ∧ k ∈ A → C ∈ ℂ
Assertion fprodmul ⊢ φ → ∏ k ∈ A B ⁢ C = ∏ k ∈ A B ⁢ ∏ k ∈ A C

Proof

Step Hyp Ref Expression
1 fprodmul.1 ⊢ φ → A ∈ Fin
2 fprodmul.2 ⊢ φ ∧ k ∈ A → B ∈ ℂ
3 fprodmul.3 ⊢ φ ∧ k ∈ A → C ∈ ℂ
4 1t1e1 ⊢ 1 ⋅ 1 = 1
5 prod0 ⊢ ∏ k ∈ ∅ B = 1
6 prod0 ⊢ ∏ k ∈ ∅ C = 1
7 5 6 oveq12i ⊢ ∏ k ∈ ∅ B ⁢ ∏ k ∈ ∅ C = 1 ⋅ 1
8 prod0 ⊢ ∏ k ∈ ∅ B ⁢ C = 1
9 4 7 8 3eqtr4ri ⊢ ∏ k ∈ ∅ B ⁢ C = ∏ k ∈ ∅ B ⁢ ∏ k ∈ ∅ C
10 prodeq1 ⊢ A = ∅ → ∏ k ∈ A B ⁢ C = ∏ k ∈ ∅ B ⁢ C
11 prodeq1 ⊢ A = ∅ → ∏ k ∈ A B = ∏ k ∈ ∅ B
12 prodeq1 ⊢ A = ∅ → ∏ k ∈ A C = ∏ k ∈ ∅ C
13 11 12 oveq12d ⊢ A = ∅ → ∏ k ∈ A B ⁢ ∏ k ∈ A C = ∏ k ∈ ∅ B ⁢ ∏ k ∈ ∅ C
14 9 10 13 3eqtr4a ⊢ A = ∅ → ∏ k ∈ A B ⁢ C = ∏ k ∈ A B ⁢ ∏ k ∈ A C
15 14 a1i ⊢ φ → A = ∅ → ∏ k ∈ A B ⁢ C = ∏ k ∈ A B ⁢ ∏ k ∈ A C
16 simprl ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → A ∈ ℕ
17 nnuz ⊢ ℕ = ℤ ≥ 1
18 16 17 eleqtrdi ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → A ∈ ℤ ≥ 1
19 2 fmpttd ⊢ φ → k ∈ A ⟼ B : A ⟶ ℂ
20 19 adantr ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → k ∈ A ⟼ B : A ⟶ ℂ
21 f1of ⊢ f : 1 … A ⟶ 1-1 onto A → f : 1 … A ⟶ A
22 21 ad2antll ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → f : 1 … A ⟶ A
23 fco ⊢ k ∈ A ⟼ B : A ⟶ ℂ ∧ f : 1 … A ⟶ A → k ∈ A ⟼ B ∘ f : 1 … A ⟶ ℂ
24 20 22 23 syl2anc ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → k ∈ A ⟼ B ∘ f : 1 … A ⟶ ℂ
25 24 ffvelcdmda ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ B ∘ f ⁡ n ∈ ℂ
26 3 fmpttd ⊢ φ → k ∈ A ⟼ C : A ⟶ ℂ
27 26 adantr ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → k ∈ A ⟼ C : A ⟶ ℂ
28 fco ⊢ k ∈ A ⟼ C : A ⟶ ℂ ∧ f : 1 … A ⟶ A → k ∈ A ⟼ C ∘ f : 1 … A ⟶ ℂ
29 27 22 28 syl2anc ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → k ∈ A ⟼ C ∘ f : 1 … A ⟶ ℂ
30 29 ffvelcdmda ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ C ∘ f ⁡ n ∈ ℂ
31 22 ffvelcdmda ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → f ⁡ n ∈ A
32 simpr ⊢ φ ∧ k ∈ A → k ∈ A
33 2 3 mulcld ⊢ φ ∧ k ∈ A → B ⁢ C ∈ ℂ
34 eqid ⊢ k ∈ A ⟼ B ⁢ C = k ∈ A ⟼ B ⁢ C
35 34 fvmpt2 ⊢ k ∈ A ∧ B ⁢ C ∈ ℂ → k ∈ A ⟼ B ⁢ C ⁡ k = B ⁢ C
36 32 33 35 syl2anc ⊢ φ ∧ k ∈ A → k ∈ A ⟼ B ⁢ C ⁡ k = B ⁢ C
37 eqid ⊢ k ∈ A ⟼ B = k ∈ A ⟼ B
38 37 fvmpt2 ⊢ k ∈ A ∧ B ∈ ℂ → k ∈ A ⟼ B ⁡ k = B
39 32 2 38 syl2anc ⊢ φ ∧ k ∈ A → k ∈ A ⟼ B ⁡ k = B
40 eqid ⊢ k ∈ A ⟼ C = k ∈ A ⟼ C
41 40 fvmpt2 ⊢ k ∈ A ∧ C ∈ ℂ → k ∈ A ⟼ C ⁡ k = C
42 32 3 41 syl2anc ⊢ φ ∧ k ∈ A → k ∈ A ⟼ C ⁡ k = C
43 39 42 oveq12d ⊢ φ ∧ k ∈ A → k ∈ A ⟼ B ⁡ k ⁢ k ∈ A ⟼ C ⁡ k = B ⁢ C
44 36 43 eqtr4d ⊢ φ ∧ k ∈ A → k ∈ A ⟼ B ⁢ C ⁡ k = k ∈ A ⟼ B ⁡ k ⁢ k ∈ A ⟼ C ⁡ k
45 44 ralrimiva ⊢ φ → ∀ k ∈ A k ∈ A ⟼ B ⁢ C ⁡ k = k ∈ A ⟼ B ⁡ k ⁢ k ∈ A ⟼ C ⁡ k
46 45 ad2antrr ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → ∀ k ∈ A k ∈ A ⟼ B ⁢ C ⁡ k = k ∈ A ⟼ B ⁡ k ⁢ k ∈ A ⟼ C ⁡ k
47 nffvmpt1 ⊢ Ⅎ _ k k ∈ A ⟼ B ⁢ C ⁡ f ⁡ n
48 nffvmpt1 ⊢ Ⅎ _ k k ∈ A ⟼ B ⁡ f ⁡ n
49 nfcv ⊢ Ⅎ _ k ×
50 nffvmpt1 ⊢ Ⅎ _ k k ∈ A ⟼ C ⁡ f ⁡ n
51 48 49 50 nfov ⊢ Ⅎ _ k k ∈ A ⟼ B ⁡ f ⁡ n ⁢ k ∈ A ⟼ C ⁡ f ⁡ n
52 47 51 nfeq ⊢ Ⅎ k k ∈ A ⟼ B ⁢ C ⁡ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n ⁢ k ∈ A ⟼ C ⁡ f ⁡ n
53 fveq2 ⊢ k = f ⁡ n → k ∈ A ⟼ B ⁢ C ⁡ k = k ∈ A ⟼ B ⁢ C ⁡ f ⁡ n
54 fveq2 ⊢ k = f ⁡ n → k ∈ A ⟼ B ⁡ k = k ∈ A ⟼ B ⁡ f ⁡ n
55 fveq2 ⊢ k = f ⁡ n → k ∈ A ⟼ C ⁡ k = k ∈ A ⟼ C ⁡ f ⁡ n
56 54 55 oveq12d ⊢ k = f ⁡ n → k ∈ A ⟼ B ⁡ k ⁢ k ∈ A ⟼ C ⁡ k = k ∈ A ⟼ B ⁡ f ⁡ n ⁢ k ∈ A ⟼ C ⁡ f ⁡ n
57 53 56 eqeq12d ⊢ k = f ⁡ n → k ∈ A ⟼ B ⁢ C ⁡ k = k ∈ A ⟼ B ⁡ k ⁢ k ∈ A ⟼ C ⁡ k ↔ k ∈ A ⟼ B ⁢ C ⁡ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n ⁢ k ∈ A ⟼ C ⁡ f ⁡ n
58 52 57 rspc ⊢ f ⁡ n ∈ A → ∀ k ∈ A k ∈ A ⟼ B ⁢ C ⁡ k = k ∈ A ⟼ B ⁡ k ⁢ k ∈ A ⟼ C ⁡ k → k ∈ A ⟼ B ⁢ C ⁡ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n ⁢ k ∈ A ⟼ C ⁡ f ⁡ n
59 31 46 58 sylc ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ B ⁢ C ⁡ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n ⁢ k ∈ A ⟼ C ⁡ f ⁡ n
60 fvco3 ⊢ f : 1 … A ⟶ A ∧ n ∈ 1 … A → k ∈ A ⟼ B ⁢ C ∘ f ⁡ n = k ∈ A ⟼ B ⁢ C ⁡ f ⁡ n
61 22 60 sylan ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ B ⁢ C ∘ f ⁡ n = k ∈ A ⟼ B ⁢ C ⁡ f ⁡ n
62 fvco3 ⊢ f : 1 … A ⟶ A ∧ n ∈ 1 … A → k ∈ A ⟼ B ∘ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n
63 22 62 sylan ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ B ∘ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n
64 fvco3 ⊢ f : 1 … A ⟶ A ∧ n ∈ 1 … A → k ∈ A ⟼ C ∘ f ⁡ n = k ∈ A ⟼ C ⁡ f ⁡ n
65 22 64 sylan ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ C ∘ f ⁡ n = k ∈ A ⟼ C ⁡ f ⁡ n
66 63 65 oveq12d ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ B ∘ f ⁡ n ⁢ k ∈ A ⟼ C ∘ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n ⁢ k ∈ A ⟼ C ⁡ f ⁡ n
67 59 61 66 3eqtr4d ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ B ⁢ C ∘ f ⁡ n = k ∈ A ⟼ B ∘ f ⁡ n ⁢ k ∈ A ⟼ C ∘ f ⁡ n
68 18 25 30 67 prodfmul ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → seq 1 × k ∈ A ⟼ B ⁢ C ∘ f ⁡ A = seq 1 × k ∈ A ⟼ B ∘ f ⁡ A ⁢ seq 1 × k ∈ A ⟼ C ∘ f ⁡ A
69 fveq2 ⊢ m = f ⁡ n → k ∈ A ⟼ B ⁢ C ⁡ m = k ∈ A ⟼ B ⁢ C ⁡ f ⁡ n
70 simprr ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → f : 1 … A ⟶ 1-1 onto A
71 33 fmpttd ⊢ φ → k ∈ A ⟼ B ⁢ C : A ⟶ ℂ
72 71 adantr ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → k ∈ A ⟼ B ⁢ C : A ⟶ ℂ
73 72 ffvelcdmda ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ m ∈ A → k ∈ A ⟼ B ⁢ C ⁡ m ∈ ℂ
74 69 16 70 73 61 fprod ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → ∏ m ∈ A k ∈ A ⟼ B ⁢ C ⁡ m = seq 1 × k ∈ A ⟼ B ⁢ C ∘ f ⁡ A
75 fveq2 ⊢ m = f ⁡ n → k ∈ A ⟼ B ⁡ m = k ∈ A ⟼ B ⁡ f ⁡ n
76 20 ffvelcdmda ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ m ∈ A → k ∈ A ⟼ B ⁡ m ∈ ℂ
77 75 16 70 76 63 fprod ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → ∏ m ∈ A k ∈ A ⟼ B ⁡ m = seq 1 × k ∈ A ⟼ B ∘ f ⁡ A
78 fveq2 ⊢ m = f ⁡ n → k ∈ A ⟼ C ⁡ m = k ∈ A ⟼ C ⁡ f ⁡ n
79 27 ffvelcdmda ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ m ∈ A → k ∈ A ⟼ C ⁡ m ∈ ℂ
80 78 16 70 79 65 fprod ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → ∏ m ∈ A k ∈ A ⟼ C ⁡ m = seq 1 × k ∈ A ⟼ C ∘ f ⁡ A
81 77 80 oveq12d ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → ∏ m ∈ A k ∈ A ⟼ B ⁡ m ⁢ ∏ m ∈ A k ∈ A ⟼ C ⁡ m = seq 1 × k ∈ A ⟼ B ∘ f ⁡ A ⁢ seq 1 × k ∈ A ⟼ C ∘ f ⁡ A
82 68 74 81 3eqtr4d ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → ∏ m ∈ A k ∈ A ⟼ B ⁢ C ⁡ m = ∏ m ∈ A k ∈ A ⟼ B ⁡ m ⁢ ∏ m ∈ A k ∈ A ⟼ C ⁡ m
83 prodfc ⊢ ∏ m ∈ A k ∈ A ⟼ B ⁢ C ⁡ m = ∏ k ∈ A B ⁢ C
84 prodfc ⊢ ∏ m ∈ A k ∈ A ⟼ B ⁡ m = ∏ k ∈ A B
85 prodfc ⊢ ∏ m ∈ A k ∈ A ⟼ C ⁡ m = ∏ k ∈ A C
86 84 85 oveq12i ⊢ ∏ m ∈ A k ∈ A ⟼ B ⁡ m ⁢ ∏ m ∈ A k ∈ A ⟼ C ⁡ m = ∏ k ∈ A B ⁢ ∏ k ∈ A C
87 82 83 86 3eqtr3g ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → ∏ k ∈ A B ⁢ C = ∏ k ∈ A B ⁢ ∏ k ∈ A C
88 87 expr ⊢ φ ∧ A ∈ ℕ → f : 1 … A ⟶ 1-1 onto A → ∏ k ∈ A B ⁢ C = ∏ k ∈ A B ⁢ ∏ k ∈ A C
89 88 exlimdv ⊢ φ ∧ A ∈ ℕ → ∃ f f : 1 … A ⟶ 1-1 onto A → ∏ k ∈ A B ⁢ C = ∏ k ∈ A B ⁢ ∏ k ∈ A C
90 89 expimpd ⊢ φ → A ∈ ℕ ∧ ∃ f f : 1 … A ⟶ 1-1 onto A → ∏ k ∈ A B ⁢ C = ∏ k ∈ A B ⁢ ∏ k ∈ A C
91 fz1f1o ⊢ A ∈ Fin → A = ∅ ∨ A ∈ ℕ ∧ ∃ f f : 1 … A ⟶ 1-1 onto A
92 1 91 syl ⊢ φ → A = ∅ ∨ A ∈ ℕ ∧ ∃ f f : 1 … A ⟶ 1-1 onto A
93 15 90 92 mpjaod ⊢ φ → ∏ k ∈ A B ⁢ C = ∏ k ∈ A B ⁢ ∏ k ∈ A C